프로세스 스케줄링

2022. 4. 20. 20:43정보처리기사 - 필기/제4과목 - 프로그래밍 언어 활용

프로세스 스케줄링? 

- 프로세스가 실행될 때 필요한 시스템의 여러 자원을 해당 프로세스에 할당하는 작업

- 비선점 프로세스 스케줄링과 선점 프로세스 스케줄링으로 구분

 

프로세스 비선점 스케줄링

- 이미 할당된 CPU를 다른 프로세스가 강제로 뺏어서 사용할 수 없음

- 중요하지 않은 작업으로 인해 중요한 작업의 대기 시간이 길어질 수 있음

 

종류

1. FCFS(First Come First Service)

- 준비상태 큐에 도착한 순서에 따라 차례로 CPU를 할당

 

2. SJF(Shortest Job First)

- 실행 시간이 짧은 프로세스에 먼저 CPU 할당

- 가장 적은 평균 대기시간을 제공함

 

3. HRN(Highest Response-ratio Next)

- 실행시간이 긴 프로세스에 불리한 SJF 기법을 보완하기 위한 기법

- 대기시간과 실행시간을 이용

- 우선 순위 계산 결과값이 높은 것부터 우선 순위 부여

- 대기 시간이 긴 프로세스일 경우 계산 결과값이 높게 나옴

 

프로세스 선점 스케줄링

- 우선순위가 높은 프로세스를 빠르게 처리가능하다.

- 많은 오버헤드를 초래한다.

- 우선순위가 높은 다른 CPU를 뺏을 수 있다.

- 선점이 가능하도록 인터럽트용 타이머 클록 필요

 

종류

1. RR(Round Robin)

- FCFS를 선점 형태로 변형

- 각 프로세스는 할당된 시간 동안만 실행한 후 실행이 완료되지 않으면 다음 프로세스에 CPU를 넘겨주고 큐의 뒤로 배치

 

2. SRT(Shortest Remaining Time)

- SJF를 선점 형태로 변형

- 실행 중인 프로세스의 남은 시간과 준비상태 큐에 도착한 프로세스의 실행 시간 비교 한뒤 가장 짧은 실행 시간을 요구하는 프로세스에 CPU를 할당

 

3. MLQ(Multi Level Queue, 다단계큐)

- 프로세스를 특정 그룹으로 분류할 수 있을 경우 그룹에 따라 각기 다른 준비상태 큐를 사용

 

4. MLFQ(Multi Level Feedback Queue, 다단계 피드백큐)

- 특정 그룹의 준비상태 큐에 들어간 프로세스가 다른 준비상태 큐로 이동 할 수 없는 다단계큐 기법을 이동할 수 있도록 개선한 기법

'정보처리기사 - 필기 > 제4과목 - 프로그래밍 언어 활용' 카테고리의 다른 글

페이지 교체 알고리즘  (0) 2022.04.21
스레드(Thread)  (0) 2022.04.20
교착상태  (0) 2022.04.20
모듈  (0) 2022.04.20
IP 주소  (0) 2022.04.19