리눅스 커널 5.0 동작 과정 이해와 tracing 실습

홈으로교육과정임베디드 SW 아카데미OS System

일수/시간 4일 / 32시간 (09:00~18:00) 강사 한컴아카데미 전문강사
과정매니저  정승호 (031-622-7684)
교육비 990,000원 (VAT포함)
선수과정 오픈소스 프로젝트 개발참여
후속과정 리눅스 커널 분석 및 프로그래밍
실습장비 리눅스
정원 20명
전체 교육일정
교육일정 신청마감일 수강신청 교육장소
2024.08.12(월) ~ 2024.08.16(금) 신청하기 교육장소 분당교육센터
과정개요
클라우드, 서버, 모바일, 사물인터넷(IoT), 인공지능(AI)시스템 분야에 이르기까지 리눅스 OS의 시장점유율이 급증하고 있습니다. 이에따라 리눅스를 활용하는 수많은 소프트웨어 기업 또는 하드웨어 제조사들의 개발자,엔지니어들에게 리눅스 커널에 대한 이해와 분석능력의 중요성이 점점 더 커지고있습니다. 하지만 기존의 교육만으로는 빠르게 변해가고 복잡해져가는 최신커널(5.0 이상)을 활용하고 응용하기 어렵습니다.
따라서 본 과정은 계속해서 변화해가는 최신커널에 발맞춰 tracing 실습을 통해 교육을 진행합니다. 이론보다 실습에 중점을 두어 리눅스 tracing 기술(ftrace, tracepoint, kprobe, BPF 등)을 통해 최신커널(5.0이상)의 동작과정을 이해하고 소스코드를 분석합니다. 더 나아가 차후 버전을 분석하고 이해하고자할때 동일한 tracing 방법을 통해 스스로 학습할 수 있도록 하는것을 목표로 진행합니다.더불어 커널과 어플리케이션과의 관계 및 성능에 끼치는 영향에 대한 분석과 커널개발 참여(contribution) 방법에 대해서도 함께 실습을 진행합니다.

* 선수과정 - 운영체제 이론, C언어, 리눅스활용
특이사항

교육목적

- 리눅스 커널(5.0 이상)의 동작과정을 이해하고 실습을 통해 검증합니다.
- 리눅스 커널 소스를 분석하고 주요 함수와 주요 자료구조를 학습합니다.
- printk삽입, 재부팅 없이 실행 중에 커널 데이터 및 함수호출과정을 추적(tracing)방법을 학습합니다.
- 최신 리눅스 커널 오픈소스 개발참여(contribution)방법을 학습합니다.

교육대상

- 리눅스 커널 동작과정을 이해하고 분석하고자 하는 개발자/엔지니어
- 리눅스 커널과 어플리케이션과의 관계 및 성능분석을 하고하자는 개발자/엔지니어
- 리눅스 커널 개발에 참여(contribution)하고자 하는 개발자/엔지니어

교육내용

구분

목차세부내용
1일차

- 프로그램(user/kernel) 실행 원리

- 메모리 액세스 과정

- 가상주소(virtual address) 활용법

- 물리 메모리 관리


- 리눅스 커널의 구성과 컴퓨터 구조, NUMA

- a.out(user) / vmlinux(kernel) 바이너리 이해

(readelf, objdump)

- user / library / kernel 함수의 실행흐름 tracing 실습

- pagefault 발생하는 이유와 handler 동작과정 tracing 실습

- VMA(virtual memory area) 와 pagetable

- 물리 메모리할당(alloc_pages)과 버디시스템 tracing 실습


2일차

- 메모리 관리

- 파일read / write 과정


- slab / slub / slob 동작과정 tracing실습

- vmalloc 동작과정 tracing 실습

- 페이지 회수 동작과정 tracing실습

- VFS / FS / Block / SCSI layer 파일 I/O tracing 실습

- writeback 동작과정 tracing 실습

- mmap / memory-mapped file I/O동작과정 tracing 실습


3일차

- 인터럽트와 BH

- 네트워크(TCP/IP) I/O 과정


- do_IRQ() 동작과정 tracing 실습

- ksoftirqd 와 kworker 동작과정 tracing실습

- sk_buff와 TCP/IP 동작과정(ex.웹 브라우저 동작)

- DD / IP / TCP Layer 패킷 송수신 동작과정tracing 실습

- NAPI 동작과정 tracing 실습

- packet forwarding / fragmentation


4일차

- 스케줄링과 context switch

- 시그널 enq / deq 과정

- 동기화 이슈와 locking

- cgroup(memory, cpu)동작과정

분석

- 커널개발참여(contribution) 실습


- run queue와 wait queue의 enq / deq 과정 tracing 실습

- schedule함수 와 context switch 과정 tracing 실습

- 시그널 generate(enq) / deliver(deq) 과정 tracing 실습

- 선점(preempt)과 locking, panic fix commit의 이해

- cgroup(cpu,mem) 동작과정 tracing 실습

- 오픈소스 개발문화(git, patch mail)




첨부파일

[과정소개서]_리눅스 커널 5.0 동작과정 이해와 tracing 실습.pdf

페이스북트위터구글즐겨찾기이메일

확인