강의

멘토링

커뮤니티

Hardware

/

Embedded IoT

Arm Architecture and Linux Kernel Interface - Author's Direct Lecture

The author of "Structure and Principles of Arm Architecture for System Software Development" will accurately grasp the core of Arm architecture (Armv8-A) and the Linux kernel interface!

(4.6) 7 reviews

130 learners

Level Intermediate

Course period Unlimited

  • austinkim
Linux
Linux
linux-kernel
linux-kernel
armv8
armv8
ARM Architecture
ARM Architecture
assembly-language
assembly-language
Linux
Linux
linux-kernel
linux-kernel
armv8
armv8
ARM Architecture
ARM Architecture
assembly-language
assembly-language

What you will gain after the course

  • You can understand the main operating principles that form the Arm architecture (Armv8-A).

  • I can understand the interface between Arm architecture and Linux kernel (processes, interrupt handling, system calls, memory management).

  • Learn core functions forming the Linux kernel: processes, interrupt handling, system calls, and memory management techniques.

  • Register, exception handling, assembly instructions, TrustZone, and memory management can be analyzed using the Linux kernel source code.

1. 30% Discount Coupon Issued for Breaking 300 Students

To commemorate reaching 300 students (Parts 1 & 2), we are issuing a 30% discount coupon. Thank you. Limited to the first 200 people.

2. Roadmap Guide 🎯

This lectureRoad Map'Arm for System Software Developers - Advanced Course'is included in the course.


For those who want to learn Arm architecture (Armv8-A, Armv7-A) systematically, it would be good to utilize the roadmap (30% discount on all courses). For reference, the Arm architecture roadmap (all courses taught directly by the author) isBasic Course andAdvanced CourseIt consists of 2 components.


The most important in modern system software
Arm architecture and Linux kernel

Not only smartphones but also AI SoC system semiconductors, electric vehicle Automotive (autonomous driving, infotainment), and Arm processors used in cloud servers and MacBooks are all Armv8-A based 64-bit Cortex-A processors (Cortex-A53, Cortex-A57, Cortex-A72, etc...). Currently, the content that requires the most needed foundational knowledge in the system software industry can be considered the Armv8-A architecture.

In electric vehicles and system semiconductors
The most widely executed operating system kernel

Along with Arm processors, the Linux kernel is used in smartphones, cloud servers, and electric vehicle systems. Additionally, most system software developers in the system semiconductor industry (fabless) do driver programming to control the chips they design using the Linux kernel or Linux device drivers.

To summarize once again! The kernel of the operating system that runs most frequently on Arm processors is the Linux kernel.

'Arm Architecture and Linux Kernel Interface'
4 Reasons Why You Should Learn It

1⃣ First, if you have a good understanding of the interface between Arm architecture and the Linux kernel (assembly instruction analysis), you can better understand the detailed operational mechanisms of Arm architecture. This is because analyzing source code that implements theoretically learned content allows you to internalize what you've learned.

2⃣ Second, the core functions that make up the Linux kernel—processes, interrupt handling, system calls, and memory management techniques—are implemented by leveraging CPU architecture features. Understanding the interface between Arm architecture and the Linux kernel well allows you to gain deep insight into the detailed operations of the Linux kernel.

3⃣ Third, by analyzing registers, exception handling, assembly instructions, TrustZone, and memory management methods through source code that exists in the Linux kernel, you can learn both the components that make up the Arm architecture and the Linux kernel together.

4⃣ Fourth, Arm processors and the Linux kernel are used in over 90% of system software industry products. Understanding how the Linux kernel operates on Arm processors will help you effectively utilize what you've learned.

Since most system software developed recently is created in Arm processor and Linux environments, knowledge related to this is essential.

Based on book writing/lecture experience
Deeper and more detailed than anyone else!

Developers who have taken the direct lecture on 'Structure and Principles of Arm Architecture for System Software Development' might find this puzzling. This is because the Arm architecture instructor is suddenly talking about the Linux kernel. However, I am an author who has written not only about Arm architecture but also about the Linux kernel. My major background related to the Linux kernel is as follows:

  • Author of 'Learning Linux Kernel Structure and Principles through Debugging' (2021, Korea Academy of Sciences Excellence in Books Award)

  • 'Structure and Principles of Arm Architecture for System Software Development' (2024 Korea Academy of Sciences Excellence in Books Award) Author

  • Main instructor for 'Programmers Dev Course: Linux System and Kernel Expert'

  • June 2022, Korea Computer Congress (KCC2022) - Tutorial Presentation
    [Conquering the Linux Kernel with ftrace]


  • LG Electronics 'Linux Kernel' In-house Instructor (including domestic and overseas developers) - (2020~Present)


As the instructor of this course, I can confidently say that I can explain the 'Arm architecture and Linux kernel interface' better than anyone else.

I recommend this for people like this

Job seekers and junior developers in system software fields including system semiconductors (fabless), electric vehicle sectors (autonomous driving, infotainment)

System software developers who want to know how to debug in practice by utilizing Arm architecture features

Undergraduate student aiming for graduate school admission in the system software field (memory, file systems, operating systems)

After taking the course

  • Understanding the detailed operating principles of Arm architecture

  • Understanding how major Linux kernel subsystems are implemented by leveraging the features of Arm architecture

  • Understanding the Implementation of Context Scheduling in the Linux Kernel

  • Understanding the Detailed Operation of System Calls and Exception Handlers in the Linux Kernel

  • Understanding the Implementation of Linux Kernel Memory System

You'll learn this kind of content

This introduces the overall structure of the Linux system for students who are not familiar with Linux. It provides detailed explanations of the three major resources that are importantly handled by the Linux kernel.

This explains processes, which are the core of the Linux kernel (user space and kernel space, user processes, kernel threads).

This explains the data structures of processes dependent on Arm architecture. It covers the operating principles in detail, focusing on registers related to context switching.

Explains in detail the operation of context switching dependent on Arm architecture through assembly instruction analysis.

This explains the flow of interrupt processing from a big picture perspective. It provides a detailed explanation of the interrupt processing method through analysis of the 'Armv8 architecture exception vector table'.

This explains the interrupt processing flow based on two scenarios (interrupt occurring during user application execution, interrupt occurring during kernel code execution). It then provides a detailed review of the exception handler code (assembly code).

Review the overall execution flow of system calls and provide a detailed explanation of the contents of the exception vector table related to system calls.

We analyze the SVC instruction routine that executes when a system call is triggered from user space. We then provide a detailed explanation of the exception handler routine that runs in kernel space during the system call invocation process.

This explains the core kernel APIs that are processed during the process of calling system call handlers in kernel space after a system call is triggered (SVC instruction execution). It also covers the core symbol information of system call handlers in detail.

Introduces the main functions that constitute memory management in the Linux kernel and explains memory management-related features that should be understood from an Arm architecture perspective.

This introduces the configuration for setting the range of virtual addresses in the Linux kernel. It then explains the interfaces that the Linux kernel supports for multi-level page tables.

This provides a detailed explanation of the operating principles of page lookup processing using interfaces supported by the Linux kernel and the structure of fixup macros.

Authentic reviews from learners


Pre-enrollment Reference Information

Prerequisites and Important Notes 📢

  • We recommend that you first listen to the author's direct lecture (Part 1/2) on 'Structure and Principles of Arm Architecture for System Software Development'.

  • The prerequisite knowledge includes Arm architecture exception levels, exceptions, AAPCS, and memory management (MMU).

  • It would be good if you have a rough understanding of how Linux works.

  • You don't need deep prerequisite knowledge about the Linux kernel.

Recommended for
these people

Who is this course right for?

  • System software job seekers and junior developers

  • System SW developer interested in debugging methods leveraging Arm architecture features.

  • Developer from another field looking to transition to system software

  • Undergraduate student aiming for graduate school in the system software field.

Need to know before starting?

  • Computer Architecture

  • Operating System

Hello
This is

6,220

Learners

233

Reviews

93

Answers

4.9

Rating

22

Courses

Global Author & Linux System Software Developer (Arm, RISC-V Architecture)

A global author who has written unprecedented books on 'Arm Architecture (Armv8-A, Armv7-A)' and the 'Linux Kernel' in the domestic system software field (both books were selected as Excellent Academic Books by the National Academy of Sciences of the Republic of Korea), and is the first in Korea to author the book (in English) "Reverse Engineering Armv8-A Systems" through an international publisher (Packt). Above all, he is an active developer who is most well-versed in the latest system software trends (electric vehicles, system semiconductors-system software). He is also an educator who is most actively engaged in spreading knowledge within the system software field.

  • Author of the book (English) 'Reverse Engineering Armv8-A Systems: A practical guide to Kernel, Firmware, and TrustZone analysis', (Packt Publishing)

  • Author of 'Structure and Principles of Arm Architecture for System Software Development' (2024 National Academy of Sciences Outstanding Book Award)

  • Author of 'Structure and Principles of the Linux Kernel Learned Through Debugging' (2021, National Academy of Sciences Outstanding Scholarly Book Award)

  • Main Instructor for 'Programmers Dev Course: Linux System and Kernel Expert'

  • June 2022, Korea Computer Congress (KCC2022) - Tutorial Presentation [Conquering the Linux Kernel Using ftrace]

  • LG Electronics 'Linux Kernel' and 'Armv8 Architecture' internal instructor (including domestic and overseas developers) - (2020–Present)

I can confidently say that I am an educator who can explain the Linux kernel and Arm architecture (Armv8-A, Armv7-A) better than anyone else in Korea.

Lecture Inquiries: austindh.kim@gmail.com

Main Roadmap 🎯

'Arm for System Software Developers - basic course'

'Arm for System Software Developers - advanced course'

Linux kernel for system software developers - basic course

Curriculum

All

25 lectures ∙ (3hr 51min)

Published: 
Last updated: 

Reviews

All

7 reviews

4.6

7 reviews

  • aceoftop1975님의 프로필 이미지
    aceoftop1975

    Reviews 114

    Average Rating 5.0

    5

    100% enrolled

    2024/07/30/Tue 10:40 I listened to the lecture well. I learned a lot from the roadmap (Arm basic/advanced) you gave me. All the lectures are good. I felt "Wow~~" while listening to it. Thank you. Now I will listen to the remaining lectures and listen to the roadmap you gave me. Thank you.

    • heecheolsong님의 프로필 이미지
      heecheolsong

      Reviews 19

      Average Rating 5.0

      5

      32% enrolled

      • jangmh7595님의 프로필 이미지
        jangmh7595

        Reviews 4

        Average Rating 5.0

        5

        32% enrolled

        • hanskim님의 프로필 이미지
          hanskim

          Reviews 2

          Average Rating 4.0

          4

          100% enrolled

          • 16225864175님의 프로필 이미지
            16225864175

            Reviews 6

            Average Rating 5.0

            5

            100% enrolled

            $39.60

            austinkim's other courses

            Check out other courses by the instructor!

            Similar courses

            Explore other courses in the same field!