두근두근이야기

[임베디드기사]프로세스(cpu) 스케줄링 본문

IT/IT ::임베디드기사

[임베디드기사]프로세스(cpu) 스케줄링

골든 2013. 9. 26. 03:17

선점기법(preemptive)

- 하나의 프로세스가 cpu를 점유하고 있을 때 다른 프로세스가 cpu를 빼앗을 수 있는 방법을 말한다.

- 대화식 시분할 시스템에서 유용하며, 높은 우선 순위를 가진 프로세스들이 빠른 응답을 필요로 할 때 유용하다.

- RR(round robin), SRT(shortest remain time), MLQ(multi level feedbak queue), MFQ(multi level queue) 등이 있다.

 1. RR

시분할 시스템을 위해 고안, 여러개의 프로세스가 10~100ms 정도의 작은 단위시간을 정의하여 해당시간 할당량만큼 cpu를 사용하는 기법

시간 할당량을 크게 하면 FIFO 방식과 같아지며, 시간 할당량을 작게 하면 문맥 교환에 따른 오버헤드가 커진다.

FIFO와 같은 방법이지만 주어진 시간 할당량 안에 작업을 마쳐야 하며, 할당량을 다 소비하고도 작업이 끝나지 않은 프로세스는 다시 대기 큐의 맨 뒤로 되돌아 감

 2. SRT

남은시간이 가장 적은 프로세스에게 먼저 cpu를 할당하는 기법

남아있는 실행 시간 추정치(남은시간)가 가장 작은 프로세스에게 현재 작업을 중단하고 cpu의 제어권을 넘겨주는 방식

 3. MFQ

다단계 피드백 큐 스케줄링으로 작업처리를 여러 단계로 나누어 처리하는 기법

높은 단계에서는 시간 할당량을 짧게 주고, 낮은 단계로 갈수록 시간 할당량을 많이 줌 ->마지막 단계는 RR기법으로 처리

4. MLQ 

다단계 큐 스케줄링으로 대기 리스트들이 종속적으로 연결되어 있지만 다단계 큐는 상위, 중위, 하위 단계로 구분

우선순위에 따라 시스템 프로그래밍, 대화형 프로세스, 일괄처리 프로세스 등이 사용 


비선점기법(Non-preemptive)

- 프로세스에게 이미 할당된 cpu를 강제로 뺏을 수 없고, 사용이 끝날 때까지 기다리는 방법이다.

- 모든 프로세스에 대한 요구 반응이 공정하다.

- FIFO, SJF, HRN, 우선순위, 기한부 스케줄링 방식 등이 있다.

 

 

 

 

 

 

 

 

 

 


'IT > IT ::임베디드기사' 카테고리의 다른 글

[임베디드기사]교착상태  (0) 2013.09.26
[임베디드기사]부트로더의 종류  (0) 2013.09.24
[임베디드기사]JTAG  (0) 2013.09.24
[임베디드기사]조합논리회로  (0) 2013.09.19
[임베디드기사]수의표현  (0) 2013.09.19