inflearn logo
inflearn logo

Linuxカヌネルの構造ず原理割り蟌み埌半郚 [著者盎講 1郚-6]

システム゜フトりェアで最もよく䜿われおいる、最新のLinuxカヌネル(v6.1)の「割り蟌み埌半郚」の栞心抂念を、「デバッグを通しお孊ぶLinuxカヌネルの構造ず原理」の著者がきちんず説明したす。

難易床 初玚

受講期間 無制限

Operating System
Operating System
Linux
Linux
linux-kernel
linux-kernel
ARM Architecture
ARM Architecture
interrupt
interrupt
Operating System
Operating System
Linux
Linux
linux-kernel
linux-kernel
ARM Architecture
ARM Architecture
interrupt
interrupt

受講埌に埗られるこず

  • むンタラプトの埌半郚 基本抂念ず動䜜方匏

  • デバむスドラむバの芳点から、割り蟌み埌半郚の凊理方匏

  • threaded IRQフィヌチャで割り蟌みの埌半を凊理する方匏

  • Softirq 凊理方匏ずタスクレット

<お知らせ>

1. 500名突砎30%割匕クヌポン発行🙏

Linuxカヌネル講座の受講者500名突砎を蚘念しお、30%割匕クヌポンを発行いたしたす。ありがずうございたす。先着100名様限定です。

2. ロヌドマップ案内 🎯

今回の講矩はロヌドマップ'システム゜フトりェア開発者のためのLinux kernel - basic course'に含たれおいる講矩です。

システム半導䜓、自動車分野などのシステム゜フトりェア開発者なら

必ず知っおおくべきLinuxカヌネル

すべおのIT機噚で最も倚く䜿甚されおいるオペレヌティングシステムは䜕でしょうかそれはLinuxオペレヌティングシステムです。スマヌトフォン、デゞタルTV、航空゚ンタヌテむンメントシステム、そしおサヌバヌで䜿甚されおいたす。システム半導䜓䌁業では、LinuxLinuxデバむスドラむバヌを掻甚しお自瀟が蚭蚈したハヌドりェアを制埡しおいたす。たた、電気自動車Automotiveを構成する様々な郚品むンフォテむンメント、自動運転、テレマティクスにもLinuxが倚く掻甚されおいたす。

Linuxオペレヌティングシステムの栞心はLinuxカヌネルです。Armv8-Aアヌキテクチャず共に、珟圚のシステム゜フトりェア業界で最も必芁ずされる基盀知識が求められる内容がLinuxカヌネルずも蚀えるでしょう。

Linuxシステム゜フトりェア開発者、Linux組み蟌みシステムBSPプログラマヌ泚目

✅ システム半導䜓、電気自動車分野自埋走行、むンフォテむンメントを含むLinuxシステム゜フトりェア分野でのゞュニア開発者

✅ システム半導䜓、電気自動車分野のようなLinuxシステム゜フトりェア開発分野で働きたい就職準備生

✅ Linuxシステム゜フトりェア分野メモリ、ファむルシステム、オペレヌティングシステムの倧孊院進孊垌望者

✅ Linuxシステム゜フトりェア分野にキャリアチェンゞを目指す他分野の開発者

しかし、Linuxカヌネルはシステム゜フトりェア分野の初心者にずっお巚倧な壁のような存圚です。初心者たちはLinuxカヌネルを孊がうずしお䜕床も挫折した経隓があるでしょう。その難しいLinuxカヌネルがバヌゞョンアップされながら、たすたす耇雑に進化しおいたす。2024幎以降、Linuxカヌネルバヌゞョンはv6.6以䞊にアップグレヌドされありたすが、参入障壁がより高くなっおいたす。

システム半導䜓、電気自動車分野を含む様々な分野に配眮されたリナックスシステム゜フトりェア開発者の方々は、リナックスカヌネルをよく知っおこそ開発胜力を向䞊させるこずができるずいう事実は知っおいたす。しかしリナックスカヌネルをどのように孊ぶべきか、そしお䜕よりも実務でどのような内容をよく知っおおくべきかを把握するのが難しい状況です。

Linuxデバむスドラむバ開発の栞心䞭の栞心割り蟌み埌半郚

Linuxシステム゜フトりェア開発者ずしお入門するず、ほずんどの堎合Linuxデバむスドラむバを開発するこずになりたすが、この過皋で必ず実装し最適化しなければならない芁玠の䞀぀が割り蟌みです。割り蟌み埌半郚は割り蟌みず共に必ず知っおおくべき内容です。その理由をいく぀か挙げるず

  • ほずんどの割り蟌みハンドラは割り蟌み埌半郚技法ず䞀緒に䜿甚される。

  • 割り蟌みによっお制埡されるペリフェラルデバむスの䞻芁な問題は、割り蟌み埌半郚に関連するルヌチンにおいお - 割り蟌みハンドラず共に - 確認される。

そこで私が曞いた「Linuxカヌネルの構造ず原理」ずいう本の6章で、次のような「割り蟌み埌半郚技法」に぀いお説明しおいたす。

  • threaded IRQIRQスレッド

  • Softirq

  • タスクリット

様々な方法で読者の皆さんがftraceデバッグ実習を通じお割り蟌み埌半郚技法を孊べるよう構成したした。

講矩の差別化ポむント

今回の講矩はこれたで䞀床もYouTubeやどの講矩プラットフォヌムでも扱われたこずのないコンテンツで構成されおいたす Linuxカヌネルの割り蟌み埌半郚技法に関連するデヌタ構造ず、Linuxカヌネルを構成する様々なデヌタ構造task_struct、thread_info構造䜓をLinuxカヌネルメモリダンプを通じおデバッグしたす。この講矩を受講される方は教育甚プログラムTRACE32をダりンロヌドしお盎接実習するこずができたす。

1. TRACE32シミュレヌタヌプログラム教育甚ずLinuxカヌネルダンプ提䟛

Linuxシステム゜フトりェア開発党般にTRACE32デバッガず関連プログラムは広範囲に䜿甚されたす。TRACE32プログラムはラむセンスがなければ実行できたせん。この講矩を受講するず教育甚TRACE32シミュレヌタヌプログラムを「Inflearn講矩資料」からダりンロヌドしお、盎接TRACE32シミュレヌタヌプログラムを掻甚しおメモリダンプをデバッグするこずができたす。たた、割り蟌み埌半郚技法の様々な動䜜threaded IRQ、Softirqをデバッグできる6個のカヌネルメモリダンプをダりンロヌドしお実習するこずができたす。

2. 割り蟌み埌半郚技法の基本抂念を簡単で詳しく説明

Linuxカヌネルを孊ぶ際、カヌネル゜ヌスを分析したす。しかし、カヌネル゜ヌスを分析する過皋で倚くの障害に遭遇したす。該圓する関数がどのような流れで呌び出されるのか、分析するルヌチンのデヌタ構造が実際にどのような倀なのかを確認するこずが困難です。今回の講矩では、これらすべおの障害を解決したす。

割り蟌み埌半郚技法に関連するLinuxカヌネル゜ヌスを、TRACE32プログラムのコヌルスタックず詳现なデヌタ構造ず共に分析したす。䞀人でLinuxカヌネルを孊ぶ時よりもはるかに効率的に割り蟌み埌半郚技法を孊ぶこずができたす。たた、メモリダンプから抜出したftraceメッセヌゞたで分析するため、立䜓的に割り蟌み埌半郚技法の動䜜原理を詳现に把握するこずができたす。

3. グロヌバルシステム半導䜓䌁業のLinuxカヌネルBSP開発者が行うデバッグ手法の玹介

最近システム半導䜓業界が泚目されおいたす。グロヌバルシステム半導䜓䌁業のLinuxカヌネルシステム開発者は、どのような方法でLinuxカヌネルドラむバヌをデバッグするのでしょうか

この講矩では、この内容を扱いたす。LinuxカヌネルメモリダンプをTRACE32シミュレヌタを䜿甚しおプロセスに関連するカヌネルのデヌタ構造をデバッグしながら、crash-utilityでメモリダンプをロヌドしおカヌネルの䞻芁動䜜を分析したす。

こんな内容を孊びたす

割り蟌みが凊理される党䜓的な流れを説明し、割り蟌み埌半郚技法がなぜ必芁なのかを説明したす。

割り蟌み埌半郚技法ずしお倚く掻甚されるthreaded IRQ方匏を玹介し、栞心機胜を説明したす。

threaded IRQ技法の実行フロヌを倧きな図で説明し、゜ヌスコヌドを詳现に説明したす。

threaded IRQ関連パッチを玹介し、ftraceを蚭定する方法を玹介したす。Ftraceメッセヌゞずthreaded IRQ技法の実行フロヌを䞀緒に詳现に説明したす。

TRACE32ずCrash Utilityプログラムを䜿甚しおthreaded IRQ方匏ず関連するデヌタ構造を詳现に分析したす。

Softirqに぀いお玹介し、Softirqをよく理解すべき理由に぀いお説明したす。

Softirqの栞心であるSoftirqサヌビスの皮類ず段階別実行フロヌに぀いお詳现に説明したす。

Softirqサヌビスを芁求し実行する動䜜を - 党䜓実行フロヌず゜ヌスコヌド分析で - 詳现に説明したす。

Softirqサヌビスを実行するデヌモンであるksoftirqd/[n]カヌネルスレッドを説明し、タスクレットを詳现に分析したす。

Softirq関連のftraceトレヌスポむントを説明し、ftraceメッセヌゞを詳现に分析したす。

教育甚TRACE32シミュレヌタプログラムず6個のLinuxカヌネルメモリダンプ提䟛

この講矩では、Linuxシステム゜フトりェア業界で最も進歩したAdvancedデバッグ方匏であるLinuxカヌネルメモリダンプをデバッグしながら、割り蟌み埌半郚技法を構成するデヌタ構造ずコヌルスタックを説明したす。

TRACE32やCrash utilityなどのデバッグプログラムを掻甚しお「リナックスカヌネルメモリを」デバッグできる高床なデバッグ手法を提䟛したす。

✅ 教育甚TRACE32プログラムシミュレヌタ版を講矩カリキュラムからダりンロヌドできたす。受講生はTRACE32プログラムで今回の講矩で提䟛されるカヌネルメモリダンプをロヌドしお䞀緒に実習しながらデバッグするこずができたす。

✅ オヌプン゜ヌスプロゞェクトずしお運営されおいるCrash Utilityを盎接ダりンロヌドしお、カヌネルメモリダンプをロヌドしおデバッグするこずができたす。Crash Utilityでサポヌトされおいる様々な機胜を掻甚しお、カヌネルのデヌタ構造やコヌルスタックを盎接デバッグできたす。

曞籍執筆・講矩経隓をもずに
誰よりも深く詳现に


グロヌバル著者Linuxシステム゜フトりェア開発者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出版瀟

  • 「デバッグを通しお孊ぶLinuxカヌネルの構造ず原理」2021幎、倧韓民囜孊術院優秀図曞賞著者

  • 「システム゜フトりェア開発のためのArmアヌキテクチャの構造ず原理」2024幎、倧韓民囜孊術院優秀図曞賞著者

  • 'プログラマス デブ コヌス: Linuxシステム及びカヌネル専門家' メむン講垫 (1~2次数)

  • 2022幎6月、韓囜コンピュヌタ総合孊術倧䌚KCC2022- チュヌトリアル発衚「ftraceを利甚しおLinuxカヌネルを埁服する」

  • LG電子「Linuxカヌネル」及び「Armv8アヌキテクチャ」瀟内講垫囜内及び海倖開発者含む - 2020幎〜2024幎


囜内で誰よりもLinuxカヌネルを構成する䞻芁機胜をよく説明できる教育者だず自信を持っお申し䞊げるこずができたす。

受講前の参考事項

TRACE32プログラムをご䜿甚の際の泚意事項

  • TRACE32教育甚プログラムはWindows環境でのみ実習できたす。

  • TRACE32教育甚プログラムは、あくたで「教育甚」ずしおのみ掻甚するこずができ、商業的な甚途での修正や配垃はできたせん。

  • この講矩のTRACE32教育甚プログラムを䜿甚䞭にご質問がございたしたら必ず教育者に質問しおください。

実習環境ず提䟛される講矩資料

  • オペレヌティングシステムおよびバヌゞョン(OS)Raspberry PiRaspbian、Linuxカヌネル v6.1

  • TRACE32教育甚プログラム及びむンストヌルガむド文曞講矩

  • 6個のLinuxカヌネルメモリダンプ(vmcore)

前提知識および泚意事項

  • 倧たかにLinuxがどのように動䜜するかご存知であれば良いです。

  • 「Linuxカヌネルの構造ず原理デバッグ - Basic [著者盎講 1郚-2]」の講矩をできるだけ先に受講しおからお越しいただければず思いたす。

  • オペレヌティングシステムやコンピュヌタアヌキテクチャに぀いお知っおいれば、より楜に授業を受けるこずができたす。

  • Linuxカヌネルに関する深い予備知識は必芁ありたせん。

こんな方に
おすすめです

孊習察象は
誰でしょう

  • システム半導䜓、電気自動車分野自動運転、むンフォテむンメントを含むシステム゜フトりェア分野でスキルアップしたいゞュニア開発者

  • システム半導䜓、電気自動車分野のようなシステム゜フトりェア開発をしたい就職準備生

  • システム゜フトりェア分野(メモリ、ファむルシステム、オペレヌティングシステム)の倧孊院進孊を目暙ずする倧孊生

  • システム゜フトりェア分野ぞキャリア転換を目指す他分野の゚ンゞニア

前提知識、
必芁でしょうか

  • C蚀語

  • コンピュヌタアヌキテクチャ

  • オヌ゚ス

こんにちは
austinkimです。

6,257

受講生

236

受講レビュヌ

94

回答

4.9

講座評䟡

22

講座

グロヌバル著者  リナックスシステム゜フトりェア開発者 (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

もっず芋る

カリキュラム

党䜓

85件 ∙ (10時間 12分)

講座資料こうぎしりょう:

授業資料
講座掲茉日: 
最終曎新日: 

受講レビュヌ

党䜓

3ä»¶

5.0

3件の受講レビュヌ

  • aceoftop1975님의 프로필 읎믞지
    aceoftop1975

    受講レビュヌ 115

    ∙

    平均評䟡 5.0

    5

    100% 受講埌に䜜成

    2024/07/20/土 10:53 講矩はよく聞きたした。 講矩を聞きながら、linuxに぀いおたくさん知りたすね。他の講矩も䜜れば、よく聞いおみようず思いたす。 ありがずうございたす。

    • heecheolsong님의 프로필 읎믞지
      heecheolsong

      受講レビュヌ 21

      ∙

      平均評䟡 5.0

      5

      100% 受講埌に䜜成

      • dlrbcnvk님의 프로필 읎믞지
        dlrbcnvk

        受講レビュヌ 19

        ∙

        平均評䟡 4.9

        5

        61% 受講埌に䜜成

        austinkimの他の講座

        知識共有者の他の講座を芋おみたしょう

        䌌おいる講座

        同じ分野の他の講座を芋おみたしょう

        期間限定セヌル、あず5日日で終了

        ï¿¥38,500

        30%

        ï¿¥6,753