商品情報
- 著者: hikalium
- シリーズ名: WEB+DB PRESS plus
- 発売日: 2025年04月28日
- 出版社: 技術評論社
- 商品番号: 9784297148607
- 言語: 日本語
- 対応端末: 電子書籍リーダー, Android, iPhone, iPad, デスクトップアプリ
商品説明
内容紹介
※この商品はリフロー型で作成されており、ハイライトや検索、文字の大きさの変更などの機能がご利用可能です。
◆CPU/メモリ/入出力などハードウェアの制御をRustで実装◆
Webサイトの閲覧をはじめとして、コンピューターはさまざまな場面でみなさんの日常と密接にかかわっています。しかし、その裏側で起きていることを理解するのは、現代の複雑なコンピューターシステムの上では困難です。そこで本書では、シンプルなOSをRustを用いて実装し、普段は見えないOSの役割とその動作を理解していきます。1巻ではメモリ管理、マルクタスク、ハードウェア制御に関する部分を実装し、2巻ではユーザーインタフェース、アプリケーション実行、インターネットへの接続に関する部分を実装します。既刊の『[作って学ぶ]ブラウザのしくみ』で実装するブラウザは、本書で実装するOS上で動作することを想定しています。ですので、本書と『[作って学ぶ]ブラウザのしくみ』で、OSの動作と、そのOS上でブラウザなどのアプリがどのように動作しているのかとを理解できます。
■目次
第1章:OSとは──コンピューターの裏側を支えるソフトウェアを知る
OSとは何か
本書で実装するOSの全体像
本題に入る前に
第2章:ベアメタルプログラミングをしてみる──OSのない世界でプログラムを動かすための準備
コンピューターの構成要素
すべてはバイナリ
UEFIアプリケーションを作ってみる
UEFIからの脱却
Rustの便利機能を活用する
もっと色々なものを描く
writeln!()マクロを使ってみる
第3章:メモリ管理を実装しよう──限りある資源を効率良く使えるようにする
OSとメモリの関係
実装前の準備
バイト単位のアロケータを実装する
OSのテストをRustで書く
ページング──より高度なメモリ管理を行う
第4章:マルチタスクを実装しよう──1つのCPUで複数の作業を並行して行う方法について知る
マルチタスクとは何か
Rustのasync/awaitで協調的マルチタスクをする
ソースコードの整理
第5章:ハードウェアを制御する(1)──デバイスを動かす方法を知る
OSとハードウェアの関係
PCIとは
PCIデバイスの一覧を取得する
USBコントローラ(xHCI)のドライバを実装する
第6章:ハードウェアを制御する(2)──USBデバイスを使えるようにする
USBデバイスの情報を取得する
USBキーボードを使えるようにする
USBマウス……もといタブレット入力を使えるようにする
Appendix:実ハードウェアでの起動を試す
USBメモリをFATファイルシステムでフォーマットする
WasabiOSをUSBメモリに書き込む
USBメモリからの起動
実機で試すときの注意点
■著者プロフィール
hikalium(ヒカリウム):小学生のころから自作OSの楽しさに目覚め、以後エミュレーターやCPU、コンパイラなどの自作にも手をのばす。2017年よりIPA主催のセキュリティ・キャンプ全国大会にて講師を担当。現在はGoogleでソフトウェアエンジニアとしてChrome OSの開発に従事している。X:@hikalium
商品レビュー
楽天Koboのレビュー
まだレビューがありません。 レビューを書く