- Thread의 장점
- 빠른 응답성
- 자원 절약(공유되는 메모리) -> CPU 수행 관련 정보만 따로 가짐
- 다중쓰레드의 협력으로 throughput을 높일 수 있음
- CPU가 여러 개일 경우 병렬성을 높일 수 있음
- Thread의 장점 정리
- Responsiveness
- 웹 브라우저에서 html 문서를 가져옴
- 렌더링 중에 image가 필요함
- image를 요청(blocked)
- [쓰레드] 하나의 쓰레드가 image를 요청(blocked)
- [쓰레드] 다른 쓰레드는 이미 가져온 텍스트를 렌더링
- [쓰레드] 더 빨리 문서를 볼 수 있음
- Resource Sharing
- 똑같은 작업을 하는 두 쓰레드가 자원을 공유
- Economy
- creating
- 프로세스를 생성하는 것보다 쓰레드를 생성하는 cost가 더 적게 소모
- CPU 수행 관련(stack, PC, register 등) 정보만 생성 - CPU switching
- 프로세스의 context switching보다 cost가 적음
- 캐시 메모리 flush 등 프로세스 cost가 큼
- 대부분 문맥을 그대로 사용, CPU 수행 관련 정보만 교환
- creating
- Utilization of MP Architectures
- 멀티프로세서 환경에서 각 쓰레드가 서로 다른 processor에서 병렬로 처리
- Responsiveness
- 쓰레드의 구현 방식
- Kernel Thread
- 운영체제의 지원을 받는 쓰레드
- 쓰레드가 여러 개 있다는 사실을 운영체제 커널이 알고 있음
- 쓰레드에서 다른 쓰레드로 넘어갈 때
- CPU 스케줄링 하듯 커널이 쓰레드에서 쓰레드로 CPU를 넘겨줌
- User Thread
- 라이브러리 형태로 구현
- 쓰레드가 여러 개 있다는 사실을 운영체제 커널이 모름
- 프로세스 스스로 여러 개의 쓰레드를 관리
- Kernel Thread
'CS > 운영체제' 카테고리의 다른 글
[운영체제] KOCW 반효경 교수님 강의 - 9. Process Management 2 (0) | 2022.03.30 |
---|---|
[운영체제] KOCW 반효경 교수님 강의 - 8. Process Management 1 (0) | 2022.03.30 |
[운영체제] KOCW 반효경 교수님 강의 - 6. Process 2 (0) | 2022.03.28 |
[운영체제] KOCW 반효경 교수님 강의 - 5. Process 1 (0) | 2022.03.28 |
[운영체제] KOCW 반효경 교수님 강의 - 4. System Structure & Program Execution 2 (0) | 2022.03.27 |