KOCW 반효경 교수님 운영체제 강의 정리
이 글은 공부한 것을 복습 및 기록하기 위한 게시물입니다.
잘못된 정보가 기입되어 있을 수 있으니 주의해주시기 바랍니다.
강의 링크 : http://www.kocw.net/home/cview.do?lid=aa53d6aa576466ee
5-5. Multilevel Queue
우선순위가 높을수록 위쪽에 위치하게 된다.
프로세스를 어느 우선순위에 배치시킬 것인지와 우선순위가 낮은 프로세스에 대한 Starvation 극복 방안을 고려해야 한다.
이러한 극복방안으로 Ready queue를 여러 개로 분할시킬 수 있다.
아래 방식은 queue가 2개인 방식이다.
foreground queue에는 interactive한 job을 대기시키고 background queue에는 batch형 job을 대기시킨다.
그리고 각 queue는 독립적인 Scheduling 알고리즘을 가져야 한다.
foreground queue는 interactive한 job들이 대기하고 있기 때문에 속도가 중요하므로 Round Robin을 채택하고
background queue는 CPU만 잡아먹는 batch형 job들이 대기하고 있기 때문에 FCFS을 채택할 수 있다.
그 다음 이제는 queue에 대한 Scheduling이 필요하다.
만약 우선순위를 강하게 적용하는 방식에서는 우선순위가 비어있지 않는 이상 아랫 순위에 CPU를 할당하기 어렵기 때문에
Starvation 현상을 겪을 수 있게 된다.
이러한 해결 방법으로 CPU time을 적절한 비율로 할당하여 주게 되면 Starvation은 발생하지 않게 된다.
5-6. Multilevel Feedback Queue
보통은 처음 들어온 프로세스는 우선순위가 높은 queue에 넣게 된다.
상위 queue일수록 time quantum은 짧게 된다.
할당시간이 최상위 queue에서 끝나게 되면 그 다음 하위 queue로 강등되게 된다.
최하위 queue는 FCFS를 사용하며 상위 queue들은 Round Robin을 사용하게 된다.
CPU 사용시간이 짧은 프로세스들에게 우선순위를 많이 주는 스케줄링 방식이다.
6. Multiple-Processor Scheduling
CPU가 여러개 일 경우 Load Sharing이 필요하다.
특정 CPU 1개만 일을 해서는 안된다.
7. Real-Time Scheduling
RTOS는 deadline이 보장되어야 하기 때문에 미리 Scheduling을 해놓게 된다.
8. Thread Scheduling
- Local Scheduling : 운영체제가 CPU를 어떤 프로세스에게 할당할지만 결정하고 Thread의 경우는 프로세스 내부에서 알아서 Scheduling을 결정한다.
- Global Scheduling : 운영체제가 Thread의 존재를 알고 있어 운영체제가 어떤 Thread에게 CPU를 할당할지 결정한다.
9. Algorithm Evaluation
- Queueing models : 프로세스 도착율과 CPU의 처리율등을 통해 계산을 한다, 이론적으로 많이 사용하는 방식이다.
- Implementation & Mesasurement : 실제 시스템에 구현하여 실제 작업에 대해 성능을 측정 비교한다, Queueing Models과 상반된다.
- Simulation : Implementation & Mesasurement는 직접하기 어렵기 때문에 많이 사용되는 방법이다.
'Computer Science > OS' 카테고리의 다른 글
9. Process Synchronization 1 (0) | 2021.03.20 |
---|---|
7. CPU Scheduling 1 (0) | 2021.03.14 |
6. Process Management (0) | 2021.03.07 |
5. Process 2~3 (0) | 2021.03.06 |
4. Process 1 (0) | 2021.02.27 |