ARM Linux Kernel Hacks

rousalome.egloos.com

포토로그 Kernel Crash


통계 위젯 (화이트)

203239
1625
172600


[리눅스커널] 프로세스: 커널 스레드란? 4. 프로세스(Process) 관리

이전 절까지 유저 영역에서 실행한 프로세스가 어떤 과정으로 생성되고 종료되는지 배웠습니다. 이번 절에서는 커널 공간에서만 실행되는 프로세스인 커널 스레드에 대해 소개하고 생성 과정을 살펴보겠습니다. 

커널 스레드란?

커널 프로세스는 커널 공간에서만 실행되는 프로세스입니다. 대부분 커널 스레드 형태로 동작합니다. 커널 스레드는 리눅스 시스템 프로그래밍에서 데몬과 비슷한 일을 하는데, 데몬과 커널 스레드는 백그라운드 작업으로 실행되면서 시스템 메모리나 전원을 제어하는 동작을 수행합니다. 그런데 커널 스레드는 유저 영역과 시스템 콜을 받지 않고 동작합니다. 이 점이 데몬과 커널 스레드의 차이점입니다.

커널 스레드는 다음과 같은 세 가지 특징이 있습니다.

커널 스레드는 커널 공간에서만 실행되며, 유저 공간과 상호작용하지 않습니다.
커널 스레드는 실행, 휴면 등 모든 동작을 커널에서 직접 제어 관리합니다.
대부분의 커널 스레드는 시스템이 부팅할 때 생성되고 시스템이 종료할 때까지 백그라운드로 실행됩니다.

커널 스레드를 소개했으니 이번에는 커널 스레드의 종류를 알아봅시다.

* 유튜브 강의 동영상도 있으니 같이 들으시면 좋습니다. 




#프로세스

프로세스 소개 
프로세스 확인하기  
프로세스는 어떻게 생성할까?  
유저 레벨 프로세스 실행 실습  
커널 스레드  
커널 내부 프로세스의 생성 과정   
프로세스의 종료 과정 분석  
태스크 디스크립터(task_struct 구조체)  
스레드 정보: thread_info 구조체  
프로세스의 태스크 디스크립터에 접근하는 매크로 함수  
프로세스 디버깅  
   * glibc의 fork() 함수를 gdb로 디버깅하기  


"혹시 궁금한 점이 있으면 댓글로 질문 남겨주세요. 아는 한 성실히 답변 올려드리겠습니다!" 

Thanks,
Austin Kim(austindh.kim@gmail.com)


# Reference: For more information on 'Linux Kernel';

디버깅을 통해 배우는 리눅스 커널의 구조와 원리. 1

디버깅을 통해 배우는 리눅스 커널의 구조와 원리. 2














핑백

덧글

댓글 입력 영역