본문 바로가기
==6. 책 공부==/OS(운영체제) 문제풀이

명품운영체제_생능 5장 문제풀이

by Dohi._. 2024. 3. 11.
728x90

블로그 개인이 푼 풀이라 오류가 있을 수 있습니다

문제는 저작권보호를 위해 번호만 남깁니다

해당 교재로 공부하신분들과 같이 토론하기 위해서 올려봅니다

 

개념

1) CPU burst /  I/O burst / CPU집중 / I/O집중 / idle

2) 2번
3) 3번
4) CPU스케줄링이 행해지는 상황을 나열하면 

첫째스레드에게 할당된 CPU 타임 슬라이스가 소진되었을 때
둘째 스레드가 자발적으로CPU를 반환하는 경우
셋째 현재 실행중인 스레드보다 더 높은 순위의 스레드로부터 내려진 입출력이 완료되어 I/O 인터럽트가 발생한 경우
넷째 스레드가 시스템 도출 끝에 를 I/O 요청하여 블록 되거나 자원을 기다리는 상태가 될 때 다른 스레드에게 CPU를 할당하는 경우

5) 4번

 

6) 비선점 / 선점 /비선점/비선점 

7) 비선점 비선점 선점 선점

8) 비선점 스케줄링 / T1이 시작하면 종료하기 전까지 스케줄링이 이루어 지지 않고 T1이 종료 될 때 스케줄링이 이루어 지며 T2가 실행이된다. T2의 실행 중 I/O가 발생될 때 T2를 중단시키고 스케줄링을 실행하며 T3를 선택한다. T3이 실행중에 yield()를 호출할 때 준비상태(ready)인 T2를 스케줄링하고 실행시킨다. T2가 끝날 때 다시 스케줄링이 이뤄어져 T3가 실행된다.

9) 4번

10) 3번


11) 1번
12) 기아발생
13) 3번
14) 비선점 스케줄링
15) 1번

 

16) 2번

17) 1번
18) 4번
19) 1번
20) 4번


21) 2번
22) 2번
23) 1번
24) 1번

25) 일반적으로 코어는 내부의 CPU캐시를 가지고 있다. 캐시에는 현재 실행중이거나 이전에 실행되었던 스레드 코드와 데이터가 적재되어 있다. 만일 스레드가 한 코어에서 실행되다가 중단된 후 동일한 코어에서 다시 실행된다면 코어 내부의 캐시에 스레드 코드와 데이터가 그대로 남아있을 가능성이 높기 때문에 메모리로부터 스레드 코드와 데이터를 적재할 가능성이 상대적으로 낮다. 하지만, 만일 스케줄된 스레드가 다른 코어에서 실행되도록 스케줄 되었다면 메모리로부터 스레드 코드와 데이터가 스케줄된 코어 내부의 캐시로 적재되어 야한다. 스레드를 어떤 코어에 할당하느냐에 따라 컨텍스트 스위칭의 오버헤드가 달라진다.  / 스레드가 특정 코어에서만 실행되도록 스케줄링을 제한하도록 하면 된다.

 

26)코어 부하 불균형 현상/ 해결책 푸시 마이그레이션 기법 , 폴 마이그레이션 기법

27) 4번
28)  CFS는 가장 공정한 방식으로 프로세스에 CPU 시간을할당하기 위해 Virtual Runqueue라는 개념을 사용한다. 따라서 CFS는 준비 큐에 있는 프로세스의 수가 변경될 때마다, 모든 프로세스의 상태를 반영하여 새로운 CPU 시간 할당량을 계산한다. 이를 통해 CFS는 실행 중인 프로세스와 대기중인 프로세스 모두에게 공정한 CPU시간을 할당할 수 있기 때문이다.


 

728x90

댓글