본문 바로가기
CS(Computer Science)/운영체제

[운영체제] 스레드

by whdgus928 2023. 1. 27.

Thread란?

프로세스 내부의 cpu 수행 단위가 여러개인 경우 한 단위

프로세스가 하나 주어지면 주소공간이 프로세스별로 생성이 된다. 이를 관리하기 위해서 운영체제 내부의 pcb를 두고 있다. 이때 메모리를 효율적으로 사용하기 위해 스레드를 사용하면 프로그램 카운터만 여러개두고 나머지는 공유해 공간을 아낄수 있다. 

  - Thread 구성: program counter + register set + stack space

  - 스레드가 동료 스레드와 공유하는 부분: code section + data section + OS resources

프로세스안에 여러개의 쓰레드를 두는게 더 가볍다

 

다중 스레드 장점

하나의 서버 스레드가 blocked 상태인 동안에도 동일한 태스크 내의 다른 스레드가 실행되어 빠른 처리를 할 수 있다.

1. 응답성: 웹 페이지 읽어오는동안 block상태가 된다. 이때 다중스레드면 블럭시키지않고 다른 스레드가 이미지라도 먼저 보여준다 비동기식 작업

2. 자원 공유

같은 일을 하는 프로세스를 여러개 띄우면 각각의 메모리에 올라가서 낭비가 심하다. 하나의 프로세스 안에 스레드 여러개 두고 자원을 절약할 수 있다.

3. 경제성

속도 빠르고 스레드간의 문맥 교환은 간단하다

4. 멀티 프로세서경우보다 하나의 프로세스에 여러 개의 스레드를 구성하면 더 효율적이다 

 

 

 

 

 

 

 

 

 

자료출처

ABRAHAM SILBERSCHATZ ET AL., OPERATING SYSTEM CONCEPTS, NINTH EDITION, WILEY, 2013

반효경, 운영체제와 정보기술의 원리, 이화여자대학교 출판부, 2008

반응형

댓글