CbC による OS の実装

Taiki Taira / Sep 18, 2012

研究目的

本研究では code segment ,datasegment に沿った OS を実装することを目的とする。
その実装には、本研究室で開発された Continution based C (CbC)を用いる。
CbC は C 言語よりも低くアセンブラより高い層で記述できる言語である。C の使用からループ制御や関数コールを取り除いている。これによりスタックの操作やループ、関数呼び出しなどのより低レベルでの最適化をソースコードレベルで行うことができる。
code segment, data segment を意識した設計にし、メモリ外へのアクセスを制限しセキュリティの向上とプログラマの負担を減らす。
故障が発生した際に、機能を完全に喪失するのではなく、 可能な範囲で機能が維持されるようにすることを Graceful Degradation という。
この Graceful Degradation を目指して実装をすすめる。
Cerium の Task Manager をのせる。 shared library を減らす。

設計1/2

Cerium の Task Manager を載せ、OS に渡される処理を並列化する。

設計2/2

code segment のグループに分ける。

data segment と code segment の整合性をチェックする。

今週の作業 [~ 2012/09/18 ]

UDK2010(EDK II)

動きません。
EDKII のスクリプトで使われていた binutils のバージョンが binutils のサイトから消えていたので入れ替えましたが、今度は GCC-4.3.0 のmake で止まっています。
内蔵されている GCC-4.3.0 の make を通そうとしています。
もしくは代わりに GCC-4.3.6 を使ってみます。

gnu-efi

初代EDK を移植したもの。Mac OS X のboot.efi とか elilo とかにも使われているので、これを使うのも手かな、と思っています。

今後やること

END