OSは何についてるの?
OSと言われて、パッと思いつくのは何でしょう。筆者はiphoneを使用しているので、iOSという名前がぱっと出てきます。それぞれで構いません。中にはWindowsと出てきた方もいるのではないでしょうか
スマホ?パソコン?どっち?となるかもしれませんが、実はどちらにもOSは搭載されているのです。
スマホ、ipad、パソコン、ノートパソコン、会計のレジ、テレビ、スマート家電、実は身の回りの多くのものにOSは搭載されているのです。
そもそもOSって何?
OS(Operating System)とは、ハードウェアとアプリケーションの間に立ち、人間が機械を自在に扱えるようにする最も基礎的なソフトウェアです。
コンピュータの電源を入れてからアプリが動き出すまでの一連の流れ
――ブートローダー・カーネル起動・デバイス初期化・デスクトップ表示――
を影で取り仕切り、ユーザーには「電源を入れたら使える」というパソコンを使う人にとっての当たり前を提供します。
たとえばキーボードやマウスを挿せば入力ができ、モニターをつなげば映像が映り、プリンターを接続すれば印刷できるのは、OSがハードウェアの複雑さを吸収し、
共通のインタフェースとしてまとめてくれているからです。もしOSがなければ、ユーザーはデバイスごとに膨大なコマンドを覚え、1 + 1
の足し算ですら直接難解な機械語で指示しなければなりません。
代表的なOSには パソコン、サーバー用だとWindows、macOS、Linux、スマホ用だと、Android、iOS などがあり、目的やハードウェアに応じて最適なOSが選ばれます。近年ではクラウドや組み込み向けに軽量・リアルタイムOS(RTOS)も広く利用されています。
OSの主な役割
コンピュータの仕組みを大づかみにすると、OSは以下7つの役割を持っています(実際には後述の「セキュリティ」「ネットワーク管理」なども重要ですが、ここでは主な機能に絞って解説します)。
資源管理
CPU 時間、メモリ、ストレージ、ネットワーク帯域などを「誰が・いつ・どれだけ」使うかを調整し、システム全体を効率よく動かします。たとえば動画編集ソフトが大量の CPU を要求しても、バックグラウンドの音楽再生が途切れないようにバランスを取るのは OS の仕事です。
プロセス管理
実行中プログラム(プロセス)を起動・停止・切り替え、優先度を決定しながら並行動作(マルチタスク)を実現します。近年の CPU は複数コアを搭載しており、OS はスレッド単位でコアを割り振り、並列処理ができるようになっています。
メモリ管理
各プロセスにメモリ領域を割り当て(確保)、使用後に回収(解放)します。また他プロセスの領域を誤って上書きしないよう保護しつつ、物理メモリが不足すればディスクに待避(スワップ)して仮想的に増やす仕組みを提供します。
ファイルシステム管理
データをファイルという単位で階層保存し、作成・読み込み・更新・削除を行えるようにします。
加えてアクセス権や暗号化を用いて「誰がどのファイルをどう扱えるか」を制御し、データの整合性と安全性を確保します。
デバイスドライバ
キーボード・マウス・ディスプレイ・プリンター・GPU などさまざまな周辺機器を制御するためのモジュールです。
ドライバが OS の統一インタフェースを提供することで、アプリケーションはハードウェアの違いを意識せず操作できます。
ユーザーインタフェース
人間がコンピュータを扱う窓口で、CLI やグラフィカルなデスクトップ環境(GUI)が代表例です。最近では音声・ジェスチャ・タッチ操作など多様な UI が統合されています。
セキュリティと保護(追加)
不正アクセスを防ぐユーザー認証、マルウェアからシステムを守る権限分離、暗号化によるデータ保護、Windows Defender などのポリシー管理──これらも現代 OS には欠かせない機能群です。
ネットワーク管理
ネットワークインタフェースの設定・ルーティング管理、パケットフィルタリングやQoS制御などを通じて、通信を安定・安全に行えるように調整します。
まとめ
OS はコンピュータの「指揮者」であり、ハードウェアというオーケストラを調和させて人間に快適な操作体験を届けます。
資源管理からセキュリティまで多岐にわたる仕事を担い、私たちがアプリを起動した瞬間から見えないところで働き続けています。
PC、スマホは見えないところでいろいろなことを行っているのです。