System Architecture · 한장정리
[기술사토픽] 운영체제 핵심 개념 완벽 정리 - 한장정리
프로세스·스레드 관리, CPU 스케줄링 알고리즘, 메모리 관리(페이징·세그멘테이션), 가상화까지 완벽 정리합니다.
Ⅰ.프로세스 & 스레드
| 구분 | 프로세스 | 스레드 |
|---|---|---|
| 정의 | 독립 실행 프로그램의 인스턴스 | 프로세스 내 실행 흐름 단위 |
| 메모리 | 독립된 주소 공간 | 힙·데이터·코드 공유 (스택만 독립) |
| 통신 | IPC(파이프·소켓·공유메모리) | 직접 공유 메모리 접근 |
| 컨텍스트 스위칭 | 비용 큼 (전체 PCB 저장) | 비용 작음 (TCB만) |
| 장애 영향 | 다른 프로세스에 영향 없음 | 같은 프로세스 내 전체 영향 |
나. CPU 스케줄링 알고리즘
| 알고리즘 | 방식 | 장점 | 단점 |
|---|---|---|---|
| FCFS | 도착 순서대로 처리 | 단순 | 호위 효과(Convoy Effect) |
| SJF | 실행시간 짧은 것 먼저 | 평균 대기 최소 | 기아(Starvation)·예측 어려움 |
| Round Robin | 시간 할당량(퀀텀) 순환 | 공평·응답 빠름 | 퀀텀 크기 선택 중요 |
| 우선순위 | 우선순위 높은 것 먼저 | 중요 작업 우선 | 기아→에이징으로 해결 |
| MLFQ | 다단계 피드백 큐 | CPU 버스트 자동 분류 | 복잡 |
Ⅱ.메모리 관리 & 가상화
가. 페이징 & 세그멘테이션
| 방식 | 단위 | 외부단편화 | 내부단편화 | 특징 |
|---|---|---|---|---|
| 페이징 | 고정 크기 페이지 | 없음 | 있음 | TLB로 주소변환 가속 |
| 세그멘테이션 | 가변 크기 세그먼트 | 있음 | 없음 | 논리적 단위. 코드/데이터/스택 |
| 세그페이징 | 세그먼트+페이징 | 없음 | 있음 | 혼합. 실제 OS 사용 |
가상 메모리: 물리 메모리보다 큰 주소 공간 제공. 페이지 폴트 시 디스크에서 스와핑.
나. 가상화(Virtualization)
| 유형 | 설명 | 예시 |
|---|---|---|
| 전가상화 | 하드웨어 완전 에뮬레이션. 게스트OS 수정 불필요 | VMware·VirtualBox |
| 반가상화 | 하이퍼바이저 API 직접 호출. 성능 향상 | Xen |
| 컨테이너 | OS 커널 공유. 격리된 사용자 공간 | Docker·LXC |
| 서버리스 | 함수 단위 실행. 인프라 관리 불필요 | AWS Lambda |
시험 포인트
VM vs 컨테이너: VM=OS 전체 가상화 / 컨테이너=OS 커널 공유→더 가볍고 빠름.
페이지 교체 알고리즘: LRU(최근 미사용)·OPT(최적)·FIFO·Clock
Ⅲ.결론
결론
운영체제는 하드웨어와 SW의 중간자로 현대 컴퓨팅의 기반입니다.
클라우드 시대에는 컨테이너·서버리스로 OS 관리 부담이 줄어들고 있습니다.
"운영체제는 자원 관리자이자 추상화 레이어이다."
블로그: 기술사 학습노트 · imt-log.tistory.com
'시스템아키텍처' 카테고리의 다른 글
| 프로세스·스레드 멀티태스킹·컨텍스트 스위칭 정리 (0) | 2026.04.03 |
|---|---|
| SOA·ESB 웹서비스 아키텍처 개념과 비교 정리 (0) | 2026.04.03 |
| 컨테이너 오케스트레이션과 서비스 메시(Istio) 정리 (0) | 2026.04.02 |
| 클라우드 서비스 IaaS PaaS SaaS 비교 정리 (0) | 2026.03.19 |
| 시스템아키텍처 완전정복 — 기술사 핵심 토픽 모음 (0) | 2026.03.18 |