나 혼자 운영체제
컴퓨터 시스템의 핵심 관리자, 운영체제의 원리를 체계적으로 다루는 교재입니다.
코드를 작성했습니다. 터미널에서 실행 버튼을 누릅니다. 프로그램이 동작합니다. 이 당연한 과정의 이면에는 운영체제라는 거대한 소프트웨어가 작동하고 있습니다.
CPU는 한 순간에 하나의 명령어만 실행할 수 있는데, 어떻게 수십 개의 프로그램이 동시에 돌아갈까요? malloc()으로 메모리를 할당하면 물리적으로 어디에 생기는 걸까요? 파일을 저장하면 디스크의 어디에 어떤 형태로 기록되는 걸까요?
이 교재는 이런 질문들에 대한 답을 계층적으로 풀어갑니다. 운영체제의 정의와 역할에서 출발하여, 프로세스와 스레드의 관리, CPU 스케줄링, 메모리 관리, 파일 시스템까지 — OS가 하드웨어와 소프트웨어 사이에서 어떤 마법을 부리는지 체계적으로 이해할 수 있습니다.
이론으로 끝나지 않습니다. C와 Python 코드로 fork(), 뮤텍스, 세마포어를 직접 구현하고, 리눅스 명령어로 시스템 상태를 진단하며, Docker와 Kubernetes가 OS 위에서 어떻게 동작하는지까지 다룹니다.