自作 OS で学ぶマイクロカーネルの設計と実装(ジサクオーエスデマナブマイクロカーネルノセッケイトジッソウ)
マイクロカーネルの深淵を知り、骨太なスキルを身に付ける
- 著者:
- 怒田晟也(ヌタセイヤ)
- 出版社:
- 秀和システム
- 出版日:
- 2023年05月18日
- ISBN:
- 9784798068718
- 価格:
- ¥3,960
- 在庫:
- 1
- 判型:
- 単行本
書籍紹介
マイクロカーネル OS は、「美しい設計ではあるものの、遅い実装」というイメージを持たれることがありますが、それは過去の話です。現在では、目立たないところで実用的な OS として使われ、世界を支えています。
本書では、マイクロカーネル OS の概念からその実例まで、機能ごとに分けて説明しています。本書全体としては、基礎知識、マイクロカーネルの解説、その上で動くソフトウェア部分 (ユーザーランド) の解説、そして発展的内容の 4 つのパートから構成されており、それぞれのパート内の章は、概念の解説部分と、その概念をどのように実装しているかを解説した実装部分に分かれています。
各章の実装例として、本書のために筆者が開発したマイクロカーネル OS 「 HinaOS 」を用いて、わかりやすく解説しています。 HinaOS は、エミュレータ上で動かすことを想定した教育目的の OS ですが、 OS の実装を学ぶのに必要となる最低限の機能を備え、ソースコードもシンプルにです。
また、 HinaOS での実装例のほかに、 MINIX3 、 seL4 、 GNU Hurd という 3 つの実用マイクロカーネル OS による実例も解説しています。複数の OS について紹介しているのは、それぞれに特徴があり、それを比較してほしいという理由からです。「マイクロカーネル OS とは、こういうものである」という固定観念を持たず、マイクロカーネルであるからこその柔軟さ、そして設計の自由さを味わってください。 OS はコンピュータの使い方をガラッと変えられる、いわば新しいソフトウェアの世界を創れる土台なのです。
本書を読み終えたら、自分で OS を作ってみてください。 OS の仕組みを理解していても、実装することで新たな発見があるものです。ゼロから OS を作るのではなく、 HinaOS を拡張するのもよいでしょう。 HinaOS には、実装が面倒な基本機能が既に備わっています。このように OS を拡張しやすいのもマイクロカーネルの特徴の 1 つです。
本来、 OS はとても自由なソフトウェアです。特定の CPU にしかない変わった機能を活用した移植性ゼロの OS を作るもよし、極限まで小さくした OS を作るもよし、自由な発想で自分の世界を創り上げることができる最高の題材なのです。
本書を手に、マイクロカーネルの深淵をのぞき込んでみてください。その舞台裏を楽しんでいるうちに、 OS やアーキテクチャにとらわれないコンピュータの深い技術も身に付いているはずです。
言及の推移
言及 Qiita 記事 (4 件)
この本に興味がある方におすすめ
この本に関連
関連記事
機械学習・AI 本ガイド - エンジニアが読むべき技術書の選び方
機械学習の基礎から実践まで学べる技術書の選び方を紹介。数学が苦手な人向けの学習ルートと、ML 本の賞味期限の見極め方を解説します。
ChatGPT に聞けば済む時代に、あえて本を開く理由
生成 AI で何でも聞ける時代に、技術書を読む意味はあるのか。AI の回答と書籍の知識の決定的な違いを掘り下げ、両者の使い分けを提案します。
技術書の読む順番戦略 - 複数冊を組み合わせて理解を加速させる
技術書を 1 冊ずつ読むのではなく、複数冊を戦略的に組み合わせることで理解の深さと速度を飛躍的に高める方法を解説します。
関連用語
サイドカーパターン
メインコンテナと同じ Pod に補助コンテナを配置し、横断的関心事を分離する設計パターン
マイクロサービス
1 つの大きなアプリケーションを複数の小さなサービスに分割し、それぞれが独立してデプロイ・スケール可能な状態で協調動作するアーキテクチャパターン
システムコール
ユーザー空間のプログラムが OS カーネルの機能を呼び出すインターフェース
サイドカーインジェクション
Kubernetes で Pod にサイドカーコンテナを自動的に注入し、横断的関心事を透過的に追加する仕組み
サービスメッシュ
マイクロサービス間の通信を透過的に管理するインフラ層で、トラフィック制御・認証・監視を提供する
サーキットブレーカーライブラリ
外部サービスの障害を検知し、自動的にリクエストを遮断して障害の連鎖を防ぐライブラリ