inflearn logo
知識共有
inflearn logo

Linuxカヌネルの構造ず原理デバッグ - Advanced 実戊 [著者盎講 第1郚-3]

システム゜フトりェアで最も倚く䜿われおいる、最新のリナックスカヌネル(v6.1)の最も高床なカヌネルメモリダンプデバッグスキルを、『デバッグを通じお孊ぶLinuxカヌネルの構造ず原理』の著者が詳しく解説したす。

難易床 䞭玚以䞊

受講期間 無制限

trace32
trace32
Linux
Linux
linux-kernel
linux-kernel
Operating System
Operating System
debugging
debugging
trace32
trace32
Linux
Linux
linux-kernel
linux-kernel
Operating System
Operating System
debugging
debugging

受講埌に埗られるこず

  • TRACE32ずCrash UtilityプログラムによるLinuxカヌネルメモリダンプデバッグ

  • 実践プロゞェクトを開発する過皋で遭遇し埗る、さたざたなケヌススタディ

  • ブヌトタむム ftrace トレヌサヌ

  • Crash Utilityプログラムを実行しお、Linuxカヌネルの䞻芁なデヌタ構造をデバッグする

  • TRACE32プログラムを実行しおLinuxカヌネルの䞻芁なデヌタ構造をデバッグ

<お知らせ>

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

受講生200名突砎リ눅슀 컀널의 구조와 원늬を蚘念しお、30%割匕クヌポンを発行したす。ありがずうございたす。先着200名様限定です。

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

今回の講矩<リナックスカヌネルの構造ず原理デバッグ - Advanced 実戊 [著者盎講 第1郚-3]>は、ロヌドマップ'システム゜フトりェア開発者のための Linux kernel - basic course'に含たれおいる講矩です。

䜓系的にリナックスカヌネルを構成する䞻芁機胜を孊びたい方は、ロヌドマップ党講矩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システム゜フトりェア開発者が最も高めたい開発胜力ずは

Linuxシステム゜フトりェア開発者が最も孊びたい実務スキルは䜕でしょうかそれはたさにデバッグスキルです。デバッグは問題解決胜力に比䟋するため、デバッグ胜力を高めたいず考えおいたす。Linuxカヌネルに関するブログや資料は倚いですが、最新のデバッグ技法を掻甚しお問題を䜓系的に解決する方法はほずんど扱われおいたせん。

そこで、私が執筆した'デバッグを通じお孊ぶLinuxカヌネルの構造ず原理'の第3章「デバッグずコヌド孊習」で、デバッグに関する内容を扱っおいたす。

講矩の差別化ポむント

今回の講矩は、これたでYouTubeや他の講矩プラットフォヌムで䞀床も扱われたこずのないコンテンツで構成されおいたす 最新のLinuxカヌネルデバッグ手法ず、倚様なケヌススタディを扱いたす。たた、Linuxカヌネルのメモリダンプを通じおカヌネルのデヌタ構造をデバッグする方法を玹介したす。この講矩を受講される方は、教育甚プログラムTRACE32をダりンロヌドしお、盎接実習を行うこずができたす。

1. 実践開発に最も近いデバッグ手法を網矅

就職準備生や新人開発者が最も知りたがっおいる業務スキルは、どのようなデバッグツヌルを掻甚しお、どのようにデバッグするかです。今回の講矩では、最も高床なデバッグ手法である「カヌネルメモリダンプ」を掻甚しお、カヌネルのデヌタ構造をデバッグする方法を玹介したす。

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

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

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

3. 最新のftraceデバッグ手法「boot-time tracer」の玹介

Linuxカヌネルのバヌゞョンがアップグレヌドされるに぀れ、デバッグ手法も進化しおいたす。ftraceでは、簡単な蚭定を倉曎するだけでブヌト過皋におけるカヌネルの動䜜をトレヌスできる「boot-time tracer」機胜が提案されたした。今回の講矩では、「boot-time tracer」を掻甚する様々な方法を玹介したす。

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

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

こんな内容を孊びたす

実戊プロゞェクトでダンプ解析が必芁な理由に぀いお説明したす。実戊プロゞェクトでよく掻甚されるCrash-UtilityずTRACE32に぀いお玹介したす。

Crash-UtilityずTRACE32を䜿甚しお、実際のプロゞェクトでどのような方法でデバッグを行うのかを詳现に説明したす。

TRACE32を解説する本の内容を説明しながら、TRACE32を実際に動かしおデバッグを行いたす。授業を聞きながら、教育甚TRACE32プログラム教育甚シミュレヌタ甚をダりンロヌドしお䞀緒に進めながら実習を行うこずができたす。

「講矩資料」にアップロヌドされたTRACE32教育甚、シミュレヌタプログラムをむンストヌルしお実行する方法を説明したす。たた、「講矩資料」にアップロヌドされたカヌネルメモリダンプをダりンロヌドし、TRACE32プログラムでカヌネルメモリダンプをロヌドする方法を詳现に説明したす。


ftraceを蚭定する3぀の方法を玹介し、boot-time ftrace tracerが必芁な理由に぀いお詳现に説明したす。

boot-time ftrace tracerを蚭定する方法を説明し、関連するカヌネル゜ヌスコヌドを詳现に分析したす。

ブヌトコマンドラむンを蚭定する方法を玹介し、関連するftraceログを詳现に分析したす。カヌネルログをftraceログずしお抜出する方法ず、関連するメッセヌゞを分析する方法を玹介したす。

ftraceメッセヌゞを詳现に分析し、関連する動䜜原理を説明したす。たた、initcallに関連するカヌネル゜ヌスコヌドも詳しく分析したす。

Crash Utilityプログラムを実行しお、Linuxカヌネルの䞻芁なデヌタ構造をデバッグしたす。関連するカヌネルドラむバの゜ヌスコヌドも䜵せお分析しながら、動䜜原理を詳现に説明したす。


Crash Utilityプログラムでリナックスカヌネルダンプをデバッグしながら、関連機胜の詳现な動䜜原理を説明したす。


実戊プロゞェクトを開発する過皋で遭遇する可胜性のある、さたざたなケヌススタディを玹介したす。関連するカヌネルログずカヌネルの動䜜原理を詳现に分析したす。たた、デバッグを通じおどのように問題を解決するかに぀いおも説明したす。


実戊プロゞェクトの開発過皋で遭遇する可胜性のあるスタック汚染やメモリリヌクの問題に関するケヌススタディを説明したす。

Linuxカヌネルのメモリシステムのデヌタ構造ず構成に぀いお、Crash Utilityデバッグを通じお説明したす。

本で玹介されたTRACE32の䞻芁コマンドメモリアドレスのキャスティングに぀いお説明したす。実際にTRACE32プログラムで関連コマンドを䜿甚する方法を詳しく説明したす。

システムコヌルテヌブルのシンボル情報を説明し、TRACE32のコマンド(d.v %y.ll sys_call_table)を䜿甚しおシステムコヌルハンドラ関数の情報を確認したす。続く講矩では、TRACE32の䞻芁なコマンドずずもに、Linuxカヌネルの栞心的なデヌタ構造に぀いおも説明したす。

実際のプロゞェクトを進める過皋で掻甚される実甚的なコマンド%lオプションレゞスタ情報の出力を詳しく説明したす。

教育甚TRACE32プログラムず3぀のLinuxカヌネルメモリダンプを提䟛

今回の講矩では、リヌックスシステム゜フトりェア業界で最も進んだAdvancedデバッグ方匏である - グロヌバル最高氎準のシステム半導䜓䌁業である、クアルコムのリヌックスカヌネル開発者たちがデバッグする - リヌックスカヌネルメモリダンプをデバッグする方法を玹介したす。TRACE32やCrash utilityのようなデバッグプログラムを掻甚し、&#39;リヌックスカヌネルメモリを&#39;デバッグできる高床なデバッグ方法を提䟛したす。

✅ 教育甚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およびバヌゞョン(OS): ラズベリヌパむ(ラズビアン)、リナックスカヌネル v6.1

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

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


前提知識および泚意事項

  • おおよそリ눅슀가どのように動䜜するのかを知っおおくず良いです。

  • 'Linuxカヌネルの構造ず原理デバッグ - 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

もっず芋る

カリキュラム

党䜓

42件 ∙ (5時間 39分)

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

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

受講レビュヌ

党䜓

13ä»¶

5.0

13件の受講レビュヌ

  • redkyo008975님의 프로필 읎믞지
    redkyo008975

    受講レビュヌ 4

    ∙

    平均評䟡 5.0

    5

    100% 受講埌に䜜成

    • heecheolsong님의 프로필 읎믞지
      heecheolsong

      受講レビュヌ 21

      ∙

      平均評䟡 5.0

      5

      31% 受講埌に䜜成

      • aceoftop1975님의 프로필 읎믞지
        aceoftop1975

        受講レビュヌ 121

        ∙

        平均評䟡 5.0

        5

        100% 受講埌に䜜成

        2024/07/30/火 20:25 講矩はよく聞きたした。経隓された話もたくさんしおいただき、難しいlinux/armに぀いお、簡単に説明しおいただきありがずうございたす。 5075幎生たれですね。幎次を䜿っお今講矩を聞きたした。急いでみなさん、もう䞀床聞かなければなりたせんね。^^;いないから、私が感じた心を䌝えるこずができたせんね。 linuxに぀いお少しず぀進んでいけるず思いたす。

        • yerinjeon9731님의 프로필 읎믞지
          yerinjeon9731

          受講レビュヌ 3

          ∙

          平均評䟡 5.0

          5

          62% 受講埌に䜜成

          • kdpark5057님의 프로필 읎믞지
            kdpark5057

            受講レビュヌ 2

            ∙

            平均評䟡 5.0

            5

            100% 受講埌に䜜成

            austinkimの他の講座

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

            䌌おいる講座

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

            ï¿¥7,018