더보기
kocw 반효경 교수님의 운영체제 강의를 수강 후 작성한 글입니다.
1. Thread
"A thread (or lightweight process) is a basic unit of CPU utilization"
- Thread의 구성 (각각의 Thread가 독립적으로 가지는 부분)
- Program Counter
- register set
- stack space
- Thread가 동료 thread와 공유하는 부분(=task)
- code section
- data section
- OS resources
2. Thread의 장점
- Responsiveness
다중 스레드로 구성된 태스크 구조에서는 하나의 서버 스레드가 blocked(waiting) 상태인 동안, 동일한 태스크 내의 다른 스레드가 실행(running)되어 빠른 처리를 할 수 있다.
ex) multi-threaded web : 하나의 스레드가 blocked되어도 (network를 통해 다른 서버의 이미지 등의 파일을 가져올 때) 다른 스레드는 응답이 가능(network를 통해 가져올 필요가 없는 정적 파일 등을 display 함)
- Throughput
동일한 일을 수행하는 다중 스레드가 협력하여 높은 처리율과 성능 향상을 얻을 수 있다.
- Resource Sharing
n 개의 스레드는 binary code, data, resource of the process 등 메모리의 공유할 수 있는 부분을 공유함으로 자원을 절약
- Economy
스레드들끼리 동일한 주소 공간을 사용하므로 creating & context switching 의 오버헤드가 프로세스보다 훨씬 적다.
- Utilization of Multi-Processor Architectures
CPU가 여러개인 경우, 스레드를 사용하면 병렬성을 높일 수 있다.
'CS > 운영체제' 카테고리의 다른 글
[운영체제] 5. CPU Scheduling (1) (0) | 2022.12.02 |
---|---|
[운영체제] 4. Process Management (0) | 2022.11.22 |
[운영체제] 3. Process (1) (0) | 2022.11.17 |
[운영체제] 2. System Structure & Program Execution (2) (0) | 2022.11.10 |
[운영체제] 2. System Structrue & Program Execution (1) (0) | 2022.11.09 |