「OS」という言葉は誰でも知っていますが、それが実際に何をしているのか、説明できる人は多くありません。今回は、OSの役割からソフトウェアの階層構造、身近なハードウェアの基本までを扱います。
スマホが急に固まったんだけど。アプリのせいよね、たぶん
それ、アプリが原因のときもあれば、OSレベルの問題のときもあるよ
OS? アプリの一種でしょ、それ
うわ、それ結構危ない誤解。OSはアプリとは全然別の階層にあるものなんだ
……え、違うの?
今日、その違いをはっきりさせよう

OS(オペレーティングシステム、Operating System)を一言で例えるなら、マンションの管理人
管理人?
マンションには複数の住人(=アプリ)が住んでる。管理人は、みんなが快適に暮らせるよう、共用スペースの使い方とか、水道や電気の割り当てを調整するでしょ。OSも同じで、複数のアプリが同時に動けるよう、コンピュータの資源をうまく配分してる
アプリって、複数同時に動いてるものね
具体的には3つの管理をしてる。タスク管理(どのアプリにどれだけCPUの処理時間を割り当てるか)、メモリ管理(第19回でやったメモリを、どのアプリにどれだけ使わせるか)、ファイル管理(データをファイルとして整理して保存する仕組み)
全部、住人同士がケンカしないようにする仕事ね
まさに。だから、さっきのスマホが固まった話も、複数のアプリを裏で調整しているOS側の処理が詰まってる可能性もある、ってこと
ソフトウェアには階層がある。一番下にOS、その上にミドルウェア、さらにその上にアプリケーション
ミドルウェアって、初めて聞いた
OSとアプリの間に立って、特定の機能を橋渡しする裏方のソフトウェア。たとえばデータベース管理システムなんかもミドルウェアの一種。アプリが直接難しい処理をしなくて済むように、共通の機能を提供してくれる
マンションで言うと、管理人と住人の間に立つ管理会社みたいな感じ?
いい例えだね、まさにそういう位置づけ

最後に、ハードウェアの基本。パソコンやスマホには、外部の機器とつなぐための入出力インタフェースがある。代表的なのがUSB——プリンタやマウス、外付けストレージなど、いろんな機器を共通の規格でつなげられる
あの、四角い差し込み口ね
そう。規格が統一されているおかげで、どのメーカーの機器でも同じ端子でつなげられる、というのがポイント

1つ目は、OSの機能とアプリの機能の切り分け。『タスク管理・メモリ管理・ファイル管理はOSの仕事』という理解が問われる
2つ目は?
ミドルウェアが具体的に何をするものか、という理解不足。『OSでもアプリでもない、橋渡し役』という位置づけを押さえておくといい
OSが管理人だったなんて、今まで意識したことなかった
次は、ちょっと毛色の違う話。使いやすいアプリと使いにくいアプリ、何が違うと思う?
センス?
……半分正解。でも、ちゃんとした理論があるんだ
著者が作った無料の過去問アプリ「ITパスポート学習」の「ソフトウェア」「ハードウェア」で、そのまま手を動かして確認できます。間隔反復法(SRS)が「忘れかけた瞬間」に自動で再出題してくれるので、読みっぱなしでは終わりません。