kernel thread 2

[ OS ] 02. 멀티스레드

[ 멀티 스레드 ] 멀티 쓰레드 모델을 살펴보기 전에 먼저 User Thread와 Kernel Thread에 관해 살펴보자. 말 그대로 User Thread는 User level의 Thread 라이브러리를 통해 관리되는 Thread를 말하며 Kernel Thread는 운영체제가 제공하고 직접 관리하는 Thread를 말한다 Multi-Thread에는 총 네 가지 모델이 있다. Many-to-One Model Kernel Thread가 다수의 User Thread를 처리하는 구조이다. 이러한 구조는 User Thread를 처리하던 중 System call에 의해 blocking이 된다면 전체 프로세스가 막히는 병목현상이 일어나게 되는 문제점을 갖고 있다. One-to-One Model One-to-One m..

[ Linux Kernel ] 12. Kernel Thread(커널 스레드)

16. Kernel Thread(커널 스레드) 이번 5번째 강의에서는 프로세스간 CPU 점유권의 이동이 어떤 매커니즘으로 이루어지는지를 다루게 된다. CPU를 할당해준다는 것은 단순히 프로세스의 우선순위 말고도 고려해야할 것들이 많다. 리눅스 운영체제는 과연 이러한 숙제를 어떻게 풀고 있는지 지금부터 살펴보려 한다. 먼저 강의노트 4에서 다뤘던 내용들을 잠시 떠올려보자. 스레드(Thread)가 있고 프로세스(Process)가 있었다. 프로세스는 부모의 것(Task basic info + files, fs, tty, mm, signals)을 전부 그대로 복사한 것(heavy-weight creation)이고,반대로 최소한으로 복사(light-weight creation)한 것이 스레드이다. 또한 커널은 메..