http://www.kocw.or.kr/home/cview.do?mty=p&kemId=1046323
해당 강의를 보고 개인적으로 정리를 하는 포스팅 입니다.
운영체제
운영체제는 컴퓨터 하드웨어 바로 위에 설치되는 소프트웨어 계층으로서 모든 컴퓨터 시스템의 필수적인 부분이다. 본 강좌에서는 이와 같은 운영체제의 개념과 역할, 운영체제를 구성하는 각
www.kocw.net
Thread(= lightweight process)
쓰레드란, 프로세스 내에서 실제 작업을 수행하는 CPU utilization 의 기본 단위.
프로세스 내에서 쓰레드는 다중으로 존재할 수 있으며, 쓰레드끼리 공유하는 공유자원과 개별 자원을 구분하여 지니고 있음.
"즉 프로세스는 자원을 할당받는 작업단위라면, 쓰레드는 자원 사용의 실행 단위이다."
격리 자원
- Program counter
- Register Set
- Stack Space
공유자원
- Code section
- Data section
- OS resources
각각의 자원을 살펴보면, 쓰레드는 CPU 수행과 관련된 정보는 개별적으로 보관하며,
나머지 리소스들은 공유자원으로 이용한다.

위 그림처럼 주소 공간에서도, PCB 에서도 공유자원과 격리자원을 별도로 보관한다.
그렇다면 프로세스 내에서 수행 부분만을 격리시키고,
공유자원을 이용하는 쓰레드를 이용함으로서 얻는 이점은 무엇이 있을까?
Thread 의 이점
- Responsiveness 응답성 : 다중 스레드로 구성된 태스크에서 한 서버 스레드가 Blocked 상태인 동안에도 동일한 태스크 내의 다른 스레드가 Running 되며 사용자에게 빠른 작업처리 경험을 제공할 수 있다.
- Resource Sharing 자원 공유 : 쓰레드간 동일한 자원을 공유하므로, 동일하거나 비슷한 자원이 필요한 작업을 수행하는 프로세스를 다중으로 띄워 자원을 낭비할 필요가 없다.
- Economy: 쓰레드간 CPU switching 은 프로세스간 컨텍스트 스위칭 보다 훨씬 적은 오버헤드로 동작한다. 또한 공유 자원의 존재로 인해 리소스를 크게 절약할 수 있다.
- Utilization of MP Architectures : 다중 CPU 환경에서는 병렬처리로 동일한 작업의 완료 속도를 눈에띄게 향상 시킬수 있다.
'OS' 카테고리의 다른 글
| CPU Scheduling (0) | 2022.03.26 |
|---|---|
| 프로세스 생명주기 (0) | 2022.03.17 |
| Process (0) | 2022.02.23 |
| System Structure & Program Execution (0) | 2022.02.05 |
| 운영체제 Intro (0) | 2022.02.05 |