第8回入門ゼミナール補足資料

9章

9.1 オペレーティングシステムとは

オペレーティングシステム(OS)はメールはウェブブラウザなどの 必要に応じて起動,終了させるアプリケーションプログラムとは違い, PCが起動している間は常に動作し,アプリケーションプログラムや 周辺機器の操作を補助する.商用のものでは Microsoft Windows シリーズ,Apple Mac OS, iOSが代表的な OS である.

A オペレーティングシステムの目的

アプリケーションプログラムが周辺機器の情報にアクセスする場合, 直接周辺機器にアクセスするプログラムを書くのではなく,OSに 指示をだして間接的にアクセスする.これにより,アプリケーションプログラムは 周辺機器のメーカー,モデルを意識せずに同じソースコードで 周辺機器を利用できる.

複数のアプリケーションプログラムが動作しているとき, 実際には実行しているアプリケーションを細かく切り替えて 同時に実行しているように見せているのだが,このアプリケーションの 切り替えの制御もOSの重要な機能である.

B コンピュータシステムの生産性

スループットは単位時間あたりに処理できる 仕事の量で,サーバー側からみた処理能力の評価によく使われる.

ターンアラウンドタイムは仕事一件あたりの 開始から終了までの全ての時間をさす.主にユーザーからみた 処理能力の評価に使われる.ターンアラウンドタイムのうち,開始から 何らかの応答を返し始めるまでの時間をレスポンスタイム という.レスポンスタイムはターンアラウンドタイムから入力に要する時間と 出力に要する時間を除いたものといえる(図8.1)

図8.1

図 8.1 ターンアラウンドタイムとレスポンスタイム

9.2 OS の機能

A タスク管理

1個のプロセッサは本当は同時に1個のタスクしかできない. 現代のコンピュータは 数十から数百ミリ秒の単位でタスクを切り替えながら実行することで 見かけ上同時にタスクが動くようになっている.これを タイムシェアリングシステム(TSS)といって,OSの重要な機能である.

切り替えながらタスクを順番に実行するので,同時に動作するタスクが増えると タスクあたりのプロセッサを使える時間が減り,効率は低下する. このため実際には教科書p.102 図9.1 のようにそれぞれのタスクが プロセッサを占有していた場合の実行時間で終了するわけではなく, より時間がかかるのが一般的である.プロセッサを複数にしたり, アプリケーションを複数プロセッサで効率よく動くように設計することで 改善されてきている.

B メモリ管理

補助記憶装置にあるプログラムは主記憶にコピーしないと実行できない. 多くのプログラムを実行していればそのうち主記憶は不足する.このときに あまり使われていないプログラムを一旦補助記憶にコピーして主記憶を 開放する.

C データ管理

OSがデータを保存する単位がファイルである. データやアプリケーションプログラムなど,コンピュータに記憶されるものは ファイルとして保存されている.

OSは多数のファイルを効率よく検索するために木構造 でデータを管理している.教科書p.104図9.2がファイルの木構造の例である.

パスは木構造の中の特定のファイルを示す方法である. 絶対パス相対パスがある.絶対パスは 「¥」記号から始まるので区別できる.

絶対パスは長くなる場合が多いが,カレントディレクトリがどこであっても 特定のファイルを示すパスの表記が変わらないという利点がある. 相対パスは同じファイルを示す場合でもカレントディレクトリが変わると パスが変わることに注意が必要だが,カレントディレクトリにあるファイルを 処理する場合はファイル名だけで良いなど,パスが短いという利点がある.

木構造では,例えば教科書p.104図9.2では 一番上のノード,「ルートディレクトリ」は 根といって唯一親を持たない(上に行く経路が無い) ノードである.木構造では根以外のあるノードからみると 子は複数いてもいいが親は一意になることが特徴である.このため, 「コンピュータ基礎」のディレクトリがカレントディレクトリの 場合,子を示すには「第1週ノート」などのファイル名が必要である. しかし親は一意に決まるのでディレクトリ名を示す必要がなくドット 2個の「..」で親ディレクトリを示すことになっている.

D ユーザー管理

全ユーザーのログインパスワードを他人に読まれないように管理し, 正規のユーザーしかログインできないように,管理者しか変更できない 重要なファイルを一般ユーザーが変更できないように,などの 管理を行うのもOSの仕事である.


Updated in June 26, 2020, Yamamoto Hirosh