이 글의 목적
운영체제 따라잡기 본편 24편을 마쳤다. 이 글은 시리즈 전체를 압축·연결하고 다음에 어디로 갈지 짚는 에필로그다.
- 24편 동안 본 개념을 한 장 지도로 다시 본다
- OS에서 뻗어 나가는 주제와 블로그 내 다른 시리즈를 연결한다
- OS 지식이 어떤 직업·역할과 맞닿는지 정리한다
- 손으로 확인하는 방법과 읽을거리를 남긴다
1. 24편이 만든 큰 그림
OS는 한 가지 기능이 아니라 층층이 쌓인 추상화다.

| Part | 핵심 질문 | 기억할 키워드 |
|---|---|---|
| 0~1 오리엔테이션·구조 | OS가 뭔데, 어떻게 부팅·호출되나 | 4 컴포넌트, 인터럽트, 시스템 콜, 커널 구조 |
| 2 프로세스 | 누가 실행되고 어떻게 스케줄되나 | PCB, fork/exec, 스레드, RR·우선순위 |
| 3 동기화·교착 | 동시에 돌리면 뭐가 깨지나 | mutex, semaphore, 4조건, Banker |
| 4 메모리 | 주소·용량을 어떻게 관리하나 | 페이징, TLB, 페이지 폴트, working set |
| 5 저장장치·파일 | 데이터는 어디에 어떻게 있나 | VFS, inode, 디스크 스케줄링, page cache |
| 6 확장 | 한 머신·여러 머신·다른 OS | 보호, VM·컨테이너, NUMA, CAP, Linux/RTOS |
한 줄로 묶으면:
프로세스가 CPU를 쓰고(스케줄링)
메모리·파일·I/O를 요청하고(추상화)
서로 간섭하지 않게(동기화·보호)
여러 머신·환경으로 확장된다(가상화·분산)
2. 실무에서 다시 만나는 지점
교과서 개념은 관측 도구로 확인할 때 살아난다.
| OS 개념 | 실무에서 보는 곳 | 도구·명령 |
|---|---|---|
| 프로세스·스레드 | API 지연, CPU 100% | ps, top, htop |
| 시스템 콜 | 느린 I/O, 권한 오류 | strace, dtruss |
| 스케줄링 | tail latency, run queue | perf, sched_stat |
| 메모리 | OOM, swap thrashing | free, vmstat, /proc/meminfo |
| 파일·I/O | 디스크 병목, fsync | iostat, lsof, fio |
| 동기화 | DB lock wait, 데드락 | DB slow query, pstack |
| cgroup·namespace | 컨테이너 limit | docker stats, cgroup fs |
| NUMA | DB·HPC 스케일 이상 | numactl, lscpu |
- "느리다"는 증상 하나에 프로세스·디스크·네트워크·락이 동시에 걸려 있다 — 시리즈가 준 분해 프레임으로 원인 후보를 나열하는 게 첫 단계
- 클라우드·K8s는 OS 위 오케스트레이션 — cgroup·네트워크 namespace·볼륨 마운트는 결국 커널 기능
3. 이후 확장되는 개념
본 시리즈는 GPOS 공통 기반까지다. 같은 뿌리에서 가지가 갈라진다.

| 확장 영역 | OS에서 온 질문 | 더 깊이 가면 |
|---|---|---|
| 네트워크 스택 | 소켓·NIC·인터럽트 I/O | TCP/IP, TLS, QUIC, SDN |
| 분산·일관성 | 프로세스 IPC → 노드 간 메시지 | Raft, 2PC, 이벤트 소싱 |
| 플랫폼·K8s | 프로세스·cgroup·namespace | 스케줄러, CNI, CSI, GitOps |
| 데이터베이스 | 락·버퍼·디스크 스케줄링 | WAL, B-tree, MVCC, replication |
| 관측성 | strace·perf 수준을 넘어 | eBPF, tracing, continuous profiling |
| 보안 | 접근 제어·인증 | threat model, zero trust, confidential computing |
| 커널·시스템 | 시스템 콜·드라이버 개요 | eBPF, LSM, 커널 모듈, Rust in kernel |
| 하드웨어 추세 | NUMA·페이징 | CXL 메모리, GPU 스케줄링, DPU |
블로그 내 이어읽기 (권장 순)
- 네트워크 기초 — 소켓·프로토콜 (I/O·프로세스와 직결)
- 데이터베이스 따라잡기 — 락·버퍼·저장 (동기화·파일·캐시 확장)
- 플랫폼 · DevOps · Cloud — Linux·컨테이너·배포
- 관측성 기초 — 메트릭·로그·트레이스 (perf·strace 위)
- 애플리케이션 보안 — AuthN/Z (보호·보안 편 확장)
- 소프트웨어 아키텍처 — 분산·CAP·마이크로서비스 설계
4. 관심 있게 지켜볼 직업·직업군
OS는 인프라 전반의 공통 언어다. 역할마다 깊이가 다르다.

| 역할 | 하는 일 | OS 시리즈와의 연결 |
|---|---|---|
| 백엔드 엔지니어 | API·비즈니스 로직 | 프로세스·스레드·동시성, I/O 블로킹 |
| SRE / 플랫폼 | 가용성·용량·장애 대응 | 스케줄링, 메모리, 파일·디스크, 분산 |
| 인프라·클라우드 | VM·네트워크·스토리지 | 가상화, NUMA, I/O 스택 |
| DevOps / K8s | 배포·런타임·관측 | cgroup, namespace, 컨테이너 격리 |
| 성능 엔지니어 | 병목·프로파일링 | CPU 스케줄링, 캐시, TLB, 디스크 |
| 시스템·커널 | 드라이버·커널·eBPF | 시스템 콜, 인터럽트, 메모리 관리 |
| 임베디드·펌웨어 | MCU·RTOS·드라이버 | 인터럽트, Hard RT, 자원 제약 |
| 보안 엔지니어 | 취약점·권한·침해 대응 | 접근 제어, 격리, 샌드박스 |
| 데이터베이스 엔지니어 | 저장·복제·튜닝 | 락, 버퍼 풀, 디스크·페이지 캐시 |
지켜볼 만한 방향 (2020s~)
- eBPF — 커널에 안전하게 붙는 관측·네트워크·보안 (Cilium, bpftrace)
- Wasm / WASI — OS 경계 밖 런타임, 컨테이너 대안 논의
- AI 인프라 — GPU·NPU 스케줄링, 대용량 메모리·CXL
- Confidential computing — TEE, 암호화 메모리 — OS 보호 모델 확장
- Rust — 커널·시스템 프로그래밍 언어 전환 논의
직업을 고를 때 한 분야만 파지 말고, 위 표에서 인접 칸을 같이 보는 게 유리하다. SRE는 네트워크·DB·보안을, 백엔드는 관측·플랫폼을 어느 정도 알면 시너지가 난다.
5. 앞으로의 학습 루틴
개념만으로는 부족하다. 짧은 루프를 권한다.
| 주기 | 활동 | 예 |
|---|---|---|
| 매주 | 한 현상을 OS 관점으로 분해 | "API 느림" → CPU wait? disk? lock? |
| 매월 | 도구 하나 깊게 | perf record, bpftrace, numastat |
| 분기 | 작은 실험 | cgroup limit, fork bomb, page fault 유도 |
| 연 1회 | 교재·문서 정독 | OSTEP 한 챕터, LKD 한 절, kernel doc |
추가 읽을거리
| 수준 | 자료 |
|---|---|
| 입문·복습 | Operating System Concepts 10/E (본 시리즈 기준) |
| 무료·실습 | OSTEP (remzi.se/ostep.org) |
| Linux 깊이 | Linux Kernel Development, kernel.org Documentation |
| 관점 확장 | Modern Operating Systems (Tanenbaum) — 구조·비교 |
| 논문·트렌드 | USENIX OSDI/FAST, LWN.net Kernel Page |
6. 시리즈 색인 (24편 요약)
필요할 때 해당 편으로 바로 점프한다.
| # | 제목 | 거기서 답하는 질문 |
|---|---|---|
| 1 | 오리엔테이션 | OS가 왜 필요한가 |
| 2~3 | 개념·구조·시스템 콜 | OS 안팎 경계 |
| 4~7 | 프로세스·스레드·스케줄링 | 누가 CPU를 쓰나 |
| 8~11 | 동기화·교착·패턴 | 동시에 돌릴 때 규칙 |
| 12~15 | 메모리 | 주소·용량·지연 |
| 16~19 | 파일·디스크·I/O·캐시 | 데이터 경로 |
| 20 | 보호와 보안 | 누가 무엇을 허용받나 |
| 21 | 가상화 | 여러 환경 한 하드웨어 |
| 22 | 다중처리 심화 | NUMA·실시간 |
| 23 | 분산 개요 | 여러 노드 협력 |
| 24 | OS 종류와 활용 | 제품·임베디드 선택 |
7. 마치며
처음에는 node app.js 한 줄이면 충분했을지 모른다. 시리즈를 지나며 그 한 줄 아래에 프로세스·가상 메모리·파일 캐시·네트워크 스택·권한 검사가 겹겹이 있다는 걸 봤다.
OS를 안다는 건 모든 명령을 외운다는 뜻이 아니다. 장애·성능·설계 대화에서 "그건 스케줄러·락·캐시·파티션 쪽 이야기다"고 위치를 잡을 수 있다는 뜻에 가깝다.
해당 내용은 Operating System Concepts, 10/E (Avraham Silberschatz, Peter Baer Galvin, Greg Gagne) 및 시리즈 1~24편을 바탕으로 정리했습니다.