『大神 祐真(実用)』の電子書籍一覧
1 ~4件目/全4件
-
カーネルとアプリのフルスクラッチを始めよう!
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フォーマット方法
おわりに
参考情報
-
エディタとコンパイラのみでUEFIファームウェアを叩き、OSっぽいものを作り上げる。
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の機能拡張例
おわりに
参考情報 -
エディタとコンパイラのみでUEFIファームウェアを叩く本のパート2。Linuxカーネルのブート等のTIPS本。
最近の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のその他の機能
おわりに
参考情報 -
フルスクラッチでOS自作
フルスクラッチで作成している自作OS「OS5」のソースコードとコメンタリーの本です。「自身のOSを印刷して本にする」夢があり、「Lions' Commentary on UNIX(Lions本)」をまねて本にしてみました。PDF版は http://yuma.ohgami.jp から無償でダウンロードできます。物理媒体(紙版)は、技術書典2で頒布し、超技術書典でも頒布予定(2017年4月18日現在)です。
「OS5」は、OSについて趣味や仕事で勉強してきた自身の理解を確認するためにブートローダー・カーネル・ユーザーランド(アプリケーション郡)を全てフルスクラッチで自作しているOSです。「一つ一つの機能をシンプルに」を念頭に作成しています。現状、一番作り込めているのはカーネルで、スケジューラ、ページング、ヒープアロケータ、システムコール、ファイルシステム等の基本的な機能を一通り揃えて、2000行程度で実現できています。ブートローダーとユーザーランドを含めても3000行程度です。
OS5について詳しくは http://funlinux.org/os5 にまとめていますので、よろしければ見てみてください。
・キャンペーンの内容や期間は予告なく変更する場合があります。
・コインUP表示がある場合、ご購入時に付与されるキャンペーン分のコインは期間限定コインです。詳しくはこちら
・決済時に商品の合計税抜金額に対して課税するため、作品詳細ページの表示価格と差が生じる場合がございます。