멀티 프로세스 환경에서 여러 프로세스들은 동시에 돌아갈 수 있으며, 여러 프로세스들이 요구하는 시스템 자원들 을 적절히 분배
하여 프로세스에 할당
하는것을 의미합니다.
스케쥴링을 통해
공정성
: 모든 프로세스에 공정하게 할당합니다.CPU 의 활용 극대화
: CPU 의 낭비 시간을 줄이고, CPU 가 순수하게 프로세스를 실행하는데 사용되는 비율을 증가시킵니다.프로세스 처리율(시간 당 작업량) 증가
: 단위 시간당 프로세스를 처리하는 비율을 증가시킵니다.오버헤드 최소화
대기시간 최소화
: 프로세스가 대기 큐에서 대기하는 시간을 최소화합니다.반환시간 최소화
: 프로세스가 실행되고 실행이 완료되는 시간을 최소화합니다.등과 같은 장점을 얻을 수 있습니다.
스케쥴링에는 여러가지 알고리즘이 존재합니다.
FCFS
(First Come First Served, First in First Out) - 선입 선처리 스케쥴링Shortest Job First
- 최소 작업 우선 스케쥴링Priority
- 우선순위 스케쥴링Round - Robin
- 라운드 로빈 스케줄링먼저 자원 할당을 요청한 프로세스가 먼저 자원을 제공받으며, 이미 사용중이라면 사용이 끝날때까지 기다려야하는 비선점 스케쥴링 방식
입니다.
장점
단점
비선점방식의 스케줄링 방식
이기 때문에 프로세스간의 통신 이 필요한 작업에는 부적합 하다.어떤 프로세스의 실행시간
이 매우 길다면 뒤에 실행되어야 할 프로세스들의 대기시간
이 늘어난다.프로세스의 실행 시간 을 이용하여 가장 짧은 시간을 갖는 프로세스
가 먼저 자원을 할당 받는 방식입니다.
FCFS
와는 달리 먼저 CPU를 할당 받은 프로세스가 존재하더라도 우선순위가 높은 프로세스 가 CPU를 강제 선점
할 수도 있는 방식입니다. 이 스케줄링 방식은 비선점 스케줄링 방식
혹은 선점 스케줄링 방식
이 가능합니다.
장점
평균 대기시간이 짧다
단점
기아
가 발생할 수 있다공정성
에 어긋납니다.텍스트
우선순위 스케줄링 은 프로세스마다 우선순위가 존재합니다.
우선순위 스케줄링 은 선점
, 비선점 스케줄링
이 가능합니다. 만약 우선순위가 같다면 FIFO
방식으로 동작합니다.
장점
단점
낮은 우선순위
를 가진 프로세스는 자원을 할당받지 못하는 경우 도 생기기 때문에 기아 가 발생할 가능성이 존재합니다.Round - Robin 스케줄링은 작은 단위의 시간 인 시간 할당량
을 정의하여 그 시간 만큼 자원을 할당 하는 방식입니다.
만약 할당받은 시간 내에 작업을 끝내지 못하면 다음 프로세스가 자신의 시간 할당량
만큼 CPU를 사용 하게 됩니다.
장점
공정하게 스케줄링
을 받을 수 있습니다.프로세스의 수
를 알고 있을때 유용합니다.단점
FIFO 방식
으로 변하고, 너무 짧으면 실행중인 프로세스가 자주 바뀌므로 Context Switching
에 의해 오버헤드가 발생 하게 됩니다.타이머
가 필요합니다.평균 처리시간
이 높습니다.스케줄링은 멀티 프로세스 환경에서 여러 프로세스들은 동시에 돌아갈 수 있으며, 여러 프로세스들이 요구하는 시스템 자원들 을 적절히 분배
하여 프로세스에 할당
하는것을 의미합니다.
스케줄링 방식으로는 대표적으로 FCFS
, SJF(Shortest Job First)
, Priority
, Round - Robin
알고리즘이 존재합니다.
FCFS
: 먼저 자원 할당을 요청한 프로세스가 먼저 자원을 제공받으며, 이미 사용중이라면 사용이 끝날때까지 기다려야하는 비선점 스케쥴링 방식
SJF
: 프로세스의 실행 시간을 이용하여 가장 짧은 시간을 갖는 프로세스가 먼저 자원을 할당받는 방식. 비선점 스케줄링 방식
혹은 선점 스케줄링 방식
이 가능
Priority
: 우선순위 스케줄링 은 프로세스마다 우선순위가 존재. 선점
, 비선점 스케줄링
이 가능합니다. 만약 우선순위가 같다면 FIFO
방식으로 동작
Round - Robin
: Round - Robin 스케줄링은 작은 단위의 시간 인 시간 할당량
을 정의하여 그 시간 만큼 자원을 할당 하는 방식. 만약 할당받은 시간 내에 작업을 끝내지 못하면 다음 프로세스가 자신의 시간 할당량
만큼 CPU를 사용