![Arm 아키텍처: 트러스트존(TrustZone) [저자직강 3부-1]강의 썸네일](https://cdn.inflearn.com/public/courses/332739/cover/000c70cc-3a46-4f03-87f0-02f16dbf9b1e/332739.png?w=420)
Arm 아키텍처: 트러스트존(TrustZone) [저자직강 3부-1]
김동현 (Austin Kim)
시스템 소프트웨어의 기본 중의 기본, 최신 Arm 아키텍처(Armv8-A, Armv7-A)의 핵심인 트러스트존(TrustZone)을 "시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리"의 저자가 제대로 잡아드립니다!
초급
ARM Architecture, armv8, armv7
The author of "Learning the Structure and Principles of the Linux Kernel Through Debugging" thoroughly explains the core concepts of processes in the latest Linux kernel (v6.1), which is most widely used in system software.
224 learners
The role of processes in the Linux kernel
Basic way a process operates
Process's stack structure
How to debug a process's various execution flows with TRACE32
Process Behavior in Multi-core System Architecture
To celebrate the 500th person signing up for the Linux Kernel course, we are issuing a 30% discount coupon. Thank you. First 100 people.
30% off coupon link: https://inf.run/x38bh
This lecture <Structure and Principles of the Linux Kernel: Process [Author Direct Lecture Part 1-4]> is a roadmap 'Linux kernel - basic course for system software developers' This lecture is included in .
If you want to learn the main features that make up the Linux kernel systematically , we recommend using the roadmap ( 30% discount on all lectures ).
What is the most used operating system in all IT devices? It is the Linux operating system. It is used in smart phones, digital TVs, aviation entertainment systems, and servers. System semiconductor companies use Linux (Linux device drivers) to control the hardware they design. Linux is also widely used in various components (infotainment, autonomous driving, telematics) that make up electric vehicles (Automotive).
The core of the Linux operating system is the Linux kernel. Along with the Armv8-A architecture, the Linux kernel can be considered the most essential foundational knowledge required in the current system software industry.
✅ Junior developer in the Linux system software field, including system semiconductors and electric vehicles (autonomous driving, infotainment)
✅ Job seekers who want to work in the Linux system software development field, such as system semiconductors and electric vehicles
✅ Applicants for graduate school in the field of Linux system software (memory, file system, operating system)
✅ Developers from other fields who want to transition their careers into Linux system software.
However, the Linux kernel is a huge barrier for beginners in the field of system software. Beginners may have given up several times while learning the Linux kernel. The difficult Linux kernel version is evolving more and more complex as it is upgraded. After 2024, the Linux kernel version will be upgraded to v6.6 or higher , which makes the entry barrier higher.
Linux system software developers who are deployed in various fields including system semiconductors and electric vehicles know that they need to know the Linux kernel well to improve their development capabilities. However, it is difficult to get a sense of how to learn the Linux kernel and, above all, what content they need to know well in practice.
What topics do beginners learn first when learning the Linux kernel? Most learn processes. The book 'Linux Kernel' starts with processes. Processes are also said to be a must-know topic along with file systems and memory systems.
How do beginners feel when they start learning the process? They think the process is something they absolutely must know, but they get bored easily. Why is that? They think there is no content that can be applied directly to real-world projects. Also, the process is boring because there is a lot of vague content. In the end, even if you study hard, the content you learn does not stay for a long time.
So, in my book 'Structure and Principles of the Linux Kernel', I have structured it in a variety of ways so that readers can learn the process through ftrace debugging practice.
This lecture consists of content that has never been covered on YouTube or any other lecture platform before ! We will debug the task_struct and thread_info structures representing processes through Linux kernel memory dumps. Those who take this lecture can download the educational program (TRACE32) and practice it themselves.
1. Provides TRACE32 simulator program (for educational purposes) and 8 Linux kernel dumps.
The TRACE32 debugger and program are widely used in the development of Linux system software. The TRACE32 program requires a license to run. If you take this course, you can download the educational TRACE32 simulator program from 'Inflearn lecture materials' and directly use the TRACE32 simulator program to debug memory dumps. You can also download and practice 8 kernel memory dumps that can debug various operations of the process (process creation, termination, interrupt context).
2. Explain the basic concepts of the process in an easy and detailed manner.
When learning the Linux kernel, you analyze the kernel source. However, you encounter many obstacles in the process of analyzing the kernel source. It is difficult to determine the flow in which the function is called, and what the actual values of the data structure of the routine being analyzed are. This lecture will dismantle all these obstacles.
We analyze the Linux kernel source related to the process along with the call stack and detailed data structure of the TRACE32 program. You can learn the process much more efficiently than when you learn the Linux kernel on your own. We also analyze the ftrace messages extracted from the memory dump, so you can understand the operating principles of the process in three dimensions.
3. Introduction to debugging methods used by Linux kernel BSP developers at global system semiconductor companies
The system semiconductor industry is on the rise these days. How does Qualcomm, a global system semiconductor company with the best technology, debug Linux kernel drivers?
This lecture covers this. We will load the memory dump with crash-utility to analyze the main operation of the kernel, while using the TRACE32 simulator to debug the kernel data structures related to the process, especially when the process stack is broken or stack overflow occurs, and the debugging method is something that even top-level fabless developers do not know well.
We will explain about processes, one of the three major resources in the Linux system, and why you should learn about processes. We will provide an easy introduction to the basic concepts of processes.
Describes the execution space of a process and explains why you need to know about it.
Analyze the basic behavior of a process using the Crash-Utility and TRACE32 debugging programs.
The task_struct structure, which stores and manages process attribute information, is analyzed using the TRACE32 and Crash-Utility debugging programs.
Describes the current macro, which is widely used in various functions and subsystems of the Linux kernel. Kernel source code
We analyze in detail down to the assembly code level.
Describes the flow of process execution in a multi-core system architecture. Also describes the data structures related to it.
Debug the process creation and termination in detail using the TRACE32 program. Explain the process's data structure and function call flow in detail. (Students can download the TRACE32 program and kernel memory dump uploaded in this lecture and practice by following along.)
We will use the TRACE32 program to analyze in detail the interrupt context information of the process in which the interrupt handler is executed. We will explain the interrupt context by analyzing the ftrace messages extracted from the crash-utility program.
Analyze the dump's data structures and call stack together with the Linux kernel source code.
This lecture introduces the most advanced debugging method in the Linux system software industry - debugging Linux kernel memory dumps by Linux kernel developers at Qualcomm, a world-class system semiconductor company. It provides an advanced debugging method that can 'debug Linux kernel memory' by utilizing debugging programs such as TRACE32 and Crash utility.
✅ You can download the TRACE32 program (simulator version) for educational purposes from the course curriculum. Students can load the kernel memory dump provided in this course with the TRACE32 program and debug it while following along.
✅ You can directly download Crash Utility, which is operated as an open source project, and load kernel memory dumps to debug them. You can directly debug kernel data structures and call stacks by utilizing various functions supported by Crash Utility.
The author of the book 'Linux Kernel' and 'Arm Architecture (Armv8-A, Armv7-A)', which is unprecedented in the domestic system software field! He is also a working developer who knows the latest system software trends (electric vehicles, system semiconductors - system software) the best, and an educator who is most active in spreading knowledge in the system software field.
Author of 'Learning the Structure and Principles of the Linux Kernel through Debugging' ( 2021, Korean Academy of Sciences Outstanding Book Award )
Author of 'Arm Architecture Structure and Principles for System Software Development' (2023)
'Programmers Dev Course: Linux System and Kernel Expert' Main Instructor
June 2022, Korea Computer Conference (KCC2022) - Tutorial presentation [Conquering the Linux Kernel using ftrace]
LG Electronics 'Linux Kernel' and 'Armv8 Architecture' In-house Instructor ( including domestic and overseas developers ) - (2020~2024)
I can confidently say that I am the educator who can explain the major functions that make up the Linux kernel better than anyone else in the country.
The TRACE32 training program can only be practiced in a Windows environment.
The TRACE32 educational program may only be used for 'educational purposes' and may not be modified or distributed for commercial purposes.
If you have any questions while using the TRACE32 training program in this lecture , be sure to ask the instructor .
Operating System and Version (OS): Raspberry Pi (Raspbian), Linux Kernel v6.1
TRACE32 Educational Program and Installation Guide Document (Lecture)
8 Linux Kernel Memory Dumps (vmcore)
It would be good to have a general idea of how Linux works.
It would be best if you first listen to the lecture 'Structure and Principles of the Linux Kernel: Debugging - Basic [Author's Lecture Part 1-2]'.
If you know about operating systems and computer architecture, you will be able to take the class more easily.
No in-depth prior knowledge of the Linux kernel is required.
Who is this course right for?
Junior developer aiming to grow in system software, including system semiconductors and EV (autonomous driving, infotainment).
A job seeker aspiring to develop system software in areas such as system semiconductors and electric vehicles.
Undergraduate student aiming to pursue graduate studies in system software (memory, file systems, operating systems).
Developer from another field seeking to transition into system software
Need to know before starting?
OS
Computer Architecture
C
5,429
Learners
148
Reviews
84
Answers
4.9
Rating
21
Courses
글로벌 저자 & 리눅스 시스템 소프트웨어 개발자 (Arm, RISC-V 아키텍처)
국내 시스템 소프트웨어 분야에서 전무후무한! 'Arm 아키텍처(Armv8-A, Armv7-A)'와 '리눅스 커널' 책을 쓴 저자(2권의 책 모두 대한민국 학술원 우수도서에 선정)이며, 국내 최초로 해외 출판사(Packt)를 통해 "Reverse Engineering Armv8-A Systems" 책(영어)을 집필한 글로벌 저자입니다. 무엇보다 최신 시스템 소프트웨어 트렌드(전기자동차, 시스템 반도체- 시스템 소프트웨어)를 가장 잘 알고 있는 현업 개발자입니다. 또한 시스템 소프트웨어 분야에서 가장 지식 전파 활동을 활발하게 하는 교육자입니다.
'Reverse Engineering Armv8-A Systems: A practical guide to Kernel, Firmware, and TrustZone analysis' 책(영어) 저자, (Packt 출판사)
'시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리'(2024년, 대한민국 학술원 우수도서상) 저자
'디버깅을 통해 배우는 리눅스 커널의 구조와 원리' (2021년, 대한민국 학술원 우수도서상) 저자
'프로그래머스 데브 코스: 리눅스 시스템 및 커널 전문가' 메인 강사
2022년 6월, 한국컴퓨터종합학술대회 (KCC2022) - 튜토리얼 발표 [ftrace를 이용해 리눅스 커널 정복하기]
LG전자 '리눅스 커널' 및 'Armv8 아키텍처' 사내 강사(국내 및 해외 개발자 포함) - (2020년~현재)
국내에서 어느 누구보다 리눅스 커널과 Arm 아키텍처(Armv8-A, Armv7-A)를 잘 설명할 수 있는 교육자라고 자신있게 말씀드릴 수 있습니다.
강의문의 : austindh.kim@gmail.com
'시스템 소프트웨어 개발자를 위한 Arm - basic course'
All
71 lectures ∙ (9hr 21min)
Course Materials:
All
5 reviews
5.0
5 reviews
Reviews 1
∙
Average Rating 5.0
Reviews 11
∙
Average Rating 5.0
Reviews 5
∙
Average Rating 5.0
Reviews 3
∙
Average Rating 5.0
Reviews 94
∙
Average Rating 5.0
$42.90
Check out other courses by the instructor!
Explore other courses in the same field!