CbC による OS の実装
Taiki Taira
August 10,2012
Taiki Taira
August 10,2012
故障が発生した際に、機能を完全に喪失するのではなく、 可能な範囲で機能が維持されるようにすることを Graceful Degradation という。
本研究ではそれに沿った構成のOSを実装することを目的とする。
その実装には、本研究室で開発された Continution based C (CbC)を用いる。
code segment, data segment を意識した設計にし、メモリ外へのアクセスを制限しセキュリティの向上とプログラマの負担を減らす。
Cerium の Task Manager をのせる。
shared library を減らす。
Cerium の Task Mangaer を載せ、OS に渡される処理を並列化する。
Global Descripter Table --- すべてのプログラムから共通にアクセスするセグメントを定義する
gdt: .word gdt_end - gdt .long gdt .word 0 .quad 0x0000000000000000 /* NULL descriptor */ .quad 0x00af9a000000ffff /* __KERNEL_CS */ .quad 0x00cf92000000ffff /* __KERNEL_DS */ .quad 0x0080890000000000 /* TS descriptor */ .quad 0x0000000000000000 /* TS continued */ gdt_end:
ブート前に CS DS まとめて設定。
上記のコードと、新しくGDT を作成するコードを入れてみると、前回表示されたhelloworld は表示された。
gdb だとデバッグするためにはカーネル側からシリアルポートに出力するなにかが必要?
じゃあシリアルポートに出力方法を考えてみるか、GRUB2 になにか機能がないのかアプローチ