定義
オペレーティングシステム(OS、Operating System)は、パソコンやスマートフォンの機械部品を効率よく管理し、ユーザーやアプリが端末を便利で安全に使えるよう支える、もっとも基本となる中核のソフトウェアです。
ホテルの総支配人のお仕事
スマートフォンの電源を入れると、画面の裏では数え切れないほどの部品とアプリが忙しく動き始めます。YouTubeアプリは映像を画面に映してスピーカーから音を出したがり、メッセージアプリは通知をタイミングよく受け取るためにインターネットの通り道を待っています。もしアプリが好き勝手に機械の部品を奪い合ったら、スマホはあっという間にフリーズしてしまいます。
そこで交通整理を担当するのがOSです。OSはまるでホテルの総支配人のように、どのアプリが中央演算処理装置(CPU)をどれだけ使うのか、メインメモリ(RAM)のどの部屋に泊まるのかを細かく決めます。お客さまであるアプリが機械の回路に直接さわれないようにしながら、資源を公平に分け与える役割を果たしているのです。
おかげで、アプリを作る開発者は複雑な機械の内部構造をいちいち勉強しなくても大丈夫です。OSが用意した標準ルールに沿ってアプリを作れば、同じOSを使う多くの端末で、おおむねそのまま動いてくれるからです。
ハードウェアとユーザーの間に立つ通訳であり警備員
マウスをクリックしたり、画面を指でタッチしたりするとき、機械の内部ではたくさんの電気信号が0と1の数字に変わって流れています。でも私たちは、こうした2進数の信号を直接理解する必要はありません。OSがきれいなアイコンやウィンドウの画面に置き換えて、わかりやすく見せてくれる人とコンピューターの間の通訳になってくれるからです。
それだけでなく、OSは頼もしい警備員の役目も担っています。あるアプリがエラーを起こして強制終了しても、ほかのアプリやスマホ全体が動かなくならないよう、各アプリの作業スペースを頑丈な壁で隔離しているのです。
もし怪しい悪意あるプログラムが、端末の大切な個人情報をこっそりのぞいたり、システムファイルを削除しようとしたりすれば、すぐにアクセスを遮断することもあります。このようにすべてのプログラムが決められた安全な囲いの中でだけ動くよう取り締まることが、OSの重要なセキュリティの任務です。
もう少し正確に言うと:カーネルとマルチタスク
もう少し正確に言うと、OSのいちばん奥深くには「カーネル(Kernel)」という中核の管理プログラムがあります。カーネルはOSの心臓部で、コンピューターの電源が入った瞬間から切れるまでずっとメモリに常駐し、端末のあらゆるハードウェア資源を見張っています。
音楽を聴きながらネットを見て、同時にメッセージを送れるのもカーネルのおかげです。コンピューターの頭脳であるCPUは、コア1つが一瞬に処理できる仕事は1つだけです。最近のCPUはコアが複数あるので、その数だけは本当に同時に処理できますが、実行中のアプリはコアの数よりずっと多いため、カーネルが時間をごく細かく区切って順番に割り当てます。これをタイムシェアリング方式のマルチタスクと呼びます。
1秒間に数百回から数千回もすばやく作業を切り替えているので、人の目には、まるで複数のアプリが完全に同時に動いているように見えます。Windows、macOS、Android、iOS、Linuxは、見た目こそ違いますが、どれもこの中心的な原理でハードウェアを取りまとめているOSです。
よくある誤解
OSがなくても、コンピューターの電源さえ入れればネット検索やゲームアプリを動かせる。
一般的なパソコンやスマホのアプリは、OSがハードウェアを管理してくれることを前提に作られているので、OSがなければ動かせません。OSなしで動くプログラムもありますが、昔のゲーム機のゲームやシンプルな家電のプログラムのように、ハードウェアを直接扱えるよう別に作る必要があります。
日常で出会う場面
スマートフォンで使われるAndroid(アンドロイド)とiOS
パソコンやノートPCで使われるWindows(ウィンドウズ)とmacOS(マックオーエス)
つまり ひとことで
OSはハードウェア資源を公平に分配し、プログラムを安全に実行できるよう支える、コンピューターの総支配人です。