問題 50★★☆

Windows系OSのPC向けに配布されているアプリケーションソフトウェアが、Mac系OSの PCではそのままでは動かないことがある。その理由の説明として、最も適切なものはどれか。

正解:ウ

各選択肢の解説

  1. アOSが違えばCPUの種類も必ず違うので、命令そのものを実行できないから。

    誤り。同じ種類のCPUを載せたPCに、別のOSを入れて使うことができます。 OSとCPUは別の層の話で、CPUが同じでもOSが違えば動かないことがある、 というのが実際に起きていることです。

  2. イ周辺機器を動かすデバイスドライバがOSごとに違うので、起動できないから。

    誤り。ドライバがOSごとに違うのは事実ですが、それはOSとハードウェアの間の 部品の話です。プリンターをつながずに使うアプリでも動かない以上、 これはアプリが動かない理由にはなりません。

  3. ウOSごとにアプリへの機能の提供の仕方や実行ファイルの形式が違うから。

    正解。アプリは画面表示やファイル操作をOSに頼んで実行します。その頼み方も、 OSが読み込める実行ファイルの形式も、OSの種類ごとに定められています。

  4. エ画面の見た目や操作の手順がOSごとに違うので、同じ操作では起動できないから。

    誤り。見た目や操作方法の違いは、OSの違いが利用者の目に見える形で現れた 結果にすぎません。仮に起動の手順を正しく踏んでも動かないので、 原因は内部の仕組みの側にあります。

理解を深めるために

アプリはOSに「お願い」して動いている

アプリケーションソフトウェアは、画面に文字を出す、ファイルを開く、 メモリを確保するといった作業を、自分でハードウェアに命令して行っているわけでは ありません。すべてOSに頼んで代わりにやってもらっています。

この頼み方の決まりごとがOSごとに異なります。さらに、OSが「これは実行できる プログラムだ」と認識する実行ファイルの形式も、OSの種類ごとに違います。 Windows系OS向けに作られたアプリをMac系OSのPCに置いても、OS側からは そもそも実行できる形に見えないのです。

同じハードウェアでもOSが違えば動かない

よくある誤解は「機械が違うから動かない」というものです。実際には、 まったく同じPCにWindows系OSを入れた場合とUNIX系のOSを入れた場合とで、 動かせるアプリは変わります。違いを生んでいるのはOSの側です。

層 役割
アプリケーション 利用者の目的の作業を行う。OSに機能を頼む
OS ハードウェアを管理し、アプリへ共通の頼み方を提供する
デバイスドライバ OSと個々の周辺機器の間をつなぐ
ハードウェア CPU、メモリ、周辺機器そのもの

試験では「別のOSで動かすには何が必要か」という形でも問われます。 答えは、そのOS向けに作り直された版を用意することです。 複数のOSに対応したアプリが別々に配布されているのは、このためです。

前の問題へ次の問題へ