강의

멘토링

로드맵

Hardware

/

Embedded IoT

Kiến trúc Arm và giao diện nhân Linux - Giảng dạy trực tiếp của tác giả

Tác giả của "시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리" sẽ giúp bạn nắm bắt chính xác cốt lõi của kiến trúc Arm (Armv8-A) và giao diện nhân Linux!

(4.4) 5 đánh giá

123 học viên

  • austinkim
저자 직강
이론 중심
arm-linux
리눅스커널
운영체제
어셈블리어
Linux
linux-kernel
armv8
ARM Architecture
assembly-language

Dịch cái này sang tiếng Việt

  • Có thể hiểu các phương thức hoạt động chính tạo nên Kiến trúc Arm (Armv8-A).

  • Có thể hiểu giao diện của kiến trúc Arm và nhân Linux (tiến trình, xử lý ngắt, lời gọi hệ thống, quản lý bộ nhớ).

  • Bạn có thể học các chức năng cốt lõi cấu thành kernel Linux như: tiến trình, xử lý ngắt, lời gọi hệ thống và kỹ thuật quản lý bộ nhớ.

  • Thanh ghi, xử lý ngoại lệ, lệnh assembly, TrustZone và phương pháp quản lý bộ nhớ có thể được phân tích bằng mã nguồn hiện có trong nhân Linux.

1. Tặng phiếu giảm giá 30% khi có 300 người đăng ký

Để chào mừng 300 học viên (Phần 1 và 2), chúng tôi xin gửi tặng phiếu giảm giá 30% dành cho 200 người đầu tiên.

2. Hướng dẫn lộ trình 🎯

Bài giảng này là một lộ trình 'Arm - khóa học nâng cao dành cho nhà phát triển phần mềm hệ thống ' Bài giảng này được bao gồm trong .


Nếu bạn muốn tìm hiểu kiến trúc Arm (Armv8-A, Armv7-A) một cách có hệ thống , bạn nên sử dụng lộ trình ( giảm giá 30% cho tất cả các bài giảng ). Để tham khảo, lộ trình kiến trúc Arm (tất cả các bài giảng của tác giả) là Khóa học cơ bản Khóa học nâng cao Nó bao gồm hai phần.


Điều quan trọng nhất trong phần mềm hệ thống hiện đại
Kiến trúc Arm và Nhân Linux

Bộ xử lý Arm được sử dụng trong điện thoại thông minh, chất bán dẫn hệ thống SoC AI, xe điện (lái xe tự động, thông tin giải trí), máy chủ đám mây và MacBook đều là bộ xử lý Cortex-A 64-bit dựa trên Armv8-A (Cortex-A53, Cortex-A57, Cortex-A72, v.v.). Kiến trúc Armv8-A có thể được coi là kiến thức cơ bản cần thiết nhất trong ngành phần mềm hệ thống hiện nay.

Trong xe điện và hệ thống bán dẫn
Hạt nhân hệ điều hành chạy nhanh nhất

Nhân Linux, cùng với bộ xử lý Arm, được sử dụng trong điện thoại thông minh, máy chủ đám mây và hệ thống xe điện . Ngoài ra, hầu hết các nhà phát triển phần mềm hệ thống trong ngành công nghiệp bán dẫn hệ thống (fabless) đều sử dụng nhân Linux hoặc trình điều khiển thiết bị Linux để lập trình trình điều khiển điều khiển chip mà họ thiết kế .

Tóm lại, nhân hệ điều hành được chạy phổ biến nhất trên bộ xử lý Arm là nhân Linux.

' Giao diện giữa kiến trúc Arm và hạt nhân Linux '
4 lý do tại sao bạn nên học

1⃣ Trước tiên, nếu bạn đã quen thuộc với giao diện giữa kiến trúc ARM và nhân Linux (phân tích lệnh hợp ngữ), bạn có thể hiểu rõ hơn về hoạt động chi tiết của kiến trúc ARM. Điều này là do bạn có thể nội suy những gì đã học bằng cách phân tích mã nguồn triển khai những gì bạn đã học về mặt lý thuyết.

2⃣ Thứ hai, các chức năng cốt lõi của nhân Linux, chẳng hạn như quy trình, xử lý ngắt, lệnh gọi hệ thống và kỹ thuật quản lý bộ nhớ, được triển khai bằng cách sử dụng các tính năng của kiến trúc CPU. Nếu bạn đã quen thuộc với giao diện giữa kiến trúc ARM và nhân Linux, bạn có thể hiểu sâu sắc hoạt động chi tiết của nhân Linux.

3⃣ Thứ ba, bằng cách phân tích các thanh ghi, xử lý ngoại lệ, lệnh lắp ráp, vùng tin cậy và phương pháp quản lý bộ nhớ trong mã nguồn của hạt nhân Linux, bạn có thể tìm hiểu về kiến trúc Arm và hạt nhân Linux cùng nhau.

4⃣ Thứ tư, bộ xử lý ARM và nhân Linux được sử dụng trong hơn 90% sản phẩm trong ngành công nghiệp phần mềm hệ thống. Nếu bạn hiểu cách nhân Linux hoạt động trên bộ xử lý ARM, bạn có thể áp dụng những gì đã học.

Hầu hết các phần mềm hệ thống được phát triển gần đây đều được phát triển trên bộ xử lý Arm và môi trường Linux, do đó kiến thức liên quan đến phần mềm này là rất cần thiết.

Dựa trên kinh nghiệm viết sách và giảng bài của tôi
Sâu sắc và chi tiết hơn bất kỳ ai khác!

Các nhà phát triển đã từng tham dự bài giảng của tác giả về "Cấu trúc Kiến trúc ARM và Nguyên tắc Phát triển Phần mềm Hệ thống" có thể sẽ ngạc nhiên. Điều này là do giảng viên về kiến trúc ARM đột nhiên nói về nhân Linux. Tuy nhiên, tôi là tác giả không chỉ viết sách về kiến trúc ARM mà còn viết cả sách về nhân Linux. Lịch sử chính của tôi liên quan đến nhân Linux như sau.

  • Tác giả của 'Tìm hiểu cấu trúc và nguyên tắc của hạt nhân Linux thông qua gỡ lỗi' ( Giải thưởng Sách xuất sắc của Viện Hàn lâm Khoa học Hàn Quốc năm 2021)

  • Tác giả của ' Cấu trúc và nguyên tắc của kiến trúc Arm cho phát triển phần mềm hệ thống ' ( Giải thưởng sách xuất sắc của Viện Hàn lâm Khoa học Hàn Quốc năm 2024 )

  • 'Khóa học Lập trình viên: Chuyên gia về Hệ thống và Nhân Linux ' Giảng viên chính

  • Tháng 6 năm 2022, Hội nghị máy tính Hàn Quốc (KCC2022) - Bài thuyết trình hướng dẫn
    [ Chinh phục nhân Linux bằng ftrace ]


  • Giảng viên nội bộ về 'Linux Kernel' của LG Electronics (bao gồm các nhà phát triển trong và ngoài nước ) - (2020-nay)


Là giảng viên của khóa học này, tôi tự tin rằng tôi có thể giải thích 'Kiến trúc Arm và giao diện hạt nhân Linux' tốt hơn bất kỳ ai khác.

Tôi giới thiệu điều này cho những người này

Người tìm việc và nhà phát triển phần mềm hệ thống, bao gồm hệ thống bán dẫn (không có nhà máy) và xe điện (lái xe tự động, thông tin giải trí)

Các nhà phát triển phần mềm hệ thống muốn biết cách gỡ lỗi trong thực tế bằng cách tận dụng các tính năng của kiến trúc Arm.

Sinh viên đại học có mục tiêu học lên cao học trong lĩnh vực phần mềm hệ thống (bộ nhớ, hệ thống tệp, hệ điều hành)

Sau giờ học

  • Hiểu các nguyên lý hoạt động chi tiết của kiến trúc Arm

  • Hiểu cách các hệ thống con chính của hạt nhân Linux được triển khai bằng cách tận dụng các tính năng của kiến trúc Arm.

  • Hiểu cách hạt nhân Linux triển khai lập lịch ngữ cảnh

  • Hiểu hoạt động chi tiết của các lệnh gọi hệ thống và trình xử lý ngoại lệ trong hạt nhân Linux

  • Hiểu cách hạt nhân Linux triển khai hệ thống bộ nhớ của nó

Tìm hiểu về những điều này

Dành cho những sinh viên chưa quen thuộc với Linux, khóa học này giới thiệu cấu trúc tổng thể của một hệ thống Linux. Khóa học giải thích chi tiết ba tài nguyên chính quan trọng đối với nhân Linux.

Mô tả cốt lõi của hạt nhân Linux: các tiến trình (không gian người dùng và không gian hạt nhân, tiến trình người dùng, luồng hạt nhân).

Mô tả cấu trúc dữ liệu của một quy trình phụ thuộc vào kiến trúc Arm, bao gồm chi tiết các nguyên tắc hoạt động, đặc biệt là các thanh ghi liên quan đến chuyển đổi ngữ cảnh.

Hành vi chuyển đổi ngữ cảnh phụ thuộc vào kiến trúc Arm được mô tả chi tiết thông qua phân tích lệnh lắp ráp.

Giải thích luồng xử lý ngắt một cách tổng quan. Phương pháp xử lý ngắt được giải thích chi tiết thông qua phân tích 'Bảng vectơ ngoại lệ của kiến trúc Armv8'.

Luồng xử lý ngắt được giải thích dựa trên hai tình huống (ngắt xảy ra trong quá trình thực thi ứng dụng của người dùng, ngắt xảy ra trong quá trình thực thi mã kernel). Tiếp theo, mã xử lý ngoại lệ (mã hợp ngữ) sẽ được xem xét chi tiết.

Chúng tôi xem xét toàn bộ luồng thực thi của lệnh gọi hệ thống và giải thích chi tiết nội dung của bảng vectơ ngoại lệ liên quan đến lệnh gọi hệ thống.

Chúng tôi phân tích chương trình lệnh SVC được thực thi khi một lệnh gọi hệ thống được kích hoạt trong không gian người dùng. Sau đó, chúng tôi mô tả chi tiết chương trình xử lý ngoại lệ được thực thi trong không gian hạt nhân trong quá trình kích hoạt một lệnh gọi hệ thống.

Mô tả các API lõi của kernel được xử lý khi một lệnh gọi hệ thống được kích hoạt (thực thi lệnh SVC) và trình xử lý lệnh gọi hệ thống được gọi trong không gian kernel. Tài liệu này cũng đề cập chi tiết đến thông tin ký hiệu lõi của trình xử lý lệnh gọi hệ thống.

Bài viết này giới thiệu các chức năng chính của quản lý bộ nhớ trong hạt nhân Linux và giải thích các tính năng liên quan đến quản lý bộ nhớ cần biết theo góc nhìn của kiến trúc Arm.

Chúng tôi giới thiệu cấu hình để thiết lập phạm vi địa chỉ ảo trong nhân Linux. Sau đó, chúng tôi mô tả giao diện được hỗ trợ cho bảng trang đa cấp trong nhân Linux.

Phần này trình bày chi tiết cách thức hoạt động của tra cứu trang được xử lý bằng giao diện được hỗ trợ bởi hạt nhân Linux và cấu trúc của macro sửa lỗi.

Đánh giá khóa học sống động được để lại bởi học viên

<Cấu trúc và nguyên lý của kiến trúc Arm cho phát triển phần mềm hệ thống - Phần 1/2 Bài giảng của tác giả>


Những điều cần lưu ý trước khi tham gia lớp học

Kiến thức & Ghi chú của Người chơi 📢

  • Chúng tôi khuyên bạn nên tham dự bài giảng của tác giả (Phần 1/2) về 'Cấu trúc và nguyên tắc của kiến trúc Arm cho phát triển phần mềm hệ thống' trước.

  • Kiến thức bắt buộc là các mức ngoại lệ, ngoại lệ, AAPCS và quản lý bộ nhớ (MMU) của kiến trúc Arm.

  • Sẽ rất tốt nếu có được ý tưởng chung về cách thức hoạt động của Linux.

  • Không cần có kiến thức chuyên sâu về hạt nhân Linux.

Khuyến nghị cho
những người này

Khóa học này dành cho ai?

  • Người tìm việc và lập trình viên junior ngành phần mềm hệ thống

  • Nhà phát triển SW hệ thống muốn biết cách gỡ lỗi dùng tính năng kiến trúc Arm.

  • Lập trình viên từ lĩnh vực khác muốn chuyển đổi sự nghiệp sang lĩnh vực phần mềm hệ thống

  • Sinh viên đại học có mục tiêu học lên cao học ngành phần mềm hệ thống.

Cần biết trước khi bắt đầu?

  • Kiến trúc máy tính

  • Hệ điều hành

Xin chào
Đây là

5,781

Học viên

173

Đánh giá

89

Trả lời

4.9

Xếp hạng

22

Các khóa học

글로벌 저자 & 리눅스 시스템 소프트웨어 개발자 (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'

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

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

Chương trình giảng dạy

Tất cả

25 bài giảng ∙ (3giờ 51phút)

Ngày đăng: 
Cập nhật lần cuối: 

Đánh giá

Tất cả

5 đánh giá

4.4

5 đánh giá

  • sunny75님의 프로필 이미지
    sunny75

    Đánh giá 102

    Đánh giá trung bình 5.0

    5

    100% đã tham gia

    2024/07/30/화 10:40 강의 잘 들었습니다. 알려 주신 로드맵( Arm basic/advanced )으로 많은 것을 배웠습니다. 모든 강의가 다 좋네요. 들으면서 "와~~" 라고 혼자 엄청 느꼈습니다. 감사합니다. 이젠 남은 강의를 다 들어서, 알려주신 로드맵을 다 들으려고 합니다. 감사합니다.

    • 김현문님의 프로필 이미지
      김현문

      Đánh giá 2

      Đánh giá trung bình 4.0

      4

      100% đã tham gia

      • ej3989님의 프로필 이미지
        ej3989

        Đánh giá 4

        Đánh giá trung bình 5.0

        5

        100% đã tham gia

        • yjjung님의 프로필 이미지
          yjjung

          Đánh giá 2

          Đánh giá trung bình 5.0

          5

          32% đã tham gia

          • 응애님의 프로필 이미지
            응애

            Đánh giá 5

            Đánh giá trung bình 3.4

            3

            96% đã tham gia

            1.074.356 ₫

            Khóa học khác của austinkim

            Hãy khám phá các khóa học khác của giảng viên!

            Khóa học tương tự

            Khám phá các khóa học khác trong cùng lĩnh vực!