『[作って学ぶ]OSのしくみ』第1巻、技術評論社が4/28(月)に発売。ChromeOS開発者が自作OSの作成方法をレクチャー

『[作って学ぶ]OSのしくみ』第1巻、技術評論社が4/28(月)に発売。ChromeOS開発者が自作OSの作成方法をレクチャー

2025.04.11
ニュースプログラム
この記事をシェア!
Twitter Facebook LINE B!
Twitter Facebook LINE B!

この記事の3行まとめ

  • 『[作って学ぶ]OSのしくみⅠ』、2025年4月28日(月)に技術評論社より発売
  • シンプルOSを自作することでOSの役割や仕組みを学ぶ。使用言語はRust
  • 本書は全2巻編成の1巻目。メモリ管理やマルチタスク、ハードウェア制御などを取り扱っている

技術評論社は2025年4月28日(月)、『[作って学ぶ]OSのしくみⅠ──メモリ管理、マルチタスク、ハードウェア制御』を発売します。本書は、シンプルなOSを自作する作業を通して、OSが果たす役割や仕組みを理解することを目的としています。

総ページ数は552ページ、価格は3,520円(税込)。Amazon.co.jpなどで予約購入を受付中。

著者は、GoogleでChromeOSの開発に携わっているソフトウェアエンジニアのhikalium氏。対象読者は、プログラミングに少しだけ触れたことのある方や、普段Webアプリケーションなど高レイヤーの開発を行っている方など。

本書は全2巻編成の1巻目として刊行。OSの概要を説明したのち、メモリ管理やマルチタスク、ハードウェア制御などの実装について、サンプルコードを示しつつ解説しています。

第2巻は2025年内の刊行を予定。GUI(グラフィカルユーザインターフェース)やアプリケーションの実行、インターネット接続などに関する実装を解説予定とのこと。

(画像は技術評論社書籍ページより引用)

OSの動作対象はx86_64アーキテクチャ。実装言語にはRustを採用しています。

動作確認はエミュレーターで行うため、1台のPCで作業が可能。開発環境はLinuxを想定していますが、そのほかのOSでも動作確認ができるよう注釈などが用意されています。

本書は全6章に加え、実機で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:実ハードウェアでの起動を試す

なお、関連書籍として『[作って学ぶ]ブラウザのしくみ── HTTP、HTML、CSS、JavaScript の裏側』が販売中。

Rustを用いてブラウザを自作するという内容で、作成したブラウザは本書で自作するOS上で動作することが想定されています。併用することでブラウザやWebアプリケーションの動作原理を学習できるとのこと。

『[作って学ぶ]OSのしくみⅠ──メモリ管理、マルチタスク、ハードウェア制御』の詳細は技術評論社の書籍ページをご確認ください。

『[作って学ぶ]OSのしくみⅠ──メモリ管理、マルチタスク、ハードウェア制御』技術評論社書籍ページ

関連記事

ライブ配信アプリ「REALITY」ブラウザ版におけるUnityのWeb向けビルド技術、開発会社がブログ記事で解説。JavaScriptからUnityの実装を呼び出せるライブラリを独自開発
2025.04.14
Epic Games、「Gameplay Ability System」のチュートリアル記事を公開。『Fortnite』バトロワモードなどで導入されているアビリティ実装システム
2025.04.11
元Microsoftエンジニアが現場で鍛えた実践的なスキルを解説。『ストリートコーダー 現場で生き残るためのプロのテクニック』、秀和システムが2/26(水)に発売
2025.02.11
プログラミング支援AIツール「GitHub Copilot」に、テストの実行提案やテスト失敗に対する自動修正を行う「エージェントモード」が搭載
2025.02.07
ゲーム業界でも注目を集める「USD」。ゲームアセットフローでの活用と、ハマりがちなポイントをバンダイナムコスタジオが解説【CEDEC2024】
2025.02.05
2024年アドベントカレンダーから、ゲームメーカーズ編集部が注目した14記事を一挙紹介!
2024.12.26

注目記事ランキング

2025.04.08 - 2025.04.15
VIEW MORE

連載・特集ピックアップ

イベントカレンダー

VIEW MORE

今日の用語

レベル(Level)
レベル
  1. ゲーム開発において、位置情報を持つオブジェクトが配置されている地形。
  2. RPGなどのゲームにおいて、キャラクターの成長度合いを示す数値。レベルアップなど。
VIEW MORE

Xで最新情報をチェック!