目次
- はじめに
第I部 UNIX V6とは
第1章 UNIX V6の全体像
- 1.1 UNIX V6とは
- 1.2 UNIXの歴史
- 1.3 UNIX V6のカーネル
- 1.4 UNIX V6を構成するハードウェア
- 1.5 ソースコード
- 1.6 マニュアル
- 1.7 まとめ
第II部 プロセス
第2章 プロセス
- 2.1 プロセスの概要
- 2.2 proc構造体とuser構造体
- 2.3 プロセスに割り当てられるメモリ
- 2.4 まとめ
第3章 プロセスの制御
- 3.1 プロセスのライフサイクル
- 3.2 プロセスの生成
- 3.3 実行プロセスの切り替え
- 3.4 プログラムの実行
- 3.5 プロセスの終了
- 3.6 データ領域の拡張
- 3.7 メモリとスワップ領域の管理
- 3.8 まとめ
第4章 スワッピング
- 4.1 スワッピングとは
- 4.2 テキストセグメントの共有処理
- 4.3 まとめ
第III部 割り込み
第5章 割り込み・トラップ
- 5.1 割り込み・トラップとは
- 5.2 優先度とベクタ
- 5.3 割り込み・トラップの処理の流れ
- 5.4 クロック割り込みハンドラ
- 5.5 トラップハンドラ
- 5.6 システムコールの処理の流れ
- 5.7 まとめ
第6章 シグナル
- 6.1 シグナルとは
- 6.2 トレース
- 6.3 まとめ
第IV部 ブロックI/Oシステム
第7章 ブロックデバイスサブシステム
- 7.1 デバイスの基礎
- 7.2 ブロックデバイスサブシステム
- 7.3 バッファの初期化
- 7.4 バッファの取得と解放
- 7.5 読み込み
- 7.6 書き込み
- 7.7 RAW入出力
- 7.8 まとめ
第8章 ブロックデバイスドライバ
- 8.1 ブロックデバイスドライバとは
- 8.2 RK-11ディスクドライバ
- 8.3 まとめ
第V部 ファイルシステム
第9章 ファイルシステム
- 9.1 ファイルシステムとは
- 9.2 ブロックデバイスの領域
- 9.3 マウント
- 9.4 inodeの取得・解放
- 9.5 inodeからストレージ領域へのマッピング
- 9.6 ブロックデバイスのブロック割り当て
- 9.7 パス名からinodeへの変換
- 9.8 初期化と同期
- 9.9 まとめ
第10章 ファイル操作
- 10.1 ユーザプログラムのファイル操作
- 10.2 3つの構造体
- 10.3 ファイルの新規作成とオープン
- 10.4 ファイルの読み込み・書き込み
- 10.5 ファイルのシーク
- 10.6 ファイルのクローズ
- 10.7 ディレクトリの作成
- 10.8 ファイルのリンク
- 10.9 ファイルの削除
- 10.10 まとめ
第11章 パイプ
- 11.1 パイプとは
- 11.2 パイプ通信の開始
- 11.3 データのやりとり
- 11.4 パイプ通信の終了
- 11.5 パイプ通信を確立するまでの流れ
- 11.6 まとめ
第VI部 キャラクタI/Oシステム
第12章 キャラクタデバイス
- 12.1 キャラクタデバイスドライバ
- 12.2 LP11デバイスドライバ
- 12.3 まとめ
第13章 テレタイプ端末
- 13.1 テレタイプ端末とは
- 13.2 端末のオープン・クローズ
- 13.3 端末の設定
- 13.4 端末からの文字入力
- 13.5 入力されたデータの読み込み
- 13.6 端末への出力
- 13.7 まとめ
第VII部 システムの起動
第14章 システムの起動
- 14.1 起動の流れ
- 14.2 まとめ
付録 参考資料など
- A.1 参考文献・サイト
- A.2 pre K&R C
- あとがき