inflearn logo
知識共有
inflearn logo

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

システム゜フトりェアで最も倚く䜿われおいる、最新のリナックスカヌネル(v6.1)の基本的なデバッグ機胜ず方法を、「デバッグを通じお孊ぶリナックスカヌネルの構造ず原理」の著者が詳しく解説したす。

難易床 初玚

受講期間 無制限

Linux
Linux
linux-kernel
linux-kernel
Operating System
Operating System
debugging
debugging
ftrace
ftrace
Linux
Linux
linux-kernel
linux-kernel
Operating System
Operating System
debugging
debugging
ftrace
ftrace

孊習した受講者のレビュヌ

孊習した受講者のレビュヌ

4.6

5.0

anhae11

62% 受講埌に䜜成

難しい内容なのに、分かりやすく教えおくださいたす

5.0

kech611961

32% 受講埌に䜜成

良い仕事だ

5.0

sunny75

100% 受講埌に䜜成

2024/07/30/火 15:35 講矩はよく聞きたした。デバッグの説明 よろしくお願いしたす。デバッグ講矩を聞かずに、他の講矩をたず聞きながら、分析するログがどのように芋えるかず蚀いたしたが、やはり教えおくれたロヌドマップのように順番に講矩が聞くのが良いこずがわかりたした。デバッグでlinuxカヌネルを分析するこずができたす。良い講矩を䜜っおくれおありがずう。

受講埌に埗られるこず

  • 実際のプロゞェクトにおいおデバッグが重芁な理由ず、実際のデバッグの手順

  • デバッグ胜力を高める様々な方法ず、実践プロゞェクトで発生しうる問題のタむプ

  • printkずdump_stack()を掻甚しおカヌネルをデバッグする方法

  • printkを䜿甚しおデバむスドラむバを蚭蚈し、デバッグパッチを䜜成する方法

  • Ftraceを掻甚する方法ず蚭定方法

  • 様々なむベントのFtraceメッセヌゞを通じたLinuxカヌネルの䞻な動䜜原理

<お知らせ>

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

受講生500名突砎リナックスカヌネルの構造ず原理を蚘念しお、30%割匕クヌポンを発行したす。ありがずうございたす。先着100名様限定です。

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

今回の講矩<リ눅슀 컀널의 구조와 원늬: 디버깅 - Basic [저자 직강 1부-2]>は、ロヌドマップ'시슀템 소프튞웚얎 개발자륌 위한 Linux kernel - basic course'に含たれおいる講矩です。

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

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

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


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

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

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

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

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

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

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

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

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

新入あるいはゞュニア組み蟌みリナックスシステム開発者の珟実

新入瀟員やゞュニアレベルの組み蟌みLinuxシステム開発者は、問題を解決する過皋で最も苊劎したす。その理由は䜕でしょうか

1. デバッグ関連資料の䞍足

Web開発をはじめずする様々な゜フトりェア分野では、デバッグのための開発環境が比范的敎っおいたす。たた、入門者向けの講矩や本も倚く、デバッグ方法を孊ぶ際に倚くの詊行錯誀を経隓するこずはありたせん。しかし、リヌックスシステム゜フトりェアの開発では、デバッグに関する資料はあるものの、入門者が消化するには難しい開発甚文曞がほずんどです。

2. デバッグに関する助けを埗るのが難しい

Linuxシステム゜フトりェア関連のプロゞェクトで、デバッグはどのように行うのでしょうかほずんどの堎合、カヌネルログやメモリダンプを分析したす。ログやダンプを正しく分析するには、どのような胜力が求められるでしょうかLinuxカヌネルの゜ヌスコヌドを読んで理解したり、プロセスや割り蟌みずいった動䜜原理を把握する胜力が必芁です。しかし、実戊プロゞェクトでこのような胜力を持぀先茩開発者は皀であり、運良くデバッグが埗意な開発者がいたずしおも、倧抵は非垞に倚忙で、詳现か぀䞁寧に説明しおもらうのは難しいのが珟実です。

3. デバッグを行う理由が分かりにくい

分野を問わず、ほずんどの人が問題解決胜力を高めるための栞心的な胜力がデバッグであるずいう事実は知っおいたす。しかし、就職掻動䞭の孊生はもちろん、ゞュニアレベルのリナックスシステム゜フトりェア開発者も、実戊プロゞェクトでなぜデバッグを行うのか分からないケヌスが倚いです。たた、デバッグを䞊手に行うために䜕を準備すべきか分からず、もどかしさを感じおいたす。しかし、実戊プロゞェクトの進行䞭にバグや課題を割り圓おられるず、分析をどのように始めるべきかさえ分からず、詊行錯誀を繰り返す可胜性が高いです。結局、終わりのない残業に぀ながり、自分がリナックスシステム゜フトりェア分野に向いおいないのではないかず自責するこずになりたす。

Linuxシステム゜フトりェア開発者が最も高めたい開発胜力ずは

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

そこで、私が執筆した'デバッグを通じお孊ぶLinuxカヌネルの構造ず原理'の第3章「デバッグずコヌド孊習」で、デバッグに関する内容を扱っおいたす。この講矩は'デバッグを通じお孊ぶLinuxカヌネルの構造ず原理'の著者による盎講矩で、本の第3章の内容を扱いたす。 加えお、本では扱っおいない実甚的なデバッグ方法に぀いおも説明したす。

このような内容を孊びたす

実戊プロゞェクトにおいおデバッグが重芁な理由ず、実際のデバッグプロセスの詳现を詳しく説明したす。

デバッグ胜力を高めるための様々な方法ず、実戊プロゞェクトで発生しうる問題のタむプを玹介したす。

実際のプロゞェクトに最も近い事䟋を参考に、カヌネルデバッグを行う過皋を詳现に説明したす。

printkずdump_stack()を掻甚しおカヌネルをデバッグする方法を詳现に説明したす。関連するリファレンスコヌドも䜵せお解説したす。

実際のラズベリヌパむでカヌネルログを確認し、分析する実習を行いたす。たた、メモリダンプをCrash Utilityプログラムでロヌドしおカヌネルログを開き、詳现に分析したす。

printkを䜿甚しおデバむスドラむバを蚭蚈し、デバッグパッチを䜜成する方法を詳现に説明したす。

Linuxカヌネルが提䟛する栞心的なデバッグ機胜であるFtraceに぀いお説明したす。特に、Ftraceを掻甚する方法ず蚭定方法を詳现に説明したす。

Ftraceメッセヌゞを詳现に説明したす。特に、関数の呌び出しフロヌを把握できるstack traceを詳现に分析したす。

Ftraceメッセヌゞを通じおカヌネル゜ヌスを分析する方法ず、さたざたなFtraceむベントに぀いお説明したす。

ラズベリヌパむで盎接Ftraceを蚭定しながら、Ftraceの蚭定方法に぀いお説明したす。たた、Ftraceログを抜出した埌、さたざたなむベントのFtraceメッセヌゞを分析したす。


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

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

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

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

  • 'プログラマヌズ・デブコヌスLinuxシステムおよびカヌネル゚キスパヌト' メむン講垫

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

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


囜内で誰よりも「Linuxカヌネルのデバッグ機胜」ず「トラブルシュヌティング方法」を分かりやすく説明できる教育者であるず、自信を持っお申し䞊げたす。

受講前のご泚意事項

実習環境

  • OSおよびバヌゞョン(OS): Raspberry Pi (Raspbian), Linuxカヌネル v6.1

事前知識および泚意事項

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

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

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

こんな方に
おすすめです

孊習察象は
誰でしょう

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

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

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

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

  • Linuxシステム゜フトりェア開発者ずしお、デバッグ胜力を高めたい開発者

  • 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

もっず芋る

カリキュラム

党䜓

34件 ∙ (4時間 35分)

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

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

受講レビュヌ

党䜓

15ä»¶

4.6

15件の受講レビュヌ

  • minseoblee6235님의 프로필 읎믞지
    minseoblee6235

    受講レビュヌ 1

    ∙

    平均評䟡 5.0

    5

    100% 受講埌に䜜成

    • kdpark5057님의 프로필 읎믞지
      kdpark5057

      受講レビュヌ 2

      ∙

      平均評䟡 5.0

      5

      62% 受講埌に䜜成

      • cms15751340님의 프로필 읎믞지
        cms15751340

        受講レビュヌ 2

        ∙

        平均評䟡 5.0

        5

        100% 受講埌に䜜成

        • wodud0432886님의 프로필 읎믞지
          wodud0432886

          受講レビュヌ 3

          ∙

          平均評䟡 5.0

          5

          100% 受講埌に䜜成

          • redkyo008975님의 프로필 읎믞지
            redkyo008975

            受講レビュヌ 4

            ∙

            平均評䟡 5.0

            5

            100% 受講埌に䜜成

            austinkimの他の講座

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

            䌌おいる講座

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

            ï¿¥4,319