
システムソフトウェア開発のためのArmアーキテクチャの構造と原理 - 1部 著者直講 (2024年版)
austinkim
システムソフトウェアの基本中の基本、最新Armアーキテクチャ(Armv8-A、Armv7-A)の核心を「システムソフトウェア開発のためのArmアーキテクチャの構造と原理」の著者がしっかりと解説します!
初級
ARM Architecture, cortex-a, Embedded
システムソフトウェアで最も多く使われている、最新のリナックスカーネル(v6.1)の最も高度なカーネルメモリダンプデバッグスキルを、『デバッグを通じて学ぶLinuxカーネルの構造と原理』の著者が詳しく解説します。
受講生 365名
難易度 中級以上
受講期間 無制限


学習した受講者のレビュー
5.0
sunny75
2024/07/30/火 20:25 講義はよく聞きました。経験された話もたくさんしていただき、難しいlinux/armについて、簡単に説明していただきありがとうございます。 50(75年生まれ)ですね。年次を使って今講義を聞きました。急いでみなさん、もう一度聞かなければなりませんね。^^;いないから、私が感じた心を伝えることができませんね。 linuxについて少しずつ進んでいけると思います。
5.0
배근일
dddddgggggooood
5.0
이정훈
分かりやすく丁寧に説明してくださるので、無理なくついていけます。
TRACE32とCrash UtilityプログラムによるLinuxカーネルメモリダンプデバッグ
実践プロジェクトを開発する過程で遭遇し得る、さまざまなケーススタディ
ブートタイム ftrace トレーサー
Crash Utilityプログラムを実行して、Linuxカーネルの主要なデータ構造をデバッグする
TRACE32プログラムを実行してLinuxカーネルの主要なデータ構造をデバッグ
受講生200名突破(リ눅스 커널의 구조와 원리)を記念して、30%割引クーポンを発行します。ありがとうございます。先着200名様限定です。
30%割引クーポンリンク:https://inf.run/Gc74X
今回の講義<リナックスカーネルの構造と原理:デバッグ - Advanced 実戦 [著者直講 第1部-3]>は、ロードマップ'システムソフトウェア開発者のための Linux kernel - basic course'に含まれている講義です。

体系的にリナックスカーネルを構成する主要機能を学びたい方は、ロードマップ(全講義30%割引)を活用することをお勧めします。).
すべてのIT機器で最も多く使用されているオペレーティングシステムは何でしょうか?それはリ눅ス(Linux)OSです。スマートフォン、デジタルテレビ、航空エンターテインメントシステム、およびサーバーに使用されています。システム半導体メーカーでは、リナックス(リナックスデバイスドライバ)を活用して、自社で設計したハードウェアを制御しています。また、電気自動車(Automotive)を構成するさまざまな部品(インフォテインメント、自動運転、テレマティクス)にもリナックスが多く活用されています。
Linuxオペレーティングシステムの核心はLinuxカーネルです。Armv8-Aアーキテクチャとともに、現在のシステムソフトウェア業界で最も必要とされる基礎知識が求められる内容がLinuxカーネルであるとも言えます。
✅ システム半導体、電気自動車分野(自動運転、インフォテインメント)を含むリ눅스システムソフトウェア分野のジュニア開発者
✅ システム半導体、電気自動車分野などのリ눅스システムソフトウェア開発分野で働きたい就職準備生
✅ リナックスシステムソフトウェア分野(メモリ、ファイルシステム、オペレーティングシステム)の大学院進学希望者 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カーネルの構造と原理'の第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オプション:レジスタ情報の出力)を詳しく説明します。

今回の講義では、リヌックスシステムソフトウェア業界で最も進んだ(Advanced)デバッグ方式である - グローバル最高水準のシステム半導体企業である、クアルコムのリヌックスカーネル開発者たちがデバッグする - リヌックスカーネルメモリダンプをデバッグする方法を紹介します。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教育用プログラムは、Windows環境でのみ実習可能です。
TRACE32教育用プログラムは、あくまで「教育用」としてのみ活用でき、商業的な目的での修正や配布はできません。
今回の講義のTRACE32教育用プログラムを使用中に不明な点があれば、必ず教育担当者に質問してください。
OSおよびバージョン(OS): ラズベリーパイ(ラズビアン)、リナックスカーネル v6.1
TRACE32 教育用プログラムおよびインストールガイド文書(講義)
3つのLinuxカーネルメモリダンプ(vmcore)
おおよそリ눅스가どのように動作するのかを知っておくと良いです。
'Linuxカーネルの構造と原理:デバッグ - Basic [著者直講 第1部-2]' の講義をできるだけ先に受講してからお越しいただくことをお勧めします。
OSやコンピュータ構成について知っていると、よりスムーズに受講することができます。
Linuxカーネルに関する深い予備知識は必要ありません。
学習対象は
誰でしょう?
システム半導体、電気自動車分野(自動運転、インフォテインメント)を含むシステムソフトウェア分野で、自らの能力を高めていきたいジュニア開発者
システム半導体、電気自動車分野などのシステムソフトウェア開発を志望している就職準備生
システムソフトウェア分野(メモリ、ファイルシステム、オペレーティングシステム)の大学院進学を目指す大学生
システムソフトウェア分野へキャリアチェンジしようとしている他分野の開発者
前提知識、
必要でしょうか?
オペレーティングシステム
C言語
コンピュータ構成論
キャリア認証
6,693
受講生
276
受講レビュー
105
回答
4.9
講座評価
23
講座
グローバル著者 & リナックスシステムソフトウェア開発者 (Arm, RISC-V アーキテクチャ)
国内のシステムソフトウェア分野において前例のない!「Armアーキテクチャ(Armv8-A, Armv7-A)」と「Linuxカーネル」の本を執筆した著者(2冊とも大韓民国学術院の優秀図書に選定)であり、国内初めて海外出版社(Packt)を通じて「Reverse Engineering Armv8-A Systems」の本(英語)を執筆したグローバル著者です。何よりも最新のシステムソフトウェアトレンド(電気自動車、システム半導体-システムソフトウェア)を最も熟知している現役の開発者です。また、システムソフトウェア分野で最も活発に知識の普及活動を行っている教育者でもあります。"Reverse Engineering Armv8-A Systems" (bằng tiếng Anh) thông qua nhà xuất bản nước ngoài (Packt). Trên hết, ông là một nhà phát triển đang làm việc thực tế, người nắm rõ nhất các xu hướng phần mềm hệ thống mới nhất (xe điện, bán dẫn hệ thống - phần mềm hệ thống). Ngoài ra, ông còn là một nhà giáo dục hoạt động tích cực nhất trong việc truyền bá kiến thức trong lĩnh vực phần mềm hệ thống.
Professional 知識共有者およびコンサルタント
LG電子 Linuxカーネルオープンソースチーム勤務(〜2026年5月)
'Reverse Engineering Armv8-A Systems: A practical guide to Kernel, Firmware, and TrustZone analysis' 著書(英語) 著者、(Packt 出版社)
『システムソフトウェア開発のためのArmアーキテクチャの構造と原理』(2024年、大韓民国学術院 優秀図書賞)著者))
『デバッグを通じて学ぶLinuxカーネルの構造と原理』 (2021年、大韓民国学術院 優秀学術図書賞) 著者)
'Programmers Dev Course: リナックスシステムおよびカーネル専門家' メイン講師
韓国国内で誰よりもリヌックスカーネルとArmアーキテクチャ(Armv8-A, Armv7-A)を分かりやすく説明できる教育者であると、自信を持って申し上げます。
講義に関するお問い合わせ : austindh.kim@gmail.com
'システムソフトウェア開発者のための Arm - basic course'
'システムソフトウェア開発者のためのArm - advanced course'
システムソフトウェア開発者のための Linux kernel - basic course
全体
42件 ∙ (5時間 39分)
講座資料(こうぎしりょう):
全体
17件
4.9
17件の受講レビュー
受講レビュー 1
∙
平均評価 5.0
受講レビュー 5
∙
平均評価 5.0
受講レビュー 130
∙
平均評価 5.0
受講レビュー 1
∙
平均評価 5.0
受講レビュー 2
∙
平均評価 5.0
知識共有者の他の講座を見てみましょう!
同じ分野の他の講座を見てみましょう!