Windows 10
 Computer >> コンピューター >  >> システム >> Windows 10

64ビットオペレーティングシステムが16ビットアプリを実行するのはなぜですか?

コンピューターが最新の64ビットアーキテクチャを使用し始めると、ユーザーはすぐに、それらの古い16ビットアプリケーションを実行しても機能しないことに気付きました。 64ビットマシンで16ビットアプリを実行できないのはなぜですか?

その質問への答えは、誰に尋ねるかによっては混乱する可能性があります。一つには、16ビットアプリを実行することは実際には不可能ではありません。それはただ難しいです。次に、この問題の理由は、CPUアーキテクチャの両方にあります。 オペレーティングシステム。

まだ混乱していますか?心配しないでください、あなたは一人ではありません。しかし、この記事の最後に到達するまでに、もう混乱することはありません。

CPUアーキテクチャの歴史

最後に読みたいのは歴史の授業ですよね?心配しないでください、これは短いものです。 64ビットシステムが16ビットアプリをネイティブに実行できない理由を理解することも重要です。

80年代から90年代にかけて生きていたなら、当時誰もが最先端のテクノロジーだと信じていた古い16ビット恐竜を覚えているでしょう。

64ビットオペレーティングシステムが16ビットアプリを実行するのはなぜですか?

当時はそうでした。それらの古いマシンはIntel8086を実行していました 1978年のプロセッサ。プロセッサは、16ビットアドレス指定を使用して1Mbのアドレス空間にアクセスできました。以前のマシンでは64Kbのメモリが使用されていたため、これは大きな進歩であり、パーソナルコンピューティングの新時代の幕開けとなりました。

このモード(リアルモードと呼ばれます) )、一部はRAM用に予約され、残りはBIOSおよびグラフィックカードなどのコンピュータハードウェアによって使用されました。

少し後に、16ビットアドレス指定を使用して16Mbをアドレス指定できる80286プロセッサを備えたCPUアーキテクチャがさらに進歩しました。 286アーキテクチャには、より多くのメモリのアドレス指定だけでなく、マルチタスクも可能にする機能を備えた「プロテクトモード」が付属しています。古い16ビットアプリケーションを「リアルモード」で実行することは必ずしも簡単ではありませんでしたが、それは可能でした。

16ビットの終わり、並べ替え...

1985年、Intelは次世代プロセッサであるIntel 386を発表しました。これは、一度に32ビットを使用してメモリをアドレス指定でき、なんと4Gbのアドレス指定可能なメモリにアクセスできるIntel初のCPUでした。当時、これはコンピュータユーザーにとって大きな進歩のように思えました。 PCゲームは全盛期を迎えようとしていました。

64ビットオペレーティングシステムが16ビットアプリを実行するのはなぜですか?

32ビットアーキテクチャの出現に伴い、プロテクトモードの拡張バージョンが登場しました。 これにより、より多くのメモリにアクセスできるようになっただけでなく、ソフトウェアが16ビットコードか32ビットコードかに関係なくシステムにフラグを立てることができる一連の機能が含まれていました。これは、仮想86モードと呼ばれるものによって可能になりました。 、これは本質的に組み込みの仮想化8086システムでした。

ご覧のとおり、CPUアーキテクチャの進化から次の進化へと、ハードウェア(CPUプログラミング)とソフトウェア(オペレーティングシステムとアプリケーション)の両方が、必要な非常に古いソフトウェアをまだ持っているすべてのユーザーの下位互換性を維持していました。走る。これは個々のコンピューターユーザーにとっては便利でしたが、多くの企業や中小企業にとっては、レガシーシステムにとって重要でした。

64ビットアーキテクチャがすべてを台無しにした

アドレス可能なメモリの4GBの制限は、32ビットシステムにとって長年の問題でした。しかし、64ビットプロセッサの発明により、別のブレークスルーがもたらされました。これらのシステムには、新しいモード(ロングモードと呼ばれる)が含まれていました )最大1600万テラバイトのメモリをアドレス指定できます。これがコンピュータアプリケーションの制限要因になるまでには、おそらく長い時間がかかるでしょう。

ただし、この驚異的な進歩により、大きなトレードオフが発生しました。ユーザーが長い間サポートされていた「リアルモード」または「仮想8086モード」を必要とする16ビットアプリケーションを実行しようとすると、「Program.exeは有効なWin32アプリケーションではありません」というエラーメッセージが表示されます。

64ビットオペレーティングシステムが16ビットアプリを実行するのはなぜですか?

それは苛立たしいことでしたが、それは世界の終わりではありませんでした。ユーザーは、エミュレーターを使用するか、従来の16ビットアプリケーションをサポートできる32ビットアーキテクチャとオペレーティングシステムを実行する仮想マシンをインストールできます。

したがって、64ビットシステムで16ビットMS-DOSアプリケーションを実行することは「不可能」ですが、ユーザーが回避策を使用して実行することは不可能ではありません。しかし、なぜこれが起こったのですか?

64ビットアーキテクチャはNTVDMを削除します

何年にもわたって32ビットプロセッサのすべての世代で、システムが古い16ビットDOSアプリケーションを処理するためにオペレーティングシステムに多大な努力が払われてきました。これは、NTVDMまたはNT仮想DOSマシンとして知られているものを使用して実現されました。

この32ビットアプリケーションはWindowsオペレーティングシステムで実行され、仮想8086を使用して16ビットアドレス指定を処理できる486アーキテクチャをシミュレートしました。残念ながら、「ロングモード」アドレス指定ではこれに安全に対応できませんでした。代わりに、DOSアプリケーションの実行をサポートするためだけに完全な8086プロセッサをエミュレートする必要がありました。

64ビットオペレーティングシステムが16ビットアプリを実行するのはなぜですか?

Microsoftは、最初の64ビットオペレーティングシステムの迅速なリリースをサポートするために、この取り組みをやめることを明確に決定しました。 Microsoftは、サポートページで、「16ビットMS-DOSおよびMicrosoftWindows3.xユーティリティは起動しない」と明確に述べています。

申し訳ありません。単にサポートされていません。

とにかくこれを達成できる仮想化製品が市場に多数出回っているため、Microsoftは、車輪の再発明が最善の利益であるとは明らかに感じていませんでした。

64ビットシステムで16ビットアプリケーションを実行する方法

16ビットDOSアプリケーションの実行が64ビットWindowsシステムでネイティブにサポートされていないからといって、それが不可能であるとは限りません。セットアップするには、いくつかの追加ツールをインストールする必要があります。

従来のDOSゲームを楽しんだり、古き良きコンピューティング時代のレトロなアプリケーションを使用したりする場合は、オプションがあります。新しいWindowsマシンでそれらを実行する4つの方法があります。

1。 DOSBoxでレトロゲームをプレイする

PCで古いDOSアプリを実行する最も簡単な方法の1つは、エミュレーターを使用することです。それらの中で最も人気のあるものの1つはDOSBoxです。

Christianは、Windowsマシンで古いレトロゲームを実行するようにDOSBoxをインストールして構成する方法を詳しく説明しました。

64ビットオペレーティングシステムが16ビットアプリを実行するのはなぜですか?

これの素晴らしいところは、これらのゲームのほとんどが非常に古く、アバンダンウェアと見なされているため、合法的に無料でダウンロードしてプレイできることです。

2。 VirtualBox内でアプリを実行する

WindowsXPやWindows7などのオペレーティングシステムは16ビットアプリケーションをネイティブに実行できるため、これらのオペレーティングシステムのいずれかを使用して仮想マシンを構築することにより、64ビットシステムで同じアプリケーションを実行できます。

このための最もよく知られていてセットアップが簡単なアプリケーションの1つは、VirtualBoxです。 VirtualBoxのセットアップと使用方法に関する完全なガイドがあるので、今すぐこのアプローチの使用を開始できます。

64ビットオペレーティングシステムが16ビットアプリを実行するのはなぜですか?

インストールする適切なオペレーティングシステムを選択してください。 Windows 7以前を使い続けると、古いDOSアプリをすぐに仮想システムにダウンロードしてインストールできます。

3。 Linuxを使用する

Linuxについてどう思うか、ほとんどのLinuxディストリビューションが正しいことの1つは、16ビットアプリケーションのサポートです。 PAEカーネルを使用するディストリビューションでは、4 GBの32ビットシステムに制限されないため、システムでデュアルブートとして適切なLinuxディストリビューションを実行することも別のオプションです。

64ビットオペレーティングシステムが16ビットアプリを実行するのはなぜですか?

これを行うための2つのオプション:デュアルブートソリューションまたは仮想マシン。または、Windowsを完全にダンプして、Linuxを使用することもできます。うまくいくものは何でも。

4。エミュレーターを使用する

古いDOSアプリを実行する目的で使用できるエミュレーターはDOSBoxだけではありません。同様に機能する優れたエミュレーターがたくさんあります。これは、ゲーマーの場合に特に当てはまります。

Christianは、Commodore Amiga、Raspberry Pi、Android、さらにはクラシックSNESを任意のPCでエミュレートする方法について説明しました。

64ビットオペレーティングシステムが16ビットアプリを実行するのはなぜですか?

これは氷山の一角にすぎません。オンラインで検索すると、さまざまなエミュレーターのライブラリ全体が見つかり、想像できるほぼすべてのレトロなアプリを実行できます。 Microsoftは、昔から古い16ビットアプリケーションをあきらめていたかもしれませんが、それでも選択肢はあります。

16ビットをあきらめないでください

不可能だと思わなければならない理由は何もありません。 64ビットマシンで16ビットアプリケーションを実行します。ネイティブでは不可能かもしれませんが、ご覧のとおり、タスクを実行するための解決策はたくさんあります。


  1. Windows 10 で管理者モードでアプリを実行する方法

    Windows 10 オペレーティング システムには、一部のソフトウェアの管理者権限を制限するユーザー アカウント制御に関する特別な制限があります。特定のアプリケーションにアクセスして効果的に実行するには、管理者権限が必要です。実行中のアプリケーションのすべての機能を探索するには、これらの増加した権限が必要になる場合があります。 管理者として実行されるアプリケーションには、高い整合性レベルが提供されます。管理者としてアプリケーションを実行すると、ソフトウェアはシステム設定を変更できます。アプリケーションの一部の機能は、アプリケーションが管理者として実行されている場合にのみ機能します。このペー

  2. Windows 11 で Android アプリを実行する方法

    Windows 11 PC で Android アプリを実行できるかどうか知りたいですか?さて、私たちの夢がついに実現したようです。サードパーティのソフトウェアやエミュレーターを使用せずに、Windows 11 で Android アプリを簡単に実行できます。 Windows の「Amazon アプリストア」アプリを使用すると、お気に入りのアプリやゲームにアクセスできます。 Microsoft はついに、PC で Amazon アプリストアを使用して、厳選されたカタログから Android アプリを参照およびインストールできるようにする新しい更新プログラムをリリースしました。ただし、ここに問題