もう一つの役割とは、OSが複雑なシステムの個々の要素すべてを管理するというものである。コンピュータはプロセッサ、メモリ、ディスク、プリンタなどの装置で構成されている。OSはこれらを制御し割り当てを行っている。OSはすべての出力結果をあらかじめディスク上にバッファリングし、無秩序になる可能性のある物を整理することが可能である。あるプログラムの処理が完了すると、OS葉その出力結果をディスク・ファイルからコピーできるようになる。コピー先はプリンタへ出力するファイルを入れて置く場所である。一方、それと同時にほかのプログラムは引き続き、さらに多くの出力を継続して生成することが可能になる。
複数のユーザーでコンピュータを使うようになると、メモリや入出力装置、その他の資源の管理と保護が必要になるのは言うまでもない。ユーザーがハードディスク、プリンタなどの資源を頻繁に共有するようになれば、その管理と保護の必要性が出てくる。
一方、経済的な観点から、情報を共有しながら強調して作業するユーザーにとっても必要となる。つまり、このような見地からOSの主な作業というのは資源を使うユーザーに合わせ、資源の要求に応じ、使用状況を報告し異なるプログラムやユーザー間の要求が衝突しないように調整することである。
プログラマにディスクというハードウェアが見えないようにし、ファイル思考の単純なものとして提供するということがOSの役割の一つである。ファイルだけでなく、割り込みやタイマ、メモリ管理などの機能に関しても多くの面倒な作業を隠している。いずれの場合にしてもユーザーに提供するものを、ハードウェアを直接操作するよりも単純で取り扱いを容易なものとしている。このような点から、OSはユーザーに対し、拡張マシンあるいは仮想マシンと同じように機能しているのである。
OSは何かといわれたときに正しく把握することが難しく、人によって意見が異なるのは、OSが、基本的には互いに関連のない2つの役割を果たしているためである。その2つとは、拡張マシンとしてのOS。資源管理システムとしてのOSの2つである。
コンピュータのソフトウェアは2種類ある。1つはシステム・プログラムでコンピュータ自体の操作を管理するもの。もう一つはアプリケーション・プログラムで、ユーザーが抱える問題を解決するものである。システム・プログラムの中でもっとも基本的なものがオペレーティング・システム(OS)である。これは、すべての資源を制御し、アプリケーション・プログラムを作成するための土台を提供している。

1.OS






1.1 OSとは








1.1.1 拡張マシンとしてのOS











1.1.2 資源管理システムとしてのOS