- 発売日:2026/04/10
- 出版社:共立出版
- ISBN:9784320125957
1 / 1
LinuxコードリーディングとRISC-Vで学ぶ オペレーティングシステム入門
()
通常価格
3,850 円(税込)
通常価格
セール価格
3,850 円(税込)
単価
あたり
- 発売日:2026/04/10
- 出版社:共立出版
- ISBN:9784320125957
読み込み中...
My店舗在庫
My店舗登録で店頭在庫と店舗お受け取り可否が確認できます。(要ログイン)
店舗在庫
商品説明
オペレーティングシステム(OS)の深部は、プロセッサの動作モードや複雑なアドレス変換が絡み合い、理論だけでは理解が困難な領域である。本書は、世界標準として採用が急拡大している「Linux」と、次世代のオープンアーキテクチャとして注目を集める「RISC-V」を題材に、最新カーネル(v6.12)の実コードを徹底的に読み解く「コードリーディング」の手法で構成した。
最大の特長は、抽象的な概念説明に留まらず、ブートストラップからメモリ管理、プロセス制御にいたるまで、C言語とアセンブリ言語がハードウェアとどのように対話しているかを克明に描いている点にある。また、筆者が長年培ってきたプロセッサ設計の知見を活かし、ハード/ソフト両面の視点からOSの本質を解き明かしている。
本書に関連するウェブサイトからは、QEMU上で即座に動作するサンプルプログラムと環境を提供している。読者は自らコードを追い、実際に動かすことで、C言語やLinuxを個別に学ぶだけでは到達できない「OSが動く具体的なイメージ」を立体的に獲得できる。情報理工学系の学生から、一歩先を目指す組み込みエンジニアまで、最新のモダン・システムをマスターするための必携の一冊である。
最大の特長は、抽象的な概念説明に留まらず、ブートストラップからメモリ管理、プロセス制御にいたるまで、C言語とアセンブリ言語がハードウェアとどのように対話しているかを克明に描いている点にある。また、筆者が長年培ってきたプロセッサ設計の知見を活かし、ハード/ソフト両面の視点からOSの本質を解き明かしている。
本書に関連するウェブサイトからは、QEMU上で即座に動作するサンプルプログラムと環境を提供している。読者は自らコードを追い、実際に動かすことで、C言語やLinuxを個別に学ぶだけでは到達できない「OSが動く具体的なイメージ」を立体的に獲得できる。情報理工学系の学生から、一歩先を目指す組み込みエンジニアまで、最新のモダン・システムをマスターするための必携の一冊である。
目次
第1章 コンピュータとオペレーティングシステムの歴史
1.1 初期の自動計算機
1.2 UNIX
1.3 RISCの出現と発展
1.4 パーソナルコンピュータの登場と発展
1.5 Linux誕生
1.6 まとめ:歴史,技術,そしてLinuxが切り開く未来
章末テスト問題
参考文献
第I部 RISC-VとLinuxのユーザーモード
第2章 RISC-Vアーキテクチャ ―RV32I基本命令とC言語の基礎―
2.1 RV32I命令セットの概要
2.2 RV32IとC言語の関係
2.3 Linuxカーネルで利用するC言語マクロ
章末テスト問題
参考文献
第3章 Linuxユーザーモードプログラム ―その1―
3.1 性能評価のための時間測定
3.2 ユーザーアプリケーションのメモリ配置
3.3 システムコール呼び出し
3.4 動的リンク
3.5 プロセスの生成と終了
3.6 ヒープ領域のメモリ確保
3.7 プロセスのスケジューリングと状態遷移
章末テスト問題
参考文献
第4章 Linuxユーザーモードプログラム ―その2:少し高度な機能―
4.1 プロセス間通信(IPC)
4.2 ユーザーランドから見たデバイスファイルアクセス
4.3 タイマー機構
4.4 その他の重要なユーザーランド機能
4.5 まとめ
章末テスト問題
参考文献
第5章 Linuxのスケジューラ
5.1 Linuxのスケジューリング方式
5.2 スケジューリングポリシーのユーザーインターフェース
5.3 リアルタイムスケジューリング(固定優先度)
5.4 期限付きスケジューリング(SCHED_DEADLINE)
5.5 EEVDFスケジューラと公平性の概念
5.6 バッチ処理ポリシー
5.7 スケジューリング動作の確認
章末テスト問題
参考文献
第II部 RISC-VとLinuxの特権モード
第6章 Linuxを支えるRISC-V特権アーキテクチャ
6.1 プロセッサモード
6.2 アドレス変換
6.3 割込みの仕組み
6.4 タイマー
6.5 ハイパーバイザー拡張
6.6 まとめ
6.A RISC-V各特権レベルのCSR一覧
6.B RISC-Vにおける割込みの委譲
章末テスト問題
参考文献
第7章 Linuxカーネルの構造と動作 ―その1―
7.1 カーネルの全体構造
7.2 UモードとSモードのタスク実行
7.3 カーネルの初期化とブート
7.4 カーネル起動とタスク管理の確立
7.5 トラップとシステムコール
7.6 割込み処理のフローとユーザーコールバック実行
7.7 RISC-Vタイマーの初期化と起動
章末テスト問題
第8章 Linuxカーネルの構造と動作 ―その2―
8.1 Linuxのメモリマップ
8.2 ユーザー仮想空間の管理
8.3 mmapシステムコール
8.4 カーネル内メモリ割り当て
8.5 カーネルスケジューラ
8.6 ファイルシステム
章末テスト問題
第9章 カーネルモジュールとデバイスドライバ
9.1 カーネルモジュール
9.2 デバイスドライバ
9.3 モダンなデバイスドライバフレームワーク
9.4 sysfsによるデバイス属性
9.5 本章のまとめ
章末テスト問題
第10章 Linuxカーネルの構造と動作 ―補足―
10.1 Buddyアロケータによるメモリ管理
10.2 slab/slubアロケータの動作原理
10.3 コンカレンシーと排他制御
10.4 ジャンプラベル最適化の原理と管理機構
10.5 Static Call最適化
10.6 SBI IPIとSBI RFENCE
10.7 本章のまとめ
章末テスト問題
付録A QEMUによるRISC-Vプロセッサ用Linux動作環境
付録B 演習問題解答例
あとがき
索引
1.1 初期の自動計算機
1.2 UNIX
1.3 RISCの出現と発展
1.4 パーソナルコンピュータの登場と発展
1.5 Linux誕生
1.6 まとめ:歴史,技術,そしてLinuxが切り開く未来
章末テスト問題
参考文献
第I部 RISC-VとLinuxのユーザーモード
第2章 RISC-Vアーキテクチャ ―RV32I基本命令とC言語の基礎―
2.1 RV32I命令セットの概要
2.2 RV32IとC言語の関係
2.3 Linuxカーネルで利用するC言語マクロ
章末テスト問題
参考文献
第3章 Linuxユーザーモードプログラム ―その1―
3.1 性能評価のための時間測定
3.2 ユーザーアプリケーションのメモリ配置
3.3 システムコール呼び出し
3.4 動的リンク
3.5 プロセスの生成と終了
3.6 ヒープ領域のメモリ確保
3.7 プロセスのスケジューリングと状態遷移
章末テスト問題
参考文献
第4章 Linuxユーザーモードプログラム ―その2:少し高度な機能―
4.1 プロセス間通信(IPC)
4.2 ユーザーランドから見たデバイスファイルアクセス
4.3 タイマー機構
4.4 その他の重要なユーザーランド機能
4.5 まとめ
章末テスト問題
参考文献
第5章 Linuxのスケジューラ
5.1 Linuxのスケジューリング方式
5.2 スケジューリングポリシーのユーザーインターフェース
5.3 リアルタイムスケジューリング(固定優先度)
5.4 期限付きスケジューリング(SCHED_DEADLINE)
5.5 EEVDFスケジューラと公平性の概念
5.6 バッチ処理ポリシー
5.7 スケジューリング動作の確認
章末テスト問題
参考文献
第II部 RISC-VとLinuxの特権モード
第6章 Linuxを支えるRISC-V特権アーキテクチャ
6.1 プロセッサモード
6.2 アドレス変換
6.3 割込みの仕組み
6.4 タイマー
6.5 ハイパーバイザー拡張
6.6 まとめ
6.A RISC-V各特権レベルのCSR一覧
6.B RISC-Vにおける割込みの委譲
章末テスト問題
参考文献
第7章 Linuxカーネルの構造と動作 ―その1―
7.1 カーネルの全体構造
7.2 UモードとSモードのタスク実行
7.3 カーネルの初期化とブート
7.4 カーネル起動とタスク管理の確立
7.5 トラップとシステムコール
7.6 割込み処理のフローとユーザーコールバック実行
7.7 RISC-Vタイマーの初期化と起動
章末テスト問題
第8章 Linuxカーネルの構造と動作 ―その2―
8.1 Linuxのメモリマップ
8.2 ユーザー仮想空間の管理
8.3 mmapシステムコール
8.4 カーネル内メモリ割り当て
8.5 カーネルスケジューラ
8.6 ファイルシステム
章末テスト問題
第9章 カーネルモジュールとデバイスドライバ
9.1 カーネルモジュール
9.2 デバイスドライバ
9.3 モダンなデバイスドライバフレームワーク
9.4 sysfsによるデバイス属性
9.5 本章のまとめ
章末テスト問題
第10章 Linuxカーネルの構造と動作 ―補足―
10.1 Buddyアロケータによるメモリ管理
10.2 slab/slubアロケータの動作原理
10.3 コンカレンシーと排他制御
10.4 ジャンプラベル最適化の原理と管理機構
10.5 Static Call最適化
10.6 SBI IPIとSBI RFENCE
10.7 本章のまとめ
章末テスト問題
付録A QEMUによるRISC-Vプロセッサ用Linux動作環境
付録B 演習問題解答例
あとがき
索引
LinuxコードリーディングとRISC-Vで学ぶ オペレーティングシステム入門
カスタマーレビュー
honto本の通販ストアのレビュー(0件)
並び順:
1/1ページ