정처기 실기 계산식 문제를 풀다가 스케줄링 알고리즘 이론을 간단하게 정리해두려고 한다. (이것도 시험용..ㅎㅎ)
스케줄링(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)
- 일정한 시간을 주어 그 시간 안에 작업을 완료하도록 하는 기법
✔️ 표시는 계산식 문제 나올 수 있음
출처
'Study > Computer Science' 카테고리의 다른 글
[자료구조] 선형/비선형 자료 구조 (1) | 2024.08.28 |
---|---|
[Database] 조인(JOIN) 종류 (0) | 2024.08.20 |
[디자인 패턴] GoF(Gang of Fours) 디자인 패턴 종류와 특징 (0) | 2024.07.24 |
[자료구조] 시간 복잡도, 공간 복잡도 (0) | 2024.07.18 |
[네트워크] 서브넷 계산 (0) | 2024.07.12 |