あるプロセスには親プロセスという生みの親がいます。その親にも親がいます。 そして、プロセスの系譜をさかのぼり続けると一つのプロセスに行き着きます。 それはinitプロセス。Unix及びUnix系のOSではこの名前がついています。*1 またタイトルにあるxv6とは、2006年MITで開発された教育用OSです*2。 ANSI Cで書かれておりソースコードリーディングに適しています。 今回はあらゆるプロセスの祖先といえるinitプロセスの生成と実行はじめまでを、xv6のソースコードを読み、観察してみましょう。︵同じ内容のスライドがあります。こちらはブログと比べスタックの動的な操作がわかりやすいです。︶ あらすじxv6のプロセスinitプロセスの生成 スケジューラがinitプロセスを選択 スケジューラからinitへのコンテキストスイッチinitの実行 注意initプロセスに話をしぼるため、
![xv6 initプロセス ことはじめ - とあさのうみ](https://cdn-ak-scissors.b.st-hatena.com/image/square/0c3b1dc9e0ed2fdb51fc81ca3de8cb4879801201/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Ft%2Ftoasa3%2F20200218%2F20200218210804.png)