先生、パソコンを買うと「Windows」とか「macOS」って書いてありますけど、あれは何ですか?
それがOS(オペレーティングシステム)。パソコンやスマホの「土台」になるソフトウェアだよ。レストランの店長にたとえるとわかりやすいんだ。
OSは「レストランの店長」
レストランには、厨房のコンロや冷蔵庫(=ハードウェア)と、注文をさばく料理人たち(=アプリケーションソフトウェア)がいます。料理人が勝手にコンロを奪い合ったら大混乱ですよね。そこで 店長 が「このコンロは今あなたが使って」「冷蔵庫のこの段はあなた用」と 割り振り をします。
この店長の役目をするのが OS(Operating System:基本ソフトウェア) です。ワープロ、表計算、ブラウザなどの アプリケーションソフトウェア(応用ソフトウェア) は、OSの上で動きます。
代表的なOS
- パソコン用:Windows、macOS、Linux
- スマートフォン用:iOS、Android
Linux と Android は、ソースコードが公開されている OSS(オープンソースソフトウェア) をもとにしています。
OSの主な仕事
OSの仕事は大きく分けて次のとおりです。OSの中心となる部分を カーネル といいます。
| 仕事 | 内容 | 店長でいうと |
|---|---|---|
| タスク管理 | CPUを複数のプログラムに順番に割り当てる | コンロの使用順を決める |
| 記憶管理(メモリ管理) | メモリの空き場所を割り当てる | 冷蔵庫の段を割り振る |
| ファイル管理 | ファイルやフォルダの保存場所を管理する | 食材の倉庫を整理する |
| 入出力管理 | キーボード・プリンタなど周辺機器を制御する | 配膳係に指示を出す |
| ユーザ管理 | ログインや利用者ごとの権限を管理する | 従業員証のチェック |
| ユーザインタフェースの提供 | 画面・アイコン・マウス操作などを提供する | お客さんとの窓口 |
マルチタスク
音楽を聴きながら資料を作り、裏でメールも受信する…。CPUは1つでも、OSが ごく短い時間ごとにCPUを切り替えて 割り当てるので、同時に動いているように見えます。これを マルチタスク といいます。
仮想記憶:メモリが足りないときの工夫
プログラムを動かすには、データを 主記憶(メモリ) に置く必要があります。でも、メモリの容量には限りがあります。
そこでOSは、SSDやHDDなどの補助記憶装置の一部をメモリの延長として使い、実際より大きなメモリがあるように見せます。これが 仮想記憶 です。
仮想記憶は便利ですが、主記憶が少なすぎると 入れ替えばかりが発生して処理が極端に遅くなります。これを スラッシング といいます。対策は「主記憶を増設する」「同時に動かすアプリを減らす」です。
周辺機器をつなぐ:デバイスドライバ
プリンタやマウスはメーカーや機種によって操作方法が違います。その違いを吸収して、OSから同じように使えるようにするソフトウェアが デバイスドライバ です。
- プラグアンドプレイ:機器をつなぐだけで、OSが自動的に認識し、必要なデバイスドライバを組み込んで使えるようにする機能
- USB機器の多くは、つないだらすぐ使えますよね。これがプラグアンドプレイのおかげです
似た用語との比較
ミドルウェアとかファームウェアとか、「〜ウェア」が多くて混ざります…。
「どこに位置するか」で整理すると覚えやすいよ。
| 用語 | 位置づけ | 例 |
|---|---|---|
| OS | ハードウェアを管理し、アプリに共通の土台を提供 | Windows、Android |
| ミドルウェア | OSとアプリの間で、多くのアプリが使う共通機能を提供 | DBMS(データベース管理システム)、Webサーバソフト |
| アプリケーションソフトウェア | 利用者の目的に合わせた具体的な仕事をする | 表計算ソフト、会計ソフト |
| デバイスドライバ | 周辺機器をOSから使えるようにする | プリンタドライバ |
| ファームウェア | 機器の内部(ROMなど)に組み込まれ、機器を制御 | 家電・ルータの制御プログラム |
ミドル(middle)=真ん中。OSとアプリの「真ん中」に入るのがミドルウェア。ファーム(firm)=固い。機器に固く組み込まれているのがファームウェア、と覚えよう。
試験に出るポイント
- OS はハードウェアとアプリの間に立ち、CPU・メモリ・ファイル・周辺機器などの 資源を管理 する
- マルチタスク:CPUを短い時間で切り替え、複数の処理を同時に動いているように見せる
- 仮想記憶:補助記憶を使って、主記憶より大きな記憶領域があるように見せる。入れ替えが多発すると スラッシング
- デバイスドライバ:周辺機器をOSから使えるようにするソフト。プラグアンドプレイ は自動で認識・組込み
- ミドルウェア はOSとアプリの間(例:DBMS)。業務処理そのものはアプリの仕事