2019-2020-1 20199327仕事の4週目の「Linuxカーネルの原理と分析」

MenuOS建設

2本の刀オペレーティングシステム:

割り込みコンテキストスイッチングは-サイトとサイトの復元を保存し、
プロセスコンテキストの切り替えを、

キーディレクトリ

  1. アーチ:サブディレクトリリストに関連付けられたアーキテクチャは、関連するコードのCPUアーキテクチャを格納します。
  2. ブロック:ストレージ・システムのLinuxブロックデバイスの管理に格納されたコードと
  3. 暗号:C言語コードは、一般的な暗号化アルゴリズムを格納し、
  4. ドキュメント:文書の保存;
  5. ファームウェア:ファームウェア。
  6. ドライバ:ドライブのディレクトリ、すべてのハードウェアデバイスをサポートするために、ストレージのLinuxカーネルドライバのソースコードを分類し、
  7. FS:ファイルシステム、ファイルシステム、Linuxサポートの多様性を達成するために記載されているファイルシステム。
  8. INIT:初期の初期化手段を、Linuxカーネルのブート時の初期化コードを格納。
  9. 含める:ヘッダファイルのディレクトリを、
  10. IPC:プロセス間通信。
  11. カーネル:カーネルは、コアコードは、それ自体が必要とするカーネルが格納されます。
  12. MM:メモリ管理、メモリ管理、
  13. ネット:ネットワーク関連のコード;

実験

ビルのLinuxシステムMenuOS。

MenuOSを開始します。

ブレークポイントビュー

start_kernel;

rest_init;

概要

init_task(0工程)(cpu_idleを呼び出し、都市にINITを作成した後、遺伝子スレッド、システム全体のプロセスを決定する)アイドルプロセスへと進化し、スケジューリングを行った後、初期化処理が実行されます。初期化カーネルのinit()カーネルスレッド番号1の部分は、初期化プロセス中に、初期化プログラムをロードdo_execve最後の呼び出し、カーネル及びシステム構成を実装する責任があります。プロセス番号0で作成されたkthreaddプロセスは、常にカーネル空間で実行されている、すべてのカーネルスレッドのスケジューリングと管理を担当しています。

おすすめ

転載: www.cnblogs.com/waxxx/p/11627712.html
おすすめ