1.UNIXとはなにか |
1.1 なぜUNIXなのか? 1 |
1.2 UNIXの歴史 1 |
章末問題 4 |
2.コンピュータのハードウェア |
2.1 ハードウェアとオペレーティングシステム 5 |
2.2 コンピュータの種類 5 |
2.3 ハードウェアの構成 7 |
2.4 バス 8 |
2.5 ディスク装置 9 |
2.6 グラフィックスカード 11 |
章末問題 11 |
3.コンピュータのソフトウェア |
3.1 ソフトウェアの分類 12 |
3.2 アプリケーションプログラム 12 |
3.2.1 オペレーティングシステム 13 |
3.2.2 BIOS 13 |
3.3 ソフトウェアの移植 14 |
3.4 プログラミング言語 14 |
3.4.1 機械語 14 |
3.4.2 アセンブリ言語 14 |
3.4.3 高級言語 15 |
3.5 ライブラリ 17 |
3.6 デバッグ 19 |
章末問題 20 |
4.UNIXの概要 |
4.1 オペレーティングシステムはなぜ必要か 21 |
4.1.1 入出力ハードウェアの操作 21 |
4.1.2 マルチューザとマルチプロセスの実現 22 |
4.1.3 資源の共有 23 |
4.1.4 システムの起動 24 |
4.2 UNIXの特徴 24 |
4.3 UNIXシステムの構成 26 |
4.3.1 オペレーティングシステムのサービス 26 |
4.3.2 プロセス制御機構 27 |
4.3.3 システムコールインタフェース 28 |
4.3.4 ファイルシステム 28 |
4.3.5 ファイルの種類 29 |
4.3.6 絶対パス名と相対パス名 30 |
4.4 ユーザインタフェース 31 |
4.4.1 バッチ処理と対話的処理 31 |
4.4.2 キャラクタユーザインタフェース(CUI) 32 |
4.4.3 シェル 32 |
4.4.4 パイプとリダイレクト 33 |
4.4.5 グラフィカルユーザインタフェース(GUI) 35 |
4.5 文字の処理 37 |
4.5.1 文字コード 37 |
4.5.2 日本語文字コードの識別 38 |
4.5.3 フォントと文字の表示 40 |
4.5.4 フォントの種類 40 |
4.5.5 X Window Systemにおけるフォント 42 |
4.6 時計 44 |
4.6.1 暦 44 |
4.6.2 標準時 45 |
4.6.3 時間の基準 46 |
4.6.4 コンピュータにおけるカレンダ 47 |
4.6.5 時計の同期 47 |
4.6.6 2000年問題 48 |
4.7 UNIXにおける時刻の表現 48 |
章末問題 48 |
5.UNIXのアクセス制御 |
5.1 アカウントとパスワード 50 |
5.2 ファイルに対するアクセス権 51 |
5.3 プロセスのUIDとGID 53 |
5.4 UNIXにおけるファイルのアクセス制御 54 |
5.4.1 ユーザとグループ 54 |
5.4.2 主体と客体およびアクセス権 54 |
5.4.3 実効UIDと実効GID 55 |
5.4.4 所有者UIDと所有者GIDとアクセス権のフラグ 56 |
5.4.5 Set-UIDとSet-GID 56 |
5.5 スティッキービット 57 |
5.6 ユーザマスク 57 |
5.7 ファイルのフラグ 58 |
章末問題 58 |
6.プロセス |
6.1 プロセスとはなにか 59 |
6.2 プロセスの生成 60 |
6.3 プロセス管理 60 |
6.4 実行可能ファイル 62 |
6.5 コンテクスト切換え 62 |
6.6 スケジューリング 63 |
6.7 プロセス優先度の計算 65 |
6.8 ロードアベレージ 65 |
6.9 プロセス間の排他制御 66 |
6.10 シグナル機構 66 |
6.11 プロセス間通信 67 |
6.12 プロセスの状態 67 |
章末問題 68 |
7.メモリ管理 |
7.1 計算機の記憶システム 69 |
7.2 記憶の階層構造 70 |
7.3 UNIXのメモリ管理 71 |
7.4 仮想記憶システム 71 |
7.5 ページング 73 |
7.6 スワッピング 74 |
7.7 スラッシング 75 |
7.8 記憶管理に必要なハードウェア 75 |
7.9 デマンドページング 76 |
7.10 ページ置換 77 |
7.11 スワッピング 78 |
章末問題 78 |
8.ファイルシステム |
8.1 パーティション 79 |
8.2 おもなファイルシステム 80 |
8.3 スーパブロック 82 |
8.4 ディレクトリエントリ 83 |
8.5 i-node 83 |
8.6 リンク 85 |
8.6.1 ハードリンク 86 |
8.6.2 シンボリックリンク 87 |
8.7 ブロック型入出力システム 88 |
8.8 フラグメンテーション 89 |
8.9 RAID 90 |
8.10 バックアップ 92 |
章末問題 93 |
9.インターネット |
9.1 インターネットの歴史 94 |
9.2 LANとインターネット 95 |
9.3 インターネットとパソコン通信 96 |
9.4 プロバイダ 96 |
9.5 ネットワーク 97 |
9.6 回線交換とパケット交換 99 |
9.7 プロトコル 100 |
9.8 OSI参照モデルとTCP/IP 100 |
9.9 データのカプセル化 103 |
9.10 ネットワークに接続される装置 103 |
9.11 ネットワークの単位 106 |
章末問題 106 |
10.イーサネット層 |
10.1 インターネットとイーサネット 107 |
10.2 物理的な規格 107 |
10.3 フレーム 108 |
10.4 フレームの衝突 108 |
10.5 アドレス体系 109 |
10.6 ネットワークの構成 110 |
章末問題 110 |
11.インターネット層 |
11.1 インターネットプロトコル 111 |
11.2 IPアドレス 112 |
11.3 サブネット 114 |
11.4 ネットワークアドレスとブロードキャストアドレス 116 |
11.5 ネットワークの数 117 |
11.6 ネットワークに収容できるホストの数 117 |
11.7 ドメイン名 118 |
11.8 データグラム 120 |
11.9 プロトコル番号 121 |
11.10 フラグメント分割 122 |
11.11 ICMP 123 |
11.12 ARP 124 |
11.13 RARP 126 |
11.14 IPv6 126 |
章末問題 129 |
12.DNS |
12.1 IP層のアドレス解決 130 |
12.2 DNSで扱うデータ 131 |
12.3 サブドメインの権限の委譲 133 |
12.4 ネームサーバの種類 134 |
12.5 順引きと逆引き 135 |
12.6 リゾルバ 136 |
12.7 DNSの動作 137 |
章末問題 139 |
13.UDPとTCP |
13.1 コネクション 140 |
13.2 UDP 141 |
13.3 TCP 142 |
13.4 TCPのフロー制御 144 |
13.5 TCPのコネクションの確立 145 |
13.6 データの再送 146 |
章末問題 148 |
14.経路制御 |
14.1 アドレスと経路制御 149 |
14.2 経路のタイプ 150 |
14.3 経路制御テーブル 151 |
14.4 経路制御の方法 153 |
14.5 動的経路と経路制御プロトコル 154 |
14.6 経路の選択法 155 |
14.7 内部経路制御プロトコル 156 |
14.8 外部経路制御プロトコル 156 |
14.9 サブネットと経路制御 157 |
章末問題 158 |
15.インターネットのアプリケーション |
15.1 アプリケーション 159 |
15.2 TelnetとFTP 159 |
15.3 rコマンド 161 |
15.4 inetd 161 |
15.5 電子メール 162 |
15.6 WWW 164 |
15.7 NIS 165 |
15.8 NFS 167 |
15.9 NTP 169 |
15.10 プリンタ 170 |
15.11 ネットワークの診断 171 |
章末問題 173 |
16.ネットワークセキュリティ |
16.1 インターネットとセキュリティ 174 |
16.2 ファイアウォール 175 |
16.3 パケットフィルタリング 177 |
16.4 プロキシサーバ 179 |
16.5 NAT 180 |
16.6 ロギング 180 |
章末問題 181 |
引用・参考文献 182 |
索引 183 |