운영체제 관계도
이 관계도는 전체 토픽의 구조와 연결 관계를 보여줍니다. 학습 전에 전체 흐름을 파악하세요.
mindmap
root((운영체제<br/>81개 토픽))
운영체제 기본
기본 개념
운영체제
커널
마이크로커널 vs 모놀리식 커널
시스템 호출
커널 모드 vs 사용자 모드
부팅 과정
인터럽트
인터럽트
DMA
프로세스 관리
프로세스 기본
프로세스
프로세스 상태 전이
좀비 프로세스 / 고아 프로세스
PCB
스레드
멀티스레딩
컨텍스트 스위칭
스케줄링
스케줄링
스케줄링 알고리즘
다중 큐 스케줄링
CFS
실시간 스케줄링
기아현상
우선순위 역전
IPC
프로세스 간 통신
공유 메모리
메시지 큐 / 파이프 / 소켓
동기화
동기화 기본
동기화
뮤텍스
세마포어
모니터
스핀락
RCU
동시성 프로그래밍 모델
동기화 문제
경쟁 상태
데드락
데드락 탐지 및 복구
은행원 알고리즘
Producer-Consumer 문제
Reader-Writer 문제
Dining Philosophers 문제
메모리 관리
메모리 기본
메모리 관리
MMU
TLB
메모리 단편화
메모리 할당 기법
메모리 할당 전략
가상 메모리
가상 메모리
페이징
페이지 교체 알고리즘
페이지 폴트
워킹 셋
스래싱
세그멘테이션
Copy-on-Write
메모리 고급
메모리 압축
OOM Killer
버디 시스템
슬랩 할당자
가비지 컬렉션
파일 시스템
파일 시스템 기본
파일 시스템
i-node
FAT 파일 시스템
파일 할당 방식
VFS
디스크 스케줄링
고급 파일 시스템
Journaling 파일시스템
파일시스템 비교
FUSE
컨테이너/가상화
컨테이너 기술
Namespace
Cgroup
Cgroup v2
eBPF
특수 아키텍처
Unikernel
io_uring
RTOS
실시간 운영체제
보안
보안 및 보호
ASLR
보안 운영체제
Unix 특수 권한
umask
특수 목적 운영체제
모바일 운영체제
임베디드 운영체제주요 카테고리별 토픽 수
| 카테고리 | 토픽 수 | 주요 기술 |
|---|---|---|
| 운영체제 기본 | 8개 | 운영체제, 커널, 마이크로커널 vs 모놀리식, 시스템호출, 커널모드, 부팅 과정, 인터럽트, DMA |
| 프로세스 관리 | 17개 | 프로세스, 프로세스 상태 전이, 좀비/고아 프로세스, PCB, 스레드, 스케줄링, 다중 큐, CFS, 실시간 스케줄링, 기아현상, 우선순위 역전, IPC, 공유 메모리, 메시지 큐/파이프/소켓 |
| 동기화 | 14개 | 뮤텍스, 세마포어, 모니터, 스핀락, RCU, 동시성 프로그래밍, 경쟁 상태, 데드락, 데드락 탐지 및 복구, 은행원 알고리즘, 동기화 문제들 |
| 메모리 관리 | 17개 | 메모리 관리, MMU, TLB, 메모리 단편화, 메모리 할당 기법/전략, 가상메모리, 페이징, 페이지교체, 페이지 폴트, 워킹 셋, 스래싱, COW, 메모리 압축, OOM Killer, 버디 시스템, 슬랩 할당자, 가비지 컬렉션 |
| 파일 시스템 | 9개 | 파일시스템, i-node, FAT, 파일 할당 방식, VFS, 디스크스케줄링, 저널링, 파일시스템 비교, FUSE |
| 컨테이너/가상화 | 6개 | Namespace, Cgroup, Cgroup v2, eBPF, Unikernel, io_uring |
| RTOS | 1개 | 실시간 운영체제 |
| 보안 | 5개 | 보안 및 보호, ASLR, 보안 운영체제, Unix 특수 권한, umask |
| 특수 목적 운영체제 | 2개 | 모바일 운영체제, 임베디드 운영체제 |
총 81개 토픽: (기존 52개 → 29개 추가)
핵심 연관 관계
프로세스/스레드 계층
프로세스 (독립 실행 단위)
↓
프로세스 상태 전이 (생성→준비→실행→대기→종료)
↓
PCB (프로세스 상태 정보)
↓
스레드 (경량 프로세스)
↓
멀티스레딩 (동시 실행)
좀비 프로세스 / 고아 프로세스 (비정상 종료 처리)스케줄링 진화
고전 알고리즘 ├─ FCFS (First Come First Serve) ├─ SJF (Shortest Job First) ├─ RR (Round Robin) └─ Priority Scheduling 다중 큐 스케줄링 ├─ MQ (Multilevel Queue) └─ MFQ (Multilevel Feedback Queue) 현대 스케줄러 └─ CFS (Completely Fair Scheduler) 실시간 스케줄링 ├─ RM (Rate Monotonic) └─ EDF (Earliest Deadline First) 스케줄링 문제 ├─ 기아현상 (Starvation) └─ 우선순위 역전 (Priority Inversion)
동기화 메커니즘
상호배제 도구 ├─ Mutex (이진 세마포어) ├─ Semaphore (카운팅) ├─ Spinlock (바쁜 대기) ├─ Monitor (고수준 동기화) └─ RCU (읽기 최적화) 동기화 문제 ├─ 경쟁 상태 (Race Condition) ├─ Producer-Consumer ├─ Reader-Writer └─ Dining Philosophers 동시성 프로그래밍 모델 ├─ 멀티스레딩 ├─ 이벤트 기반 └─ Actor 모델
데드락 처리
예방 (Prevention) ↓ 회피 (Avoidance) → 은행원 알고리즘 ↓ 탐지 및 복구 (Detection & Recovery) → 데드락 탐지 및 복구
메모리 계층
물리 메모리
↓
MMU (주소 변환)
↓
가상 메모리 (추상화)
↓
페이징 / 세그멘테이션
↓
TLB (주소 변환 캐시)
↓
페이지 폴트 (페이지 부재 처리)메모리 할당/관리 기법
메모리 할당 ├─ 연속 할당: First Fit, Best Fit, Worst Fit ├─ 비연속 할당: 페이징, 세그멘테이션 ├─ 버디 시스템 (고정 크기 블록) └─ 슬랩 할당자 (커널 객체 캐싱) 메모리 문제와 해결 ├─ 메모리 단편화 → 압축, 페이징 ├─ 스래싱 → 워킹 셋 모델 ├─ 메모리 부족 → OOM Killer ├─ 메모리 압축 → zswap, zram └─ 가비지 컬렉션 → 자동 메모리 회수
페이지 교체 알고리즘
기본 알고리즘 ├─ FIFO (First In First Out) ├─ LRU (Least Recently Used) ├─ LFU (Least Frequently Used) └─ Optimal (이론적 최적) 고급 기법 └─ Clock Algorithm (Second Chance)
파일 시스템 계층
사용자 공간
↓
VFS (가상 파일 시스템)
↓
실제 파일 시스템
├─ ext4 (Journaling)
├─ XFS (대용량)
├─ Btrfs (COW 기반)
├─ ZFS (엔터프라이즈)
└─ FAT (호환성)
↓
i-node (파일 메타데이터)
↓
파일 할당 방식 (연속, 연결, 색인)
↓
디스크 스케줄링컨테이너 핵심 기술
프로세스 격리 ├─ Namespace (격리) └─ Cgroup / Cgroup v2 (리소스 제한) 커널 확장 ├─ eBPF (동적 프로그래밍) └─ io_uring (비동기 I/O) 특수 아키텍처 └─ Unikernel (단일 주소 공간)
커널 모드 전환
사용자 모드 → 시스템 호출 → 커널 모드
↓
인터럽트 처리
↓
컨텍스트 스위칭부팅 과정
전원 투입 → BIOS/UEFI → 부트로더 → 커널 로드 → init/systemd
보안 체계
운영체제 보안 ├─ 보안 및 보호 (접근 제어, 권한 관리) ├─ ASLR (메모리 주소 랜덤화) ├─ 보안 운영체제 (SELinux, AppArmor) ├─ Unix 특수 권한 (setuid, setgid, Sticky Bit) └─ umask (파일 생성 마스크)
학습 순서 추천
1단계: 기초 (필수)
1. 운영체제 개요
2. 커널, 마이크로커널 vs 모놀리식 커널
3. 시스템 호출, 커널 모드 vs 사용자 모드
4. 프로세스와 PCB, 프로세스 상태 전이
5. 스레드, 멀티스레딩
6. 부팅 과정
2단계: 프로세스 관리
7. 스케줄링 알고리즘
8. 다중 큐 스케줄링 (MQ, MFQ)
9. 컨텍스트 스위칭
10. IPC (프로세스 간 통신), 공유 메모리, 메시지 큐/파이프/소켓
11. 좀비 프로세스 / 고아 프로세스
12. 기아현상, 우선순위 역전
3단계: 동기화
13. 동기화 개념, 경쟁 상태
14. 뮤텍스, 세마포어, 모니터
15. 데드락 (교착상태)
16. 데드락 탐지 및 복구
17. 은행원 알고리즘
18. 동기화 문제들 (Producer-Consumer, Reader-Writer, Dining Philosophers)
19. 동시성 프로그래밍 모델
4단계: 메모리 관리
20. 메모리 관리 기본, 메모리 단편화
21. 가상 메모리
22. 페이징, 세그멘테이션
23. MMU, TLB
24. 페이지 교체 알고리즘, 페이지 폴트
25. 메모리 할당 기법, 메모리 할당 전략
26. 워킹 셋, 스래싱
27. 버디 시스템, 슬랩 할당자
28. 메모리 압축, OOM Killer
29. 가비지 컬렉션
5단계: 파일 시스템
30. 파일 시스템 기본, 파일 할당 방식
31. i-node, FAT 파일 시스템
32. VFS
33. 디스크 스케줄링
34. Journaling 파일시스템
35. 파일시스템 비교 (ext4, XFS, Btrfs, ZFS)
6단계: 고급 주제
36. 인터럽트, DMA
37. CFS (리눅스 스케줄러)
38. 실시간 스케줄링 (RM, EDF)
39. Copy-on-Write
40. Namespace, Cgroup, Cgroup v2
41. eBPF, io_uring
42. FUSE
43. RTOS
44. Unikernel
7단계: 보안
45. 보안 및 보호
46. ASLR
47. 보안 운영체제
48. Unix 특수 권한, umask
8단계: 특수 목적
49. 모바일 운영체제
50. 임베디드 운영체제
시험 출제 포인트
고빈도 주제
- •프로세스 vs 스레드: 차이점, PCB 구조, 프로세스 상태 전이
- •스케줄링 알고리즘: FCFS, SJF, RR, Priority 비교
- •동기화: 뮤텍스 vs 세마포어 vs 모니터, 데드락 4가지 조건
- •데드락: 예방, 회피, 탐지, 복구 전략, 데드락 탐지 및 복구
- •가상 메모리: 페이징, 세그멘테이션 차이
- •페이지 교체: FIFO, LRU, LFU 알고리즘 비교, 페이지 폴트
- •MMU/TLB: 주소 변환 과정
- •메모리 단편화: 내부/외부 단편화, 해결 기법
중요 개념
- •컨텍스트 스위칭: 오버헤드, 발생 시점
- •IPC: 공유메모리, 메시지 패싱, 파이프, 소켓
- •은행원 알고리즘: Safe State 판단
- •Producer-Consumer: 세마포어 구현
- •Copy-on-Write: 메모리 최적화
- •i-node: 파일 메타데이터 구조
- •기아현상/우선순위 역전: 원인과 해결
- •경쟁 상태: 임계 영역, 동기화 필요성
- •메모리 할당 기법: First Fit, Best Fit, Worst Fit
- •워킹 셋 / 스래싱: 메모리 성능 문제
- •좀비/고아 프로세스: 발생 원인, 처리 방법
- •부팅 과정: BIOS/UEFI → 부트로더 → 커널
최신 트렌드
- •CFS: 리눅스 완전 공정 스케줄러
- •Namespace/Cgroup/Cgroup v2: 컨테이너 격리 기술
- •eBPF: 커널 확장 프로그래밍
- •io_uring: 고성능 비동기 I/O
- •FUSE: 사용자 공간 파일시스템
- •VFS: 가상 파일시스템 계층
- •Journaling: 파일시스템 일관성 보장
- •RTOS: 실시간 스케줄링 (RM, EDF)
- •ASLR: 메모리 보안 기법
- •보안 운영체제: SELinux, AppArmor
- •Unikernel: 경량 단일 목적 OS
- •OOM Killer: 리눅스 메모리 관리
- •파일시스템 비교: ext4 vs XFS vs Btrfs vs ZFS
동기화 문제 (클래식)
- •Producer-Consumer: 버퍼 관리
- •Reader-Writer: 읽기/쓰기 우선권
- •Dining Philosophers: 데드락 방지
메모리 관리 심화
- •버디 시스템: 2의 거듭제곱 블록 분할
- •슬랩 할당자: 커널 객체 캐싱
- •메모리 압축: zswap, zram
- •가비지 컬렉션: Mark-and-Sweep, 세대별 GC
마인드맵 활용 팁:
- •프로세스 관리는 스케줄링과 동기화로 연결
- •메모리 관리는 물리→가상→페이징 순서로 학습
- •데드락 4가지 조건과 해결 전략 암기
- •페이지 교체 알고리즘은 시간복잡도와 함께 이해
- •컨테이너 기술(Namespace/Cgroup/Cgroup v2)은 현대 OS의 핵심
- •동기화 문제들은 실제 구현 코드로 연습
- •메모리 할당 기법(First/Best/Worst Fit)은 계산 문제 출제 가능
- •보안 토픽(ASLR, 보안 OS, 특수 권한)은 최신 출제 트렌드
- •파일시스템 비교(ext4/XFS/Btrfs/ZFS)는 특성 비교표로 정리