inflearn logo
知識共有
inflearn logo

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

システム゜フトりェアで最も倚く䜿われる、最新のリナックスカヌネル(v6.1)の割り蟌みの栞心抂念を「デバッグを通じお孊ぶリナックスカヌネルの構造ず原理」の著者が詳しく解説したす。

難易床 初玚

受講期間 無制限

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

受講埌に埗られるこず

  • 割り蟌みの基本抂念ず動䜜方匏

  • デバむスドラむバの芳点から芋た割り蟌みの凊理方匏

  • Armアヌキテクチャの芳点から芋た割り蟌み凊理方匏

  • 割り蟌みを管理するデヌタ構造

<お知らせ>

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

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

-30%割匕クヌポンリンク : https://inf.run/i3zsz  

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

今回の講矩<リ눅슀 컀널의 구조와 원늬: 읞터럜튞 [저자 직강 1부-5]>は、ロヌドマップ'시슀템 소프튞웚얎 개발자륌 위한 Linux kernel - basic course'に含たれおいる講矩です。<linux kernel structure and principles: interrupts [author's lecture part 1-5]>.</linux>

䜓系的にリ눅슀カヌネルを構成する䞻芁機胜を孊びたい方は、ロヌドマップ党講矩30%割匕を掻甚するこずをお勧めしたす。).

システム半導䜓、自動車分野など

システム゜フトりェア開発者なら必ず知っおおくべきリヌックスカヌネル


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

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

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

✅ システム半導䜓、電気自動車分野自動運転、むンフォテむンメントを含むリ눅슀システム゜フトりェア分野のゞュニア開発者

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

✅ リナックスシステム゜フトりェア分野メモリ、ファむルシステム、オペレヌティングシステムの倧孊院進孊垌望者 in the field of Linux system software (memory, file systems, operating systems)

✅ Linuxシステム゜フトりェア分野ぞキャリアチェンゞしようずしおいる他分野の開発者 to the Linux system software field

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

システム半導䜓や電気自動車分野を含む、様々な分野で掻躍しおいるリヌックスシステム゜フトりェア開発者の方々は、リヌックスカヌネルを熟知しおこそ開発胜力を高められるずいう事実は理解しおいたす。しかし、リヌックスカヌネルをどのように孊ぶべきか、そしお䜕より実務においおどのような内容を深く理解しおおくべきか、掎みづらい状況にありたす。

Linuxデバむスドラむバ開発の栞心である割り蟌み

初めおリナックスシステム゜フトりェア開発者ずしお入門するず、どのような仕事をするのでしょうかプロゞェクトの性質やミッションによっお異なりたすが、ほずんどの堎合はリナックスデバむスドラむバを開発したす。リナックスデバむスドラむバを開発する際、必ず実装し最適化しなければならない芁玠の䞀぀が割り蟌みむンタラプトです。たた、割り蟌みはリナックスカヌネルを構成する䞻芁な機胜ず深く関連しおいたす。割り蟌みのボトムハヌフ凊理、動的タむマヌ、プリ゚ンプティブスケゞュヌリングPreemptive scheduling、およびシグナル動䜜ず深い関わりがありたす。

そこで、私が執筆した曞籍『Linuxカヌネルの構造ず原理』の第5章で割り蟌みに぀いお説明しおいたす。読者の皆さんがftraceデバッグの実習を通じお、さたざたな方法で割り蟌みを孊べるように構成したした。

講矩の差別化ポむント

今回の講矩は、これたでYouTubeやどの講矩プラットフォヌムでも扱われたこずのないコンテンツで構成されおいたす むンタラプトの動䜜方匏ず関連するデヌタ構造を、リヌックスカヌネルメモリダンプを通じおデバッグしたす。この講矩を受講される方は、教育甚プログラムTRACE32をダりンロヌドしお盎接実習するこずができたす。

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

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

2. 割り蟌みの基本抂念を分かりやすく詳现に説明

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

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

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

最近、システム半導䜓業界が泚目を集めおいたす。グロヌバルシステム半導䜓䌁業の䞭でも最高の技術力を誇るクアルコムのLinuxカヌネルBSP開発者は、どのような方法でLinuxカヌネルドラむバをデバッグしおいるのでしょうか

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

こんな内容を孊びたす

たず、割り蟌みを凊理する方匏を説明し、さたざたな芳点から割り蟌みが凊理される流れを説明したす。

Linuxカヌネルずナヌザヌアプリケヌションで割り蟌みが発生した際の党䜓の実行フロヌを、Armv8アヌキテクチャの芳点から詳现に説明したす。

Linuxカヌネルで割り蟌みが発生した際のArmv8の䟋倖ベクトルテヌブルを分析したす。続いお凊理される䟋倖ハンドラヌルヌチンを詳现に分析したす。

ナヌザヌアプリケヌションで割り蟌みが発生した際のArmv8の䟋倖ベクトルテヌブルを分析したす。続いお凊理される䟋倖ハンドラルヌチンを、アセンブリ呜什レベルたで詳现に分析したす。

割り蟌みが凊理される流れを党䜓像で分析し、IRQサブシステムArmアヌキテクチャに䟝存しないで実行される関数を詳现に説明したす。

TRACE32ずCrash-utilityデバッグプログラムを䜿甚しお、䞭断むンタヌラプトに関連するデヌタ構造を分析したす。

TRACE32で割り蟌みハンドラであるbcm2835_mmc_irq()関数をデバッグしたす。コヌルスタックず関連するデヌタ構造ずずもに、割り蟌みハンドラの゜ヌスコヌドを詳现に分析したす。

割り蟌みコンテキストを玹介し、割り蟌みコンテキストを確認できる䟋瀺コヌドを説明したす。

割り蟌みコンテキストを掻性化するカヌネル゜ヌスコヌドを分析したす。割り蟌みコンテキストでスリヌプに移行するカヌネル関数を呌び出しおはいけない理由を説明し、䟋ずしおミュヌテックスを取埗する際の䟋倖凊理コヌドを玹介したす。

割り蟌みサヌビスルヌチンの実行を終えた埌に凊理されるプリ゚ンプションPreemptionの動䜜方匏を詳现に説明したす。たた、プリ゚ンプションが発生する際の動䜜をTRACE32デバッグプログラムで詳现にデバッグしたす。

割り蟌みの動䜜をトレヌスするftraceむベントの蚭定方法を玹介したす。ftraceメッセヌゞを詳现に分析しながら、割り蟌みハンドラの実行フロヌず割り蟌みコンテキストの条件に぀いお説明したす。

割り蟌みの動䜜をトレヌスするftraceメッセヌゞを出力するカヌネル゜ヌスコヌドを詳现に分析したす。

教育甚TRACE32プログラムず6぀のリナックスカヌネルメモリダンプを提䟛

今回の講矩では、Linuxシステム゜フトりェア業界で最も高床なAdvancedデバッグ方匏である、グロヌバル最高氎準のシステム半導䜓䌁業であるクアルコムのLinuxカヌネル開発者たちがデバッグする、Linuxカヌネルメモリダンプをデバッグする方法を玹介したす。TRACE32やCrash utilityなどのデバッグプログラムを掻甚しお、割り蟌みの䞻芁なデヌタ構造をデバッグするこずができたす。

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

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

執筆・講矩の経隓を掻かし、
誰よりも深く詳现に

囜内のシステム゜フトりェア分野においお前䟋のない「Linuxカヌネル」本ず「ArmアヌキテクチャArmv8-A, Armv7-A」本を執筆した著者です。たた、最新のシステム゜フトりェアトレンド電気自動車、システム半導䜓-システム゜フトりェアを最も熟知しおいる珟圹の開発者であり、システム゜フトりェア分野で最も掻発に知識共有掻動を行っおいる教育者でもありたす。

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

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

  • 'Programmers Dev Course: Linuxシステムおよびカヌネル゚キスパヌト' メむン講垫

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

  • LG電子「リ눅슀 컀널Linuxカヌネル」および「Armv8 아킀텍처Armv8アヌキテクチャ」瀟内講垫囜内および海倖開発者を含む - 2020幎〜2024幎


囜内の誰よりも、リ눅슀カヌネルを構成する䞻芁な機胜を分かりやすく説明できる教育者であるず、自信を持っお申し䞊げられたす。

受講前のご参考事項

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

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

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

  • 今回の講矩のTRACE32教育甚プログラムを䜿甚䞭に䞍明な点があれば、必ず教育担圓者に質問しおください。

実習環境および提䟛される講矩資料

  • オペレヌティングシステムおよびバヌゞョン(OS): ラズベリヌパむ(ラズビアン)、リナックスカヌネル v6.1

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

  • 6個のリナックスカヌネルメモリダンプ(vmcore)

前提知識および泚意事項

  • おおよそリヌックスがどのように動䜜するのかを知っおおくず良いです。

  • 'リナックスカヌネルの構造ず原理デバッグ - Basic [著者盎講 第1郚-2]' 講矩をできるだけ先に受講しおから来られるこずをお勧めしたす。

  • OSやコンピュヌタ構成に぀いお知っおいるず、よりスムヌズに受講するこずができたす。

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

こんな方に
おすすめです

孊習察象は
誰でしょう

  • システム半導䜓、電気自動車分野自動運転、むンフォテむンメントを含むシステム゜フトりェア分野で、自らの胜力を高めおいきたいゞュニア開発者

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

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

  • システム゜フトりェア分野ぞキャリアチェンゞしようずしおいる他分野の開発者

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

  • C蚀語

  • コンピュヌタ構成論

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

こんにちは
austinkimです。

6,316

受講生

241

受講レビュヌ

96

回答

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

もっず芋る

カリキュラム

党䜓

56件 ∙ (6時間 13分)

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

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

受講レビュヌ

党䜓

6ä»¶

5.0

6件の受講レビュヌ

  • dlrbcnvk님의 프로필 읎믞지
    dlrbcnvk

    受講レビュヌ 19

    ∙

    平均評䟡 4.9

    5

    60% 受講埌に䜜成

    • heecheolsong님의 프로필 읎믞지
      heecheolsong

      受講レビュヌ 21

      ∙

      平均評䟡 5.0

      5

      30% 受講埌に䜜成

      • ioniakim2638님의 프로필 읎믞지
        ioniakim2638

        受講レビュヌ 9

        ∙

        平均評䟡 4.9

        5

        100% 受講埌に䜜成

        • lord8465님의 프로필 읎믞지
          lord8465

          受講レビュヌ 2

          ∙

          平均評䟡 5.0

          5

          31% 受講埌に䜜成

          • aceoftop1975님의 프로필 읎믞지
            aceoftop1975

            受講レビュヌ 121

            ∙

            平均評䟡 5.0

            5

            100% 受講埌に䜜成

            2024/07/14/日 15:27 講矩は本圓によく聞きたした。 ありがずうございたす。

            austinkimの他の講座

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

            䌌おいる講座

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

            ï¿¥7,018