[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)
'O.S' 카테고리의 다른 글
공유메모리 함수 - shmget , shmat , shmdt (2) | 2012.04.23 |
---|---|
Process Scheduling - Multilevel Queue scheduling,Multilevel feedback Queue Scheduling (0) | 2012.04.22 |
Process Scheduling - Round_Robin (0) | 2012.04.19 |
Process Scheduling - Priority (0) | 2012.04.19 |
Process Scheduling - SJF (0) | 2012.04.19 |