技術者必見!!Part2
Windows NT 4.0の
あまり知られていない事実

by Kazuhisa Nishikawa


ん!?この画面は!?

右の画面キャプチャ、一見何の変哲もない普通のWindows NT 4.0のように見えるが、よく見ると驚くべき事実が2つ隠れている。

画面から解る事は、
  1. PowerPC版Windows NT 4.0(英語版)
  2. Netscape Navigator 3.0 (32ビット版)
  3. 日本語表示
この3点である。「ん!?」考えてみるとちょっと変だ。

まず、PowerPC版Windows NT 4.0でx86版Win32アプリケーションが動いている。RISC版Windows NT 4.0は、386コードセット(386エンハンスド・モード専用を含む)で書かれたWin16アプリケーションに対応したのは知っているが *1 、Win32までその対応範囲を広げたとは聞いていない。もちろん、Netscape Navigator 3.0のPowerPC版が出たと言う話も無い。更に、IE 3.0のようにInternational Extensionsを持たないNetscape Navigator 3.0で日本語を表示している。

何だこれは!?

*1 RISC版Windows NT 3.xまでは、スタンダード・モード用で、286コードセットの範囲で書かれたWin16アプリケーションしか動かなかった。


Win32 x86 Emulation on RISC

実は今朝、たまたまftp.microsoft.comへ行った時に見慣れない"x86"ディレクトリを発見!!「何かな!?」と詳細を見たところがこの"Win32 x86 Emulation on RISC"である。各Alpha/MIPS/PowerPC版は以下のURLにあり現在まだβ版となっている。

本論に入る前に、従来のWindows NTにおけるWin16/32対応を簡単にまとめると以下の表になる。

Win16(286 code) Win16(386 code) Win32(x86 code) Win32(RISC code)
x86版Windows NT 3.x ×
RISC版Windows NT 3.x × ×
x86版Windows NT 4.0 ×
RISC版Windows NT 4.0 ×

※もちろんRISC版はAlpha/MIPS/PowerPCと三種類あり、それぞれ環境に合ったバイナリでないとプログラムは動作しない。

さてRISC派(?)にとって一番問題になるのが黄色い部分であり、市場に山ほどあるx86版Win32アプリケーションはRISC版Windows NTで動かない。これが理由でRISCマシンはサーバーやグラフィック系など、ごく限られた用途だけで使われてきた。しかし、今回の"Win32 x86 Emulation on RISC"モジュールを使うとこの制限が無くなり、一般的なx86版Win32アプリケーションをRISCマシンで動かす事が可能になる。

「これは凄い!!」と、早速手持ちのPowerPCマシン *2 に組み込み実験した。試したアプリケーション(全て32ビット・アプリケーション)は以下の通りで、どうやら作動原理は"APIまではx86エミュレーション、API下はRISCネイティブ"で動いている様だ。

アプリケーション 結果 作動状況
Internet Explorer 3.0 × インストールできない。かなりシステムを書き換えるので無理に入れない方が無難であろう。
Netscape Navigator 3.0 "インストールシールド"の環境チェックでひっかかりセットアップできないが、他のマシンからイメージをそのままコピーすれば動く。
CuteFTP 1.4 問題無し
Photoshop 3.0.5 JPEG展開などx86エミュレーションの時間が長い部分は遅い
Thumbs+Plus 3.0b  〃 
PaintShopPro 3.0  〃 
TOP SECRET(CD EXTRA) 信じられないほど良く動いている。
Visual C++ 4.0 但し、コンパイルは遅く、デバッグ・モード不可。

*2 ThinkPad 6040 : PowerPC 603e 100MHz/L2 cache 256KB、RAM 49,152KB、HDD 773MB/SCSI 、Video WD90C24A/800×600 HiColor

一番やっかいなのは、「"インストールシールド"の環境チェックにひっかかりセットアップが異常終了する」事で、この点さえクリアすれば殆どのケースで問題無く作動する。

実際にベンチマークテストは行っていないが、体感的には486DX2/66MHz程度の速度は出ている様だ。ただ、実験したマシンのビデオチップやHDDはクラッシック・デバイスでかなり遅いため、最近のマシンであればもっと高速に動く可能性は十分ある。最速のAlpha CPUを搭載したマシンで実験すると面白い結果が出るだろう。

余談になるが「何故今頃になってMicrosoftはこんなモジュールを出してきたのか!?」昔からRISC系メーカーは喉から手が出るほど欲しかったモジュールを"何故今"??この理由は単純である。そこにActiveXがあるからだ。現在殆どのActiveX関連モジュールはOCX、つまりx86版Win32バイナリで構成されている。この状態でRISC版Windows NTはもちろんMacやUnix環境までActiveXを持ち込むと事は非常に面倒になり、何だかのエミュレーションをする必要があったのだ。今回の"Win32 x86 Emulation on RISC"はその手始めで、今後更に"Win32 x86 Emulation on Mac"や"Win32 x86 Emulation on Unix"的なモジュールを作るのだろう。

理由はどうであれ、このモジュールはRISCマシンを持つユーザーにとって朗報である。特にPowerPCはもうすぐMac OSも動きだす。これはなかなか面白い事になってきた。 :-)


ランゲージ・パック

前回、IE 3.0 International Extensionsの話をしたが、Windows NT 4.0ではこれに相当するモジュールが標準搭載となり、CD-ROMの\LANGPAKに14ものモジュールが仕込まれている。

  1. Arabic.inf - Arabic code page conversion and NLS API support (No IE3 viewer support)
  2. Cyrillic.inf - Cyrillic based language support
  3. European.inf - Latin based European language support
  4. ExchSrvr.inf - All code page conversion tables for Exchange Server
  5. Greek.inf - Greek language support
  6. Hebrew.inf - Hebrew code page conversion and NLS API support (No IE3 viewer support)
  7. Japanese.inf - Japanese code page conversion, NLS API support and font
  8. Korean.inf - Korean code page conversion, NLS API support and font
  9. SChinese.inf - Simplified Chinese code page conversion, NLS API support and font
  10. TChinese.inf - Traditional Chinese code page conversion, NLS API support and font
  11. Thai.inf - Thai code page conversions and NLS API support (No IE3 viewer support)
  12. Turkish.inf - Turkish language support
  13. US_Eng.inf - US English language support
  14. Vietnam.inf - Vietnamese code page conversions and NLS API support (No IE3 viewer support)

README.TXTによるとこのランゲージ・パックは、IE 3.0とExchange Serverで使えるとなっており、今回たまたま組み込んだNetscape Navigator 3.0上でもMail/Newsまで含めて見事に動いている。これはNetscape Navigatorが環境を見て、Windows 95とWindows NTで文字描画のロジックを切り替えていると考えるのが無難であろう。WindowsNTは純粋なUnicodeベースなので十分考えられる話である。面白いのは日本語に関しては何故か"MS明朝"だけが入っている事だ。筆者は"MSゴシック"も欲しかったので、IE 3.0 International Extensions for Japanese Versionと両方組み込んで使っている。

この調子でOSのマルチランゲージ化が進むと、CD-ROMやwww.microsoft.comに"IMEパック"が載るのも時間の問題ではないだろうか!?


まだあるWindows NT 4.0の新機能

これまでほど大業ではないが、Windows NT 4.0には一般的に知られていない新機能が隠れている。

短期間しか触っていないので、この程度しか見つけられなかったが、まだまだ隠し(?)機能がありそうだ。特に、ここのところMicrosoftはマルチランゲージ化に関して相当力を入れている。いずれにしても今後時期が経つにつれ、Windows NT 4.0の全貌が明らかになり、多方面で色々なレポートが載る事になるだろう。


このページに関するご意見・ご感想などございましたら、筆者までメールをお願いします。