Arm Linux Kernel Hacks

rousalome.egloos.com

포토로그 Kernel Crash


통계 위젯 (화이트)

46111
637
415422


[리눅스커널] 프로세스: 기본 유저 레벨 프로세스 실행 실습 및 ftrace 로그 분석 4. 프로세스(Process) 관리

프로세스가 생성되는 과정은 이론으로 배울 수 있으나 실습하면 배운 내용을 더 오랫 동안 기억할 수 있습니다. 다음 동영상에서는 ps 명령어와 ftrace를 사용해 프로세스가 생성되는 과정을 설명합니다.





#프로세스

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

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

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


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

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

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



repository
http://rousalome.egloos.com/10024840





핑백

덧글

  • 45645 2020/06/17 02:09 # 삭제 답글

    원래 크롬창 띄우고 ftrace sh 실행하면 로그에 chromium도 같이 찍히나요...? 죄다 크롬로그가 찍혀서 로그 파악이 안되네요 ㅠㅠ
  • AustinKim 2020/06/17 13:38 #

    사실, ftrace 메시지는 CPU 코어별로 동시다발적으로 출력되기 때문에 보고 싶은 로그를 확인하기 어려운 부분이 있습니다.
    그래서 책에 소개된 ftrace 메시지는 독자 분들이 보기 편하기 잘 정돈해서 표기했습니다.

    아래는 ftrace 메시지의 한 예시입니다.

    <idle>-0 [001] dnh. 5977.725501: irq_handler_exit: irq=17 ret=handled
    chromium-browse-12120 [002] d.h. 5977.727383: irq_handler_entry: irq=17 name=arch_timer
    <...>-30832 [003] d.h. 5977.727383: irq_handler_entry: irq=17 name=arch_timer
    Chrome_IOThread-4443 [001] d.h. 5977.727388: irq_handler_entry: irq=17 name=arch_timer
    Chrome_IOThread-4443 [001] d.h. 5977.727393: arch_timer_handler_phys <-handle_percpu_devid_irq
    <...>-30832 [003] d.h. 5977.727393: arch_timer_handler_phys <-handle_percpu_devid_irq
    chromium-browse-12120 [002] d.h. 5977.727394: arch_timer_handler_phys <-handle_percpu_devid_irq

    위 메시지는 CPU 코어별로 해석하면 조금 더 편하게 볼 수 있습니다.
    아래 메시지에서 CPU 코어 001에 해당하는 부분은 화살표로 표시된 로그를 참고하세요.

    <idle>-0 [001] dnh. 5977.725501: irq_handler_exit: irq=17 ret=handled <<<
    chromium-browse-12120 [002] d.h. 5977.727383: irq_handler_entry: irq=17 name=arch_timer
    <...>-30832 [003] d.h. 5977.727383: irq_handler_entry: irq=17 name=arch_timer
    Chrome_IOThread-4443 [001] d.h. 5977.727388: irq_handler_entry: irq=17 name=arch_timer <<<
    Chrome_IOThread-4443 [001] d.h. 5977.727393: arch_timer_handler_phys <-handle_percpu_devid_irq <<<
    <...>-30832 [003] d.h. 5977.727393: arch_timer_handler_phys <-handle_percpu_devid_irq
    chromium-browse-12120 [002] d.h. 5977.727394: arch_timer_handler_phys <-handle_percpu_devid_irq
  • 2020/06/17 13:38 # 답글 비공개

    비공개 덧글입니다.
댓글 입력 영역