스레드 구성
동료 스레드와 공유하는 부분
전통적인 개념의 heavyweight process는 하나의 thread를 가지고 있는 task로 볼 수 있다.
스레드는 PCB 내부의 register, program counter와 stack 영역을 독자적으로 가지고, 나머지 영역은 공유한다.
멀티 프로세스와 비교해 스레드의 장점을 잡을 수 있어야 한다.
메모리 공간을 하나만 할당 받으면 되고, 그 내부에서 code,data 영역을 공유하니 자원 효율성이 좋고,
컨텍스트 스위칭 과정에서 프로세스 컨텍스트 스위칭보다 스레드 컨텍스트 스위칭이 오버헤드가 적다. 따라서 빠르다.
위 3가지 키워드 보다 이렇게 외우는 게 더 좋다.
어떤 스레드들은 커널이 알고 있고,
어떤 스레드들은 모른다. 사용자 프로그램이 자체적으로 스레드들을 관리하는 경우도 있다.