본문으로 건너뛰기

제 I 편: CPU 가상화

CPU 가상화 기법과 스케줄링

📄️ 제4장: 프로세스의 개념

이 장에는 운영체제가 제공하는 핵심 개념 중 하나인 프로세스(process)에 대해 논의한다. 일반적으로 프로세스는 실행 중인 프로그램으로 정의한다 [VCG65; Han70]. 프로그램 자체는 생명이 없는 존재다. 프로그램은 디스크 상에 존재하며 실행을 위한 명령어와 정적 데이터의 묶음이다. 이 명령어와 데이터 묶음을 읽고 실행하여 프로그램에 생명을 불어넣는 것이 운영체제이다.

📄️ 제7장: 스케줄링: 개요

이제 프로세스를 실행시키기 위한 문맥 교환 등의 저수준 기법에 대해서는 분명하게 이해하고 있어야 한다. 그렇지 않다면 한 두 장 이전으로 돌아가서 이러한 기법들이 어떻게 동작하는지에 대한 설명을 다시 읽기 바란다. 운영체제 스케줄러의 고수준 정책에 관해서는 이해가 필요하다. 이제부터 다양한 스케줄링 정책(scheduling policy)을 소개하고 그에 관한 이해를 높일 것이다. 이러한 정책은 원칙(discipline)이라고도 불리며 많은 똑똑하고 부지런한 사람들이 오랫동안 개발한 정책들이다.

📄️ 제8장: 스케줄링: 멀티 레벨 피드백 큐

이 장에서는 멀티 레벨 피드백 큐(Multi-level Feedback Queue, MLFQ)로 알려진 가장 유명한 스케줄링 기법에 대해 논의한다. 멀티 레벨 피드백 큐 (MLFQ) 스케줄러는 Compatible Time-Sharing System(CTSS)에 사용되며 Corbato 등에 의해 1962년에 최초로 소개되었다 [CDD62]. 이 연구와 Multics에 대한 후속 연구로 Corbato는 최고 영예인 Turing Award를 받았다. 이 스케줄러는 수년 동안 다듬어져 일부 현대 시스템에까지 발전되었다.