글로벌 저자 & 리눅스 시스템 소프트웨어 개발자 (Arm, RISC-V 아키텍처)
국내 시스템 소프트웨어 분야에서 전무후무한! 'Arm 아키텍처(Armv8-A, Armv7-A)'와 '리눅스 커널' 책을 쓴 저자(2권의 책 모두 대한민국 학술원 우수도서에 선정)이며, 국내 최초로 해외 출판사(Packt)를 통해 "Reverse Engineering Armv8-A Systems" 책(영어)을 집필한 글로벌 저자입니다. 무엇보다 최신 시스템 소프트웨어 트렌드(전기자동차, 시스템 반도체- 시스템 소프트웨어)를 가장 잘 알고 있는 현업 개발자입니다. 또한 시스템 소프트웨어 분야에서 가장 지식 전파 활동을 활발하게 하는 교육자입니다.
Professional 지식 공유자 및 컨설턴트
LG전자 리눅스 커널 오픈 소스팀 근무 (~2026년, 5월)
'Reverse Engineering Armv8-A Systems: A practical guide to Kernel, Firmware, and TrustZone analysis' 책(영어) 저자, (Packt 출판사)
'시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리'(2024년, 대한민국 학술원 우수도서상) 저자
'디버깅을 통해 배우는 리눅스 커널의 구조와 원리' (2021년, 대한민국 학술원 우수도서상) 저자
'프로그래머스 데브 코스: 리눅스 시스템 및 커널 전문가' 메인 강사
국내에서 어느 누구보다 리눅스 커널과 Arm 아키텍처(Armv8-A, Armv7-A)를 잘 설명할 수 있는 교육자라고 자신있게 말씀드릴 수 있습니다.
강의문의 : austindh.kim@gmail.com
주요 로드맵 🎯
'시스템 소프트웨어 개발자를 위한 Arm - basic course'
'시스템 소프트웨어 개발자를 위한 Arm - advanced course'
시스템 소프트웨어 개발자를 위한 Linux kernel - basic course
Courses
Reviews
- Introduction to Linux and Linux Kernel Overview [Author's Lecture Part 1-1]
dbswjd17979520
·
Structure and Principles of Arm Architecture for System Software Development - Part 1, Taught by the Author (2024 Version)Structure and Principles of Arm Architecture for System Software Development - Part 1, Taught by the Author (2024 Version)- Arm Architecture and Linux Kernel Interface - Author-led Lecture
geunilbae3588
·
Structure and Principles of the Linux Kernel: Debugging - Advanced Practice [Author's Lecture Part 1-3]Structure and Principles of the Linux Kernel: Debugging - Advanced Practice [Author's Lecture Part 1-3]- Armv8-A Architecture Overview for Junior Developers (Taught by the Author)
Posts
Q&A
강의자료 요청
아래 강의에서 강의 자료를 확인하실 수 있습니다.1. 강의 자료 (메모리 모델과 배리어)문서: Arm_메모리 모델과 배리어_강의자료.pdf감사합니다.
- Likes
- 0
- Comments
- 4
- Viewcount
- 39
Q&A
강의자료 요청
7/4(토) 까지 '강의 자료'를 업로드하도록 하겠습니다. 감사합니다.
- Likes
- 0
- Comments
- 4
- Viewcount
- 39
Q&A
SP와 SP_ELn의 관계
(늦게 답변을 드려서 죄송합니다.)제가 진행한 이번 강의는 너무 Arm 아키텍처 관점으로만 SPn와 SP를 설명드린 것 같습니다.일반적으로 EL0이나 EL1, EL2 그리고 EL3에서는 소프트웨어 관점으로 바라보는 스택은 SP 레지스터로만 관리됩니다. 함수를 C 언어로 프로그램한 다음에 해당 코드를 어셈블리 명령어로 분석하면 SP 레지스터만 보일 뿐입니다. 예를 들어, 아래 코드를 보겠습니다. NUX:FFFFFFC010B05F90|__smccc_workaround.:hint #0x10 ; #16 NUX:FFFFFFC010B05F94| sub sp,sp,#0x20 ; sp,sp,#32'sub sp,sp,#0x20' 명령어는 실행되는 위 코드가 실행되는 익셉션 레벨에 따라 아래 레지스터가 함께 업데이트 됩니다- EL0: sp, sp_el0- EL1: sp, sp_el1- EL2: sp, sp_el2 - EL3: sp, sp_el3 감사합니다.
- Likes
- 0
- Comments
- 2
- Viewcount
- 81
Q&A
[진로 관련 문의]
늦게 답신드려서 죄송합니다. 펩리스 업체에서 개발하는 주요 정보는 외부에 공유되어 있지 않아 구체적으로답변을 드리기는 어렵습니다. 일반화하면 - 현업 Video IP/DSP는 대부분 아래 흐름으로 처리됩니다. Linux driver probe: 리눅스 플렛폼 디바이스 구조 파악 + 디바이스 트리firmware binary loading: request_firmware() 등등의 커널 API 사용 방법reserved memory mapping: 디바이스 트리로 메모리 매핑을 설명mailbox/interrupt communication: request_irq() 함수를 사용해서 인터럽트 등록DSP start위와 같은 시나리오로 코드를 분석하시고, 간단한 mock firmware loading project를 진행하시면 좋겠습니다. 조금 더 구체적인 답변을 드리지 못하는 점 양해 부탁드립니다.
- Likes
- 0
- Comments
- 2
- Viewcount
- 79
Q&A
T32 Simulator 사용법 질문
TRACE32 프로그램을 설치하신 경로를 먼저 확인해주시면 좋겠습니다.아래 스틸컷과 같이 압축을 해제하셨는지 확인 부탁드립니다. 그래도 안되면, 다시 질문을 업데이트해주세요.(사진)
- Likes
- 0
- Comments
- 2
- Viewcount
- 63
Q&A
T32 Installation
(제가 늦게 질문을 확인해서, 늦게 답변 드리는 점 양해 부탁합니다.)에러가 발생한 이유는 T32/ELF 폴더에 vmlinux_aarch64 파일이 존재하지 않기 때문입니다. 아래 강의에 업로드한 ELF.zip 파일의 압축을 푸신 후에,'강의 7: 추가 ELF 파일 업데이트 (T32/ELF 폴더)' C:T32/ELF 폴더에 ELF 파일을 위치시키면 잘 동작할 것입니다.* 참고로 vmlinux_aarch64 파일은 다른 Arm 아키텍처 강의에서 활용된 ELF 파일입니다.
- Likes
- 0
- Comments
- 2
- Viewcount
- 97
Q&A
강의 슬라이드 문의
아래 강의에 가시면, 섹션2와 섹션3을 포함한 전체 강의 슬라이드를 확인하실 수 있습니다:'2. 강의 슬라이드 문서 자료'감사합니다.
- Likes
- 0
- Comments
- 3
- Viewcount
- 92
Q&A
강의 슬라이드 문의
먼저 강의를 들어주셔서 감사합니다. 문의하신 강의 슬라이드는 3/27(금) 까지 업로드하도록 하겠습니다. 감사합니다.
- Likes
- 0
- Comments
- 3
- Viewcount
- 92
Q&A
5장 Armv7 동작모드와 6장 Armv8 익셉션 레벨 차이
Armv8와 Armv7 아키텍처 별로 용어는 다르지만, 동작 모드와 익셉션 레벨은 거의 유사한 개념입니다.Arm 아키텍처는 동작 모드와 익셉션 레벨을 Privilege level를 나타내는 용어라고 설명합니다.구체적으로 말씀드리면:1) Privilege level 0 - Armv7: User mode (유저 애플리케이션 실행) - Armv8: EL0 (유저 애플리케이션 실행)2) Privilege level 1 - Armv7: Supervisor mode, IRQ mode, Abort mode, Undefined mode (리눅스 커널 실행) - Armv8: EL1 (리눅스 커널 실행)감사합니다.
- Likes
- 0
- Comments
- 2
- Viewcount
- 91
Q&A
강의 업로드 오류 확인 요청
확인 후, "42. 워크 핸들러에 전달되는 매개 인자 디버깅"의 강의를 제대로 다시 업데이트했습니다. 오류를 지적해주셔서 감사드리고, 같은 실수를 하지 않게 앞으로 강의를 잘 업로드 하겠습니다.감사합니다.
- Likes
- 0
- Comments
- 2
- Viewcount
- 88





![Thumbnail image of the Introduction to Linux and Linux Kernel Overview [Author's Lecture Part 1-1]](https://cdn.inflearn.com/public/courses/333097/cover/8e09c5df-0571-462e-878c-39ddf13549b6/333097.png?w=148)


![Thumbnail image of the Structure and Principles of the Linux Kernel: Debugging - Advanced Practice [Author's Lecture Part 1-3]](https://cdn.inflearn.com/public/courses/333192/cover/bc7d9889-21ec-44d7-bcb0-10452507d7b3/333192.png?w=148)