[CS330] 10. FFS와 Crash Consistency
VSFS의 성능 문제를 해결하는 FFS(Fast File System), 그리고 시스템 크래시 시 파일 시스템 일관성을 보장하는 Journaling 기법을 다룹니다.
VSFS의 성능 문제를 해결하는 FFS(Fast File System), 그리고 시스템 크래시 시 파일 시스템 일관성을 보장하는 Journaling 기법을 다룹니다.
HDD와 SSD의 동작 원리, I/O 스케줄링, 그리고 파일 시스템의 구조(Inode, 디렉토리, VSFS)를 정리합니다.
Atomicity violation, Order violation 등 동시성 버그의 유형과 교착 상태(Deadlock)의 4가지 조건, 예방·회피·탐지 전략을 정리합니다.
Race condition과 Critical section 문제부터 Lock 구현(Test-And-Set, Compare-And-Swap), Condition Variable, Semaphore까지 동기화 메커니즘을 정리합니다.
물리 메모리보다 큰 가상 메모리를 지원하는 스와핑, 다양한 페이지 교체 알고리즘(OPT, FIFO, LRU, Clock), 그리고 메모리 매핑(mmap)을 다룹니다.
세그멘테이션의 한계를 극복하는 페이징 기법, 페이지 테이블 구조, TLB 캐시, 그리고 멀티레벨 페이지 테이블까지 정리합니다.
가상 메모리의 개념과 목표, 정적/동적 재배치, Base and Bounds, 세그멘테이션까지 주소 변환의 발전 과정을 살펴봅니다.
스레드의 개념과 다양한 스레딩 모델(1:1, N:1, M:N), 그리고 CPU 스케줄링 알고리즘(FIFO, SJF, STCF, Round Robin)을 비교합니다.
하드웨어 인터럽트와 소프트웨어 트랩의 차이, 시스템 콜의 동작 원리, 그리고 프로세스의 개념과 생명주기를 다룹니다.
운영체제가 무엇인지, 왜 커널 보호가 필요한지, 그리고 이중 모드(Dual Mode)를 통한 보호 메커니즘까지 정리합니다.