본문 바로가기

[운영체제] 2주차 (3)

여기부터 4장

 

Thread

프로세스보다 더 작은, CPU 활용 단위 -> Process처럼 ID, Program counter, register set, stack을 갖게 된다.

같은 프로세스 내에 있는 스레드들은 프로그램 코드, 데이터 등 OS가 제공하는 자원을 공유한다.

 

왜 멀티스레드인가?

멀티프로세스처럼 modular하게 SW를 만들 수 있고, 반응속도도 개선되고, 정보 공유도 쉬워진다.

멀티프로세스보다 더 경제적으로 유리해지고, 프로세스 생성보다 비용이 적게 들고 간편하다.

: 프로세스를 만들려면 그를 위한 메모리 공간을 할당해줘야 하지만 스레드 생성은 동일한 메모리 공간 내에서 이루어지므로 더 빠르게 생성된다.

 

Ex) Web server

① Request: Client -> Serv

② Server는 request를 받는 thread가 되고, 요청을 처리할 수 있는 thread를 만들어 전담시킨다.

    -> 서버와 여러 개의 work thread

 

여러 개의 task로 구분, 각 task를 스레드로 구성해 빠르게 문제 해결 가능

같은 프로세스 내에 있으므로 Shared memory, Message passing같은 절차가 필요 없다 -> 자원 공유가 쉽다

 

 

 

 

'강의노트 > 운영체제' 카테고리의 다른 글

[운영체제] 3주차: Review (2)  (0) 2021.03.22
[운영체제] 3주차: Review (1)  (0) 2021.03.22
[운영체제] 2주차 (2)  (0) 2021.03.13
[운영체제] 2주차 (1)  (0) 2021.03.12
[운영체제] 1주차 (3)  (0) 2021.03.08