본문 바로가기

CS/운영 체제🖥️7

[OS] Scheduling: Proportional Share 앞장에서 MLFQ 스케줄링 방식을 살펴봤었습니다. MLFQ는 turnaround time과 response time 두가지 토끼를 모두 잡는 것을 목표로 한 스케줄링 방식이었습니다. 이번장에서 다룰 Proportional share(fair-share) 스케줄링 방식은 이름에서부터 알 수 있듯이 Fairness, 공정함에 초점을 맞춘 스케줄링입니다. 즉, 각 작업이 CPU를 사용하는 시간의 특정 비율을 보장받을 수 있도록 해주는 스케줄링 방식입니다. 이 Proportional share의 초기 예시로 Lottery Scheduling이 널리 알려져있습니다. 이 Lottery Scheduling의 기본 개념은 매우 간단합니다. 일정 간격으로 복권을 추첨해서, 당첨된 프로세스가 다음에 실행되게 된다(스케줄링.. 2023. 12. 16.
[OS] Multi Level Feedback Queue (MLFQ) 이전 글에서 프로그램을 실행해보기도 이전에 프로그램의 실행 시간을 아는 것은 현실적으로 불가능한 이야기이므로 SJF와 STCF같은 정책들이 Optimal하지만 다른 방법을 탐색했어야했습니다. 따라서 "실행 시간을 몰라도 SJF/STCF처럼 효율적이고, Round Robin처럼 공정한 스케줄링 정책은 없는 걸까 "라는 의문을 남긴채 글을 마무리했었습니다. 그 의문을 해소하고자 Multi-Level Feedback Queue(MLFQ)가 등장하게 됩니다. MLFQ의 목적은 두가지입니다. turnaround time(반환 시간)의 최적화 like SJF(or STCF) response time(반응 시간)의 최적화 like RR 즉, 반환시간과 반응시간 두가지의 성능 지표 모두를 노려보는 방법입니다. MLFQ.. 2023. 12. 11.
[OS] Scheduling: Introduction (Scheduling Policy들 정리) Scheduling 운영체제 같은 시스템 소프트웨어는 mechanism과 policy라는 말을 사용합니다. 지금까지 Context Switching과 같은 mechanism, 즉 low-level의 기계에서 수행되는 방법에 대해 공부했는데, 어떤 근거, 판단 기준을 가지고 OS가 Context Switching을 하는지, 그 정책(policy)에 대한 것은 아직 다루지 않았습니다. 오늘 주제는 OS의 Scheduler가 수행하는 의사결정, 즉 알고리즘이라고 할 수 있는 정책에 대해서 알아봅시다 ! 근데 여러분 그거 아셨나요 ? 사실 스케줄링이라고 하는 것은 컴퓨터에서 처음 나온 개념은 아닙니다. 컴퓨터가 나오기 훨씬 이전부터 운영 관리 분야에서부터 존재해왔던 개념입니다. 사실 이 모든것은 일을 더 효율적.. 2023. 11. 6.
[OS] CPU 가상화 메커니즘 (Limited Direct Execution) - 2부 이전글 https://codingmon.tistory.com/68 [OS] CPU 가상화 메커니즘 (Limited Direct Execution) - 1부 오늘 다룰 주제는 CPU의 가상화입니다. 운영체제는 여러 프로세스들이 동시에 실행되는 것처럼 보이도록 하기 위해 물리적인 CPU를 공유하도록 지원합니다. 바로 Time Sharing(시분할) 방법을 통해서 codingmon.tistory.com 2부에서 이야기할 주제는 저번 1부에서 말했듯이, 아직 해결되지 않은 프로세스 간 전환 방법과 그 해결책입니다 ! 힘내서 한번 가보겠습니다 ! 시작하기에 앞서 지금까지 과정을 살짝 요약해보자면 우선 CPU를 가상화하기 위해서는 Performance와 Control을 신경써야만 했습니다. 그리고 우린 지난번에 P.. 2023. 10. 31.