
Introduction

Operating-System Structures

프로세스의 개념과 특성 / 프로세스 간 통신 (Shared-Memory, Message Passing, Client-Server System)

Threads / Multi-threaded programming / Thread Library API(implicit threading, thread pools, fork-join, Grand Central Dispatch)

스케줄링 유형 및 알고리즘 / 스레드 스케줄링 / 멀티 프로세서 스케줄링 / 실시간 스케줄링 / 운영체제별 예시

Critical-section problem와 해결책 / 전통적인 Process Synchronization 문제 / Process Synchronization 해결 도구

동기화 문제의 3가지 모델 / 여러 OS의 동기화 툴 / POSIX와 JAVA

데드락 특징 / 데드락 해결책 (Prevention, Avoidance, Detection, Recovery)

메모리 관리를 위해 제공되는 하드웨어 / 메모리 관리 방법(Contiguous Memory Allocation, Paging, Page table, Segmentiation, Swapping) / Example

Demand paging / Page replacement(FIFO, optimal, LRU) / Working set of process / OS별 Virtual memory

대용량 저장장치 구조 (HDD, NVM) / Storage Device Management / Scheduling / RAID

I/O 하드웨어 / Application이 I/O interface를 어떻게 사용하는지 / I/O Subsystem / I/O요청을 하드웨어 작동으로 바꾸는 것 / STREAMS / 능

사용자 입장에서 파일 시스템에 어떻게 접근하는지 / 파일 시스템 기능 / 파일 시스템 인터페이스 / 파일 시스템의 다양한 방법

파일 시스템 내부 구조 / 블록 할당 및 free block 관리 / 성능 / 에러 처리 / WAFL

VFS(Virtual File System) / NFS(Network File System)