オペレーティングシステム (第 2 版)
オペレーティングシステムダイニハン
- 著者:
- 松尾 啓志(マツオ ヒロシ)
- 出版社:
- 森北出版
- 出版日:
- 2018年11月30日頃
- ISBN:
- 9784627810129
- シリーズ:
- 情報工学レクチャーシリーズ
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
OS を理解するうえでとくに重要な基礎である「CPU の仮想化」「並行プロセス」「主記憶管理」「ファイル」について, やさしくコンパクトにまとめた入門書.
【イメージしながら学べるから初学者に最適!】
・コンピュータシステムの要素ごとに大きく異なる動作速度を数値で示して, OS に必要な機能, 実現方法についてより具体的に考えられるようになっています.
・OS の基本技術と, UNIX や Linux,Windows に実装された技術とが関連付けて説明されています.
第 2 版では, よりわかりやすくなるよう全面的に記述を見直すとともに, 情報を更新しました.また, 大規模計算機システムを開発設計するにあたって理解しておきたい「仮想化」について, 新たに章を設けました.
第 1 章 オペレーティングシステムとは
第 2 章 CPU の仮想化: プロセス
第 3 章 CPU の仮想化: スケジューリング
第 4 章 並行プロセス: 排他制御基礎
第 5 章 並行プロセス: セマフォア
第 6 章 並行プロセス: モニタ
第 7 章 主記憶管理: 基礎
第 8 章 主記憶管理: 領域割り当て
第 9 章 主記憶管理: ページング
第 10 章 主記憶管理: セグメンテーション
第 11 章 主記憶管理: 仮想記憶
第 12 章 主記憶管理: ページ置き換え方式
第 13 章 ファイル: 基礎
第 14 章 ファイル: より進んだファイルシステム第 15 章 仮想化
技書の森解説
『オペレーティングシステム 第 2 版』 (松尾 啓志 著、森北出版、2018 年 11 月刊) は、森北出版の情報工学レクチャーシリーズに収められた OS の入門教科書です。版元の紹介文では、OS を理解するうえで特に重要な基礎として、CPU の仮想化、並行プロセス、主記憶管理、ファイルの 4 つを取り上げ、やさしくコンパクトにまとめた本と説明されています。OS の講義を受ける学生や、アプリケーションの下で何が起きているかを基礎から押さえたいエンジニアが、最初の一冊として手に取りやすい構成です。
全 15 章の構成、プロセスから主記憶管理、仮想化まで
第 1 章 オペレーティングシステムとはで全体像を示したあと、第 2 章と第 3 章で CPU の仮想化としてプロセスとスケジューリングを扱います。第 4 章から第 6 章は並行プロセスの章で、排他制御の基礎、セマフォア、モニターと段階を追って同期の仕組みを学びます。第 7 章から第 12 章の 6 章は主記憶管理に充てられ、基礎、領域割り当て、ページング、セグメンテーション、仮想記憶、ページ置き換え方式と、メモリの扱いを順に掘り下げます。第 13 章と第 14 章はファイルの基礎と、より進んだファイルシステムです。最後の第 15 章 仮想化は第 2 版で新たに設けられた章で、紹介文では大規模な計算機システムを開発設計するうえで理解しておきたい話題として位置づけられています。第 2 版ではこのほか、全面的に記述を見直し、情報を更新したとされています。
動作速度の差から OS の役割を考える
OS の学習が抽象的に感じられやすいのは、プロセスや仮想記憶といった仕組みが、なぜその形になっているのかが見えにくいためです。CPU のレジスター、主記憶、ディスクといった要素の間には桁の違う速度差があり、OS の多くの機能は、遅い装置を待つ時間を隠し、限られた資源を複数のプログラムに公平に配るために生まれています。本書の紹介文では、コンピュータシステムの要素ごとに大きく異なる動作速度を数値で示し、OS に必要な機能と実現方法を具体的に考えられるようにしていると説明されています。また OS の基本技術を、UNIX や Linux、Windows に実装された技術と関連付けて説明しているとされ、教科書の概念と実際の OS の振る舞いを結びつけやすい作りです。
並行処理の基礎は OS の外でも効く
並行プロセスの章で扱う排他制御やセマフォア、モニターは、OS の内部に限った話ではありません。複数のスレッドが同じデータを書き換える処理や、複数のサーバーが同じ資源に触れる処理では、同期を誤るとレースコンディションのように実行の順序によって結果が変わる不具合が起きます。並行処理 の考え方を OS の教科書で一度体系的に押さえておくと、言語やフレームワークが用意するロックや非同期の仕組みが、何を守るためのものかを理解しやすくなります。プロセスとスレッドの違い が曖昧なまま並行処理のコードを書いている人にとっても、第 2 章からの流れは土台の整理に役立ちます。
一方で、Linux カーネルのソースコードを読み進めるような実装中心の本や、OS を自作しながら学ぶ本を求めている場合は、入門の教科書である本書とは方向が異なります。OS や低レイヤーの本にはいくつかの型があり、学ぶ順序を考えたい場合は OS と低レイヤーの本の選び方 が手がかりになります。また 2018 年刊の本であるため、扱う実装例は刊行時点の OS 環境を前提に読むのが適切です。
OS の講義で教科書の指定を受けた学生、あるいはメモリ不足や処理の詰まりに出会うたびに断片的な知識で対処してきたエンジニアにとって、プロセス、同期、メモリ、ファイル、仮想化を 15 章で一続きに整理できる本書は、OS の全体像を短い時間で手に入れるための確かな足場になります。
言及した記事 (6 件)
【最新技術に振り回されない】 低レイヤーに強くなるための鉄板コンテンツ集
♡ 1078CPU, コンパイラ, OS, システムプログラミング, 低レイヤ応用情報を逆に2年かけて合格する学習方法。コンピュータサイエンスの体系的学習と、長期記憶への定着
♡ 340応用情報技術者試験Azure Open AI「Add your data」のシンプル設定方法、試した結果の比較と「4つの所感 & 解決案?」
♡ 108Azure, CognitiveServices, gpt-3, AzureOpenAIService, onyourdata劣化「GNU/Linux FAQ」
♡ 36GNUWSL2 で ROS2 Humble をインストールする方法
♡ 14Windows, Ubuntu, 初心者向け, ROS2, WSL2パソコンってどう動いてるの? — 現役AIエンジニアが「OS」の仕組みを本気で解説してみた
♡ 5Mac, Windows, 初心者, CPU
この本に興味がある方におすすめ
関連する本
関連記事
寝る前の 10 分間読書が翌朝のコードに効く理由
就寝前の短い読書が記憶の定着と翌日のパフォーマンスに与える影響を、認知科学の知見をもとに解説します。夜型エンジニアでも実践できる、寝る前 10 分の読書習慣も紹介します。
会議中に「あの本のあの図」が頭に浮かぶ瞬間
設計会議やアーキテクチャレビューの最中に、過去に読んだ技術書の図やダイアグラムが頭に浮かぶことがあります。この現象が起きる仕組みと、図を記憶に残す読書法を解説します。
技術書を読むベストな時間帯はいつか - 朝型 / 夜型エンジニアの読書事情
技術書を読む時間帯を、睡眠と記憶についてわかっていることとエンジニアの実体験から考えます。朝の通勤中、昼休み、夜の自宅、それぞれの長所と短所を比較します。