出版社内容情報
Webサイトの閲覧をはじめとして、コンピューターはさまざまな場面でみなさんの日常と密接にかかわっています。しかし、その裏側で起きていることを理解するのは、現代の複雑なコンピューターシステムの上では困難です。そこで本書では、シンプルなOSをRustを用いて実装し、普段は見えないOSの役割とその動作を理解していきます。Ⅰ巻ではメモリ管理、マルクタスク、ハードウェア制御に関する部分を実装し、Ⅱ巻ではユーザーインタフェース、アプリケーション実行、インターネットへの接続に関する部分を実装します。既刊の『[作って学ぶ]ブラウザのしくみ』で実装するブラウザは、本書で実装するOS上で動作することを想定しています。ですので、本書と『[作って学ぶ]ブラウザのしくみ』で、OSの動作と、そのOS上でブラウザなどのアプリがどのように動作しているのかとを理解できます。
内容説明
みなさんの身近にあるコンピューターのほとんどは、OSなしでは単なる電子回路の塊になってしまいます。それにもかかわらず、OSがどのようなことをしているのか、なぜOSが必要なのか、その正体はあまり知られていないのが現状です。本書は、最低限の機能を持ったOSを手作りすることを通して、みなさんにOSの果たす役割とそのしくみについて理解していただくことを目標としています。本書1巻では、ベアメタルプログラミングでHello,worldをするところから始まり、メモリ管理のためのアロケータを実装し、async/awaitを利用した協調的マルチタスクを実現して、最終的にはUSBデバイスを動作させるところまでを解説します。普段は目にすることのない縁の下の力持ち。低レイヤの世界の魅力を体験。
目次
第1章 OSとは―コンピューターの裏側を支えるソフトウェアを知る
第2章 ベアメタルプログラミングをしてみる―OSのない世界でプログラムを動かすための準備
第3章 メモリ管理を実装しよう―限りある資源を効率良く使えるようにする
第4章 マルチタスクを実装しよう―1つのCPUで複数の作業を並行して行う方法について知る
第5章 ハードウェアを制御する(1)―デバイスを動かす方法を知る
第6章 ハードウェアを制御する(2)―USBデバイスを使えるようにする
Appendix 実ハードウェアでの起動を試す
著者等紹介
hikalium[ヒカリウム]
小学生のころから自作OSの楽しさに目覚め、以後エミュレーターやCPU、コンパイラなどの自作にも手をのばす。2017年よりIPA主催のセキュリティ・キャンプ全国大会にて講師を担当。現在はGoogleでソフトウェアエンジニアとしてChrome OSの開発に従事している(本データはこの書籍が刊行された当時に掲載されていたものです)
※書籍に掲載されている著者及び編者、訳者、監修者、イラストレーターなどの紹介情報です。
-
- 和書
- 構造的計算量理論