Thumbnail
얼리버드 할인 중(D-8)
NEW
하드웨어 임베디드 · IoT

리눅스 커널의 구조와 원리: 인터럽트 [저자 직강 1부-5] 대시보드

28명이 수강하고 있어요.

30%

38,500원

55,000원
지식공유자: 김동현 (Austin Kim)
총 55개 수업 (6시간 13분)
수강기한: 
무제한
수료증: 발급
난이도: 
입문
-
초급
-
중급이상
지식공유자 답변이 제공되는 강의입니다
폴더에 추가 공유

초급자를 위해 준비한
[임베디드 · IoT, Linux] 강의입니다.

시스템 소프트웨어에서 가장 많이 쓰이는, 최신 리눅스 커널(v6.1)의 인터럽트 핵심 개념을 "디버깅을 통해 배우는 리눅스 커널의 구조와 원리"의 저자가 제대로 설명합니다.

✍️
이런 걸
배워요!
인터럽트의 기본 개념과 동작 방식
디바이스 드라이버 관점으로 인터럽트의 처리 방식
Arm 아키텍처 관점의 인터럽트의 처리 방식
인터럽트를 관리하는 자료 구조

이런 분들께 추천드려요!

🎓
학습 대상은
누구일까요?
시스템 반도체, 전기 자동차 분야(자율주행, 인포테인먼트)를 포함한 시스템 소프트웨어 분야에서 역량을 키우고 싶은 주니어 개발자
시스템 반도체, 전기 자동차 분야와 같은 시스템 소프트웨어 개발을 하고 싶은 취업 준비생
시스템 소프트웨어 분야(메모리, 파일 시스템, 운영체제)의 대학원 진학을 목표로 하는 대학생
시스템 소프트웨어 분야로 커리어를 전환하려는 다른 분야의 개발자
📚
선수 지식,
필요할까요?
C언어
컴퓨터구조
운영체제

안녕하세요
김동현 (Austin Kim) 입니다.
김동현 (Austin Kim)의 썸네일

국내 시스템 소프트웨어 분야에서 전무후무한! 'Arm 아키텍처(Armv8-A, Armv7-A)'와 '리눅스 커널' 책을 쓴 저자이며, 최신 시스템 소프트웨어 트렌드(전기자동차, 시스템 반도체- 시스템 소프트웨어)를 가장 잘 알고 있는 현업 개발자입니다. 또한 시스템 소프트웨어 분야에서 가장 지식 전파 활동을 활발하게 하는 교육자입니다. 

  • '시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리'(2023년) 저자

  • '디버깅을 통해 배우는 리눅스 커널의 구조와 원리' (2021년, 대한민국 학술원 우수도서상) 저자

  • '프로그래머스 데브 코스: 리눅스 시스템 및 커널 전문가' 메인 강사

  • 2022년 6월, 한국컴퓨터종합학술대회 (KCC2022) - 튜토리얼 발표 [ftrace를 이용해 리눅스 커널 정복하기]

  • LG전자 '리눅스 커널' 및 'Armv8 아키텍처' 사내 강사(국내 및 해외 개발자 포함) - (2020년~현재)

국내에서 어느 누구보다 리눅스 커널과 Arm 아키텍처(Armv8-A, Armv7-A)를 잘 설명할 수 있는 교육자라고 자신있게 말씀드릴 수 있습니다.

주요 로드맵 🎯

'시스템 소프트웨어 개발자를 위한 Arm - basic course'

'시스템 소프트웨어 개발자를 위한 Arm - advanced course'

로드맵_이미지_스킨.png

 

시스템 소프트웨어 개발자를 위한 Linux kernel - basic course

image

체계적으로 Arm 아키텍처(Armv8-A, Armv7-A)와 리눅스 커널을 배우시려는 분은 로드맵(전체 강의 30% 할인)을 활용하시면 좋습니다.

커리큘럼 총 55 개 ˙ 6시간 13분의 수업
이 강의는 영상, 첨부 파일이 제공됩니다. 미리보기를 통해 콘텐츠를 확인해보세요.
섹션 0. 강의 소개
강의 및 교육자 소개 미리보기 06:27
강의 자료(TRACE32 프로그램 설치 문서)
실습 프로그램: TRACE32 교육용 프로그램
섹션 1. 인터럽트(Interrupt) 소개
섹션 2. [1단계] Arm 아키텍처 관점-인터럽트 처리 방식
1.Arm 아키텍처 관점에서 인터럽터를 처리하는 방식 13:50
2.Arm아키텍처 관점에서 인터럽트의 실행 흐름 07:49
3.Armv8-익셉션 벡터 테이블 분석: 리눅스 커널에서 인터럽트 유발 11:07
4.IRQ 익셉션 핸들러 분석-리눅스 커널에서 인터럽트 유발-Part.1 09:44
5.IRQ 익셉션 핸들러 분석-리눅스 커널에서 인터럽트 유발-Part.2 미리보기 15:34
6.Armv8-익셉션 벡터 테이블 분석: 유저 애플리케이션에서 인터럽트 유발 05:50
7.IRQ 익셉션 핸들러 분석-유저 애프리케이션에서 인터럽트 유발-Part.1 07:54
8.IRQ 익셉션 핸들러 분석-유저 애프리케이션에서 인터럽트 유발-Part.2 미리보기 14:13
9.Armv8 아키텍처 관점으로 인터럽트가 처리되는 흐름 정리 03:27
섹션 3. [2-3단계] 리눅스 커널에서 인터럽트를 처리하는 실행 흐름
1.IRQ 서브 시스템 전체 실행 흐름 소개 01:45
2.IRQ 서브 시스템: 커널 함수 리뷰 13:12
3.IRQ 서브 시스템: 커널 호출 흐름 정리 02:30
4.리눅스 커널에서 인터럽트가 처리되는 전체 흐름 정리 06:13
섹션 4. 인터럽트 컨텍스트
인터럽트 컨텍스트 소개 06:17
ftrace 분석을 통해 인터럽트 컨텍스트 알아보기 06:30
in_interrupt() 함수의 사용 예시 07:03
인터럽트 컨텍스트의 제약사항 08:50
인터럽트 컨텍스트는 언제 활성화될까 07:28
인터럽트 컨텍스트 활성화: 커널 코드 분석 12:16
인터럽트 컨텍스트에서 스케줄링 동작을 제약하는 커널 코드 분석 06:49
섹션 5. 인터럽트 핸들러와 인터럽트 디스크립터 디버깅 -TRACE32
1.디버깅으로 인터럽트의 기본 속성 정보 파악하기 07:45
2.bcm2835_mmc_irq 인터럽트 핸들러 코드 분석 05:25
3.bcm2835_mmc_irq 인터럽트 핸들러의 함수 호출 흐름 미리보기 06:31
4.인터럽트 핸들러에 전달된 매개 인자 디버깅하기-TRACE32 09:02
5.인터럽트 디스크립터(struct irq_desc) 디버깅하기-Crash utility 07:57
6.bcmgenet_isr0 인터럽트 핸들러 디버깅-TRACE32 (Part.1) 09:42
7.bcmgenet_isr0 인터럽트 핸들러 디버깅-Crash utility(Part.2) 07:40
섹션 6. 인터럽트 핸들링과 Preemption
1.Preemption의 처리 흐름과 인터럽트 03:02
2.preemption을 체크하는 3가지 포인트 04:08
3.커널 공간에서 Preemption 실행 흐름 05:00
4. 커널 공간에서 Preemption될 때 커널 코드 분석 03:40
5.유저 공간-Preemption 실행 흐름 07:57
6.유저 공간-Preemption될 때 커널 코드 분석 06:21
7.TRACE32 디버깅: 커널 공간에서 Preemption 미리보기 11:09
8.TRACE32 디버깅: 유저 공간에서 Preemption 11:43
섹션 7. ftrace 디버깅: 인터럽트 처리
1.인터럽트의 동작을 트레이싱하는 ftrace 트레이스 포인트 소개 10:21
2.ftrace 메시지로 인터럽트의 동작 분석하기(nop tracer) 미리보기 04:49
3.ftrace 메시지로 인터럽트의 실행 흐름과 콜 스택 분석하기(stack tracer)-Part.1 09:37
4.ftrace 메시지로 인터럽트의 실행 흐름과 콜 스택 분석하기(stack tracer)-Part.2 06:09
5.ftrace 메시지를 출력하는 커널 소스 코드 분석 09:56
섹션 8. 리눅스 커널 메모리 덤프(실습 자료)
1-irq_dump
2-irq_dump
3_irq-dump
4-irq_dump
5-irq_dump
6-irq_dump
강의 게시일 : 2024년 04월 09일 (마지막 업데이트일 : 2024년 04월 09일)
수강평
수강생분들이 직접 작성하신 수강평입니다.
아직 평가를 충분히 받지 못한 강의 입니다.
모두에게 도움이 되는 수강평의 주인공이 되어주세요!😄️️
연관 로드맵
이 강의가 포함된 잘 짜여진 로드맵을 따라 학습해 보세요!