운영체제 포스팅 모음집
운영체제 과목을 수강하면서 하나씩 개념을 다지며 글을 써 내려가다 보니 어느새 꽤 많은 글이 쌓였다. 하지만 각 포스팅이 독립적으로 존재하다 보니 전체적인 흐름을 파악하기 어렵고, 나 스스로도 과거에 정리했던 내용을 다시 찾아보기 번거롭다는 생각이 들었다.
그래서 이번 포스팅은 그동안 학습하며 기록해 온 운영체제 관련 글들을 한눈에 볼 수 있도록 정리한 링크 모음집이다. 이 글을 보는 누군가의 학습에 좋은 길잡이가 되었으면 하는 바람...
1. 운영체제 개념 도입
2. CPU Virtualization
3. Memory Virtualization
[운영체제] 가상 메모리(Virtual Memory) | 운영체제는 어떻게 프로세스에게 독점 공간을 제공할까?
[운영체제] 세그멘테이션(Segmentation) | Segment, External Fragmentation, Free Space management
[운영체제] Advanced Page Table | Multi-level Page Table, Hybrid approach, Inverted Page Table, Huge Page
5. Persistence (I/O & File Systems)
[운영체제] 파일 시스템과 디렉토리 | Unix File System, Inode, Storage Virtualization
[운영체제] 파일 시스템의 영속성(Persistence) | Crash Consistency, FSCK, Journaling
[운영체제] Log-structured File System (LFS) | 디스크의 물리적 한계를 극복하는 순차 쓰기 전략
데이터를 영구적으로 저장하기 위한 영속성(Persistence)을 주제로 한다. 하드웨어(HDD, SSD)의 물리적 특성을 고려한 I/O 스케줄링부터, 데이터를 체계적으로 관리하는 파일 시스템의 구현(Inode 기반), 그리고 시스템 충돌 시 데이터 무결성을 보장하기 위한 Journaling과 LFS 같은 고급 기법들을 포괄한다.
마치며
이렇게 한곳에 모아놓고 보니 그동안의 학습 과정이 한눈에 들어오는 것 같아 감회가 새롭다. 각 주제를 처음 마주했을 때의 막막함과, 하나씩 이해하며 정리해 나갔을 때의 희열이 다시금 떠오르는 것 같기도....?
운영체제는 컴퓨터 과학의 근간을 이루는 아주 깊고 넓은 분야이기에 아직 다루지 못한 주제들이 많다. 앞으로 파일 시스템, I/O 등 더 깊은 내용들을 학습하고 기록하며 이 지도를 꾸준히 채워나갈 예정이다. 이 모음집이 운영체제를 공부하는 누군가에게 작은 이정표가 되기를 바란다.