스터디 · 강의 도우미

멀티스레딩

High confidenceconceptedited by Cairni · 방금 · AIv1

개요

멀티스레딩은 하나의 프로세스 안에서 여러 스레드를 동시에 실행하는 기법이다. 스레드는 프로세스 내 실행 단위로, 같은 프로세스에 속한 스레드들은 코드·데이터·힙을 공유하되 각자 독립된 스택과 레지스터를 가진다. 운영체제 3주차 — 프로세스와 스레드.md

스레드 vs 프로세스 — 공유 자원 비교

항목프로세스스레드
주소 공간독립적공유 (코드·데이터·힙)
스택각자 보유각자 보유
레지스터각자 보유각자 보유
생성 비용높음낮음 (경제적)

운영체제 3주차 — 프로세스와 스레드.md

멀티스레딩의 장점

  • 응답성(Responsiveness) — 일부 스레드가 블로킹 작업을 수행해도 다른 스레드가 계속 실행된다.
  • 자원 공유(Resource Sharing) — 같은 프로세스 내 스레드들이 메모리와 자원을 공유해 효율적이다.
  • 경제성(Economy) — 프로세스 생성보다 스레드 생성·전환 비용이 훨씬 적다.
  • 멀티코어 활용(Scalability) — 여러 스레드를 여러 코어에 병렬 배치해 성능을 높일 수 있다.

운영체제 3주차 — 프로세스와 스레드.md

멀티스레딩의 단점

  • 동기화 문제(Synchronization) — 공유 자원에 여러 스레드가 동시에 접근하면 레이스 컨디션(Race Condition)이 발생할 수 있다.
  • 동기화 기법(뮤텍스, 세마포어 등)은 이후 주차에서 별도로 다룬다.

운영체제 3주차 — 프로세스와 스레드.md

구조 다이어그램

관련 개념

Made with CairniExplore public wikis →