Linux Kernel Debugging and Security (LFD440)

Linuxカーネルの方法と内部インフラストラクチャを学んでください。このコースでは、カーネルのデバッグと監視に使用される重要なツールと、セキュリティ機能の実装および制御方法に焦点を当てます。

コースの概要

スケジュール

インストラクター主導
9/21/2020 - 9/24/2020
午前9:00から午後5:00まで
バーチャル
$3250 カートに追加 見積もりを入手 >
インストラクター主導
8/10/2020 - 8/13/2020
午前9:00から午後5:00まで
バーチャル
保証付きこのコースは最小クラスサイズに達し、予定日に実行されることが保証されています。
$3250 カートに追加 見積もりを入手 >
あなたのスケジュールに合うコースがない場合は、こちらを参照してください。 パートナーが提供するコース>

おもなテーマ

  1. 前書き
    • 目的
    • あなたは誰ですか
    • The Linux Foundation
    • Linux Foundationのトレーニング
    • 認定プログラムとデジタルバッジ
    • Linuxディストリビューション
    • プラットフォーム
    • システムの準備
    • 仮想マシンの使用とダウンロード
    • Linuxで物事が変わる
    • ドキュメントとリンク
    • コース登録
  2. 予選
    • 手続き
    • カーネルバージョン
    • カーネルソースと使用 ギット
  3. OSSプロジェクトでの作業方法**
    • 適切に貢献する方法の概要
    • セキュリティと品質のためにメインラインの近くにとどまる
    • プロジェクトDNAの研究と理解
    • スクラッチしたいものを把握する
    • メンテナーとそのワークフローと方法を特定する
    • 初期の入力を取得し、オープンで作業する
    • 大きなコードダンプではなく、増分ビットを提供する
    • あなたのエゴをドアに置いてください:薄くなるな
    • 忍耐強く、長期的な関係を築き、助けになる
  4. カーネル機能
    • カーネルのコンポーネント
    • ユーザースペースとカーネルスペース
    • システムコールとは何ですか?
    • 利用可能なシステムコール
    • スケジューリングアルゴリズムとタスク構造
    • プロセスコンテキスト
    • ラボ
  5. 監視とデバッグ
    • Debuginfoパッケージ
    • トレースとプロファイリング
    • sysctl
    • SysRqキー
    • おっとっと メッセージ
    • カーネルデバッガー
    • debugfs
    • ラボ
  6. proc ファイルシステム **
    • 何ですか proc ファイルシステム?
    • エントリの作成と削除
    • エントリの読み取りと書き込み
    • seq_file インターフェース **
    • ラボ
  7. kprobes
    • kprobes
    • クレットプローブ
    • SystemTap **
    • ラボ
  8. Ftrace
    • とは ftrace?
    • ftrace, trace-cmdkernelshark
    • 利用可能なトレーサー
    • を使用して ftrace
    • トレースディレクトリ内のファイル
    • トレースオプション
    • で印刷 trace_printk()
    • トレースマーカー
    • バッファーのダンプ
    • trace-cmd
    • ラボ
  9. 性能
    • とは 性能?
    • パフォーマンス統計
    • パフォーマンスリスト
    • パフォーマンス記録
    • パフォーマンスレポート
    • パフォーマンス注釈
    • パフォーマンストップ
    • ラボ
  10. eBPF
    • BFP
    • eBPF
    • 設置
    • bccツール
    • bpftrace
    • ラボ
  11. クラッシュ
    • クラッシュ
    • 主なコマンド
    • ラボ
  12. カーネルコアダンプ
    • カーネルコアダンプの生成
    • kexec
    • カーネルコアダンプのセットアップ
    • ラボ
  13. 仮想化**
    • 仮想化とは何ですか?
    • 仮想化のリング
    • ハイパーバイザー
  14. QEMU
    • QEMUとは何ですか?
    • エミュレートされたアーキテクチャ
    • 画像フォーマット
    • サードパーティのハイパーバイザー統合
    • ラボ
  15. Linuxカーネルデバッグツール
    • Linux Kernel(ビルトイン)ツールとヘルパー
    • kdb
    • qemu + gdb
    • kgdb:ハードウェア+シリアル+ gdb
    • ラボ
  16. 組み込みLinux **
    • 組み込みおよびリアルタイムオペレーティングシステム
    • Linuxを使用する理由
    • 小規模なLinux環境の作成
    • リアルタイムLinux
  17. 通知者**
    • Notifierとは何ですか?
    • データ構造
    • コールバックと通知
    • 通知チェーンの作成
    • ラボ
  18. CPU周波数スケーリング**
    • 周波数と電圧のスケーリングとは何ですか?
    • 通知者
    • 運転手
    • 知事
    • ラボ
  19. ネットリンク ソケット**
    • netlinkソケットとは何ですか?
    • netlinkソケットを開く
    • netlinkメッセージ
    • ラボ
  20. Linuxカーネルセキュリティの概要
    • Linuxカーネルセキュリティの基本
    • 任意アクセス制御(DAC)
    • POSIX ACL
    • POSIX機能
    • 名前空間
    • Linuxセキュリティモジュール(LSM)
    • ネットフィルター
    • 暗号化方法
    • カーネル自己保護プロジェクト
  21. Linuxセキュリティモジュール(LSM)
    • Linuxセキュリティモジュールとは何ですか?
    • LSMの基本
    • LSMの選択肢
    • LSMの仕組み
    • LSM 例:知世
  22. SELinux
    • SELinux
    • SELinuxの概要
    • SELinuxモード
    • SELinuxポリシー
    • コンテキストユーティリティ
    • SELinuxおよび標準コマンドラインツール
    • SELinuxコンテキストの継承と保存**
    • restorecon **
    • fcontextの管理**
    • SELinuxブール値の使用**
    • getseboolおよびsetsebool **
    • トラブルシューティングツール
    • ラボ
  23. AppArmor
    • AppArmorとは何ですか?
    • ステータスの確認
    • モードとプロファイル
    • プロフィール
    • 公益事業
  24. ネットフィルター
    • netfilterとは何ですか?
    • Netfilterフック
    • Netfilterの実装
    • Netfilterへのフック
    • Iptables
    • ラボ
  25. 仮想ファイルシステム
    • 仮想ファイルシステムとは何ですか?
    • 利用可能なファイルシステム
    • 特別なファイルシステム
    • tmpfsファイルシステム
    • ext2 / ext3ファイルシステム
    • ext4ファイルシステム
    • btrfsファイルシステム
    • 共通ファイルモデル
    • VFSシステムコール
    • ファイルとプロセス
    • ファイルシステムのマウント
  26. ユーザースペースのファイルシステム(FUSE)**
    • FUSEとは何ですか?
    • ファイルシステムを書く
    • ラボ
  27. ジャーナリングファイルシステム**
    • ジャーナリングファイルシステムとは何ですか?
    • 利用可能なジャーナリングファイルシステム
    • 対照的な機能
    • ラボ
  28. Closing and Evaluation Survey
    • 評価調査

 

付録

 

  1. カーネルアーキテクチャI
    • UNIXおよびLinux **
    • モノリシックカーネルとマイクロカーネル
    • オブジェクト指向メソッド
    • メインカーネルタスク
    • ユーザースペースとカーネルスペース
  2. カーネルプログラミングプレビュー
    • エラー番号とカーネル出力の取得
    • タスク構造
    • メモリ割り当て
    • ユーザー空間とカーネル空間の間でデータを転送する
    • リンクリスト
    • ジフィー
    • ラボ
  3. モジュール
    • モジュールとは何ですか?
    • 些細な例
    • モジュールのコンパイル
    • モジュールと組み込み
    • モジュールユーティリティ
    • モジュールの自動ロード/アンロード
    • モジュール使用数
    • モジュールのライセンス
    • シンボルのエクスポート
    • シンボルの解決**
    • {C.11Labs
  4. カーネルアーキテクチャII
    • プロセス、スレッド、およびタスク
    • カーネルプリエンプション
    • リアルタイムプリエンプションパッチ
    • ラボ
  5. カーネルの構成とコンパイル
    • カーネルソースのインストールとレイアウト
    • カーネルブラウザ
    • カーネル構成ファイル
    • カーネルの構築とメイクファイル
    • initrdおよびinitramfs
    • ラボ
  6. カーネルスタイルと一般的な考慮事項
    • コーディングスタイル
    • 汎用カーネルルーチンとメソッドの使用
    • カーネルパッチの作成
    • まばらな
    • を使用して ありそうな()ありそうもない()
    • ポータブルコード、CPU、32/64ビット、エンディアンネスの記述
    • SMPの作成
    • ハイメモリシステム用の書き込み
    • パワー管理
    • セキュリティを念頭に置く
    • {F.11Labs
  7. 競合状態と同期方法
    • 並行性と同期の方法
    • 原子操作
    • ビット操作
    • スピンロック
    • シークロックス
    • プリエンプションを無効にする
    • ミューテックス
    • セマフォ
    • 完了関数
    • 読み取りコピー更新(RCU)
    • {G.11参照カウント
    • {G.12Labs
  8. メモリアドレッシング
    • 仮想メモリ管理
    • MMUおよびTLBを使用するシステムと使用しないシステム
    • メモリアドレス
    • ハイメモリとローメモリ
    • メモリゾーン
    • 特別なデバイスノード
    • NUMA
    • ページング
    • ページテーブル
    • ページ 構造
    • {H.11Labs
  9. メモリ割り当て
    • ページのリクエストとリリース
    • バディシステム
    • スラブとキャッシュの割り当て
    • メモリプール
    • kmalloc()
    • vmalloc()
    • 早期配分と bootmem()
    • メモリの最適化
    • ラボ

**
これらのセクションは、一部または
オプションとして全体として。背景の参照が含まれています
資料、専門トピック、または高度な主題。の
インストラクターは、それらに応じてカバーするかしないかを選択できます
教室での経験と時間の制約。

前提知識

このコースを受講する前に、次のことを行う必要があります。

      • Cプログラミング言語に精通している。
      • ls、grep、tarなどの基本的なLinux(UNIX)ユーティリティに精通している。
      • 利用可能なテキストエディタ(emacs、viなど)を快適に使用できます。
      • 主要なLinuxディストリビューションの経験は役立ちますが、必ずしも必要ではありません。
      • LFD420:Linux Kernel Internals and Developmentを取得した経験と同等の経験があります。

クラスの前に、クラス前の準備資料が提供されます。

コメント

さまざまなカーネルデバッグ手法の構造化された紹介を本当に楽しんだ。他の学生やインストラクターとのやり取りがコースのお気に入りの部分であることがわかりました。」 2020年4月

 

ペースは良かった。」 2020年4月

 

私はkprobes、カーネルダンプ、クラッシュセクションが好きでした。いくつかのユーザーツールも非常に便利です。。」 2020年4月

 

「Behanは非常に知識が豊富で、親切で、忍耐強く対応しています。彼はこの仕事にふさわしい人です。」 2020年4月

 

「Behanは知識が豊富で、彼の知識を共有して喜んでいます。先生としての喜び。」 2020年4月

 

Kgdb / KdgデバッグとVFSセクションは素晴らしかった」 2020年2月

 

さまざまなトピックと興味深い付録」 2020年2月

構成

実施方法

ライブオンライン(仮想)

実施方法

ライブ(教室)

含まれているもの

  • インストラクター主導の4日間の授業時間
  • 演習と課題
  • リソースとコースマニュアル
  • 修了証
  • デジタルバッジ
  • 無料のChromebook

経験レベル

   上級

コースの評価

   

アドバイス

5人以上でトレーニングを受けるなら?
団体見積もりのご案内>

Chromebook

トレーニングと無料のChromebookを入手してください。

Linux Foundationのトレーニングを受けるということは、直接そのソースから最良のオープンソース トレーニングを受けるということです。Linux Foundationインストラクター主導トレーニング コースを今申し込むと、Chromebookが無料で提供されます。トレーニング成果を向上のため最大限に活用してください。

詳細はこちら