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


스택: 프로세스 수행 중 함수 호출/복귀를 관리
각 쓰레드 마다 별도의 스택과 제어블록이 있지만 프로세스 내의 모든 쓰레드들은 프로세스의 상태와 자원 공유
장점
- 새 프로세스 생성시간 > 새 쓰레드 생성시간
- 프로세스 종료시간 > 쓰레드 종료시간
- 프로세스 간 교환보다 쓰레드 간 교환이 효율적
- 프로세스 간 통신에는 커널이 개입되어야 o, but 쓰레드는 메모리와 파일을 공유하기에 커널 호출하지 않고도 통신 가능
'이론 > 운영체제' 카테고리의 다른 글
[OS] 쓰레드의 유형 (0) | 2023.08.01 |
---|---|
[OS] 쓰레드 상태, 쓰레드 동기화 (0) | 2023.07.30 |
[OS] 쓰레드 (0) | 2023.07.28 |
[OS] 프로세스 제어(수행모드, 프로세스 생성, 교환, 상태변경) (0) | 2023.07.26 |
[OS] 프로세스 제어 구조 (0) | 2023.07.24 |
댓글