'커널'에 해당되는 글 1건

  1. 2011.05.01 커널선점
리눅스/커널2011. 5. 1. 01:24
커널의 선점조건
예전에는 커널은 비선점형이었으나 2.6 버젼부터 선점형으로 바뀌었다. 그러기 위해서 각 프로세스 스택의 thread_info에 preempt_count 라는 변수를 추가하였고, 이 값은 락의 숫자가 증가함에 따라 증가하고 감소하면 같이 감소한다. preemt_count 값이 0일 때에 비로서 선점이 가능하다. 락이 해제될 시 preemt_count 값이 0 이면 락을 푸는 코드는 need_resched() 를 통하여 스케쥴이 필요한지 체크한다. 한편 커널은 태스크가 커널 블록내에 있거나 단도직입적으로 schedule() 를 호출시에도 선점 가능하다.

'리눅스 > 커널' 카테고리의 다른 글

Documentation/arm/booting  (0) 2011.09.25
Linux 3.0 Kernel  (0) 2011.07.31
커널 스레드  (0) 2011.05.01
커널 초기화  (0) 2011.04.20
시스템콜 (미완성)  (0) 2011.04.18
Posted by code cat