【DO!BOOK・ページリンク】
migaro_tech2013   56 / 100

BOOKをみる

10秒後にBOOKのページに移動します


54 トは、前述したようにメモリを最大限に 活用できるという点になる。  32bit アプリケーションがWOW64 で 実行できるとはいえ、メモリ使用の上限 は32bit に準じているので、互換動作で は2GB 程度のメモリしか使用すること ができない。それに対して、64bit アプ リケーションのメモリ使用の上限は 8TB まで拡張されている。(もちろん端 末に搭載されているメモリ容量には依存 する。)  例えば、32bit アプリケーションでは、 メモリが足りなくなった場合、ハード ディスクの領域を使って回避したり、必 要に応じてロードしたりするなどの効率 的でない処理実行となってしまう。一方、 64bit アプリケーションでは、十分なメ モリさえ搭載していれば、すべてメモリ 内で操作することができるので、CPU を活かした処理パフォーマンスを期待す ることができるということになる。 2. Delphi/400の64bit アプリケーション開発  前章までは64bit についての一般的な 考察を行ってきたが、ここからは Delphi/400 のアプリケーション開発に ついて説明する。  Delphi/400 ではバージョンXE3 か ら、64bit アプリケーションも簡単に開 発できる機能を実装している。(もちろ ん、これまでどおり32bit アプリケー ションの開発も可能である。)  Delphi/400 での64bit 開発では、コ ンパイル機能を切り替えるだけで64bit アプリケーションを生成することができ るようになっている。  つまり、開発者は64bit アプリケー ションとしてのプログラム考慮や知識は ほとんど必要がなく、Delphi/400 側で 開発を制御してくれる。そのため、作成 したプログラムを32bit/64bit どちらの アプリケーションとしてコンパイルする かを選択するだけで開発することができ る。  それでは、以降からDelphi/400 の優 れた64bit 開発環境・手法について詳し く説明する。 用のランタイムが用意されており、これ を利用することで、32bit アプリケーショ ンでも64bitWindows 上で実行できる ようになっている。【図3】  WOW64 は、32bit 端末から64bit 端 末へ移行するにあたって、非常に重要な システムだと言える。 ・Delphi/400 のモジュールコピー  しかし、ここで気をつけておかなけれ ばならないのは、WOW64 はあくまで Windows の32bit 用ランタイム(実行 環境モジュール)なので、Windows 以 外のソフトやアプリケーションのランタ イムは含まれていないという点である。  Windows 以外のアプリケーションの ランタイムについては、WOW64 で用 意された\Windows\SysWOW64 とい うフォルダーに必要なモジュールをコ ピーする必要がある。  例えば、XE3 以前のDelphi/400 を 64bit 端末で実行する場合には、 Delphi/400のモジュールをSysWOW64 にコピーする。  Delphi/400 で必要となるモジュール は、Delphi/400 Configuration 画面に あるDLL Information というタブです べて確認できるようになっている。ここ に表示されるSystem32 フォルダーの dll を、32bit 端末からSysWOW64 に コピーするだけでよい。【図4】  最後に、もう1 つ注意点を記しておく。 32bit アプリケーションは、この WOW64 によって32bit、64bit どちら の端末であっても使用することができ る。  しかし、64bit アプリケーションは、 32bit 端末では互換実行することができ ないので、アプリケーションの使用には 注意が必要になる。【図5】 1-3. 64bitアプリケーションの利点  32bit アプリケーションが互換動作す るのであれば、64bit アプリケーション より便利と考える方も多い。実際に 32bit/64bit 端末が混在する運用環境で は、それも正しい選択になる。  それでは、64bit アプリケーションの メリットについて、考えてみよう。 64bit アプリケーションの最大のメリッ 質3.25GB 程度になる。最近の端末は大 容量のメモリ拡張ができるようになって いるが、32bit のWindows OS を使用 する場合、たとえ100GB のメモリを搭 載しても実際には4GB しか利用するこ とができない。【図1】 ・64bit Windows OS  これに対して、64bit のWindows OS では同じWindows 8 でも512GB 使う ことができるため、スペックとしては、 最大128 倍のメモリを使用することが でき、スペックの差が歴然としている。  ただ現状では、メモリが4GB 搭載さ れていれば、それなりに高スペックな端 末であるため、64bit を採用しなければ 運用できないということはほとんどな い。そのため、現在は32bit と64bit を 選択できる移行段階にあると言える。 1-2. 32bit互換機能WOW64  ここまで32bit と64bit のWindows 環境の違いを説明したが、アプリケー ションについても考察する。  現時点では、まだ32bit アプリケー ションが多いということを述べたが、そ れでは64bit Windows を使う場合、こ れまで使用していた32bit アプリケー ションがまったく動作しないのだろう か?  実は、64bit Windows 上でも、32bit アプリケーションは互換で動作すること ができる。例えば、32bit 端末で使用し ていたDelphi/400 のアプリケーション は、64bit 端末でも実行することができ る。【図2】 ・WOW64  その理由は、64bitWindows に搭載さ れている「WOW64(Windows 32bit emulation on Windows 64bit)」と呼ば れる、32bit アプリケーションを互換実 行するためのシステムのおかげである。  64bit アプリケーションは、もちろん 64bitWindows 上で実行することはでき る。一方、32bitアプリケーションは通常、 64bitWindows 上では実行することはで きない。それでは64bit 端末を誰もが敬 遠してしまう。  そのため、このWOW64 では32bit