티스토리 뷰


운영체제(OS)


프로세스 스케줄링


*프로세스 스케줄링

프로세스 스케줄링은 준비 상태에 있는 프로세스 선정과 선정된 프로세스에게 CPU를 할당해 주는 것이며, 운영체제의 프로세스 관리자에서 프로세스 스케줄링 기능을 담당하는 부분을 프로세스 스케줄러(process scheduler)라고 일컫습니다.

 

*프로세스 정책의 평가 기준 6가지

- 처리량(throuput)의 최대화 : 주어진 시간동안 최대한 많은양의 작업을 처리하는 것으로 간섭이 필요하지 않거나 처리 시간이 짧은 작업들을 우선적으로 처리합니다.

 

- 응답시간(response time)의 최소화 : 예를 들어 빠른 처리 결과를 필요로 하는 대화식 작업을 우선적으로 처리하고, 일괄처리 작업은 대화식 작업들이 종료된 후에 처리합니다.

 

- 작업 완료시간(turnaround time)의 최소화 : 전체 작업 제출에서 종료까지 걸리는 시간을 최소화 합니다.

 

- 대기시간(waiting time)의 최소화 : 프로세스 들이 준비 상태에서 기다리는 시간을 최소화 합니다.

 

- CPU 효율(CPU efficiency)의 초대화 : 가능한 CPU가 바쁘게 일하도록 프로세스를 할당해야 합니다.

 

- 공평성(fairness) : 가능한 모든 사용자들이 공평하게 시스템 자원을 사용하도록 합니다.

 

 

선점형(preemptive) 스케줄링

선점형 스케줄링은 CPU를 사용중인 프로세스 에게서 강제로 CPU를 빼앗아 다른 프로세스에게 넘겨주는 방식의 스케줄링 기법입니다. 선점당한 프로세스는 실행상태에서 준비상태로 바뀌게 됩니다.

 

선점형 스케줄링은 빠른 응답시간을 필요로 하거나, 처리시간이 한정된 실시간 시스템에 유용합니다.

 

 

비선점형(nonpreemptive) 스케줄링

비선점형 스케줄링은 CPU를 사용중인 프로세스가 CPU를 반환시키지 않는 한 실행 상태를 유지합니다. 비선점형 스케줄링은 공평성과, 프로세스 변경에 대한 작업시간을 줄여 작업시간을 최소화 하는 장점이 있습니다.

 

선착순 처리(First Come First Served : FCFS) 스케줄링

선착순 처리 스케줄링은 비선점형 스케줄링으로 프로세스들이 준비상태에 도착한 순서에 따라 선착순으로 CPU를 할당하는 스케줄링 기법 입니다. 우선순위가 높고 중요한 작업이 대기시간이 길어지고, 빠른 응답시간을 기대하는 시스템에 적합하지 못하다는 단점이 있습니다.

 

최단 작업 우선(Shortest Job First : SJF) 스케줄링

최단 작업 우선 스케줄링은 CPU 시간 요구량이 가장 짧은 프로세스에게 먼저 CPU를 할당하는 비선점형 스케줄링 기법입니다. 최단 작업 우선 스케줄링은 준비 상태의 프로세스의 CPU 요구 시간을 미리 알아야 하고, 대화식 작업에선 비적합 하다는 단점이 있습니다.

 

라운드 로빈(Round Robin : RR) 스케줄링

라운드 로빈 스케줄링은 선점형 스케줄링으로 대화식으로 처리되는 시분할 시스템에 널리 사용됩니다. 미리 정해진 시간 할당량에 따라 CPU를 할당하여 한 프로세스의 독점을 방지하고 공평성을 유지합니다. 라운드 로빈 스케줄링은 FCFS와 같이 들어온 순서 대로 CPU를 할당합니다.

 

 


댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함