목차
- 운영체제 개요
- 컴퓨터시스템의 구조
- 프로세스 관리
- CPU 스케줄링
- 병행 제어
- 데드락
- 메모리 관리
- 가상 메모리
- 파일 시스템
- 입출력 시스템
- 디스크 관리
Thread
- "A thread(or lightweight process) is a basic unit of CPU utilization" - thread는 cpu를 수행하는 단위이다.
- Thread의 구성
- program counter
- register set
- stack space
- Thread가 동료 Thread와 공유하는 부분(=task)
- code section
- data section
- OS resources
- 전통적인 개념의 heavyweight process는 하나의 thread를 가지고 있는 task로 볼 수 있다.
- 다중 thread로 구성된 task 구조에서는 하나의 서버 thread가 blocked(waiting) 상태인 동안에도 동일한 task 내의 다른 thread가 실행(running)되어 빠른 처리를 할 수 있다.
- 동일한 일을 수행하는 다중 thread가 협력하여 높은 처리율(throughput)과 성능 향상을 얻을 수 있다.
- thread를 사용하면 병렬성을 높일 수 있다.(cpu가 여러 개 있는 컴퓨터에서만 얻을 수 있는 장점)
Benefits of Threads
Resposiveness
- eg) Multi-threaded Web - if one thread is blocked (eg network), another thread continues (eg display)
Resource Sharing
- N threads can share binary code, data, resource of the process
Economy
- Creating & CPU switching thread (rather than a process)
- Solaris의 경우 위의 두 가지 overhead가 각각 30배, 5배
Utilization of MP Architectures
- Each thread may be running in parallel on a different processor
Implementation of Threads
Some are supported by kernel → Kernel Threads
- Windows 95/98/NT
- Solaris
- Digital UNIX, Mach
Others are supported by library → User Threads
- POSIX Pthreads
- Mach C-threads
- Solaris threads
Some are real-time threads
'~2023.02 > 운영체제' 카테고리의 다른 글
00_책 선정과 목차 소개 (0) | 2022.10.20 |
---|---|
[운영체제]03_프로세스 관리#3(작성중) (0) | 2022.06.27 |
[운영체제]03_프로세스 관리#1 (0) | 2022.06.21 |
[운영체제]02_컴퓨터시스템의 구조 (0) | 2022.06.11 |
[운영체제]01_운영체제 개요 (0) | 2022.06.05 |