본문 바로가기

컴퓨터와 보안/OS(운영체제)

william stallings OS(운영체제) Chapter 9 문제풀이

9.1 운영체제의 일괄 처리부에서는 처리기 스케줄링이 어떻게 수행되는지 설명하시오.

운영체제의 일괄 처리부에서는 새로운 작업들이 들어오면 이들을 일단 디스크 상에 놓아둔 채 일괄 처리 큐 상에서 대기하게 한다. 그러면 장기 스케줄러는 적절한 시점에 이 일괄 처리 큐에서 소정의 규정에 따라 작업을 골라 프로세스로 만들어준다.

 

9.2 디스패쳐(Dispatcher)의 주요 목적은 무엇인가? 또 호출되는 시점을 설명하라.

다음번에 실행시킬 프로세스를 선정하는 기능을 한다. 단기 스케줄러가 호출되는 시점은 매우 다양한데, 현재 실행 중인 프로세스가 자발적으로 CPU를 놓거나, 또는 자신의 CPU 시간 할당량을 모두 소진한 후 운영체제에 의해 강제적으로 CPU를 뺏기는 경우에 주로 호출된다.

 

9.3 어떤 스케줄링 평가 척도가 시스템 성능에 영향을 미치는가?

소요시간(Turnaround time): 프로세스가 요청을 완료하는 데 걸리는 시간(종료시간 - 도착시간)

응답시간(Response time): 일을 시작해서 결과가 다 나올 때까지 시간(대기시간 포함)

 

9.4 순수-우선순위 기반 스케줄링 방식이 사용될 때 발생가능한 문제점을 설명하시오.

낮은 우선순위의 프로세스가 계속 CPU를 할당받지 못해 실행되지 못할 가능성이 있다.

 

9.5 선점 모드 스케줄링의 장단점을 설명하라.

선점 모드 스케줄링에서는 비선점 모드 스케줄링에 비해 프로세스 간 문맥 교환이 자주 발생하기 때문에 이로 인한 오버헤드가 크다고 할 수 있다. 하지만 어떤 한 프로세스가 처리기를 오랫동안 독점하는 현상을 방지할 수 있으므로 프로세스 전체에게는 비선점 모드보다 나은 서비스를 제공한다.

 

9.6 FCFS 스케줄링에 대해 간략하게 정의하시오.

FCFS는 먼저 준비된 프로세스를 먼저 실행시켜주는 스케줄링 기법이다.

 

9.7 라운드-로빈 스케줄링에 대해 간략하게 정의하시오.

프로세스들 사이에 우선순위를 두지 않고, 순서대로 시간단위로 할당하는 방식이다.

 

9.8 Shortest-process-next 스케줄링에 대해 간략하게 정의하시오.

종료 시까지 남아 있는 전체 실행시간이 가장 짧은 프로세스를 먼저 실행시키는 방식이다.(비선점방식)

 

9.9 Shortest-remaining-time 스케줄링에 대해 간략하게 정의하시오.

예상되는 남아있는 실행 시간이 가장 짧은 프로세스를 다음 프로세스로 실행시키는 방식이다.(선점방식)

 

9.10 Highest-response-ratio-next 스케줄링에 대해 간략하게 정의하시오.

(대기시간 + 서비스(실행)시간) / 서비스(실행)시간 = 시스템 응답시간 으로 정의하고 시스템 응답시간이 커질수록 우선순위가 높아진다.

 

9.11 피드백 스케줄링에 대해 간략하게 정의하시오.

오랫동안 서비스(실행)하고 있는 작업들의 우선순위를 단계적으로 낮추는 방식이다.