CPU Scheduling은 프로세스(Process or Job)를 CPU에 할당할 때의 정책 제반에 관한 것이다. 이는 CPU Utilization, Throughput 등의 향상을 기대할 수 있다.

1. CPU 스케줄링의 개념

- 작업(Job)을 처리하기 위해 프로세스에게 CPU 또는 각종 처리기를 할당하는 정책을 계획



2. CPU 스케줄링의 목표(?)

- 쓰루풋, CPU Utilization의 향상

- Turn around Time의 감소

- 공평성 (어떤 프로세스에게도 CPU는 할당 할수 있음), 예측성(언제 누가 얼마나 걸리는지...)



3. CPU 스케줄링의 단계

- Long-Term -> immediate -> Short-term



4. CPU 스케줄링 알고리즘의 분류 : 선점 vs. 비선점

- 선점 스케줄링이란 한 프로세스가 CPU를 할당 받고 작업을 처리하고 있고, 우선 순위가 높은 프

로세스가 들어온 경우, 진행중이던 프로세스 작업을 멈추고 우선순위가 높은 프로세스에게 CPU

를 할당하는 방식으로 시분할 시스템이나 높은 우선순위를 먼저 처리해야하는 시스템에 유리하

지만 우선순위가 낮은 프로세스는 무한 대기될 가능성이 높다.

- 비선점 스케줄링은 아무리 우선순위가 높은 프로세스가 들어오더라도, 진행중이던 프로세스 작

업을 멈추지 않고 CPU를 할당 받지 못하는 방식으로 구현하기 쉽고, 언제 끝날지 예측가능하지

만 짧은 작업시간을 가진 프로세스가 긴 프로세스 작업시간을 가진 프로세스를 기다리는 상황이

발생해서 시스템 자원의 효율성이 떨어질 수도 있다는 단점을 가지고 있다.



5. CPU 스케줄링 정책(기법)의 종류 및 특징

비선점 - 1. 우선순위 : 우선순위 높은 프로세스 선정

2. 데드라인 : 작업을 명시된 시간내에 완료하도록 계획 및 선정

3. FIFO : 먼저 대기큐에 들어온 순서대로 처리

4. SJF : 작업시간이 가장 짧은 프로세스를 선정

5. HRN : Highest Response ratio Next

Response ratio[= (대기시간 + 서비스 시간)/서비스시간]이 가장 높은 프로세스 선정

선점 - 1. SRT : Shortest Remaining Time

가장 짧은 처리시간이 남은 프로세스를 선정

2. 라운드로빈 : FIFO로 처리하되 할당시간 내에 처리 못한 프로세스는 대기큐로 다시

보냄. 할당시간이 길면 FIFO 비슷, 할당시간이 짧으면 문맥교환이 자주 일어남.

3. Multilevel Queue : 작업의 종류를 Group화 해서 종류마다 큐를 생성해서 우선순위

그룹별로 프로세스를 선정

4. Multilevel Feedback Queue : 할당시간이 다른 대기큐를 여러개 만들어 만약 짧은

할당시간 내에 처리를 못하면 그 다음 대기큐로 Put해서 다시 처리하게 하는 방식

'IT정보기술자료' 카테고리의 다른 글

RTTI (Run-Time Type Infomation)  (0) 2007.02.28
IS-95A, IS-95B, IS-95C 차이점  (0) 2007.02.28
web2.0의 10가지 기술들  (0) 2007.02.28

+ Recent posts