OSの役割
- 著者:YAMANJO
- 公開日:2008年7月9日
- 最終更新日:2024年10月29日
アプリケーションソフトが動作する環境を提供するのがOSの大きな役割です。多岐にわたるOSの役割や機能について詳しく学習していきましょう。
ユーザーインターフェースの提供
Windows95というOSの誕生によって、それまで知識を持った一部の人のみが扱えていたパソコンが、初心者にも扱えるようになったことを学習しました。
その大きな理由のひとつは、マウスによる視覚的で直感的な操作が可能になったことです。
例えば、アプリケーションソフトを起動するときは「アイコン」をクリックしたり、削除するときは「ごみ箱」にファイルをつまんで入れたり(ドラッグ&ドロップ)するように、ゲーム感覚で操作できるようになったおかげで、コンピュータの知識を持たない初心者でもパソコンを扱うことができるようになったのです。
また、スタートメニューやタスクバー、コントロールパネルなどの新しい機能が追加され、ファイルやアプリケーションソフトの検索や設定も容易になり、効率と利便性が大幅に向上しました。
これまでの学習のとおり、こうした感覚的な操作によってコンピュータに命令を与えているわけです。Windows95が普及する以前は、命令文となるコマンドを入力して指示を出していました。
つまり、ユーザーとコンピュータとのやり取りの方法が劇的に変わったわけです。アイコン、マウスカーソル、ウィンドウ、メニューなどのグラフィカルな要素を使用して、誰もが直感的にコンピュータとのやり取りを行えるようになりました。
こうしたやり取りの方法や仕組みを「インターフェース」と言います。
インターフェースとは、ある部分とある部分の境界のような意味で、通常はケーブルなどの差し込み口やその形状のことを指しますが、ここではコンピュータと人間の境界線、つまり出入力の方式といった意味になります。(インターフェースについては、インターフェースとは で詳しく学習します)
したがって、OSにはユーザーがコンピュータに命令を出すためのインターフェースを提供する役割があります。
Windows95が提供したグラフィカルなインターフェースを、
GUI(ジーユーアイ)
と言います。
GUIは「Graphical User Interface(クラフィカル ユーザー インターフェース)」の略です。「G」はGraphical(絵画的なようす)を意味し、「UI」はユーザーインターフェース(出入力方式)を意味しています。
一方、GUIが搭載される以前のOSは、
CUI(シーユーアイ)
というインターフェースでした。
CUIは「Character User Interface(キャラクター ユーザー インターフェース)」の略で、「C」はCharacter(文字)を意味し、すべての操作をキーボードによる文字入力で行っていたのです。
現在でもその機能は残っています。「マンドプロンプト」という機能です。
真黒の画面に文字しか入力することができません。初心者ではとても扱えませんが、コマンドを習得すれば、マウス操作よりも素早く操作を行うことができます。
ハードウェアとソフトウェアの管理
前項で学習のとおり、アプリケーションソフトが、パソコンのCPUやメモリなどの処理装置、マウスやディスプレイなどの出入力装置といったハードウェアを利用できるように、OSがすべてのハードウェアを管理し、アプリケーションソフトとの仲介役になります。
ハードウェアには、プリンタやスキャナ、デジカメといったデバイス機器も含んでおり、これらの管理と仲介も行います。(デバイスについては、デバイスとは で詳しく学習します)
OSは、ファームウェアが提供する制御機能の上に立って、より高度にハードウェアの操作を全体的に効率化しながら、アプリケーションソフトとハードウェアの仲介をします。
具体的には、複数のアプリケーションソフトがCPUなどのハードウェアを利用する場合に、アプリAが使う領域とアプリBが使う領域を分け、互いに影響しないように調整します。
したがって、パソコンの特徴である様々なソフトウェアが正しく動作するように調整を行う役割があります。この機能がなければ、アプリケーションソフトはハードウェアにアクセスできず、動作することができません。
また、アプリケーションソフトをインストールする際に必要な設定やファイルも管理します。アンインストール時には、システムから正しく削除されるように管理します。
ハードウェアとソフトウェアの高度な管理調整がOSの重要な役割になります。
ファイルの管理
様々なアプリケーションソフトを利用して作成したファイルを管理します。
例えば、Wordで作成した文書ファイルや、Excelで作成したグラフなどのファイルを、それぞれのアプリケーションソフトではなく、OSが一括して管理します。
ユーザーがファイルを効率的に整理できるように、フォルダ(ディレクトリとも言う)による階層的な入れ子構造を提供します。
例えば、文書ファイルを「Documents」フォルダ、画像を「Pictures」フォルダに保存し、さらにフォルダの中に入れ子のフォルダを作成し、親フォルダと子フォルダのように階層構造を作っていくことができます。
フォルダが入れ子構造を持つことで、ファイルを論理的に整理することができます。これにより、ユーザーは関連するファイルをグループ化して保存し、簡単にアクセスできるようになります。
また、ごみ箱のアイコン操作のように、ファイルの削除機能も提供します。
このように、OSはユーザーにファイルの管理機能を提供する役割を担っています。フォルダによる階層構造を含め、OSによって提供されるファイルの管理機能を「ファイルシステム」と言います。
Windowsでは「FAT(ファット)」や「NTFS(エヌティーエフエス)」と呼ばれるファイルシステムが採用されています。
ファイル管理については次章、ファイル管理 で詳しく学習します。
プロセス(タスク)の管理
プロセスとタスクは、同じような用途で使用されますが、どちらもあまり馴染みのある用語ではないと思います。
プロセスは「実行中のプログラム」を意味し、プログラムがコンピュータで動いているその状態を「プロセス」と呼びます。
ただ、言葉の意味は理解できても、どういう状態なのかイメージが難しいと思います。言い換えると、プログラムが実行される際に必要な、ハードウェア資源(CPU、メモリ、入出力デバイスなど)が確保された状態のことを言います。
例えば、Wordを起動するとWordのプロセス、Excelを起動するとExcelのプロセスが生成されます。つまり、OSがそれぞれのアプリケーションの動作に必要なハードウェア資源(リソースと言う)を確保した状態です。
そしてこのプロセスの中で、Wordの文字入力、フォントの編集、図形の挿入、スタイルやテーマの適用といった具体的な操作が実行されます。これを「タスク」と呼びます。
つまり、同じ意味の用語ではありません。プロセス(タスク)としているのは、タスクを含む場合と含まない場合があるためで、詳しくは後述します。
このプロセスとタスクの管理がOSの役割のひとつになります。なかなか難しいので「?」マークが飛ぶと思います。しかし、なぜプロセスを作成する必要があるのかを理解すると全体像が見えてきます。
同様にWordを例にすると、Wordを起動した時点でWordの動作に必要なリソースがOSによって確保されます。これがプロセスの生成になります。
なぜ起動時にプロセスが生成されるのかと言うと、そもそも動作に必要なリソースを確保していなければ、アプリケーションソフトがスムーズに動作しないからです。
アプリケーションごとにプロセスが生成されることによって、複数のアプリケーションを同時に実行できるようになります。また、プロセスごとにリソースを確保することで、各アプリケーションが独立して動作し、他のアプリケーションの動作に干渉しないようすることができます。
つまり、
アプリケーションは専用プロセスのリソースの範囲内でタスクを実行する
ということです。
ただし、ここで例外があります。Wordで文書を印刷するとしましょう。
ユーザーが「印刷」ボタンをクリックすると、Wordは印刷タスクを実行するのではなく、印刷処理を開始するための指示をOSに送ります。ポイントは、Wordが印刷タスクを実行するわけではないということです。
OSは、Wordからの要求を受けると、印刷タスクを生成してタスクを実行します。
なぜこのような処理になるのかと言うと、
アプリケーションソフトは共通的なタスクをOSに丸投げしている
からです。
印刷タスクが特別なのではなく、印刷や保存のような共通的なタスクは、アプリケーションソフトではなくOSが実行するのです。
したがって、そのアプリケーション独自の専門的なタスク以外の保存や印刷、受信や送信、検索やファイルを開くといった共通的なタスクはOSの管理となります。
その理由は、共通タスクをOSに丸投げすることで、OSの管理下でシステム全体が効率的かつ安定的に機能するからです。
WordやExcel、PowerPointのみならず、その他のアプリケーションソフトでも「印刷」ボタンをクリックしてからの動作は、ほぼ同じになっているはずです。
アプリケーションの開発者としても、印刷、保存、通信などの一般的な機能を個々で実装する手間が省けます。これにより、開発の手間を大幅に削減でき、より専門的で価値のあるタスクに集中できるというわけです。
そのため、共通タスクは専用のプロセス外で処理される場合もあります。したがって、共通タスクはOS管理、アプリケーション独自のタスクは各アプリケーションがプロセス内で管理します。これが、プロセス(タスク)としている理由です。
こうしてOSは、各アプリケーションが要求する共通タスクを一括管理することでアプリケーションの負荷を軽減し、また、システム全体の効率性を高めています。
具体的には、プロセスの起動と終了、プロセスへのリソースの割り当て、複数のタスクが同時に実行される場合にどちらを優先するのかといったスケジューリングなどを行います。たくさんのタスクを効率よく処理できるように調整しているということです。
現在、WindowsはGUIによって、複数のウィンドウを開いて複数のアプリケーションを動かすマルチタスクが常識です。しかし、CUIの時代は一度にひとつのプログラムしか実行できないシングルタスクが一般的でした。Windows95が大ヒットした要因は、マルチタスク機能が非常に優れていたという側面もあります。
OSによるプロセスの管理によって、プロセスが独立してリソースを使用できるため、複数のアプリケーションソフトを同時に利用できるマルチタスクが実現しているということになります。
ハードウェアとソフトウェアの管理と何が違うのかというと、プロセス管理は、マルチタスクの実現のために効率よく動作できるよう資源配分を最適化する機能であり、ハードウェアとソフトウェアの管理は、各アプリケーションソフトが安定した環境でハードウェアを適切に使えるようにするための機能という違いがあります。
アクセスとセキュリティの管理
アクセス管理は、誰がどのリソースにアクセスできるかを制御する機能です。
具体的には、ユーザーアカウントの設定やパスワードによる認証です。例えば、パソコンを起動したときのログイン画面で、ユーザー名とパスワードの入力を求めたり、特定のユーザーやグループだけがアクセスできるように、ファイルやフォルダに権限を設定する機能になります。
セキュリティ管理は、データを暗号化したり、許可された通信だけを通過させるファイアウォール機能、ウイルス対策機能などです。これらもOSの機能として備わっています。
また、OSやアプリケーションソフトの脆弱性を修正するために、定期的にアップデートやパッチを適用します。これにより、最新のセキュリティ対策を維持しています。
こうした機能は、ユーザーの正当性を確認し、データや資源へのアクセスを制御し、システム全体の安全性を確保するために不可欠になります。
ただし、セキュリティ機能については、専用の機器やソフトウェアが使用され、OSの管理下にない場合もあります。また、ネットワーク機能についてもOSの役割に含められる場合がありますが、これもルータやスイッチといった専用の機器やソフトウェアが使用されることが多く、必ずしもOSの管理下にない場合があります。
とは言え、OSには基本的なセキュリティ機能やネットワーク機能が実装されており、個人や家庭ではOSの機能でネットワークを構築するケースもあります。
以上が、代表的なOSの役割になります。
どれもなくてはならない機能です。OSが無かったら、たとえ私たちがどんなに優れたなプログラムを作成したとしても、実行することすらできないのです。
しかし逆にOSが優秀であれば、初心者にも使いやすく、多くのメーカーに採用されることになり、そのOSを前提にあらゆる製品が開発されることになります。ビル・ゲイツ氏が億万長者になったわけです。
ただ、OSがあってはじめてパソコンを使いこなす環境が整ったにすぎません。やはり、アプリケーションソフトが無ければ、パソコンはただの箱に変わりありません。
更新履歴
- 2008年7月9日
- ページを公開。
- 2009年3月12日
- ページをXHTML1.0とCSS2.1で、Web標準化。レイアウト変更。
- 2018年1月24日
- ページをSSL化によりHTTPSに対応。
- 2024年10月29日
- 内容修正。
著者プロフィール
YAMANJO(やまんじょ)
- 経歴
- 岡山県出身、1980年生まれ(申年)の♂です。現在、総合病院で電子カルテなどの情報システム担当SEとして勤務。医療情報学が専門ですが、ネットワーク保守からプリンタの紙詰まり、救急車の運転手までこなしています。
- 医療情報技師、日本DMAT隊員。ITパスポート、シスアドなど、資格もろもろ。
- 趣味は近所の大衆居酒屋で飲むこと、作曲(ボカロP)、ダイビング。
- 関連リンク
- 詳細なプロフィールはこちら
- 作成したボカロ曲などはYoutubeへ
- X(Twitter)