본문 바로가기
이론/운영체제

[OS] 멀티쓰레딩

by ohojee 2023. 7. 29.

멀티쓰레딩

하나의 프로세스 내에서 여러 개의 쓰레드가 수행되는 것
멀티쓰레드 내에서 프로세스는 보호의 단위와 자원할당의 단위
 
프로세스가 관리하는 것
  프로세스 이미지를 유지하는 가상주소 공간
  처리기, 다른 프로세스, 파일, 입출력 자원에 대한 접근 제어
쓰레드가 관리하는 것
  쓰레드 수행상태
  쓰레드 문맥
  수행 스택
  지역 변수 저장을 위한 정적 저장소
  프로세스의 메모리 및 지원에 대한 접근, 메모리와 자원은 프로세스 내의 모든 쓰레드에 의해 공유

스택: 프로세스 수행 중 함수 호출/복귀를 관리
각 쓰레드 마다 별도의 스택과 제어블록이 있지만 프로세스 내의 모든 쓰레드들은 프로세스의 상태와 자원 공유
 
장점

  • 새 프로세스 생성시간 > 새 쓰레드 생성시간
  • 프로세스 종료시간 > 쓰레드 종료시간
  • 프로세스 간 교환보다 쓰레드 간 교환이 효율적
  • 프로세스 간 통신에는 커널이 개입되어야 o, but 쓰레드는 메모리와 파일을 공유하기에 커널 호출하지 않고도 통신 가능

댓글