*‘커널스레드’란?
운영체제 커널이 관리하는 스레드로, 디스크읽기.쓰기 같은 입출력 작업을 수행하는 데 사용된다.
*개념
1)스레드는 프로세스 내에서 실행되는 작업의 단위이며, 하나의 프로세스는 하나 이상의 스레드로 이뤄진다.
2)스레드는 구현 방식에 따라 사용자 수준과 커널 수준으로 나뉘며, 커널 수준 스레드는 커널 모드에서만 동작한다.
3)사용자 수준 스레드는 사용자 라이브러리를 통해 구현되고, 커널 수준 스레드는 OS가 지원하며 구현이 쉽지만 느릴 수 있다.
*동작예시
1)libuv는 시스템 커널을 이용하며 멀티 스레드를 사용해 비동기 처리를 수행한다.
2)node.js는 싱글 스레드지만, 내부 C++ Thread Pool이 멀티 스레드로 동작해 비동기 작업을 처리한다.
*관련용어
1)커널은 운영체제의 핵심으로 프로세스스케줄링, 메모리관리, 입출력 제어 등을 담당한다.
2)셀은 커널과 사용자 간의 인터페이스로 명령어를 해석해 커널에 전달하고 결과를 출력한다.