x86のユーザランド実装

ようやくx86でもelfバイナリを読み込んで制御をうつし、システムコールを受け取って処理するという一連の流れが実装できた。(mipsでは既に動いている
但し、まだ仮想メモリは無く、elfバイナリのロードはヘッダに書いてある通りの場所に読み込んでしまう、というお粗末なものだ。
せめてバイナリをポジションインディペンデントにしてロード時に再配置し、メモリ管理をきちっとやりたいんだがpieオプションでコンパイルしたときのelfヘッダの内容がよく理解できない。
こちらを攻めるのが良いか、仮想メモリを実装するのが良いか微妙なところ。
仮想メモリが無いので良いやと思ってセグメント切り替えでユーザランド空間へ切り替えてない。
なので厳密にはカーネルランドバイナリのロードが実装できたと言うべきか。