안녕하세요, 혼자 공부하는 컴퓨터 구조 + 운영체제를 공부하고 학습한 자료입니다.
- 들어가며
있는 그대로 외우기 보다는 알고리즘의 아이디어(작동방식, 장단점)에 주목하기
- 0.목차
- 01.선입 선처리 스케줄링
(먼저 들어온 프로세스를 먼저 처리)
- 02.최단 작업 우선 스케줄링
(CPU 사용시간이 짧은 프로세스를 먼저 실행, 선점형 또는 비선점형 스케줄링으로 구현될 수 있다. 보통 비선점형 스케줄링으로 사용된다.)
- 03.라운드 로빈 스케줄링
(선입 선처리 스케줄링에 타임 슬라이스의 기능이 더해진 스케줄링, 즉 정해진 시간 만큼만 돌아가면서 CPU를 할당하는 스케줄링이다. 정해진 시간 이후에는 다시 큐의 맨 뒤에 삽입)
(타임 슬라이스의 크기가 매우 중요해진다. 타임 슬라이스의 크기가 매우 클 경우, 오버헤드가 발생할 가능성이 높아진다.)
- 04.최소 잔여 시간 우선 스케줄링
- 05.우선순위 스케줄링
(우선순위가 너무 낮으면 한도 끝도 없이 늦어질 수 있다. 끝끝내 실행이 안 될수도 있다.)
(기아현상을 방지하기 위해 에이징 기법이 있다.)
- 06.다단계 큐 스케줄링
(우선순위 별로 큐를 정의, 큐별로 스케줄링의 알고리즘을 달리 적용할 수 있음)
(단점은 큐 간의 이동이 불가능하다. 우선순위가 낮은 큐에서 높은 큐로 이동이 불가능하다. 기아 현상이 발생할 수 있다.)
- 07.다단계 피드백 큐 스케줄링
(다단계 큐 스케줄링의 발전된 형태, 큐 간의 이동이 가능하다.)
(cpu를 많이 이용해야 하면 할 수록 우선순위를 낮게 만드는 알고리즘)
(타임 슬라이스 내에 실행이 완료되지 못하는 프로세스들은 다시 우선순위를 낮게 이동)
(자연스럽게 입출력 집중 프로세스의 우선순위가 높아짐)
(에이징 기법 적용을 통해 우선순위를 점차 높이므로 기아현상을 예방할 수 있다.)
(CPU 스케줄링 기법으로 많이 알려져 있음, 가장 일반적인 형태로 알려져 있음)
감사합니다.
참고 url - https://www.youtube.com/watch?v=w1z6WCyMdhQ&list=PLVsNizTWUw7FCS83JhC1vflK8OcLRG0Hl&index=34
'혼자 공부하는 컴퓨터 구조 및 운영체제 (복습)' 카테고리의 다른 글
[운영체제] 프로세스 동기화 기법 (2) | 2024.10.19 |
---|---|
[운영체제] 프로세스 동기화란? (3) | 2024.10.18 |
[운영체제] CPU 스케줄링 개요 (2) | 2024.10.18 |
[운영체제] 파이썬 코드로 스레드 확인하기 (1) | 2024.10.18 |
[운영체제] 파이썬 코드로 프로세스 확인하기 (1) | 2024.10.18 |