flow-vector
article thumbnail
CPU 가상화(3) - 스케줄러 (2)

"운영체제 : 아주 쉬운 세가지 이야기"를 읽으면서 핵심 내용을 정리하였습니다. 이화여대 반효경 교수님의 운영체제 강의를 듣고 복습 차원에서 책 한권을 완독해 보고자 합니다. 잘못된 정보가 있다면 댓글 남겨주시면 감사하겠습니다! 멀티 레벨 피드백 큐(Multi-level Feedback Queue, MLFQ) 이전까지 스케줄러를 설계를 위해 먼저 핵심 가정들을 세우고 어떤 지표로 스케줄러를 평가할지 선정한 후 가정들을 하나씩 완화해 나가면서 스케줄러를 발전시켜 보았다. 아직 "각 작업의 실행 시간은 사전에 알려져있다" 는 가정을 완화 하지 못했고 이를 해결하는 멀티 레벨 피드백 큐라는 스케줄링 알고리즘에 대해 알아보고자 한다. 멀티레벨 피드백 큐 알고리즘의 목적은 아래와 같다. 반환시간의 최적화 응답시간..

article thumbnail
CPU 가상화(2) - 스케줄러(1)

스케줄링 정책 지금까지는 CPU 가상화를 구현하는 저수준의 기법인 “제한적 직접 실행”에 대해 알아 보았다. 제한적 직접실행을 통해 프로세스간 전환이 되는 과정(문맥 교환)을 이해하고 어떻게 운영체제의 주도하에 시스템(물리 장치들)을 관리 할 수 있는지 알 수 있었다. 그렇다면 운영체제는 어떤 원칙을 통해 프로세스를 전환할까? A 프로세스 실행중 타이머 인터럽트가 발생 했다. 수많은 프로세스중 어떤 프로세스로 전환할까? 운영체제는 특정한 원칙을 가지고 있고 이를 “스케쥴링 정책” 이라고 한다. 아래의 질문을 통해 어떻게 정책들이 발전해 왔는지 알아보고자 한다. 핵심 가정은 무엇일까? 어떤 평가 기준으로 정책을 평가할 수 있을까? 핵심 가정 아래의 가정들은 비현실적이긴 하지만 차차 가정을 줄여 나가면서 최..