みかん本輪読会 第1章 PCの仕組みとハローワールド
ハローワールド バイナリ→ この文字列をバイナリエ ディタを用いて打ち込み BOOTX64.EFIというファイ ルに保存し、実行すると Hello, World! と表示され る。 EFI → Extensible Firmware Interface
余談 MZ → DOS MZ executable (更に余談 PK→Zip形式) PE → Portable Executable text → 実行可能コード (自由形式) rdata → 読み取り専用で初期化されたデータ
結局、何をやったのか? ・実行可能ファイルを作っていた ・実行可能ファイルとはCPUが実行可能な機械語を含んだファイルのこと つまり、CPU(計算機)は機械語で動いてる!!!
OSを作る道具
・C/C++
ソース
ヘッダ
hello.c
.cpp
.hpp
.o
オブジェクト
(機械語)
EFI_STATUS EfiMain(EFI_HANDLE
ImageHandle,
EFI_SYSTEM_TABLE *SystemTable) {
SystemTable->ConOut->OutputString(SystemTable
->ConOut, L”Hello, world!\n”);
while(1);
return 0;
}
.elf
実行ファイル (Executable and Linkable Format)
コンパイル
リンク