강의

멘토링

로드맵

BEST
Security & Network

/

System

Linuxカーネルの構造と原理:デバッグ - Advanced実戦 [著者直講1部-3]

システムソフトウェアで最もよく使われる、最新のLinuxカーネル(v6.1)の最も進んだカーネルメモリダンプデバッグスキルを、「デバッグを通じて学ぶLinuxカーネルの構造と原理」の著者が正しく説明します。

  • austinkim
저자 직강
리눅스커널
임베디드리눅스
trace32
Linux
linux-kernel
Operating System
debugging

こんなことが学べます

  • TRACE32と Crash Utility プログラムで Linux カーネルメモリダンプデバッグ

  • 実践プロジェクトを開発する過程で直面する可能性のある多様なケーススタディ

  • ブート時 ftrace トレーサー

  • Crash Utility プログラムを実行して、Linux カーネルの主要なデータ構造をデバッグ

  • TRACE32プログラムを実行して、Linuxカーネルの主要データ構造をデバッグ

<お知らせ>

1. 200人突破30%割引クーポン発行

受講生200人突破(Linuxカーネルの構造と原理)を記念して30%割引クーポンを発行します。ありがとうございます。先着順200名です。

2. ロードマップ案内🎯

今回の講義<Linuxカーネルの構造と原理:デバッグ「システムソフトウェア開発者向けのLinuxカーネル - basic course」に含まれる講義。

体系的にLinuxカーネルを構成する主な機能を学びたい方は、ロードマップ(全講義の30%割引)を活用してください。

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

システムソフトウェア開発者なら、知っておくべきLinuxカーネル


すべてのITデバイスで最も一般的なオペレーティングシステムは何ですか?それはLinuxオペレーティングシステムです。スマートフォン、デジタルテレビ、航空エンターテイメントシステム、サーバーに使用されています。システム半導体メーカーで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システムソフトウェア開発者が最も育てたい開発能力は?

Linuxシステムソフトウェア開発者が最も学びたい実践スキルは何ですか?まさにデバッグスキルです。デバッグは問題解決能力に比例するので、デバッグ能力を増やしたいです。 Linuxカーネルに関するブログや資料はたくさんありますが、最新のデバッグ技術を活用して問題を体系的に解決する方法はほとんど扱いません。

それで、私が書いた「デバッグを通して学ぶLinuxカーネルの構造と原理」の第3章では、「デバッグとコード学習」のデバッグについて説明しています。

講義の差別化ポイント

今回の講義は、これまで一度もYouTubeやある講義のプラットフォームで取り上げたことのないコンテンツで構成されています!最新のLinuxカーネルのデバッグ方法とさまざまなケーススタディをカバーしています。また、Linuxカーネルメモリダンプを介してカーネルのデータ構造をデバッグする方法を紹介します。この講義を受講される方は、教育用プログラム(TRACE32)をダウンロードして直接練習することができます。

1.本番開発に最も近いデバッグ方法総網羅

就職準備生や新開発者が最も知りたい仕事スキルは、どのデバッグツールを活用してどのようにデバッグするかです。今回の講義では、最も先進的なデバッグ方法である「カーネルメモリダンプ」を活用してカーネルのデータ構造をデバッグする方法を紹介します。

2. グローバルシステム半導体メーカーのLinuxカーネルBSP開発者が行うデバッグ方法の紹介

近年、システム半導体業界が浮上している。グローバルシステム半導体メーカーの中で最高の技術力を持つQualcomm LinuxカーネルBSP開発者はどのようにLinuxカーネルドライバをデバッグしますか?

今回の講義でこの内容を取り上げます。 LinuxカーネルメモリダンプをTRACE32シミュレータを使用してカーネルのデータ構造をデバッグしながら、クラッシュユーティリティでメモリダンプをロードしてカーネルの主な動作を分析します。

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(教育用、シミュレータ)プログラムをインストールして実行する方法についても説明します。


ftraceを設定する3つの方法を紹介し、boot-time ftrace tracerが必要な理由について詳しく説明します。

boot-time ftrace tracerの設定方法を説明し、関連するカーネルソースコードを詳細に分析します。

ブートコマンドラインを設定する方法を紹介し、関連するftraceログを詳細に分析します。

ftrace message を詳細に分析し、関連する動作原理を説明します。

Crash Utilityプログラムを実行して、Linuxカーネルの主要なデータ構造をデバッグします。


Crash UtilityプログラムでLinuxカーネルダンプをデバッグしながら、関連機能の詳細な動作原理を説明します。


実際のプロジェクトを開発する過程で遭遇するさまざまなケーススタディを紹介します。


本番プロジェクトの開発中に遭遇する可能性があるスタック汚染とメモリーリック問題のケーススタディについて説明します。

Linuxカーネルのメモリシステムのデータ構造と構造は、Crash Utilityのデバッグを通じて説明されています。

本書で紹介されているTRACE32の主な命令(メモリアドレスキャスト)について説明します。

システムコールテーブルのシンボル情報を説明し、TRACE32コマンド(dv%y.ll sys_call_table)を使用してシステムコールハンドラ関数情報を確認します。

本番プロジェクトの進行中に利用される実用的な命令(%lオプション:レジスタ情報の出力)について詳しく説明します。

トレーニング用TRACE32プログラムと3つのLinuxカーネルメモリダンプを提供

今回のレッスンでは、Linuxシステムソフトウェア業界で最も先進的なデバッグ方法である -グローバル最高レベルのシステム半導体メーカーであるQualcomm Linuxカーネル開発者がデバッグする- Linuxカーネルメモリダンプをデバッグする方法を紹介します。提供します。

教育用TRACE32プログラム(シミュレータ版)を講義カリキュラムからダウンロードできます。受講生はTRACE32プログラムで、今回の講義で提供されるカーネルメモリダンプをロードし、一緒に従いながらデバッグできます。

オープンソースプロジェクトとして動作するCrash Utilityを直接ダウンロードして、カーネルメモリダンプをロードしてデバッグできます。 Crash Utilityがサポートするさまざまな機能を活用して、カーネルのデータ構造やコールスタックを直接デバッグできます。

本の執筆/講義の経歴に基づいて
誰よりも深く詳細に!

国内システムソフトウェア分野で専務後務限! 「Linuxカーネル」の本と「Armアーキテクチャ(Armv8-A、Armv7-A)」の本を書いた著者です。また、最新のシステムソフトウェアトレンド(電気自動車、システム半導体 - システムソフトウェア)を最もよく知っている現業開発者であり、システムソフトウェア分野で最も知識の伝播活動を活発にする教育者です。

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

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

  • 「プログラマスデブコース: Linuxシステムとカーネルの専門家」メインインストラクター

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

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


国内で誰よりもLinuxカーネルを構成する主な機能をよく説明できる教育者だと自信を持ってお話しできます。

受講前の注意

TRACE32プログラムを使用するときの注意事項

  • TRACE32トレーニングプログラムはWindows環境でのみ実践できます。

  • TRACE32教育プログラムは「教育用」としてのみ利用可能であり、商業目的で修正または配布することはできません。

  • 今回の講義のTRACE32教育用プログラムを使用してお問い合わせがあれば、必ず教育者に質問してください。

実践環境と提供される講義資料

  • オペレーティングシステムとバージョン(OS):ラズベリーパイ(ラズビアン)、Linuxカーネルv6.1

  • TRACE32教育用プログラムおよび設置ガイド文書(講義)

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


選手の知識と注意事項

  • おおよそのLinuxがどのように動作するかを知っておくと良いでしょう。

  • 「Linux カーネルの構造と原理: デバッグ - Basic [著者直講 1部-2]」 講義をなるべく先に聞いてきてください。

  • オペレーティングシステムやコンピュータの構造について知っていれば、より簡単にクラスを聴くことができます。

  • Linuxカーネルに関する深いプレーヤーの知識は必要ありません。

こんな方に
おすすめです

学習対象は
誰でしょう?

  • システム半導体、電気自動車分野(自動運転、インフォテインメント)を含むシステムソフトウェア分野でスキルを向上させたいジュニア開発者

  • システム半導体、電気自動車分野といったシステムソフトウェア開発をしたい就活生

  • システムソフトウェア分野(メモリ、ファイルシステム、OS)の大学院進学を目指す大学生

  • システムソフトウェア分野へキャリア転換を考えている他分野のエンジニア

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

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

  • C言語

  • コンピュータ構造

こんにちは
です。

5,795

受講生

176

受講レビュー

89

回答

4.9

講座評価

22

講座

글로벌 저자 & 리눅스 시스템 소프트웨어 개발자 (Arm, RISC-V 아키텍처)

국내 시스템 소프트웨어 분야에서 전무후무한! 'Arm 아키텍처(Armv8-A, Armv7-A)'와 '리눅스 커널' 책을 쓴 저자(2권의 책 모두 대한민국 학술원 우수도서에 선정)이며, 국내 최초로 해외 출판사(Packt)를 통해 "Reverse Engineering Armv8-A Systems" 책(영어)을 집필한 글로벌 저자입니다. 무엇보다 최신 시스템 소프트웨어 트렌드(전기자동차, 시스템 반도체- 시스템 소프트웨어)를 가장 잘 알고 있는 현업 개발자입니다. 또한 시스템 소프트웨어 분야에서 가장 지식 전파 활동을 활발하게 하는 교육자입니다. 

  • 'Reverse Engineering Armv8-A Systems: A practical guide to Kernel, Firmware, and TrustZone analysis' 책(영어) 저자, (Packt 출판사)

  • '시스템 소프트웨어 개발을 위한 Arm 아키텍처의 구조와 원리'(2024년, 대한민국 학술원 우수도서상) 저자

  • '디버깅을 통해 배우는 리눅스 커널의 구조와 원리' (2021년, 대한민국 학술원 우수도서상) 저자

  • '프로그래머스 데브 코스: 리눅스 시스템 및 커널 전문가' 메인 강사

  • 2022년 6월, 한국컴퓨터종합학술대회 (KCC2022) - 튜토리얼 발표 [ftrace를 이용해 리눅스 커널 정복하기]

  • LG전자 '리눅스 커널' 및 'Armv8 아키텍처' 사내 강사(국내 및 해외 개발자 포함) - (2020년~현재)

국내에서 어느 누구보다 리눅스 커널과 Arm 아키텍처(Armv8-A, Armv7-A)를 잘 설명할 수 있는 교육자라고 자신있게 말씀드릴 수 있습니다.

강의문의 : austindh.kim@gmail.com

주요 로드맵 🎯

'시스템 소프트웨어 개발자를 위한 Arm - basic course'

'시스템 소프트웨어 개발자를 위한 Arm - advanced course'

시스템 소프트웨어 개발자를 위한 Linux kernel - basic course

カリキュラム

全体

42件 ∙ (5時間 39分)

講座資料(こうぎしりょう):

授業資料
講座掲載日: 
最終更新日: 

受講レビュー

全体

10件

5.0

10件の受講レビュー

  • aceoftop1975님의 프로필 이미지
    aceoftop1975

    受講レビュー 102

    平均評価 5.0

    5

    100% 受講後に作成

    2024/07/30/Thứ Ba 20:25 Tôi rất thích bài giảng. Bây giờ tôi đã nghe bài giảng về lộ trình của Donghyun Kim. Tôi cũng rất ấn tượng với lời khuyên rằng tất cả các bài giảng đều cung cấp thông tin và kiến ​​thức mới, đồng thời phải mất khoảng 15 ngày để giải quyết vấn đề OOM (hết bộ nhớ). Cảm ơn bạn đã chia sẻ kinh nghiệm cá nhân và giải thích linux/arm khó hiểu một cách dễ hiểu. Tuổi tôi hiện nay là 50 (sinh năm 1975). T.T Khi còn trẻ, tôi đã mua rất nhiều sách về Linux và nỗ lực rất nhiều nhưng vẫn không tiến bộ gì. Nhưng sau khi nghe Donghyun Kim giảng, tôi đã học được rất nhiều điều. Tôi chỉ có thời gian vào cuối tuần, nhưng tuần này tôi tận dụng thời gian nghỉ phép hàng năm để tham dự tất cả các buổi giảng. Mình đã nghe rất nhanh từ thứ bảy ngày 27 đến giờ nên chắc phải nghe lại thôi.^_^; Thời gian khóa học: Vì không giới hạn nên tôi nghĩ mình sẽ tiếp tục nghe nếu muốn nghe lại sau một năm. Bây giờ tôi sẽ đọc kỹ cuốn sách linux/arm mà tôi đã mua dưới dạng sách điện tử. Vì không có Jeju nên tôi không thể truyền tải được cảm xúc của mình. Bây giờ tôi cảm thấy mình có thể tiến bộ từng chút một với Linux. Cảm ơn bạn vì bài giảng tuyệt vời. Nếu bạn tiếp tục soạn bài giảng, tôi sẽ lắng nghe cẩn thận. Chúc một ngày tốt lành! Cảm ơn

    • kdpark5057님의 프로필 이미지
      kdpark5057

      受講レビュー 2

      平均評価 5.0

      5

      100% 受講後に作成

      • ioniakim2638님의 프로필 이미지
        ioniakim2638

        受講レビュー 9

        平均評価 4.9

        5

        100% 受講後に作成

        • wodud0432886님의 프로필 이미지
          wodud0432886

          受講レビュー 3

          平均評価 5.0

          5

          31% 受講後に作成

          • dlrbcnvk님의 프로필 이미지
            dlrbcnvk

            受講レビュー 19

            平均評価 4.9

            5

            62% 受講後に作成

            ¥6,655

            austinkimの他の講座

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

            似ている講座

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