Surfaceって、元々はSurface RTという名前でして、オペレーティングシステム(つまり、OS)はWindows RTです。Windows RTって、名前にWindowsと付くにもかかわらず、普通のWindowsで動くアプリケーション(つまり、アプリ)を使うことはできません。これは、Surface 2が登場して、Windows RT 8.1にバージョンアップしても同じです。
Surface RTとSurface 2(以降、Surface RTとSurface 2をひっくるめて、Surfaceと呼びます)って、ARMって言う、携帯電話やスマートフォンでよく使われているCPUを積んでいるんです。一方、PCってIntelって会社が作ったi386、またはi386と同じ命令を持つCPU(以降、x86と呼びます)を積んでいるんです。
OSにしても、アプリにしても、CPUへの命令の集まりなんです。ところが、困ったことにCPUによって命令の種類が違うんです。命令の種類が違う以上、同じOS・同じアプリを動かすことができないんです。だから、ARMとx86ではOSは別、アプリも別なのです。
早い話が、SurfaceってARMってCPUを積んでいて、CPUが普通のPCと異なるので、普通のWindowsを動かすわけにはいかず、Windows RTって言う、ARM専用のWindowsを作ったってわけなんです。でもって、見た目をWindowsそっくり、使い方をWindowsそっくりにすることはできても、Windowsと同じアプリを動かすことができないんです。(でも、やっぱりSurfaceでWindowsと同じアプリを使いたい方は、この記事をご覧ください)
「じゃあ、Windowsストアアプリだったら、Windows RTでも動くのはなぜ?」
はい。いいところに気付きました。Windows 8からは、通常のWindowsアプリとは別に、Windowsストアからインストールするアプリ(いわゆる、Windowsストアアプリ)というのがあるんです。Windowsストアアプリってハードウェアへのアクセスが厳しく制限される上、マイクロソフトの審査を受けてWindowsストアから配布しなければいけません。なので、普通のWindowsよりもセキュリティが高いんです。
Windowsストアへ行くは、スタート画面から「ストア」をクリックします。
で、「詳細」の「サポートされているプロセッサ」欄にARMと書いてあれば、WIndows RTで動きます。また、x86と書いてあれば、普通のPCで動くWindows(・・・と言ってもWindows 8以降ですが)でも動きます。CPUの種類が異なれば、異なるOS・異なるアプリのはず。なのに、なぜWindowsストアアプリって、普通のPCでもSurfaceでも動くのか。理由は、Windowsストアアプリって.NETフレームワーク(こう書いて、「どっとねっとふれーむわーく」と読む)っていう仕組みを使って動いているからなのです。
.NETフレームワークには、実行時コンパイル機能と言うのがありまして、アプリを実行するときに、CPUの種類に合わせて命令を翻訳しなおす機能があるんです。これは人間に例えると、「この記事は誰が読むかわからないから、とりあえず英語で書いておこう。日本人が読むんだったら、頭の中で日本語に翻訳してね」ってことができるんです。なので、Windowsストアアプリって、実行するときに、PCだったらi386の命令に、SurfaceだったらARMの命令に翻訳してから実行しているというわけなんです。
実行時コンパイル機能を使うと、CPUの種類を問わず実行できるアプリを作ることができる反面、どうしても実行速度は遅くなります。これは、「日本人が読む記事だったら、最初っから日本語で記事を書いた方がいい」のと同じです。
Windows 8が登場したころ、Surface RT以外にもWindows RTマシンってのがあったんです。しかし、普通のWindowsアプリが動かないというのがネックになったのか、今ではほぼSurfaceのみになってしまいました。Windows RTって、Windowsを標的にしたウイルスに感染しないので、セキュリティが高いってメリットもあるんですけどねぇ。
最後までご覧いただきまして、ありがとうございました。アイプラスで提供中のオンライン講座の公式テキストを、Amazon Kindleから販売中です。Kindle Unlimited会員は無料でお読みいただけます。ぜひ一度ご覧くださいませ。
LPICレベル1 101試験講座 テキスト Version 5.0対応
LPICレベル1 102試験講座 テキスト Version 5.0対応
コメント
[…] Pro(Surfece Pro 2を含む)じゃないとダメ(その理由は、この記事をご覧ください)。 逆を言うと、OfficeとInternet […]
[…] それは、キューティー吉本がSurfaceを使っていた時のこと。Internet ExplorerでWebを見ていまして、普段だったらマウスを使っているときはデスクトップ画面版のInternet Explorerを使うのですが、今回たまたまWindowsストアアプリ版(つまり、スタート画面から起動する方)を使ってみたのでした。すると・・・ […]
[…] しかし、諸般の事情により、ARM系のCPUで従来のWindowsアプリは動かないので、ここは一つWindows 8とWindows RTを出して、PC・タブレット・スマートフォン共通で動くアプリを流行らせよう・・・ということを考えていたのかもしれません。確かに、Windowsストアアプリの場合、それが実現できる可能性があるんです。また、32ビット版Windowsと64ビット版Windowsの両方を開発するのは面倒なので、Windows RTが普及したら、32ビット版Windowsの開発をやめる計画だったのかもしれません。 […]
[…] 以前の記事にも書きましたが、初代SurfaceとSurface 2はWindows RT(または、Windows RT 8.1)搭載で、普通のWindowsアプリケーションが利用できません。このため、ウイルスに感染する確率が低い反面、使い方にはかなり制約が出てきます。また、事実上初代SurfaceとSurface 2専用と言ってもいいWindows RT 8.1が、Windows 10にアップグレードされるかどうかは、現時点では不明です。仮にWindows 10にアップグレードされたとしても、従来のWindowsアプリケーションが動かないのは同じでしょう。 […]
[…] RTはWindows RTマシンだったため、普通のWindowsアプリが動きませんでした。Surface […]
[…] デスクトップモードで起動した場合、アプリケーションはこんな感じです。一見すると何の変哲もないように見えます。実はこれもWindows 10の進化でして、Windows 8で新たに採用されたストアアプリも、デスクトップ上で動くようになっているんです。なので、どれが従来のWindowsアプリで、それがストアアプリなのか、見た目では区別がつかなくなっています。また、タッチパネルでタッチしやすいよう、タイトルバーがWindows 8以前よりも太めになっています。(ストアアプリの詳細は、この記事をご覧ください) […]
[…] SurfaceとSurface 2は、普通のWindowsのアプリケーションは動きません。なぜかと言うと、Windows 8.1 RTといって、正確にはWindowsじゃないんです(SurfaceはデフォルトでWindows RTがインストールされているが、無料でWindows 8.1 RTにアップデートできる)。使うことができるのは、Windowsストアアプリといって、Windowsストアからインストールして使うアプリのみです。(詳しくは、この記事をご覧ください) […]