# HG changeset patch # User okud # Date 1613149900 -32400 # Node ID 101c076a190ba75346a9f8119d672e807d8707ce # Parent f25dbd69348545bbfbab0992c8b8cd64257ac5c5 chapter3.5 diff -r f25dbd693485 -r 101c076a190b paper/chapter/chapter4.tex --- a/paper/chapter/chapter4.tex Fri Feb 12 21:04:24 2021 +0900 +++ b/paper/chapter/chapter4.tex Sat Feb 13 02:11:40 2021 +0900 @@ -12,7 +12,7 @@ \section{BIOSとUEFI} UEFIはBIOSの後継として開発されたがBIOSと大きな違いがいくつかある。 -BIOSとUEFIの違いを表\ref{tb:biso_uefi}にまとめた。 +BIOSとUEFIの違いは表\ref{tb:biso_uefi}である。 \begin{table}[H] \begin{center} \caption{BIOSとUEFIの違い} @@ -34,23 +34,35 @@ また、CPUのアーキテクチャに依存しない。 \subsection{メモリ空間} -BIOSは16bitしかないのでメモリも1MBと制限がある。 -UEFIでは、32bitなら4GB、64bitなら256TBまでメモリを潤沢に使える。 +16bitCPUのメモリのアドレス空間は2の16乗で64KBであった。 +つまり、16bitBIOSでは、64KBの16倍である1MBまでしか使えない。 +UEFIでは、32bitなら2の32乗bitで4GB、64bitなら2の64乗bitで256TBまでメモリを潤沢に使える。 これにより、セキュリティを含めたシステム機能の強化が可能になった。 \subsection{BOOT} BIOSとUEFIでは、BOOT方式が違う。 BIOSは、ディスク先頭の512バイトにBootLoaderとパーティーションテーブル(MBR)が格納されていて -第一セクタの512バイトがメモリの0x7c00にコピーされ、そこにジャンプする。 +第一セクタの512バイトがメモリにコピーされ、そこにジャンプする。 そして、そのBootLoaderが起動する。BootLoaderがカーネルとディスクイメージをメモリにロードし、 カーネルが初期化処理をする。その後OSが起動される。 -UEFIは、 +UEFIは、UEFIファームウェアがロードされ、起動に必要なハードウェアを初期化する。 +次にファームウェアがBootマネージャのデータを読み込みどのUEFI Applicationをどこから起動するか決定する。 +ファームウェアのブートマネージャのブートエントリに定義されているように UEFI Application をファームウェアが起動する。 +起動しらUEFI Applicationが他のApplicationやカーネルとBootLoaderを起動する。 \subsection{デバイス} -device +マウスやキーボードなどのデバイスの規格がBIOSとUEFIで変わる。 +BIOSはUSBが発明される前から存在しているのでデバイス規格はPS/2を使用していた。 +PS/2は端子を通じてキーボードとマウスがキーボードコントローラに接続され、CPUからI/Oバス経由でキーボードコントローラとやりとりをする。 +しかし、PS/2ではマウスとキーボードしか接続できないため、汎用性の高いUSBが主流になってきた。 +だが、USBに対応していないデバイスも存在したため、USBキーボードをPS/2キーボードに見せかけるエミュレータ機能が存在した。 +一方、UEFIではUSBが主流なため、デバイスの規格は基本的にUSBであることが多い。 \section{UEFI Application} aaa \section{UEFI Hello World} UEFIを開発する際に +\section{Raspberry Pi上のUEFI} +a +\section{QEMU 上の UEFI} \ No newline at end of file diff -r f25dbd693485 -r 101c076a190b paper/final_thesis.pdf Binary file paper/final_thesis.pdf has changed diff -r f25dbd693485 -r 101c076a190b paper/final_thesis.tex --- a/paper/final_thesis.tex Fri Feb 12 21:04:24 2021 +0900 +++ b/paper/final_thesis.tex Sat Feb 13 02:11:40 2021 +0900 @@ -33,7 +33,7 @@ \def\lstlistlistingname{リスト目次} \setlength{\itemsep}{-1zh} -\title{Gears OS UEFI 対応} +\title{Gears OS の Bootに関する研究} \icon{ \includegraphics[width=50mm]{fig/ryukyu.pdf} } diff -r f25dbd693485 -r 101c076a190b slide/slide.md --- a/slide/slide.md Fri Feb 12 21:04:24 2021 +0900 +++ b/slide/slide.md Sat Feb 13 02:11:40 2021 +0900 @@ -28,7 +28,7 @@ --- -# Gears OS UEFI対応 +# Gears OS のBootに関する研究 - 奥田光希 - 琉球大学工学部工学科知能情報コース @@ -37,9 +37,43 @@ --- -# +# OSとアプリケーションの信頼性を高めたい - +- Meta計算を用いて信頼性を高めるGearsOSを提案している +- x.v6を元にRaspberry Pi上で動くGearsOSを実装中 +- BIOSからBootしているのでUEFIに移行したい +--- + +# UEFI採用の利点 +- CPUなどの機種依存性を避けることができる +- GearsOSはCbC(Continuation based C)で記述されていて、CPUやデバイスに影響されない +- 様々な組み込みシステムに対してGearsOSを応用できる様になる +- +--- + +# CbC(Continuation based C) --- +# GearsOS + +--- + +# UEFI + +--- + +# UEFI Application + +--- + +# UEFI 開発環境 + +--- + +# UEFIによるGearsOSのBoot + +--- + +# まとめ(デモ???) +