<< 리눅스 커널 및 리눅스 시스템 Track>>

리눅스 커널의 동작 원리 (저자 직강 방식)

 - 리눅스 커널의 주요 디버깅 툴
 - 프로세스, 태스크 스케줄링 
 - 인터럽트 및 인터럽트 후반부
 - Soft IRQ, 워크큐
 - 커널 동기화, 배리어
 - 시그널, 시스템 콜
 - 가상 파일 시스템, 주요 파일 시스템
 - 매모리 매니지먼트

리눅스 디바이스 드라이버 Overview 

- 리눅스 디바이스 드라이버의 전체 구조
- 디바이스 드라이버 디버깅 피쳐
- 모듈 디바이스 드라이버 기본 구조
- 캐릭터 디바이스 드라이버
- 블락 디바이스 드라이버
- 플렛폼 디바이스 드라이버
- 디바이스 트리 및 최적화
- 인터럽트 핸들링, Top-half와 Bottom Half
- 디바이스 드라이버 동기화 이슈 

리눅스 시스템 리소스 모니터링  

- 리눅스 OS 와 프로세스 이해
- 리눅스 SW 동작원리
- 리눅스 메모리(Stack / Heap) 분석과 이해
- 리눅스 OS 이해와 커널함수 추적
- 리눅스 파일 Read / Write 처리과정
- 리눅스 시스템 트러블슈팅


<< Arm 프로세서 Track >>

Arm 프로세서(64비트 Armv8-A 아키텍처) 동작 원리 (저자 직강 방식)

- 레지스터(Register)
- 어셈블리 명령어
- AAPCS(함수 호출 규약)
- 익셉션 레벨(Exception Level)
- 익셉션(Exception)
- 크래시 폴트 핸들링 매커니즘
- GIC(Generic Interrupt Controller)
- 트러스트존(Trustzone)
- 가상화(Virualization)
- 메모리 배리어와 캐시
- MMU(Memory Management)

Arm 프로세서(32비트 Armv7-A 아키텍처) 동작 원리 (저자 직강 방식)

- 레지스터(Register)
- 어셈블리 명령어
- AAPCS(함수 호출 규약)
- 동작 모드 
- 익셉션(Exception)
- 크래시 폴트 핸들링 매커니즘
- GIC(Generic Interrupt Controller)
- 트러스트존(Trustzone)
- 가상화(Virualization)
- 메모리 배리어와 캐시
- MMU(Memory Management)

 


리눅스 커널과 Arm 프로세서 인터페이스 (저자 직강 방식)

- 프로세스의 스택과 함수 호출 규약
- 익셉션 레벨, 동작 모드와 커널 공간
- 컨텍스트의 의미와 레지스터
- 컨텍스트 스위칭
- 시스템 콜, 시그널
- 스핀락, 배리어
- 페이지 폴트, 페이지 테이블 
- 트러스트존 드라이버

<< 크래시 덤프 분석 및 트러블슈팅 Track >>

TRACE32와 crash-utility 로 크래시 덤프 분석으로 리눅스 커널 분석하기

 - 주요 리눅스 커널 구조 디버깅(프로세스, 태스크 스케줄링, 메모리, 파일 시스템) 
 - 깨진 콜 스택 복원
 - CMM 스크립트 작성으로 커널 자료 구조를 파싱 
 - Crash-Utility로 주요 메모리 정보 프로파일링 
 - 예제 크래시 덤프 분석 (락업, 메모리 오염, BUG, 패닉)

 

트러블슈팅 - 주요 예제 덤프 분석(TRACE32, crash-utility 사용)

 - 예제 크래시 덤프 분석 (락업, 메모리 오염, BUG, 패닉)
 - ftrace 메시지 분석하기
 - ftrace 메시지와 메모리 덤프로 주요 리눅스 커널 구조 디버깅 
 - 깨진 콜 스택 복원
 - 디버깅 패치 작성 방법

+ Recent posts