Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
コース概要
導入
- GNU/Linux の簡単な歴史 ライセンス カーネルのバージョン管理 リリース サイクル カーネル ツリー メインライン カーネル vs. ユーザー空間メカニズム vs. ポリシー カーネル ドライバーの代替案 RTOS vs. Linux
メモリーManagement
- カーネル ページ ゾーン API スラブにおける仮想メモリと物理メモリのメモリ割り当て
カーネルパッチ
- ライフサイクル git カーネルソース パッチチェック パッチ修正 パッチ配布 パッチ監査済みコード
カーネルモジュール
- カーネル ソースの取得 デバイス ドライバーの構成/ビルド/インストール (静的にリンクされ、実行時にロードされる) init/終了 ライセンス発行 シンボルのエクスポート GPL ツリー外 makefile module-init-tools カーネル ツリー内のモジュール Kconfig パラメーターの受け渡し スパース
チャードライバー
- アーキテクチャ ユーザー/カーネル インターフェイス I/O サブシステム VFS sysfs (デバイス、バス、ドライバー、クラス)、kobject/ktype/kset Linux カーネル ドライバー モデル デバイス ファイル char ドライバーの初期化 登録オープン、リリース cdev、cdev add、cdev del、...メジャー/マイナー番号 udev、udevmonitor、udevadm
高度なキャラクタードライバーの操作
- ioctl ロック解除 ioctl compat ioctl ユーザー空間 API カーネル空間 API プロセスのライフサイクル スリープ/ブロック スリープ/ウェイクアップ 待機キュー サンダーリング ハード ポーリング/選択
カーネルのデバッグ
- バグのデバッグ カーネルのデバッグ git カーネルからのデバッグ サポートによるバイナリ検索 printk syslogd、klogd、loglevels、レート制限、デバッグ レベル、選択的サブシステムのデバッグ debugfs のクエリによるデバッグ おっと デバッグ、アサート おっと Magic SysRq キー kgdb/kdb JTAG
トレース
- gcov lcov oprofile ftrace nop トレーサ関数トレーサ sched スイッチ トレーサ関数 グラフ トレーサ ダイナミック トレーサ
割り込みとポーリング 割り込みプログラム セクション 再入可能イベント 割り込みハンドラー 共有割り込みハンドラー 割り込みフロー 割り込み制御
- 作業の延期
上半分/下半分 SoftIRQS タスクレット ワークキュー スレッド化された割り込み
- 同時実行性
クリティカル領域/セクション アトミック競合状態 同期 ロック ロック ソリューション デッドロック競合 何をロックするか?何が使えるの?アトミック操作 スピン ロック リーダー/ライター スピン ロック セマフォ バイナリ セマフォ ミューテックス リーダー/ライター セマフォ 完了変数 シーケンシャル ロック プリエンプション順序の無効化とバリア
- 時間
HZ Jiffies によるカーネル タイマーの大小の遅延
- ハードウェアI/O
I/O ポート I/O メモリ レジスタにアクセスする際の副作用にどう対処するか?
- ユーザーカーネル Communication
put(get)_user() copy to(from)_user() カーネル I/O メモリ マッピング procfs sysfs debugfs reversefs netlink ioctl
- 携帯性
ワード サイズ 不透明型 符号付き/符号なし char データ アライメント 整数プロモーション コード 再利用 エンディアン システム ティック ページ サイズ 命令順序付け SMP/プリエンプション/ハイ メモリ
- 特に明記されている場合を除き、コンテンツおよびこのコース概要は表示 - 非営利 - 継承 4.0 インターナショナル (CC BY-NC-SA 4.0) に基づいてライセンスされています。
要求
- エンドユーザーとしてGNU/Linuxシステムの使用に精通していること 。
- コマンドラインシェルに精通している 。
- ユーザースペース/アプリケーション開発の基礎知識
- 中級のCプログラミング知識 。
- 以前に Embedded GNU/Linux Systems Architecture に参加したことがあること(強く推奨します!)、および/またはそこで概説されたトピックをよく理解していること 。
35 時間
お客様の声 (4)
That the trainer adapts to our needs
Eduardo Fontecha - ORMAZABAL PROTECTION & AUTOMATION S.L.U.
コース - The Yocto Project - An Overview - hands-on
練習がたくさんあったこと。
Katarzyna Straszewska - Swiss AviationSoftware Ltd.
コース - Build Native iOS and Android Apps with Flutter
Machine Translated
ラボについてさらに詳しく。
Sarbin - Cagayan Electric Power And Light Co., Inc.
コース - Flutter Development Bootcamp with Dart
Machine Translated
On time, training resources is readily available