본문 바로가기
3. 개발 관련/정리 :: issue 와 resovle

리눅스 task_struct 관련

by kyuho.choi 2010. 3. 9.
728x90
반응형
2.4 커널 이후, 

최신 커널의 task_struct 대한 분석을 한적이 거의 없지만,

종종 필요할 것 같아 위치만 정리!

리눅스 커널 소스에서 가장 중요한 부분이라고 할 수있는 task_struct 는!!

     "KERNEL_DIR/include/linux/sched.h" 정의 되어 있다.

각 버전에 따라 분석해 본다면 좋은 공부가 될 것이다! 

      v2.6.20 : http://lxr.linux.no/linux+v2.6.20/include/linux/sched.h
       v2.6.21 : http://lxr.linux.no/linux+v2.6.21/include/linux/sched.h
       v2.6.30 : http://lxr.linux.no/linux+v2.6.30/include/linux/sched.h
       v2.6.31 : http://lxr.linux.no/linux+v2.6.31/include/linux/sched.h
       v2.6.33 : http://lxr.linux.no/linux+v2.6.33/include/linux/sched.h

 뭐 이정도?! -ㅅ-;;
-----------------------------------------------------------------------------------------------------

개인적으로 다시 확인해 볼 필요가 있던 부분들에 대해서만 정리하고 넘어가고자 한다.

리눅스 저전력 시스템 : tickless kernel (in 2.6.21 & later)

    kernel/time/Kconfig 정의 되었으며, 
    kernel/time/tick-sched.c 에 Enable / Disable tickless 모드 구현

실제 연구 결과 tickless mode 를 사용하는 환경에서 20 - 30% 가량의 전력 소모량이 감소되었다고 함,

리눅스 실시간성 향상 : IRQ Thread in hardirq (in 2.6.30 & later)

    include/linux/interrupt.h 에 HARDIRQS thread 처리 루틴인 request_threaded_irq 추가 되었으며, 
    task_struct 에 thread_struct *irqaction 멤버가 추가되었다.

실제 연구 및 실험 결과를 확인하지는 못했으나, 

    http://lwn.net/Articles/302043/

위와 같이 lwn.net 에 article 이 올라왔으며 실제 메인 스트림 커널에 포함되었음을 확인하였다.

arm.linux 패치와 같이 rt-preemption 프로젝트도 메인 스트림 커널에 포함되는 것은 아닐까?!


728x90
반응형

댓글