여기부터 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 |