「XPモード」を勉強中、その2
「XPモード」の正体がつかめず、悩んでいるかめ吉ですが、実は昔、これよりもはるかに機能が劣るけれど似たようなコンセプトのアプリをアルバイトで開発してました。
「DOS」マシンで「CP/M」を動かそうというものです。「CP/M」なんて知らないだろうなあ(^_^;)
「CP/M」はインテルの「8080」という8ビットCPUで動くOSです。
今のCPUは何世代目かわかりませんが、ちなみにインテルのCPUは8ビットの「8080」、16ビットの「8086」、「286」、32ビットの「386」、「486」、「586」と続いていきます。
「586」は「Pentium」と呼ばれました。
話がそれましたが(^_^;)、「DOS」は「8086」で動くOSなので、「CP/M」を動かすには「8080」エミュレータを作らなければなりません。まあ「仮想マシン」だと思ってください。
「仮想マシン」を作ったとして実は「CP/M」を動かす方法が2通りあります。
ひとつは「仮想マシン」にOSである「CP/M」をインストールする方法。「VMware」などのアプリが行っている方法です。OSのインストールがいるわけです。
もうひとつが「CP/M」もエミュレーションしてしまう方法です。「CP/M」のOSとしての機能を「DOS」で実現するわけです。OSが似ているときに使える方法で、OSのインストールは不要です。
かめ吉の場合は、「CP/M」エミュレータを製品化したんですが、動作検証用にOSインストール版も作りました。こっちの方がお気に入りだったんですが、製品化するのが面倒なのでアルバイト先には内緒にしていたりして(^_^;)
それで、本題に戻りますが(^_^;)、「XPモード」とは名前からして「OS」エミュレータなわけです。
「OS」エミュレータのユーザーへの見え方ですが少なくとも2通りあります。
ひとつは、「仮想OSモード」に移行して、アプリを実行する方法。もうひとつは、個々のアプリを判別して「OS」エミュレータを介在させる方法です。
かめ吉が作った製品は後者でした。こうすると「DOS」から「CP/M」のアプリが使えるようになります。
「XPモード」の解説を読んでいると、この2つはもちろん、「仮想OSモード」から「ホストOS」のアプリを実行できる機能があるのではないかと感じます。
複雑ですよね。かめ吉のかめな脳みそではフォロー出来ないですね(^_^;)