ArmアーキテクチャとLinuxカーネルインターフェース - 著者直講

Armアーキテクチャ(Armv8-A)とLinuxカーネルインターフェースの核心を、『システムソフトウェア開発のためのArmアーキテクチャの構造と原理』の著者がしっかりと解説します!

難易度 中級以上

受講期間 無制限

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

受講後に得られること

  • Armアーキテクチャ(Armv8-A)を構成する主要な動作方式を把握することができます。

  • ArmアーキテクチャとLinuxカーネルのインターフェース(プロセス、割り込みハンドリング、システムコール、メモリ管理)を理解することができます。

  • Linuxカーネルを構成する核心機能であるプロセス、割り込みハンドリング、システムコール、メモリ管理技法を学ぶことができます。

  • レジスタ、例外処理、アセンブリ命令、TrustZone、そしてメモリ管理方式を、Linuxカーネルに存在するソースコードで分析することができます。

1. 300名突破 30%割引クーポン発行

受講生300名突破(1、2部)を記念して、30%割引クーポンを発行します。ありがとうございます。先着200名様限定です。

2. ロードマップのご案内 🎯

今回の講義<ArmアーキテクチャとLinuxカーネルインターフェース - 著者直伝>は、ロードマップ「システムソフトウェア開発者のためのArm - advanced course」に含まれている講義です。


体系的にArmアーキテクチャ(Armv8-A, Armv7-A)を学びたい方は、ロードマップ(全講義30%割引)を活用することをお勧めします。ちなみに、Armアーキテクチャのロードマップ(著者直講全編)はBasic CourseAdvanced Courseの2つで構成されています。.


最新のシステムソフトウェアにおいて最も重要な
ArmアーキテクチャとLinuxカーネル

スマートフォンはもちろん、AI用SoCシステム半導体、電気自動車Automotive(自動運転、インフォテインメント)、そしてクラウドサーバーやMacBookで使用されるArmプロセッサは、すべてArmv8-Aベースの64ビットCortex-Aプロセッサ(Cortex-A53、Cortex-A57、Cortex-A72など...)です。現在のシステムソフトウェア業界で最も必要とされる基礎知識が、Armv8-Aアーキテクチャであると言えます。

電気自動車、システム半導体で
最も多く実行されているオペレーティングシステムカーネル

ArmプロセッサとともにLinuxカーネルは、スマートフォンをはじめとするクラウドサーバー、そして電気自動車システムで使用されています。また、システム半導体業界(ファブレス)のシステムソフトウェア開発者の多くは、LinuxカーネルやLinuxデバイスドライバを使用して、自身が設計したチップを制御するドライバプログラミングを行っています。

もう一度まとめると! Armプロセッサ上で最も多く実行されているオペレーティングシステムのカーネルは、まさにLinuxカーネルです。

'ArmアーキテクチャとLinuxカーネルのインターフェース'を
学ぶべき4つの理由

1⃣ 第一に、ArmアーキテクチャとLinuxカーネルのインターフェース(アセンブリ命令の分析)を熟知していれば、Armアーキテクチャの詳細な動作方式をより深く理解できます。理論で学んだ内容が実装されたソースコードを分析することで、学んだ内容を自分のものにできるからです。

2⃣ 第二に、Linuxカーネルを構成する核心機能であるプロセス、割り込みハンドリング、システムコール、メモリ管理技法は、CPUアーキテクチャの機能を活用して実装されています。ArmアーキテクチャとLinuxカーネルのインターフェースをよく理解すれば、Linuxカーネルの詳細な動作を深く把握することができます。

3⃣ 第三に、レジスター、エクセプションハンドリング、アセンブリ命令、トラストゾーン、そしてメモリ管理方式をリ눅スカーネルに存在するソースコードで分析すれば、Armアーキテクチャを構成する内容とリ눅スカーネルを共に学ぶことができます。

4⃣ 第四に、ArmプロセッサとLinuxカーネルは、システムソフトウェア業界の90%以上の製品で使用されています。LinuxカーネルがArmプロセッサ上でどのように動作するかを把握すれば、学んだ内容を十分に活用することができます。

最近開発されているほとんどのシステムソフトウェアは、ArmプロセッサとLinux環境で開発されているため、これらに関する知識は必ず知っておく必要があります。

本の執筆・講義経験をもとに
誰よりも深く詳細に!

「システムソフトウェア開発のためのArmアーキテクチャの構造と原理」の著者直伝の講義を聞いた開発者の方々は、不思議に思うかもしれません。今回のArmアーキテクチャ講師が、急にリ눅スカーネルの話を始めたからです。しかし、私はArmアーキテクチャだけでなく、リ눅スカーネルの本も執筆した著者です。リ눅スカーネルに関する主な経歴は以下の通りです。 lần này đột nhiên lại nói về nhân Linux (Linux kernel). Tuy nhiên, tôi không chỉ là tác giả sách về kiến trúc Arm mà còn là tác giả của sách về nhân Linux. Dưới đây là những kinh nghiệm chính liên quan đến nhân Linux của tôi:

  • 'デバッグを通じて学ぶLinuxカーネルの構造と原理' (2021年、大韓民国学術院 優秀図書賞) 著者

  • 'システムソフトウェア開発のためのArmアーキテクチャの構造と原理' (2024年、大韓民国学術院 優秀図書賞) 著者

  • 'Programmers Dev Course: Linuxシステムおよびカーネルエキスパート' メイン講師

  • 2022年6月、韓国コンピュータ総合学術大会 (KCC2022) - チュートリアル発表
    [ftraceを利用してLinuxカーネルを攻略する]


  • LG電子「リナックスカーネル」社内講師(国内および海外開発者を含む) - (2020年〜現在)


今回のコースの講師である私が、誰よりも「ArmアーキテクチャとLinuxカーネルのインターフェース」をうまく説明できると自負しております。

このような方におすすめです

システム半導体(ファブレス)、電気自動車分野(自動運転、インフォテインメント)を含むシステムSW分野の就職準備生およびジュニア開発者

Armアーキテクチャの機能を活用して、実務でどのようにデバッグを行うかを知りたいシステムソフトウェア開発者

システムソフトウェア分野(メモリ、ファイルシステム、オペレーティングシステム)の大学院進学を目指す大学生

受講後には

  • Armアーキテクチャの詳細な動作原理を把握

  • Armアーキテクチャの機能を活用して、Linuxカーネルの主要なサブシステムがどのように実装されているかを把握

  • リ눅스 커널의 컨텍스트 스케줄링 구현 방식 이해

  • Linuxカーネルのシステムコールと例外ハンドラの詳細な動作方式の理解

  • Linuxカーネルのメモリシステムの実装方式の把握

こんな内容を学びます

Linuxに慣れていない受講生のために、Linuxシステムの全体構造を紹介します。Linuxカーネルで重要とされる3大リソースについて詳しく説明します。

Linuxカーネルの核心であるプロセス(ユーザー空間およびカーネル空間、ユーザープロセス、カーネルスレッド)について説明します。

Armアーキテクチャに依存するプロセスのデータ構造を説明します。特にコンテキストスイッチに関連するレジスタを中心に、動作原理を詳細に扱います。

Armアーキテクチャに依存するコンテキストスイッチの動作を、アセンブリ命令の分析によって詳細に説明します。

割り込みが処理される流れを大きな枠組みで説明します。割り込みを処理する方式を「Armv8アーキテクチャの例外ベクトルテーブル」の分析を通じて詳細に説明します。

割り込みが処理されるフローを2つのシナリオ(ユーザーアプリケーションの実行中に割り込みが発生、カーネルコードの実行中に割り込みが発生)に基づいて説明します。続いて、例外ハンドラコード(アセンブリコード)を詳細にレビューします。

システムコールの全体的な実行フローをレビューし、システムコール関連の例外ベクトルテーブルの内容を詳細に説明します。

ユーザー空間でシステムコールを誘発する際に実行されるSVC命令ルーチンを分析します。続いて、システムコールが誘発される過程でカーネル空間で実行される例外ハンドラルーチンを詳細に説明します。

システムコールが誘発された(SVC命令の実行)後、カーネル空間でシステムコールハンドラが呼び出される過程で処理されるカーネルの核心APIを説明します。また、システムコールハンドラの主要なシンボル情報まで詳細に扱います。

Linuxカーネルにおけるメモリ管理を構成する主要な機能を紹介し、Armアーキテクチャの観点から知っておくべきメモリ管理関連の機能について説明します。

Linuxカーネルで仮想アドレスの範囲を設定するコンフィグを紹介します。続いて、Linuxカーネルでマルチレベルページテーブルのためにサポートされているインターフェースを説明します。

Linuxカーネルでサポートされているインターフェースを使用して処理されるページルックアップの動作原理と、fixupマクロの構造について詳細に説明します。

受講生が残したリアルな受講評

<システムソフトウェア開発のためのArmアーキテクチャの構造と原理 - 1/2部 著者直講>


受講前のご参考事項

前提知識および注意事項 📢

  • 'システムソフトウェア開発のためのArmアーキテクチャの構造と原理' 著者直講講義(1/2部)を先に受講されることを推奨します。

  • 前提知識は、Armアーキテクチャのエクセプションレベル、エクセプション、AAPCS、メモリ管理(MMU)です。

  • おおよそリナックスがどのように動作するのかをご存知であれば良いです。

  • Linuxカーネルに関する深い予備知識は必要ありません。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • システムソフトウェア分野の就活生およびジュニア開発者

  • Armアーキテクチャの機能を活用したデバッグ手法を知りたいシステムSW開発者

  • システムソフトウェア分野へキャリアチェンジしようとしている他分野の開発者

  • システムソフトウェア分野の大学院進学を目指す大学生

前提知識、
必要でしょうか?

  • コンピュータ構成論

  • オペレーティングシステム

こんにちは
austinkimです。

6,507

受講生

262

受講レビュー

102

回答

4.9

講座評価

23

講座

グローバル著者 & リナックスシステムソフトウェア開発者 (Arm, RISC-V アーキテクチャ)

国内のシステムソフトウェア分野において前例のない!「Armアーキテクチャ(Armv8-A, Armv7-A)」と「Linuxカーネル」の本を執筆した著者(2冊とも大韓民国学術院の優秀図書に選定であり、国内初めて海外出版社(Packt)を通じて「Reverse Engineering Armv8-A Systems」の本(英語)を執筆したグローバル著者です。何よりも最新のシステムソフトウェアトレンド(電気自動車、システム半導体-システムソフトウェア)を最も熟知している現役エンジニアです。また、システムソフトウェア分野で最も活発に知識共有活動を行っている教育者でもあります。

  • 'Reverse Engineering Armv8-A Systems: A practical guide to Kernel, Firmware, and TrustZone analysis' 著者(英語、Packt出版), (Packt Publishing)

  • 『システムソフトウェア開発のためのArmアーキテクチャの構造と原理』2024年、大韓民国学術院優秀図書賞)著者)

  • 『デバッグを通じて学ぶLinuxカーネルの構造と原理』2021年、大韓民国学術院 優秀図書賞)著者)

  • 「Programmers Dev Course:Linuxシステムおよびカーネル専門家」メイン講師

  • 2022年6月、韓国コンピューター総合学術大会 (KCC2022) - チュートリアル発表 [ftraceを利用してリ눅스カーネルを攻略する]

  • LG電子「Linuxカーネル」および「Armv8アーキテクチャ」社内講師(国内および海外開発者を含む) - (2020年〜現在)

韓国国内で誰よりもリ눅스カーネルとArmアーキテクチャ(Armv8-A, Armv7-A)を分かりやすく説明できる教育者であると、自信を持って申し上げます。

講義に関するお問い合わせ:austindh.kim@gmail.com

主要ロードマップ 🎯

'システムソフトウェア開発者のためのArm - basic course'

'システムソフトウェア開発者のためのArm - advanced course'

システムソフトウェア開発者のためのLinux kernel - basic course

もっと見る

受講レビュー

全体

8件

4.6

8件の受講レビュー

  • aceoftop1975님의 프로필 이미지
    aceoftop1975

    受講レビュー 122

    平均評価 5.0

    5

    100% 受講後に作成

    2024/07/30/火 10:40 講義はよく聞きました。お知らせいただいたロードマップ( Arm basic/advanced )で多くを学びました。すべての講義がいいですね。聞きながら&quot;と~~"って一人ですごく感じました。 ありがとうございます。もう残りの講義をすべて聞いて、教えてくれたロードマップをすべて聞こうと思います。ありがとうございます。

    • llon44518288님의 프로필 이미지
      llon44518288

      受講レビュー 10

      平均評価 4.9

      5

      100% 受講後に作成

      明快な説明で、該当の内容について簡単に学ぶことができました。ありがとうございます。

      • 16225864175님의 프로필 이미지
        16225864175

        受講レビュー 6

        平均評価 5.0

        5

        100% 受講後に作成

        • heecheolsong님의 프로필 이미지
          heecheolsong

          受講レビュー 24

          平均評価 5.0

          5

          32% 受講後に作成

          • jangmh7595님의 프로필 이미지
            jangmh7595

            受講レビュー 4

            平均評価 5.0

            5

            32% 受講後に作成

            austinkimの他の講座

            知識共有者の他の講座を見てみましょう!

            似ている講座

            同じ分野の他の講座を見てみましょう!