
Advanced C Language
jikim1770
By understanding the internal structure of the C language, you can implement faster and more memory-optimized programs.
중급이상
C, Computer Architecture, device-driver
어셈블리 코드를 이해하고 함수의 역추적을 할 수 있으며 프로세스를 추적하는 gdb이 내부 구조를 이해할 수 있습니다. 또한 커널의 디버깅 도구를 다룹니다.
Intel 아키텍처
Nasm 어셈블리
어셈블리 기본 문법
어셈블리 함수 호출
Backtrace 구현
Ptrace
Strace
Gdb
Uftrace
Ftrace
Kprobe
섹션 (1) Intel 아키텍처
PC의 기본 CPU로 가장 많이 사용되는 Intel CPU의 레지스터 구조와 ALU의 연산 과정을 다룹니다.
섹션 (2) Nasm 어셈블리
NASM(Netwide Assembler) 어셈블리 언어의 학습에 중점을 두고 저수준 어셈블리 언어를 설명합니다.
섹션 (3) 어셈블리 기본 문법 I
어셈블리 언어의 기본 구문, 구조 및 규칙을 익히고 기본 어셈블리 코드를 효과적으로 작성하는 방법을 설명 합니다.
섹션 (4) 어셈블리 기본 문법 II
어셈블리가 CPU의 flag에 의해서 조건부 제어를 하는 전과정을 설명 합니다.
섹션 (5) 어셈블리 함수 호출
함수의 호출과정에서 인자, 리턴 값, 지역변수를 어셈블리가 처리하는 방식을 설명 합니다.
섹션 (6) Backtrace 구현
역추적 알고리즘을 효과적으로 다루고 디버깅 기술, 호출 스택 분석 과정을 설명 합니다.
섹션 (7) Ptrace
한 프로세스(추적자)가 다른 프로세스(피추적자)의 실행을 제어하고 모니터링하는 기법을 설명 합니다.
섹션 (8) Strace
Strace를 사용하는 방법을 다루고 운영 체제와의 프로그램 상호 작용을 설명 합니다.
섹션 (9) Gdb
Gdb의 중단점 설정, 코드 단계별 실행, 프로그램 상태 분석, 소프트웨어 버그 식별 및 해결 방법을 설명 합니다.
섹션 (10) Uftrace
uftrace를 사용하여 프로그램의 함수 호출 흐름과 성능을 추적 및 분석하는 방법을 설명 합니다.
섹션 (11) Ftrace
Linux에서 커널 기능 추적을 위해 Ftrace를 활용하는 방법을 다루고, 이를 통해 커널 동작, 성능 문제 및 시스템 수준 상호 작용을 설명 합니다.
섹션 (12) Kprobe
Linux 커널의 특정 지점을 동적으로 추적하고 디버깅, 성능 분석 및 커널 내부 구조를 설명 합니다.
강의 학습에 필요한 참고 사항이 있다면 꼼꼼하게 작성해주세요.
수강생들이 강의에서 다루는 내용을 충분히 이해하게 돕고, 학습 만족도를 높일 수 있어요.
운영 체제 및 버전(OS): Ubuntu 16.04, 18.04
편집 도구 : Ubuntu VIM, Gcc, Gdb, Make, Ctags
컴파일러 : Gcc
제공하는 학습 자료 형식 (PDF, 소스 코드)
수업 시 ppt를 이용한 판서를 진행하고 이를 수업 자료로 공유합니다.
본 과정을 듣기 위한 선수 지식 : C언어 기본, 리눅스 기본
본 강의 동영상 사양 : FPS-60, 해상도-1280*720, 오디오 샘플 레이트-44,100
언제든 질문해 주시고, 강의는 open source 버전 업그레이드 시 수정될 수 있습니다.
강의 시 배포되는 학습 자료는 수업에만 참고 하시고 무단 배포는 금합니다.
학습 대상은
누구일까요?
시스템 디버깅의 원리를 이해 하고 싶으신 분
리눅스 시스템 개발자
리눅스 커널 개발자
선수 지식,
필요할까요?
C 언어
리눅스 기본
773
명
수강생
82
개
수강평
12
개
답변
4.9
점
강의 평점
9
개
강의
김정인 강사님은 오픈소스가 중요하다며
리눅스 커널 및 딥러닝의 구현 소스를 취미 삼아 매일 분석 하는 오픈 소스 매니아 입니다.
소스를 통해 이해 한다며 무작정 소스 분석으로 모든 원리를 이해하려 하므로
수강 시 소스 폭탄에 주의 해야 합니다.
강의문의 : jikim@imguru.co.kr
전체
35개 ∙ (9시간 28분)
해당 강의에서 제공:
4. Intel 아키텍처 1
19:21
5. Intel 아키텍처 2
17:53
6. Intel 아키텍처 3
15:33
7. Nasm 어셈블리 1
21:08
8. Nasm 어셈블리 2
26:18
9. Nasm 어셈블리 3
17:54
10. Nasm 어셈블리 4
13:42
11. 어셈블리 기본 문법 I 1
20:30
12. 어셈블리 기본 문법 I 2
27:30
13. 어셈블리 기본 문법 I 3
15:48
14. 어셈블리 기본 문법 II 1
22:30
15. 어셈블리 기본 문법 II 2
14:47
16. 어셈블리 함수 호출 1
18:18
17. 어셈블리 함수 호출 2
18:40
18. 어셈블리 함수 호출 3
16:55
19. Backtrace 구현 1
12:40
20. Backtrace 구현 2
10:25
21. Backtrace 구현 3
16:37
22. Backtrace 구현 4
11:47
23. Backtrace 구현 5
13:26
24. Ptrace 1
12:50
25. Ptrace 2
14:26
26. Ptrace 3
14:52
27. Strace 1
19:31
28. Strace 2
10:13
32. Uftrace 1
19:33
33. Uftrace 2
12:07
34. Ftrace
12:46
35. Kprobe
31:44
전체
26개
4.9
26개의 수강평
수강평 130
∙
평균 평점 5.0
수강평 18
∙
평균 평점 5.0
수강평 3
∙
평균 평점 4.7
수강평 1
∙
평균 평점 5.0
수강평 7
∙
평균 평점 4.9
수정됨
₩88,000
지식공유자님의 다른 강의를 만나보세요!
같은 분야의 다른 강의를 만나보세요!