オペレーティングシステム(OS、Operating System)とは、 コンピュータに関わるさまざまなもの(情報資源)を管理(operate)するソフトウェアです。 日本語では「基本ソフトウェア」と訳します。
これに対して、ワードプロセッサやウェブブラウザのように、 OS 以外の個々の機能に特化した処理を行うソフトウェアを アプリケーションソフトウェアといい、「応用ソフトウェア」と訳します。
OS が引き受けている仕事は、次の 7 つに整理できます。クリックしてください。
ソフトウェアやデータはファイルという形で補助記憶装置に保存されます。 補助記憶装置には CD、DVD、ハードディスク、USB メモリなど、仕組みの異なるものがあります。 OS は、それらを共通の方法で扱うための仕組み=ファイルシステムを管理します。
拡張子を変えてしまうと関連付けが変わります。 ファイル名を変更するときに拡張子まで書き換えないよう注意してください。 Windows や macOS は、初期設定では拡張子を表示しません。
アプリを実行するとき、必要なぶんだけメモリ領域を割り当て、終わったら解放します。 補助記憶装置からメモリへ情報をコピーし、CPU とメモリの間で情報をやりとりするのも OS の仕事です。 最近のメモリは 4GB、8GB、64GB といった大きさです。 (メモリ管理のくわしい仕組みは第 9 回で扱います。)
コンピュータには、キーボード、ディスプレイ、マウスなどさまざまな周辺装置がつながります。 メモリ容量や CPU の種類まで含めると、ハードウェアの組み合わせは無限にあります。 OS は、ハードウェアの種類ごとに、それをアプリケーションから操作するための手続き API(Application Programming Interface)を定めています。
車のアクセルペダルにたとえると。 車を加速するにはエンジンが必要で、エンジンは素人には理解できない複雑な仕組みで動きます。 種類によって中身も大きく違います。 それでも「アクセルペダルを踏む」という形に抽象化してあるので、 エンジンの仕組みや種類にかかわらず、同じ操作であらゆる車を加速できます。 そして、その際に中の仕組みを一切知る必要がありません。
インターネットに接続して通信するには TCP/IP を使う必要があり、OS はこれをサポートしています。 異なる OS のコンピュータで計算を行う遠隔手続き呼出し(remote procedure call)などの機能もあります。 1995 年発売の Windows 95 から、TCP/IP の機能を OS が標準搭載するようになりました。
コンピュータは複数のアプリケーションを同時に実行できます。 CPU の処理時間を細かく分割し、複数のアプリケーションを交互に実行するのです。 分割した処理時間は 1/1000 秒程度。これをマルチタスク処理といいます。
インターフェースとは、コンピュータの操作環境のことです。 ユーザインターフェースに求められる性質のひとつが、 アプリケーション間で一貫していることです。 だからこそ、どのアプリでも同じ操作でウィンドウを閉じ、同じ操作で文字をコピーできます。
| OS が用意するもの | 例 |
|---|---|
| ウィンドウに関する UI 全般 | マルチウィンドウシステム |
| 文字入力に関する UI 全般 | キーボード、フリック入力 |
| マウスカーソルに関する UI | クリック、ドラッグ |
| ファイル操作に関する UI | Finder、エクスプローラ |
| GUI | CUI | |
|---|---|---|
| 正式名 | graphical user interface | character user interface |
| 操作 | 画面に表示された画像に対して、マウスやタッチパネルで直接操作する | キーボードで文字を入力して操作する |
コンピュータの中では同時に複数のアプリケーションが実行されるため、 それらが利用する資源(メモリなどの記憶装置、プリンタなどのハードウェア)について 排他制御を行う必要があります。 排他制御とは、同時に資源を利用できないようにする仕組みのことです。 もっとも簡単なのは早い者勝ちで、同時に 1 つのアプリケーションだけが資源を使えるという方式です。
排他制御は日常生活にも現れます。 家に個室のトイレが 1 つしかない場合、 中に入ってドアの鍵を閉めることで、早い者勝ちで同時に 1 人しか使えないようにできます。 交通機関や映画館の指定席の予約も同じ仕組みです。
2 人が同時に同じ座席を予約しようとします。排他制御を切った状態で何が起こるか見てください。