[윤진] 커널수준/사용자수준 스레드의 매핑차이, 좀 더 자세한 설명
사전 배경지식 - 운영체제, 커널
- 운영체제
- 컴퓨터 자원을 효율적으로 관리하기 위한 체계
- CPU 스케줄링, 메모리 관리, 파일 관리, 입출력 관리, 프로세스 관리 등등…
- 커널
- 운영체제(Operating System)의 핵심 부분으로, 메모리에 상주하는 부분
- 운영체제를 위해 native로 제공되는 일종의 프로그램
커널 수준 스레드 (일대일 매핑 방식)
커널 수준 스레드
- 커널의 **
커널 모드
**에서 동작하는 스레드
- 커널이 스레드 단위를 직접 관리(자원 할당, 스케줄링 등..)하는 방식이다.
장점
- 높은 가용성 : 각 스레드들을 개별적으로 관리할 수 있으므로, 동일 프로세스의 스레드들 중 하나가 suspend/wait상태가 되어도 다른 스레드들을 실행하면되므로 가용성이 높다.
단점
- 많은 오버헤드 : 커널의 개입이 많아 오버헤드가 늘어난다.
사용자 수준 스레드 (일대다 매핑 방식)
사용자 레벨 스레드