OS 핵심 개념 총정리
운영체제의 부트로더, 커널, 메모리 관리, 파일 시스템 등 핵심 구성 요소를 단계별로 설명함
프로세스 스케줄링, 인터럽트 처리, IPC 메커니즘을 통해 시스템 동작 원리를 상세히 분석함
가상 메모리, 페이지 테이블, MMU의 역할과 동작 방식을 시각적으로 이해하기 쉽게 설명함
파일 시스템 구조, 저널링, 디스크 I/O 과정을 상세히 다루며 데이터 무결성 보장 원리를 설명함
부트로더와 커널의 역할
영상에서는 컴퓨터 전원 인가 후 BIOS/UEFI를 거쳐 부트로더가 실행되고, 최종적으로 커널(Kernel)을 메모리에 로드하는 과정을 설명한다. 초기 커널은 하드웨어 초기화 및 드라이버 로딩을 담당하며, 이후 사용자 공간 프로세스 실행을 준비한다고 언급한다. 이 단계에서 커널 모드(Ring 0)와 사용자 모드(Ring 3)의 개념이 도입된다.
가상 메모리와 MMU의 작동 원리
발표자는 가상 메모리(Virtual Memory) 시스템이 각 프로세스에 독립적인 주소 공간을 제공하며, MMU(Memory Management Unit) 하드웨어가 가상 주소를 실제 물리 주소로 변환한다고 설명한다. 페이지 테이블(Page Table)을 사용하여 이 변환을 수행하며, 페이지 폴트(Page Fault) 발생 시 커널이 디스크에서 페이지를 로드하는 과정을 상세히 다룬다. 이를 통해 메모리 보호와 효율적인 메모리 사용을 달성한다고 강조한다.
파일 시스템 구조와 저널링
영상에서는 디스크의 블록(Block) 단위 저장 방식을 설명하고, 파일 시스템이 이를 추상화하여 파일(File)과 디렉토리(Directory)로 구성된다고 설명한다. 인덱스 노드(Inode)가 메타데이터와 데이터 블록 포인터를 관리하며, 저널링(Journaling) 기법을 통해 갑작스러운 시스템 중단 시에도 데이터 무결성(Data Integrity)을 보장하는 원리를 설명한다. EXT4, NTFS, APFS 등 다양한 파일 시스템의 특징을 간략히 언급한다.
프로세스 스케줄링과 스레드
CPU 시간을 여러 프로세스에 효율적으로 할당하는 프로세스 스케줄러의 역할을 설명한다. 영상에서는 가상 스레드(Virtual Threads)와 같은 현대적인 스케줄링 기법을 언급하며, 스레드(Thread)가 동일한 메모리 공간을 공유하면서도 독립적인 실행 흐름을 갖는다는 점을 강조한다. 라운드 로빈, 우선순위 기반 등 다양한 스케줄링 알고리즘의 개념을 소개한다.
인터럽트와 시스템 콜
하드웨어 이벤트 발생 시 CPU의 실행 흐름을 변경하는 인터럽트(Interrupt)의 중요성을 설명한다. 키보드 입력, 네트워크 패킷 수신 등 다양한 인터럽트 소스를 언급하며, 인터럽트 핸들러가 이를 처리하는 과정을 설명한다. 또한, 사용자 프로세스가 커널 기능을 요청하는 시스템 콜(System Call)이 인터럽트 메커니즘을 통해 구현됨을 강조한다.
IPC와 프로세스 간 통신
독립적인 프로세스들이 데이터를 교환하고 동기화하는 IPC(Inter-Process Communication) 기법을 소개한다. 영상에서는 파이프(Pipe), 소켓(Socket), 메시지 큐(Message Queue) 등 다양한 IPC 메커니즘을 설명하며, 각 방식의 특징과 사용 사례를 비교한다. 데이터 격리 아키텍처(Data Isolation Architecture)를 유지하면서도 프로세스 간 효율적인 통신을 가능하게 하는 것이 핵심이라고 설명한다.