CbC による OS の実装(仮)
Taiki Taira / 03,July,2012
Taiki Taira / 03,July,2012
OS を構成する CPU 等の機器に多少の障害が起きてもすぐに切られることがないようにする。
故障や部品交換等でOSそのものが止まるような箇所をなくす。
CbC で動作し、Cerium の Task Manager をのせる。
code segment, data segment を意識した設計にする。
shared library を減らす。
CPU 消費によって硬直する、重くなる
起動、停止が遅い
multi task とは
Cerium の Task Mangaer を載せ、OS に渡される処理を並列化する。
compiler を OS に載せるのかどうか
Multiboot specifiction version 1.6 を読んで、grub2 でのプログラムの動かし方を学ぶ。
物理アドレス拡張。
32bit CPU で 4GiB以上のメモリを扱う技術。
AMD の AMD 64 アーキテクチャと Interl 64 アーキテクチャでは PAE のページテーブルエントリ構造を保ったまま512エントリをもった4段のページテーブル構造にすることで仮想アドレス空間を48、物理アドレス空間を52bit まで拡張。
IA-32 の PAE 互換を使用する場合物理アドレス空間の範囲は64bit mode で使った場合と同様。
最初にCPUのIDを確認し、Long mode が使用可能かチェックする。
arch/x86/boot/compressed/head_64.S で protect mode からlong mode へ移行するアセンブラが記述してある。
64bit の GDT (Global Descripter Table) や PAE (Physical Address Extension) などもこのソースで用意している。