[Scheduling 기준척도]

 

 

CPU utilization  = CPU를 가능한 바쁘게 유지시키는지.

 

Turnaround time = 하나의 프로세스가 끝나는 시간.

 

Throughput = 시간 단위당 비슷한 프로세스가 몇개나 완료되는지.

 

Response Ratio(서비스시간+대기시간)/서비스시간 = 멀티태스크

 

Process Scheduling

 

CPU 스케쥴링 결정은 다음과 같은 네 가지의 경우에 발생 할 수 있다.

 

1. Process의 상태가 Runing -> Ready 상태로 전환 될때.

 

2. Process가 I/0 (입출력)요청을 하고 ready 상태로 전환 될때.

 

3. Process의 종료시.

 

4. Process의 상태가 Runing -> wait 상태로 전환 될 때.

다음과 같은 네가지 경우에서 3 ,4 상태의 경우 스케쥴링이 일어날 여지가 없지만, 1 ,2의 경우 프로세스를 임의로 상태를 전이시킬 수 있는데, 이러한 것을 Preemptive(선점)라 한다. 3 ,4의 경우에는 Nonpreemptive(비선점)라고 함.

nonpreemptive 스케줄링은 CPU에게 하나의 프로세스가 할당되면 그 프로세스가 I/O요청을 하여 빠져나오거나 종료 될 때까지 계속 프로세스를 실행 시키는 것이다.

preemptive스케줄링은 공유메모리 관련해서 문제가 일어난다.(프로세스의통신(공유메모리)참조.)

 

Process의 Scheduling에는 4가지 종류가 있는데

 

1. FCFS (First - come,First-serverd)

 

2. SJF (Shortest - Job - First)

 

3. Priority

 

4. Round - Robin

+ Recent posts