스터디 · 강의 도우미
멀티스레딩
High confidenceconceptedited by Cairni · 방금 · AIv1
개요
멀티스레딩은 하나의 프로세스 안에서 여러 스레드를 동시에 실행하는 기법이다. 스레드는 프로세스 내 실행 단위로, 같은 프로세스에 속한 스레드들은 코드·데이터·힙을 공유하되 각자 독립된 스택과 레지스터를 가진다. 운영체제 3주차 — 프로세스와 스레드.md
스레드 vs 프로세스 — 공유 자원 비교
| 항목 | 프로세스 | 스레드 |
|---|---|---|
| 주소 공간 | 독립적 | 공유 (코드·데이터·힙) |
| 스택 | 각자 보유 | 각자 보유 |
| 레지스터 | 각자 보유 | 각자 보유 |
| 생성 비용 | 높음 | 낮음 (경제적) |
운영체제 3주차 — 프로세스와 스레드.md
멀티스레딩의 장점
- 응답성(Responsiveness) — 일부 스레드가 블로킹 작업을 수행해도 다른 스레드가 계속 실행된다.
- 자원 공유(Resource Sharing) — 같은 프로세스 내 스레드들이 메모리와 자원을 공유해 효율적이다.
- 경제성(Economy) — 프로세스 생성보다 스레드 생성·전환 비용이 훨씬 적다.
- 멀티코어 활용(Scalability) — 여러 스레드를 여러 코어에 병렬 배치해 성능을 높일 수 있다.
운영체제 3주차 — 프로세스와 스레드.md
멀티스레딩의 단점
- 동기화 문제(Synchronization) — 공유 자원에 여러 스레드가 동시에 접근하면 레이스 컨디션(Race Condition)이 발생할 수 있다.
- 동기화 기법(뮤텍스, 세마포어 등)은 이후 주차에서 별도로 다룬다.
운영체제 3주차 — 프로세스와 스레드.md
구조 다이어그램
관련 개념
- 프로세스와 스레드 — 프로세스 전반 개념 및 상태 전이
- PCB (Process Control Block) — 프로세스 상태 저장 구조체
- 컨텍스트 스위치 — 프로세스(스레드) 전환 메커니즘
- 핵심 개념 용어집 — 레이스 컨디션, 동기화 등 용어 정의
- 시험 대비 체크리스트 & 예상 문제 — 멀티스레딩 관련 예상 문제 확인