tarosukeの日記: 俺OS v あるいはtalos(仮称
まだまだ続くよ仮想メモリ
SHの仮想メモリについて調べてみた。どうやらASIDなるものでア
ドレス空間自体を切り替えるようだ。とすればASID=セグメントセ
レクタとして扱う限りSHとix86の仮想メモリについて本質的な差
はないようだ。
てことはなにかとハードウェアを省くSHでさえこの程度の差なのだ
から安心してセグメントを使えそうだ。でもホントはプロセスに3
つのアドレス空間を与えたかったんだけどASIDが8bitsしかない
のでそれはちょっと無理そう。
スタックやデータとコードの空間が別だとスタックオーバーフロー
攻撃が不可能になるんだけどな。せいぜいsegfaultでDOS攻撃に
なるくらいで。
というわけで、こんな刻限にもかかわらず、明日が絶対最終納期線
であるにもかかわらず、ちょっと進めてみる。
アドレス空間の呼称を決定。今まではセグメントとかなんとか適当
に呼んでたけど、これからは「エリア」と呼ぶ事にする。どーでも
いい事のように思えるかも知れないけど呼称が混乱すると思考も混
乱しやすくなるので呼称は案外重要。
アーキテクチャ毎の差異が推し量れるようになるとアーキテクチャ
非依存の限界がわかるようになる。なのでページの取得と返却部分
も書けるようになった。ザックリと記述してみる。
明日は別に早くないけどやっぱり限界もあるので今日はここまで。
そだ。このOSの名前を募集中。talosってのはespyさんの案。
俺OS v あるいはtalos(仮称 More ログイン