最近のPCのマザーボードにはOSを起動するためにROM上に書き込まれているプログラム(ファームウェア)として、"UEFI"という共通仕様に準拠したファームウェアが書き込まれています。"UEFI"はこれまでの"BIOS"よりも高機能な仕様になっており、前著(パート1)ではそのようなファームウェアから直接呼び出されるプログラムの作り方と、UEFIの機能を呼び出すだけでOSっぽいが作れる事を紹介しました。
本書はパート1では紹介しきれなかったその他のUEFIの機能を呼び出す方法を紹介するTIPS本です。本書ではUEFI上で直接動くプログラムの本来の立ち位置である"ブートローダー"として、"Linuxカーネルの起動方法"等を紹介しています。なお、本書も前著同様にPDF版は http://yuma.ohgami.jp で無償で公開しています。
【目次】
はじめに
第1章 コンソール出力
第2章 キーボード入力
第3章 UEFIアプリケーションのロード・実行
第4章 タイマーイベント
第5章 BootServicesやRuntimeServicesのその他の機能
おわりに
参考情報
© 2017 大神祐真
「GWコイン大還元祭」は1,500円(税込)以上の購入でコイン還元されます
110円(税込)
100円 (+消費税10円)
5/7 (火) 09:59まで
新規限定!
100
コイン還元
(*詳細)
0から全て作る「フルスクラッチ」でOS自作を始める本です。いかなるソフトウェアライブラリも使用せず、基本的にエディタとコンパイラ(GCC)のみでOSを作っていきます(厳密にはmakeやリンカも使います)。本書では以下の技術要素について、アプリケーションへ抽象化した機能を提供するための「カーネル」をステップバイステップで実装していきます。・フレームバッファ(画面描画)
・キーボード入力(キーボードコントローラ、KBC)
・割り込み(割り込みコントローラ、PIC)
・ファイルシステム(簡易RAMFS)
本書の最後では、カーネルとして実装したこれらの技術要素を使用するアプリケーションとして「画像ビューア」を作成します。ブートローダーには"poiboot"という独自のものを使用します。実は本書は「フルスクラッチで作る!」シリーズ3冊目で、"poiboot"は前著までの内容を元に作成したブートローダーです。ブートローダーのフルスクラッチにも興味があれば、ぜひ前著もご覧ください。("poiboot"自体はビルド済バイナリを筆者のウェブサイトからダウンロードできます。)なお、前著含め筆者の同人誌のPDF版は筆者のウェブサイト http://yuma.ohgami.jp に無料で公開しています。
【目次】
はじめに
第1章 開発環境とブートローダーの準備
第2章 フレームバッファを制御する
第3章 キーボード入力
第4章 割り込みを使う
第5章 メモリ上の簡易ファイルシステムを用意する
第6章 画像ビューアアプリを作ってみる
付録A 表紙について
付録B poibootについて
付録C GPTフォーマット方法
おわりに
参考情報
各110円 (税込)
PCのマザーボードには、OSやブートローダーを起動するためのプログラムがマザーボード上のROMに書き込まれています(このようなプログラムを本書では"ファームウェア"と呼びます)。PCの電源を入れると、ROM上のファームウェアがHDD等に存在するOS、あるいはブートローダーをRAMへロードし、実行します。これまでこのようなファームウェアは"BIOS"と呼ばれ、ある程度共通性はありながらも、実装はメーカー独自でした。しかし、PCのファームウェアの仕様を共通化するために"UEFI"が生まれ、近年のPCにはUEFIの仕様に従ったファームウェアが書き込まれています。
そして、実は、UEFIは仕様を共通化するだけでなく、ファームウェアをより高機能にしています。そこで、本書では、UEFIのファームウェアからOS無しで直接呼び出されるプログラムを作成する方法を紹介し、UEFIの機能を呼び出すことでOSっぽいもの(poiOS)を作成する方法を紹介します。
RaspberryPi等ではOS無しでハードウェア上で直接動くプログラムを書くことを"ベアメタルプログラミング"と呼びます。PCでベアメタルプログラミングをやってみたいと思っている人には、その第一歩として、ぜひ読んでみて、試してみていただきたいです。なお、PDF版は http://yuma.ohgami.jp から無償でダウンロードできます。
【目次】
はじめに
第1章 Hello UEFI!
第2章 キー入力を取得する
第3章 画面に絵を描く
第4章 マウス入力を取得する
第5章 ファイル読み書き
第6章 poiOSの機能拡張例
おわりに
参考情報
最近のPCのマザーボードにはOSを起動するためにROM上に書き込まれているプログラム(ファームウェア)として、"UEFI"という共通仕様に準拠したファームウェアが書き込まれています。"UEFI"はこれまでの"BIOS"よりも高機能な仕様になっており、前著(パート1)ではそのようなファームウェアから直接呼び出されるプログラムの作り方と、UEFIの機能を呼び出すだけでOSっぽいが作れる事を紹介しました。
本書はパート1では紹介しきれなかったその他のUEFIの機能を呼び出す方法を紹介するTIPS本です。本書ではUEFI上で直接動くプログラムの本来の立ち位置である"ブートローダー"として、"Linuxカーネルの起動方法"等を紹介しています。なお、本書も前著同様にPDF版は http://yuma.ohgami.jp で無償で公開しています。
【目次】
はじめに
第1章 コンソール出力
第2章 キーボード入力
第3章 UEFIアプリケーションのロード・実行
第4章 タイマーイベント
第5章 BootServicesやRuntimeServicesのその他の機能
おわりに
参考情報
0から全て作る「フルスクラッチ」でOS自作を始める本です。いかなるソフトウェアライブラリも使用せず、基本的にエディタとコンパイラ(GCC)のみでOSを作っていきます(厳密にはmakeやリンカも使います)。本書では以下の技術要素について、アプリケーションへ抽象化した機能を提供するための「カーネル」をステップバイステップで実装していきます。・フレームバッファ(画面描画)
・キーボード入力(キーボードコントローラ、KBC)
・割り込み(割り込みコントローラ、PIC)
・ファイルシステム(簡易RAMFS)
本書の最後では、カーネルとして実装したこれらの技術要素を使用するアプリケーションとして「画像ビューア」を作成します。ブートローダーには"poiboot"という独自のものを使用します。実は本書は「フルスクラッチで作る!」シリーズ3冊目で、"poiboot"は前著までの内容を元に作成したブートローダーです。ブートローダーのフルスクラッチにも興味があれば、ぜひ前著もご覧ください。("poiboot"自体はビルド済バイナリを筆者のウェブサイトからダウンロードできます。)なお、前著含め筆者の同人誌のPDF版は筆者のウェブサイト http://yuma.ohgami.jp に無料で公開しています。
【目次】
はじめに
第1章 開発環境とブートローダーの準備
第2章 フレームバッファを制御する
第3章 キーボード入力
第4章 割り込みを使う
第5章 メモリ上の簡易ファイルシステムを用意する
第6章 画像ビューアアプリを作ってみる
付録A 表紙について
付録B poibootについて
付録C GPTフォーマット方法
おわりに
参考情報
付与コインの内訳
100コイン
会員ランク(今月ランクなし)
0%
コイン還元キャンペーン
50%
初回50%コイン還元 会員登録から30日以内の初回購入に限り、合計金額(税抜)から50%コイン還元適用
複数商品の購入で付与コイン数に変動があります。
付与コイン数が購入金額(税抜)の100%を超える場合、100%未満になるよう調整が行われます。
会員ランクの付与率は購入処理完了時の会員ランクに基づきます。
そのため、現在表示中の付与率から変わる場合があります。
【クーポンの利用について】
クーポンご利用時、コイン還元キャンペーン分のコインは付与されません。
ただし、初回50%コイン還元分のコインは付与されます。
詳しくは決済ページにてご確認ください。