운영체제 포스팅 모음집
운영체제 과목을 수강하면서 하나씩 개념을 다지며 글을 써 내려가다 보니 어느새 꽤 많은 글이 쌓였다. 하지만 각 포스팅이 독립적으로 존재하다 보니 전체적인 흐름을 파악하기 어렵고, 나 스스로도 과거에 정리했던 내용을 다시 찾아보기 번거롭다는 생각이 들었다.
그래서 이번 포스팅은 그동안 학습하며 기록해 온 운영체제 관련 글들을 한눈에 볼 수 있도록 정리한 링크 모음집이다. 이 글을 보는 누군가의 학습에 좋은 길잡이가 되었으면 하는 바람...
1. 운영체제 개념 도입
가상화, 동시성, 영속성이라는 운영체제의 핵심 개념, 프로그램이 실행되는 단위인 프로세스와, 그 안에서 작동하는 작업 흐름인 스레드의 기본 개념을 다룬다.
2. CPU Virtualization
- [운영체제] CPU 가상화 | Logical Control Flow에서 Context Switch까지
- [운영체제] CPU 스케줄링 | FIFO에서 MLFQ까지, 스케줄링 정책의 발전과정 정리
- [운영체제] CPU 스케줄링 심화 | Proportional Share Scheduler 와 CFS, EEVDF
CPU 가상화를 가능케하는 Context Switch와, 구체적으로 어떤 프로세스로 switch할 것인지 결정하는 스케줄링 방법론에 대해 다룬다.
Concurrency의 개념과 여기에서 발생하는 Race Condition 문제 등 여러 프로세스나 스레드가 동시에 작업하는 상황에 관해 다룬다.
맺음말
이렇게 한곳에 모아놓고 보니 그동안의 학습 과정이 한눈에 들어오는 것 같아 감회가 새롭다. 각 주제를 처음 마주했을 때의 막막함과, 하나씩 이해하며 정리해 나갔을 때의 희열이 다시금 떠오르는 것 같기도....?
운영체제는 컴퓨터 과학의 근간을 이루는 아주 깊고 넓은 분야이기에 아직 다루지 못한 주제들이 많다. 앞으로 파일 시스템, I/O 등 더 깊은 내용들을 학습하고 기록하며 이 지도를 꾸준히 채워나갈 예정이다. 이 모음집이 운영체제를 공부하는 누군가에게 작은 이정표가 되기를 바란다.