Windows7 は 32bit か 64bit か

大昔まだ32ビットのコンパイラどころかアセンブラもない頃、私は32ビットのシステムを開発していました。ちょうどIBMが16ビットの IBM/PC-AT とOS/2にこだわっていた頃のことです。組み込みシステムなので、OSどころかアセンブラもなく、仕方がないので直接メモリにマシン語でプログラムを書くという荒業です。

16ビットシステムであれば、オペランド(メモリの操作番地)はセグメント内であれば8ビットで両手で16進計算できたのですが、32ビットシステムでは、オペランドのアドレスが FFFF:FFFFF で両手では数え切れず、靴下を脱いで足の指も使ってでも計算したいとまで考えたものです。人間の手が8本あれば良いのにと真剣に思ったものでした。

単純な話ですが、16ビットのシステムと32ビットのシステムでは、オペランドのサイズが大きく、バイナリコードでは1.3倍から1.5倍くらいのサイズの違いになります。一般には16ビットシステムより32ビットシステムの方が性能が高いと思われがちなのですが、同じクロックスピードで処理の内容が同じであれば、コードサイズの大きさからメモリからコードフェッチに時間がかかる32ビットシステムの方が遅くなります。それだけ、ディスクやメモリにロードされるコードサイズが増えるわけなので、キャッシュなどのリソースが大量に必要なのは必須なわけです。

たしかに32ビットのデータを4ビットシフトしたりマスクするような操作であれば、16ビットのレジスタで演算を繰り返すより、32ビットレジスタで一発で実行したほうが効率はたかいわけですが、それは対象となるデータサイズによる処理速度の問題であり、単純な制御コードを繰り返す処理であればクロックが影響し、レジスタのサイズは関係ありません。ちょうど、SUNの RISC 系CPUの処理能力が絶賛され、Intel系のCISCの限界が叫ばれていた頃のことです。

さて、なぜこんなことを書いているかというと Windows 7 の本命は 32 ビット版なのか 64 ビット版なのかということです。多くのメディアでは Windows 7 RC版は絶賛され、巷で売れているネットブックでも軽々と動作し、インストールもほとんど問題ないというレポートを見かけます。

実は、私の手元の環境ではほとんど SUSE Linux + XEN 環境での仮想化なので、ほとんど64ビット版でも問題ないのですが、いざ実際にリアル環境で動かそうと思うとほとんど64ビット版はインストールすらうまく行かないケースに見舞われます。 Windows 2008 R2 評価版もリアル環境では動作しませんし、先日購入した Core2 Duo のノートブックもインストールできませんでした。仕方なくこのブログを書いているマシンは32ビット版を導入しています。

Windows 7 RC版のFAQ--中身はUltimate、来年6月まで使えるってご存知?

こちらの CNET の記事にもあるように32ビット版より64ビット版の方が、要求されるメモリも空きディスク容量も大きな値が必要です。今どきのBTO構成でPCを選ぼうとすると、メモリは2Gと4Gでは数千円しか変わらないし、32ビット版では3G強しか認識できないのなら、思い切って64版を入れたいところなのですが、実際にある程度低めのスペックのPCに導入すると、明らかに64ビット版より、32ビット版の方が軽快に動作してインストール時間も早いという印象を受けました。ちょっと驚きました。

また、いくつかの "Windows 7体験記"を読むと、64ビット版で動いたと明示したものがなく、ほとんどは32ビット版だろうと予測できます。また、 Vista(32版?) のドライバを入れればぜんぜん問題ないということもレポートされていますが、64ビット版でチャレンジして全然問題ないレポートはほとんど見かけません。

ということで、私は見事に新しいノートブックへ64ビット版の導入に失敗しました。無線LANしか動かず、物理NICのドライバはフリーズし、シャットダウンやハイバネーションはまずまともに動きません。わざわざ4Gのメモリを積んだ理由がないわけです。

実はPhenomII の X4 8G メモリマシンでは64ビット版が割と問題なく動いており、リソースモニターを見る限り、常時3Gから4Gのメモリが予約されています。これだけメモリを積むとスワップなど発生しないので非常に快適です。たまにヘビーな処理をさせるといきなりリブートすることもしょっちゅうありますが、普段はせいぜいブラウザとかしか使わないわけですから、このリソースの予約状況を見ると、32ビット版の3G強のメモリの壁というのはすぐに問題にぶち当たりそうです。

64ビット版で 8G 使い切った!
a0056607_13102044.gif


今後PCの主力は2G標準メモリ+アルファとなると3G搭載というのは中途半端で4G積みたいところです。また、ネットブックの主力の atom も64ビットのレジスタを持っているし、最新のPCでは当たり前のように64ビットレジスタです。これでは32ビット版のメリットがなく、64ビット版を選びたいところなのです。しかし、こうも64ビット版が不安定だといったいどの程度のスペックが Windows 7 の推奨レベルなのか、正直悩むところです。

1033Mb ハードウェア予約 ??? 1.8G使用中
a0056607_1461162.gif



32ビット版と64ビット版を両方試してみると、とてもじゃありませんが、単に高級言語で書いたコードを単純に64ビットオプションを付けてコンパイルすればよいというものではなさそうです。32ビットとは明らかに違ったプログラムの作り方が必要で、ドライバだけではなく、アプリケーションの64ビット化にもかなり時間がかかりそうな気がします。単純に言うと64ビット版の Windows 7 は明らかに32ビット版とは別物だと言えます。

今流通している多くのソフトウェアも32ビットが主力である以上、わざわざ64ビット版を選ぶ理由もないのでしょうが、今後キラーアプリケーションの64ビット対応が進むと64ビット化は避けて通れないところでしょう。特に設計、画像映像編集といったヘビーなデータ処理を行う業務では64ビット化は早いとは思いますが、一般的なビジネス用途では中々64ビット化は進まない、というか薦められないなぁというのが正直な感想です。おそらく64版はメーカーが保障する周辺機器、ソフトウェアを使う専用ワークステーションからスタートすることでしょう。

問題は Windows 7 と同じカーネルを使う Windows 2008 R2 です。主力のDBなどは64化が早いとは思いますが、メーカーの完全な動作保障がない限り 64ビット版のみリリースされる Windows 2008 R2 が主力になる日は、まだかなり遠そうな気がします。少なくともコンシューマ向け Windows 7 が鍛えられて SP1 がリリースされて、64ビット環境が安定するまで先は長いのでしょう。

16 ビット版だったWindows 3.1 は 32 ビット版だった Windows 95 とは明らかにルックアンドフィールも機能も異なる中での互換性があったわけなのですが、Windows 7 の 32 bit と 64 Bit で、明らかな差異を感じるヒトは少ないだろうし、自分が使う Windows 7 が 64 版なのか 32 版なのかを理解できるヒトはほとんどいないと思います。その中で 32 版じゃないと動かないとか 64 版は違うドライバ、アプリケーションをインストールしなければならないという事態だけは避けたいところなのです。

となると、やっぱり Windows Server を安定感で選ぶと、今後もしばらく32ビット版が選べる Windows 2003 R2 が主流になるのでしょうか。

-ホームPC、ホームノート-
こういった目的であれば、さまざまな増設機器(プリンタとかスキャナ)あるいはTVチューナーなどがありそうなので、32ビット版ホームが選択肢になるでしょう。まず、VISTA 用32ビットのドライバが容易に手に入りそうです。「今使っている」なら、32ビット版しか選択しはないでしょう。「今持っている周辺機器が使えない」状態を避けるためにも32ビットという選択になります。

-ビジネスノート-
ノートの筐体はメモリ増設の余地があまりありません。当初から積み込んで4Gマックスなら32ビット版しかメリットは出ません。どうせそれ以上メモリは乗せられないのです。それに、この手の目的なら、PHS、携帯電話、通信モジュールなどの付加価値が高いので、安定している32ビットを選択することになります。先日勝った、eMobile のアダプタもドライバは32ビット版しかなかったし ):~< 大抵USBをさすだけで使えるブツは32ビットじゃないと動かないと思って間違えありません。

-ビジネスデスクトップ-
今買うモデルなら32ビット版でしょうが、4Gメモリ以上搭載できるモデルなら64ビット版を考慮してもいいでしょう。プリインストールが64版ならその選択肢しかありません。もっともビジネス用でも4G以上メモリを積む必要があるかどうかでしょう。また、余計な付属品も少ないでしょうし、ネットワークプリンタも高級機であれば64ビット版ドライバがある可能性が高いと思います。ただし、64ビット版のキラーアプリケーションがない限りあまりメリットはないかもしれません。64ビット版で「Windows でしか使えない」というようなプリンタはまず使えないとおもっていいでしょう。周辺機器もアップグレードしましょう。南米の通過単位で世界経済を論じるとか、宇宙に散らばる星の数を正確に数える場合は64ビット版の Excel が必要かもしれません。

-自作機-
自作機で64ビット版を導入することは自殺行為のようなものです。動かないケースが結構あります。ウチのPCはメモリ8G積んでいるよ、と言って自慢するためにメモリを積みましょう。Core i7 で2G×3枚のメモリを買っても無駄な投資になる可能性があります。 Ubuntsu や OpenSuse のようなフリーの Linux の方がよほどまともに動きます。

※ それにしてもどうして Windows7, WS2008R2 の不安定さはなんとかならないのだろうか、とため息をつく

※ Windows 7 互換性ロゴは 64 ビット版も取得条件
「Compatible with Windows 7」ロゴの取得条件は"64bit対応"

今のデバイスはほとんどそのままじゃロゴが付かない(64版では動かない)ということですね。

16ビットのコードは動かないらしいので、古いコンピュータウィルスなんかは動かないでしょう。ウィルス対策としては64ビット版は究極のウィルス対策かもしれません。コンピュータウィルスを作るヒトにとっては、32ビット版と64ビット晩と両方作らなくてはいけないから、混在している環境だったらパンデミックは避けられるという利点があるくらいでしょうか。

もっともXP互換モードもあるので、古いアプリケーションだったら動くよということですが、そこまでして古いアプリケーションを使いたいのなら、さっさと乗り換えたほうが無難だし、古いアプリケーションにこだわっていても、技術者として将来も尊敬されるわけではありません。技術者本人の単なる自己満足です。

ヘルプデスクの担当者は XP か Windows 7 の32bitか64bitかの違いをまずユーザに確認してもらうという手順を抑えておいたほうがよさそうです。「コンピュータぁー(と伸ばすのを忘れないこと)」を右クリックしてプロパテーぃの真ん中くらいに書いてあります。

「あの、デジカメつながらないンですけど」 > 「64版では動きません、買い換えてください」
残念でした。そんな数年が続きそうです。

まだまだ続く
またまた Windows 8 は 32bit か64bit か

Visit My Wev Site 非番のエンジニア
[PR]
by islandcenter | 2009-05-30 13:27 | Windows 7 | Trackback | Comments(13)

Novellの2~4月期決算,8.5%減収だが増益,Linux製品が好調

売上高は2億1600万ドルで前年同期の2億3600万ドルから8.5%減少した。

四半期で約200億円強の売り上げ。以前は四半期250億円程度だったので、売り上げ全体は下降傾向のよう。まぁこれは昨今の不況の結果だろうし、GMなど大型ユーザの今後によっては不安な要素は沢山あるでしょう。比較的影響の少ないAP、EU方面での売り上げがどれだけ伸ばせるか。

また、Linux 製品の売り上げが ID 管理製品を超えている点も注目でしょう。主力の WorkGroup 製品が大きく数字を下げている点もちょっと気になります。 まぁVista不況なので新しいライセンス販売が伸びないのも仕方がないのでしょう。
[PR]
by islandcenter | 2009-05-29 15:02 | Novell | Trackback | Comments(0)

Novell GroupWiseの更新版リリース、複数の脆弱性に対処

これのことですね。

Novell GroupWise WebAccess - Cross Site Scripting (XSS) Security Vulnerability via Unfiltered Style Expressions
[PR]
by islandcenter | 2009-05-26 13:35 | GroupWise | Trackback | Comments(0)

SUSE Linux 11 の XEN 仮想環境で Windows 7 RC x64 版を動かしました。 5/12

※RC x64版での評価環境です。

まず、前回の Windows 7 beta 版+ XEN on SLES10 では vcpus=2 ではインストール/起動ができませんでしたが、 SLES 11 上では Windows 7 RC x64 版は CPUを二つ認識させて起動させることができるようになりました。
a0056607_1556927.gif


テスト環境は AMD Phenem II 920 (2.8Ghz) 4コアですがこの環境ではISO ファイルから導入して 10数分でインストールできました。インストール当初は vcpus=1 ですが、後に vcpus=4 にしてみても、 Windows 自身は 2 CPU までしか認識できませんでした。 インストールのテンプレートは Windows Vista 64 版です。


デバイスドライバはほぼ認識されています。
a0056607_1556273.gif




-KeyWord-
SUSE Linux Enterprise Server 11 SLES11 XEN 仮想化 Windows7


その他の情報はこちらから
非番のエンジニア
[PR]
by islandcenter | 2009-05-13 15:57 | Windows 7 | Trackback | Comments(0)

ノベルに日本法人に、前ボーランド社長の徳永氏が就任しました。

ノベル日本法人社長に前ボーランド社長の徳永信二氏が就任

今まで APAC 担当が兼業していたわけですが、徳永氏は長年にわたってボーランドの要職を務めてきた方なので、しっかりした市場分析と長いスパンで戦略を立てて欲しいところです。

ところでボーランドといえば滅茶苦茶早い Turbo C, Turbo Pascal が有名だった(と過去形)いわば、PC-AT+DOS文化の引き立て役だったわけで、1980年代のコンパイラ文化では Microsoft よりはるかに優れた製品を数多くだしていました。

また、開発ツールメーカーから、インフラソフトウェア販売、コンサルティングのノベルという会社をどのような立ち位置におくのか。

あえて Linux 事業に軸を移しつつある Novell の日本市場での今後の舵取りに注目です。
[PR]
by islandcenter | 2009-05-12 14:09 | Novell | Trackback | Comments(0)