CbC による OS の実装
Taiki Taira
Feb 5 2013
Taiki Taira
Feb 5 2013
本研究では code segment ,datasegment に沿った OS を実装することを目的とする。
その実装には、本研究室で開発された Continuation based C (CbC)を用いる。
CbC は C 言語よりも低くアセンブラより高い層で記述できる言語である。C の仕様からループ制御や関数コールを取り除いている。これによりスタックの操作やループ、関数呼び出しなどのより低レベルでの最適化をソースコードレベルで行うことができる。
Codesegment, Datasegment を意識した設計にし、メモリ外へのアクセスを制限しセキュリティの向上と、malloc/free などのメモリ管理を OS に行わせ、プログラマの負担を減らす。
uefi_call_wrapper( EFI_FILE_IO_INTERFACE volume->OpenVolume, 2, EFI_FILE_IO_INTERFACE *volume, EFI_FILE_HANDLE fh)
uefi_call_wrapper( EFI_FILE_IO_INTERFACE volume->Open, 5, EFI_FILE_IO_INTERFACE volume, EFI_FILE_HANDLE fh, filename, EFI_MODE_READ, (UINT64)0)
uefi_call_wrapper( EFI_FILE_IO_INTERFACE volume->Read, 3, EFI_FILE_HANDLE fh, size, buf)