|
|
|
|
운영체제
|
|
|
|
report
연습문제 16장
과 목 : 운영체제
담당 교수 : 김철민 교수님
학 과 : 전산통계학과
학 번 : 10793-36022
이 름 : 양 요 한
1. 커널이 다중 우선순위 큐를 유지하는 이유를 설명하시오.
유닉스는 시분할 다중 프로그래밍 방식으로 운영된다. 그러므로 기억장치에는 동시에 여러개의 프로세스가 적재되어 있고(존재하고) 그러한 여러개의 프로세스는 CPU를 공유해야 한다. 또한 기억용량의 물리적 한계를 극복하기 위해 기억장치에 있던 프로세스중 어떤 것은 교체공간으로 나오고 대기하고 있던 프로세스가 새로이 기억장치로 적재되어야 하는데, 이때 교체당할 프로세스를 선택해야하는 문제가 생긴다.
이를 위해 유닉스에서는 프로세스들을 다중 우선순위 큐(multi-level priority queue)라는 자료구조를 이용해 관리하는데 이는 비슷한 우선순위를 가진 실행 가능 프로세스들의 링크 리스트로 구성 된다.
우선순위는 여러개의 프로세스들의 CPU할당 우선권을 나타내며 이 우선순위는 매초마다 스케쥴러에 의해 조정되어 한 프로세스가 CPU 할당에대해서 계속 제외되는 것을 방지하기도 한다.
매 순간 새로이 매겨진 우선순위를 참고해 스케쥴러는 유휴기에 있는 CPU를 할당하게 되고 CPU할당 타임을 다 쓰고도 프로세스가 수행을 끝내지 않았다면 이 프로세스는 큐의 맨끝으로 보내지게 되어 다음 할당시간을 기다리게 된다. 또한 단순한 큐가 아닌 다중 큐를 사용함으로써 프로세스들의 우선순위 값에 따라 그룹화해서 프로세스의 성격을 CPU할당에 반영하기도 한다.
이러한 다중 프로그래밍 지원 과 기억장치의 물리적 한계 때문에 프로세스 교체작업을 하게되며 이때 교체될 대상을 선택하는 문제를 해결하기 위해 다중 우선순위 큐를 유지해야 한다.
2. 시스템 호출은 왜 커널 모드를 사용하는지를 설명하시오.
.... |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|