セール中 カテゴリ一覧 著者一覧

内田 公太の書籍一覧

0件
Local APICタイマー入門
ダウンロード: EPUB
時間計測はOSを構成する基礎技術です.時間計測にはタイマーと呼ばれるハードウェアが使われます.歴史的に様々なタイマーが開発されPCに搭載されてきました.本書では,2019年現在の典型的な構成のPCに搭載されているタイマーであるACPI PMタイマー,Local APICタイマー,およびTSCの制御方法を説明します.

本書の主題であるLocal APICタイマーはCPUコアに内蔵されたタイマーで,小さなオーバーヘッドで動作し,割り込みにも対応できる使い勝手の良いタイマーです.割り込みの設定方法を含め,タイマーの使い方を詳しく説明します.具体的には,機種により異なるタイマーの動作周波数の測定方法,一般的な割り込み設定の紹介,タイマー固有の割り込みの設定方法などを説明します.

Local APICタイマーの周波数測定に必要となるため,ACPI PMタイマーの使い方も説明します.このタイマーは割り込み機能は無いため通常の使用には使えませんが,動作周波数が仕様により固定されているため,周波数が未知のタイマーの周波数測定に便利です.
700円(税込)
EPUB
0件
C++でできる!OS自作入門
ダウンロード: EPUB
この同人誌は OS を書いてみたいと思っている方に、記述言語として C++ を選んでもらうための本です。 世にある自作 OS の本は C 言語で書いてあるものが多いですが、機能が豊富な C++ も有力な選択肢であることをお伝えするのが目標です。

メインの部分は第 3 章「C++ のコア機能の活用」です。 C++ は 2003 年に出た規格からしばらく新規格が出てきませんでしたが、2011 に出た C++11 を皮切りに新機能がどんどん導入されています。 現時点の最新規格 C++17 までに導入された機能のうち、私が OS を書く際に便利だと思う機能を紹介しています。

OS を作ることを念頭にトピックを選んでいますが、その中の半分くらいの機能は自作 OS 以外でも通じるものです。 したがって、これから C++ を学ぶという方の「C++ 学習の到達指標」としても本書を活用していただけます。 本書の内容が理解できれば C++ をそれなりに使いこなせていると思ってよいでしょう。

次に重要な章は第 2 章「C++ の開発環境」です。 この章では OS 開発に C++ を使う際に押さえておきたい「標準ライブラリ」の話題を扱っています。 C++ は言語組み込みの機能だけでも使うことができますが、標準ライブラリが使えるようになると非常に便利になります。

残念ながら標準ライブラリの多くの部分は OS の作成時には使いにくくなってしまっていますが(例えば動的メモリ管理が必要なライブラリは素直には使えない)、 フリースタンディング環境で使えるライブラリだけでも使えるようにしたいものです。 第 2 章では標準 C ライブラリ newlib と標準 C++ ライブラリ libc++ のビルド方法を紹介しています。
700円(税込)
EPUB
3.0
USB 3.0 ホストドライバ自作入門
ダウンロード: EPUB
本書は自作 OS 向けの USB 3.0 ホストドライバの作り方を説明しています。最終的には USB キーボードからの入力を受け付けられるようになります。 関連する仕様書と合わせて本書を一緒に読むことで、最短で USB ホストドライバを作ることを目指します。

現代の x86_64 アーキテクチャのコンピュータには USB 3.0 ホストコントローラとして xHCI 準拠のコントローラが搭載されています。 xHCI は Intel が作ったホストコントローラ規格であり、xHCI に対応できれば USB 1.1、USB 2.0、USB 3.0 のデバイスを扱えるようになります。

本書はホストコントローラを PCI バス上で検索するやり方から始まり、ホストコントローラの初期化、USB デバイスの認識、USB キーボード用クラスドライバの作り方を解説します。 PCI における割り込み(MSI)の説明もしています。複数の関連する仕様にまたがって一気通貫で説明しているのが特徴です。
700円(税込)
EPUB
0件
システムプログラミングハンドブック
ダウンロード: EPUB
OS を作るときに役に立つ情報へのリンクを 1 冊にまとめた書籍です。 例えば、ページングについてはIntel SDMの何ページ、という程度に細かくリンクを張ってありますので、分厚い書籍のどこを読めば良いかが分からない、ということはありません。

「30 日でできる!OS 自作入門」を読み終えたくらいの人が読めるように、リンク先の補足説明をふんだんに入れました。 ただのリンク集ではなく、リンクが多めの解説書と言っても過言ではありません。

本書にはOS を拡張する段階で役立つ情報が豊富に入っています。 また、「30 日でできる!OS 自作入門」を読み終えたので改造したいけど、どんな改造をすればいいか分からない、という場合に、ざっと眺めて改造案を考えるのにもちょうど良いかもしれません。
700円(税込)
EPUB
0件
Linuxカーネルモジュール自作入門
ダウンロード: EPUB
本書を手にとって頂いてありがとうございます。この本はLinuxカーネルモジュールのビルド手順を説明する本です。Hello Worldを画面に表示するだけのモジュールを紹介します。さらに、カーネルにブレークポイントを仕掛けるkprobesやカーネル内の変数を公開できるsysfsというLinuxの機能を自作モジュールから使ってみます。

読者は基本的なLinuxの操作ができ、C言語の読み書きができることを前提としています。Linuxカーネルのソースコードは読んだことがなくても大丈夫です。
700円(税込)
EPUB
0件
OS自作技術 ステップアップ問題集
ダウンロード: EPUB
この本はOSを自作している方にOSのデバッグ技術を紹介する目的で書かれました。OSを作っていく過程で遭遇しがちな問題を取りあげ,筆者が実践しているデバッグ技術を説明します。バイナリファイルの調べ方,QEMUとGDBの連携のさせ方,OSが再起動してしまうときのバグの調べ方などが主な話題となります。

主な対象読者は「30日でできる!OS自作入門」や類書を参考にして,x86やx86-64向けのOSを作っている方です。シンボルアドレスの調べ方を知りたい,GDBを使ったデバッグ方法を知りたい,EIPの値を手がかりにして調査してみたいなどの要望に答えます。各種のデバッグツールを使いこなしている方であれば既知の話題ばかりかもしれませんが,ご自身と筆者のデバッグ手法の違いを眺めて楽しむことはできるかもしれません。そして,より良い方法がありましたら筆者に教えていただけませんでしょうか?
700円(税込)
EPUB
書籍一覧を見る 戻る