티스토리 뷰
우선순위 (Priority) 스케줄링
프로세스가 갖고 있는 우선순위 대로 CPU를 할당하는 스케줄링 기법이다. 새로운 프로세스가 도착하면 현재 실행 중인 프로세스와 우선순위를 비교하고 우선순위가 더 높은 프로세스를 먼저 실행한다. 우선순위가 같은 프로세스들은 FCFS와 동일한 방식으로 실행된다.
다단계 큐 (Multi-level Queue) 스케줄링
프로세스들이 우선순위 스케줄링과 동일하게 각각의 우선순위 값을 가지고 있다. 여러 개의 큐 자료구조가 우선 순위 별로 존재하는데, 프로세스들은 자신의 우선순위 값에 해당하는 큐에 들어간다. 우선순위가 낮은 하위 단계의 큐가 실행 중이더라도 만약 상위 단계의 큐에 프로세스가 도착하면 하위 단계의 큐는 상위 단계 큐에게 CPU를 뺏기는 선점 방식의 스케줄링이다. 프로세스가 생성될 때 부여된 우선순위가 프로세스가 완료될 때까지 변하지 않는 정적 우선순위이기 때문에 큐 사이에서의 프로세스 이동은 불가능하다.
다단계 피드백 큐 (Multi-level Feedback Queue, MFQ) 스케줄링
다단계 피드백 큐는 각각의 프로세스가 얼마나 CPU를 요구하는지는 모르더라도, 짧은 프로세스들을 좀 더 우대할 수 있는 스케줄링 기법이다. 지금 실행 중인 프로세스가 완료될 때까지 얼마나 시간이 필요한지 모르지만 지금까지 실행된 시간을 활용해 짧은 프로세스에게 유리하도록, 자원의 활용도를 높이고, 시스템의 성능까지 높일 수 있는 기법이다.
다단계 큐와 다르게 시스템에 있는 동안 프로세스의 우선순위가 조정될 수 있는 동적 우선순위 기반의 선점 방식이다. 여러 단계의 큐가 있다는 점은 다단계 큐와 같지만, 각 단계의 큐마다 서로 다른 CPU 시간 할당량을 가진다는 차이점이 있다. 우선순위가 높은 큐일 수록 CPU 할당량이 작다. 새로운 프로세스가 도착하면 최상위 단계의 큐에 들어간 다음, FCFS 순서대로 CPU를 할당받아 실행되다가 그 큐의 시간 할당량이 끝나면 아래 단계의 준비 큐에 들어가 우선순위가 한 단계 낮아지게 된다. 각 단계에서도 동일하게 실행되다가 마지막 단계 큐에 도착하면 더 이상 내려갈 수 있는 단계가 없으므로 라운드 로빈 방식으로 프로세스를 실행한다. 만약 시간 할당량이 끝나기 전에 입출력으로 CPU를 내놓으면 다시 준비 상태가 되었을 때 한 단계 위의 큐에 들어가 우선순위를 높이도록 한다.
'OS' 카테고리의 다른 글
[OS] 주기억장치 vs 보조기억장치, 메모리에 관하여 (0) | 2022.04.10 |
---|---|
[OS] 교착 상태 : 교착 상태 해결 방법! (0) | 2022.04.07 |
[OS] 교착상태 : 교착상태의 원인 (0) | 2022.04.05 |
[OS] 교착상태 : 교착상태란?, 프로세스와 자원 (0) | 2022.04.03 |
[OS] 프로세스 생성과 종료, 쓰레드(Thread) (0) | 2022.03.20 |
- Total
- Today
- Yesterday
- Linux
- E_FAIL
- linuxtouch
- 버추억박스오류
- linuxawk
- OnActivityForResult
- GithubAPI
- 사용자ID
- 백준27219
- virtualbox
- cron시스템
- 코테
- api문서
- atq
- 리눅스cron
- SELECT #SELECTFROM #WHERE #ORDERBY #GROUPBY #HAVING #EXISTS #NOTEXISTS #UNION #MINUS #INTERSECTION #SQL #SQLPLUS
- 백준
- linuxgedit
- linux파일
- 리눅스
- Baekjoon27219
- awk프로그램
- Baekjoon27211
- 버추억박스에러
- 백준27211
- whatis
- cat
- 쇼미더코드
- baekjoon
- GitHubAPIforJava
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |