Study/Computer Science

[운영체제] 프로세스 스케줄링

욘아리 2024. 7. 26. 10:20

정처기 실기 계산식 문제를 풀다가 스케줄링 알고리즘 이론을 간단하게 정리해두려고 한다. (이것도 시험용..ㅎㅎ)

 

스케줄링(Scheduling)이란?

메모리에 올라온 프로세스들 중 어느 프로세스를 먼저 처리할지 순서를 정하는 것을 의미한다.

 

선점형 스케줄링

운영체제가 실행 중인 프로세스로부터 CPU를 강제로 빼앗을 수 있는 방식이다.

 

1. Round Robin✔️

  • 시간 단위를 정하여 순서대로 CPU에 할당

2. SRT(Shortest Remaining Time)✔️

  • 실행 시간가장 짧은 프로세스에 CPU 할당

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

  • 그룹에 따라 다른 준비 상태 큐를 사용하는 기법

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

  • 가장 높은 우선순위의 준비 큐에 등록

 

비선점형 스케줄링

프로세스가 CPU를 점유하고 있다면 이를 빼앗을 수 없는 방식이다.

 

1. FCFS(First Come First Serve)✔️

  • 먼저 도착한 프로세스를 먼저 처리

2. SJF(Shortest Job First)✔️

  • 실행 시간이 짧은 프로세스에게 CPU 할당

3. HRN(Highest Response ratio Next)✔️

  • 우선순위 = (대기시간 + 실행시간) / 실행시간

4. 우선순위(Priority)

  • 프로세스에 우선순위를 부여

5. 기한부(Deadline)

  • 일정한 시간을 주어 그 시간 안에 작업을 완료하도록 하는 기법

 

✔️ 표시는 계산식 문제 나올 수 있음

 

 

 

출처

흥달쌤 youtube