Mercurial > hg > Papers > 2013 > taiki-thesis
changeset 4:93afb9dc0401 default tip
finish preceding
author | taiki <taiki@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 19 Feb 2013 08:50:24 +0900 |
parents | 461fddf1e6a1 |
children | |
files | pre-thesis/thesis.tex |
diffstat | 1 files changed, 6 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/pre-thesis/thesis.tex Mon Feb 18 18:31:17 2013 +0900 +++ b/pre-thesis/thesis.tex Tue Feb 19 08:50:24 2013 +0900 @@ -27,7 +27,7 @@ \section{はじめに} UEFI は OS とファームウェアの中間に位置する、インターフェース仕様である。CPU に依存せず、64bit で OS を立ち上げることができる。ELILO は、この UEFI 上で Linux をブートすることのできるブートローダである。\\ -UEFI 上では、OS のブートローダは UEFI のアプリケーションとして動作する。つまり、ELILO は UEFI アプリケーションの一つである。UEFI のアプリケーションである ELILO から、実行形式をロードせずに直接カーネルを起動することができれば、ロードの手順を踏むことなくよりシンプルなカーネルを実装することができる。\\ +UEFI 上では、OS のブートローダは UEFI のアプリケーションとして動作する。つまり、ELILO は UEFI アプリケーションの一つである。UEFI のアプリケーションである ELILO から、実行形式をロードせずに直接カーネルを起動することができれば、ロードの手順を踏むことがなくよりシンプルなカーネルを実装することができる。\\ % UEFIとは何か。何のために導入されたものなのか? % elilo とは何か、 UEFI との関係は? @@ -59,16 +59,16 @@ UEFI ではブートローダやデバイスドライバは、UEFI 用のアプリケーションとして動作する。\\ UEFI 用のアプリケーションを作成するには、Linux 上で gnu-efi をインストールする。次に、gnu-efi に付属しているリンカスクリプトとオブジェクトファイルをリンクする。これで、gnu-efi のライブラリを使用することができる。 最後に、作成したプログラムを objcopy を使い、Linux の実行形式 ELF から、UEFI に>使われている実行形式の PE+ に変換する。これで、UEFI アプリケーションを作成することができる。\\ -作成したプログラムが、対象のディスクイメージを起動すると自動的に開始できるようにするためには、 UEFI に対応したパーティションとファイルシステムにフォーマットしたディスクに、/EFI/BOOT/boot(archtecture).efi というように配置する。 +作成したプログラムが、対象のディスクイメージを起動すると自動的に開始できるようにするためには、 UEFI に対応したパーティションとファイルシステムにフォーマットしたディスクに、/EFI/BOOT/boot(archtecture).efi というように配置する。UEFI は FAT に対応しているため、ファイルシステムは FAT を使用する。 + +\section{UEFI アプリケーションの実行}\label{section:debug} +今回は、VMware Fusion 5 を使用した。VMware Fusion 5 は UEFI から起動するように設定を変更することができる。\\ +本研究の環境では、開発用の Linux と、デバッグ用の Linux の2つに分けて開発を行った。 \section{ELILO}\label{section:elilo} UEFI から、Linux をブートするためのブートローダである。ライブラリに gnu-efi を使用している。LILO 設定ファイルの記述などを、LILO を元にしている。 \subsection{ELILO の設定}\label{section:confelilo} ELILO を使うためには、Linux にインストールした gnu-efi を、UEFI アプリケーションの作成方法に従い Makefile を書き換え、make する。出来上がった ELILO の実行ファイルを、boot(archtecture).efi に変更し、UEFI が自動的に読み込む /EFI/BOOT へ配置し、PC を起動することで ELILO を使うことができる。 -\subsection{UEFI アプリケーションの実行}\label{section:debug} -今回は、VMware Fusion 5 を使用した。VMware Fusion 5 は UEFI から起動するように設定を変更することができる。\\ -本研究の環境では、開発用の Linux と、デバッグ用の Linux の2つに分けて開発を行った。 - \section {ページング}\label{section:paging} カーネルには、メモリ管理のためのページング機構が備わっている。ページングとは、記憶装置をページと呼ばれる小さな単位に分割して割り当てを行うアルゴリズムである。物理メモリ及び、仮想メモリ空間を一定のサイズのページと呼ばれる単位を分割して管理する。\\ ページングをすることにより、物理メモリ上で小さな領域を集めて一つの仮想メモリを確保することができ、プログラム側からメモリを管理する必要がなくなる。\\