
- 2020/03/01 09:08
- rousalome.egloos.com/10012046
- 덧글수 : 3

핑백
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: _do_fork() 함수 2020-03-01 09:56:01 #
... ; ** 이용한 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: 커널 스레드의 종류 2020-03-01 09:56:11 #
... ; ** 이용한 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: exit() 함수로 프로세스가 종료되는 과정 및 ftrace 로그 분석 2020-03-01 09:56:19 #
... ; ** 이용한 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: 기본 유저 레벨 프로세스 실행 실습 및 ftrace 로그 분석 2020-03-01 09:56:35 #
... ; ** 이용한 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: 커널 프로세스 생성 시 _do_fork() 함수의 흐름 2020-03-01 09:56:36 #
... ; ** 이용한 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: 유저 레벨 프로세스를 생성할 때 _do_fork() 함수의 처리 흐름 2020-03-01 09:56:37 #
... ; ** 이용한 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스 커널] 프로세스: 유저 모드와 커널 모드란 2020-03-01 09:56:39 #
... ; ** 이용한 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: do_fork() 함수 소개 2020-03-01 09:56:41 #
... ; ** 이용한 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: ps 명령어로 프로세스 목록 확인 2020-03-01 09:56:49 #
... ; ** 이용한 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: 프로세스란 2020-03-01 09:56:57 #
... ; ** 이용한 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: 유저 프로그램 실행 흐름 추적하기 2020-03-01 17:14:27 #
... ; ** 이용한 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: 프로세스 컨택스트 정보는 어떻게 저장할까? 2020-03-01 17:15:31 #
... ; ** 이용한 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] thread_info 구조체의 preempt_count - 인터럽트 컨텍스트 실행 저장 2020-03-01 17:20:20 #
... ; ** 이용한 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: current 매크로란 2020-03-01 17:21:31 #
... ; ** 이용한 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: current_thread_info() 매크로 함수 분석 2020-03-01 17:21:44 #
... ; ** 이용한 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: 태스크 디스크립터(task_struct 구조체) - 프로세스를 식별 필드 2020-03-01 17:23:31 #
... ; ** 이용한 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: 태스크 디스크립터(task_struct 구조체) - 프로세스 간의 관계 2020-03-01 17:24:10 #
... ; ** 이용한 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: 태스크 디스크립터(task_struct 구조체) - 프로세스 실행 시각 2020-03-01 17:24:42 #
... ; ** 이용한 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: struct thread_info 구조체 소개 2020-03-01 17:25:14 #
... ; ** 이용한 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: struct thread_info 구조체 주소 위치는 어디일까? 2020-03-01 17:28:22 #
... ; ** 이용한 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: 커널 스레드는 어떻게 생성할까? 2020-03-01 17:35:40 #
... ; ** 이용한 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: thread_info 구조체 초기화 코드 분석 2020-03-02 00:22:18 #
... ; ** 이용한 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] thread_info 구조체의 preempt_count - 선점 스케줄링 여부 확인 2020-03-02 00:26:05 #
... ; ** 이용한 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] thread_info 구조체의 preempt_count - Soft IRQ 컨텍스트 실행 2020-03-02 00:27:21 #
... ; ** 이용한 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: do_task_dead() 함수 분석 2020-03-02 00:37:08 #
... nbsp; ** 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: do_exit() 함수 분석 2020-03-02 00:37:15 #
... nbsp; ** 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: 프로세스 종료 흐름 파악 2020-03-02 00:40:41 #
... nbsp; ** 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: 커널 스레드란? 2020-03-02 00:42:36 #
... ; ** 이용한 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: 태스크란 2020-04-11 18:19:42 #
... ; ** 이용한 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: 스레드란? 2020-04-11 18:22:27 #
... ; ** 이용한 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: ftrace에서 프로세스 확인하기 2020-04-19 09:00:07 #
... ; ** 이용한 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: copy_process() 함수 분석 2020-04-25 18:39:42 #
... ; ** 이용한 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: wake_up_new_task() 함수 분석 2020-04-25 18:40:03 #
... ; ** 이용한 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: 태스크 디스크립터(task_struct 구조체) - 프로세스 연결 리스트 2020-04-26 09:54:06 #
... ; ** 이용한 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: 태스크 디스크립터(task_struct 구조체) - 프로세스 상태 2020-04-26 09:54:35 #
... ; ** 이용한 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: do_task_dead() 함수를 호출하고 난 후의 동작 2020-04-26 09:55:32 #
... ; ** 이용한 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
Linux Kernel(4.19) Hacks : [리눅스커널] 프로세스: thread_info 구조체란? 2020-07-19 09:51:24 #
... ; ** 이용한 선점 스케줄링 여부 확인 * cpu 필드에 대한 상세 분석 * thread_info 구조체 초기화 코드 분석 프로세스의 태스크 디스크립터 ... more
덧글
-
2020/04/28 02:28 # 삭제 답글
-
AustinKim 2020/04/28 10:16 #
1. 이 책을 읽을 수 있는지 ...
* C 언어만 이해하면 '디버깅을 통해 배우는 리눅스 커널의 구조와 원리'이란 책을 읽고 이해할 수 있도록 구성해서 무리는 없을 것 같습니다.
* 시스템 프로그래밍을 하시다가 커널이 어떻게 동작하는지 궁금하실 시점에 이 책을 보시면 더 좋을 것 같습니다.
어떤 주제에 대해 등떠 밀려서 공부하는 것보다 뭔가 알고 싶단 호기심이 있을 때 더 빨리 배울 수 있거든요.
2. 안드로이드 커널에 대해서..
* 안드로이드 커널은 리눅스 커널의 소스 코드를 가져다가 안드로이드 구조에 맞게 커스터마이즈한 커널입니다.
라즈베이 파이의 리눅스 커널과 우분투의 커널도 마찬가지입니다. 리눅스 커널 소스를 라즈베리 파이, 우분투에 맞게 커스터마이즈한 거죠.
다음 공식으로 이해하면 무방합니다.
* 안드로이드 커널 = 리눅스 커널 + 안드로이드에 맞게 구현된 리눅스 드라이버
3. GDB를 사용하는지
* 리눅스 개발자들은 GDB를 많이 사용합니다.
4. 실력 있는 리눅스 개발자분들은 윈도 커널 관련해서도 공부를 하면 금방 적응
* 리눅스 커널의 고수들은 윈도 커널을 접하면 쉽게 적응할 가능성이 매우 높습니다.
프로세스나 인터럽트에 대한 동작은 운영체제마다 구현 방식은 다르나 기본 동작 원리는 비슷한 경우가 많기 때문입니다.
(그런데 리눅스 커널의 고수들 중에 윈도 커널을 배우려는 분은 사실 상 거의 없습니다.
요즘 운영체제의 대세가 리눅스로 넘어온지 오래라, 리눅스 프로젝트에서도 할 일이 많이 때문이죠.)
5. ,window nt, max os, ios 커널은 어떻게 분석
* 위에 언급된 운영체제는 소스 코드가 오픈돼 있지 않습니다.
따라서 마이크로소프트나 애플의 커널 개발자 이외의 일반인은 위에 언급된 커널을 소스 코드 레벨로 분석할 수 없습니다.
충분히 답을 드렸는지 모르겠네요. 즐거운 하루 보내시고 더 궁금하신 점이 있으면 댓글을 주시면 됩니다.
Thanks,
Austin Kim -
AustinKim 2020/04/28 10:17 # 답글
1. 이 책을 읽을 수 있는지 ...
* C 언어만 이해하면 '디버깅을 통해 배우는 리눅스 커널의 구조와 원리'이란 책을 읽고 이해할 수 있도록 구성해서 무리는 없을 것 같습니다.
* 시스템 프로그래밍을 하시다가 커널이 어떻게 동작하는지 궁금하실 시점에 이 책을 보시면 더 좋을 것 같습니다.
어떤 주제에 대해 등떠 밀려서 공부하는 것보다 뭔가 알고 싶단 호기심이 있을 때 더 빨리 배울 수 있거든요.
2. 안드로이드 커널에 대해서..
* 안드로이드 커널은 리눅스 커널의 소스 코드를 가져다가 안드로이드 구조에 맞게 커스터마이즈한 커널입니다.
라즈베이 파이의 리눅스 커널과 우분투의 커널도 마찬가지입니다. 리눅스 커널 소스를 라즈베리 파이, 우분투에 맞게 커스터마이즈한 거죠.
다음 공식으로 이해하면 무방합니다.
* 안드로이드 커널 = 리눅스 커널 + 안드로이드에 맞게 구현된 리눅스 드라이버
3. GDB를 사용하는지
* 리눅스 개발자들은 GDB를 많이 사용합니다.
4. 실력 있는 리눅스 개발자분들은 윈도 커널 관련해서도 공부를 하면 금방 적응
* 리눅스 커널의 고수들은 윈도 커널을 접하면 쉽게 적응할 가능성이 매우 높습니다.
프로세스나 인터럽트에 대한 동작은 운영체제마다 구현 방식은 다르나 기본 동작 원리는 비슷한 경우가 많기 때문입니다.
(그런데 리눅스 커널의 고수들 중에 윈도 커널을 배우려는 분은 사실 상 거의 없습니다.
요즘 운영체제의 대세가 리눅스로 넘어온지 오래라, 리눅스 프로젝트에서도 할 일이 많이 때문이죠.)
5. ,window nt, max os, ios 커널은 어떻게 분석
* 위에 언급된 운영체제는 소스 코드가 오픈돼 있지 않습니다.
따라서 마이크로소프트나 애플의 커널 개발자 이외의 일반인은 위에 언급된 커널을 소스 코드 레벨로 분석할 수 없습니다.
충분히 답을 드렸는지 모르겠네요. 즐거운 하루 보내시고 더 궁금하신 점이 있으면 댓글을 주시면 됩니다.
Thanks,
Austin Kim
최근 덧글