Win7で動作していた弊社アプリがWin8.1でも動作するか確認し、動作保証しようとしています。
ところがWin8.1には32bit版と64bit版があります。
ざっと動かしてみたところ、どちらも問題なさそうに動作しています。
そこで、質問ですが、32bit版と64bit版の両方とも動作確認しなければならないのでしょうか。
Microsoftの「Windows 7からWindows 8へのアプリケーション移行のポイント」には、32bit版と64bit版での注意点など何も書いてないので、関係ないということなのでしょうか。
動作原理上関係ないと大変うれしいのですが。。。
そもそも、なぜ64bit版で動作できるPCであれば32bit版のWin8.1も動作させられるのでしょうか。
64bitというのはハードで決まっているのではないのですか。
64bit動作するハードをわざわざ32bit方式で動作させているのですか?
あまり詳細な説明をされても理解できませんが、ざっと概要がわかると助かります。
それと、エディションの違いも移行のポイントに書いてないので、Proで動けば無印でも動くと判断していいのでしょうか。
大変お手数ですが、ご教示ください。
■以下は、「Windows 7からWindows 8へのアプリケーション移行のポイント」のURLです
http://download.microsoft.com/download/6/0/E/60E …
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
この理屈は、Windows7の時にはここでもよく説明した記憶がありますが・・・。
そういうソフトのサポートを行う会社なら、この辺りは理解しておくべきでしょうし、ハードウェアの仕組みも形だけでも知ってから、参入すべきかと思いますが・・・。Q/ そこで、質問ですが、32bit版と64bit版の両方とも動作確認しなければならないのでしょうか。
A/通常は64bit版で最初に動作確認し、それで動作が出来れば、32bitでも動作が保証できる場合が多いです。ただし、確実な動作を保証する場合は、両方でテストすることを推奨します。まあ、これらの部分は業務アプリケーションの場合は、ユーザーサポートと評判に左右されるものですから、それをどう考えるかだけの問題です。理論上は、64bit環境で動く場合は、32bit環境でほぼ確実に動作します。
後は、APIに何を使っているかなども知っているはずですから、そのAPIがサポートから外れている場合は、その辺りを先にチェックしておく必要があります。開発したソフトのサポートを行う場合は、その辺りを、動作確認と平行して行います。
Q/なぜ64bit版で動作できるソフトは、32bit版のWin8.1でも動作できるのですか?
A/わかりやすくするため、まずはソフト面に質問の記述は少し変更しました。本題は2つ下の質問に書いています。
これは、OSのカーネル仕様とCPUの動作モードに関係する問題です。Windowsだけの仕様で回答するとWindows On Windows 64(bit)と呼ばれる機能を使っています。これは、いわゆるエミュレーターの一種で、32bitプログラムが実行された場合、その一部を仮想化し、仮想的な32bit環境構築します。また、64bitの中間関数(API)で当該の関数がある場合は、対となる64bitコードに置き換えて実行します。
当該のAPIがない(新設された特殊なAPIであったり、カーネルモードで動作するプログラム)場合と実行方法に64bit環境に沿わないコードがある場合は、エラーとして弾き、実行を抑止します。尚、64bit環境では16bitアプリケーションには対応しませんので、それらは弾かれます。また、DOSアプリケーションも動作しません。
32bit環境では、そもそも64bitコードに置き換えて実行することはないため、ネイティブの32bitコードを実行できます。また、カーネルドライバ保護の一部が、32bit環境では有効になっていないため、過去のアプリケーション互換性が高まります。
さらに、WOW(16bitアプリケーションの互換モード)も使えるため、16bit互換アプリの一部も動作可能です。(この理由は後述のCPU、Lagacy Modeの関係によります)
これが32bitの強みです。要は、過去の32bitがネイティブ対応します。さらに、16bitアプリはいわゆるx64における32bitアプリケーションの起動概念と似た、互換モードが使えるのです。だから、古いソフトの動作互換性が高くなります。しかし、この互換モードはあくまで、CPUのレジスタ帯域としては1世代前の帯域になります。要は、64bitなら、32bitまでは互換でき、32bitなら16bitまでと互換が可能になるのです。そのため、古いアプリケーションの互換性は、32bitの方が高いのです。しかし、64bitソフトウェアは動きませんし、32bitOS上では、後述しますが、Long Modeでの動作はどうやってもできません。
Q/ 64bitというのはハードで決まっているのではないのですか。64bit動作するハードをわざわざ32bit方式で動作させているのですか?
A/そうです。互換性のためにわざわざ32bitで動かすのです。それだけ、資産継承が重要なら、それもやむを得ません。
64bitというのはCPUのレジスタ幅(演算ユニットが一度に扱える数値の桁数)です。たとえば、999×999までしか計算できない装置に、1000×1000という計算式を与えると、桁あふれ(バッファオーバーフロー)が発生し、処理が停止します。
電卓で言えば、E1.0029370808などと数字が出るあれです。CEなどを押してリセットしないと、追加の演算はできません。
コンピュータも同じで、全てのプログラムはこの桁数の制限を受けています。それが、32bitや64bitといったレジスタ(算術ユニット/ALU/整数演算器)が扱える桁数になるのです。ハードとしての最大条件はこれになりますが、計算式を与えるのはソフトです。
そのため、コンピュータではソフトウェア側が64bitでなければ、64bitの演算はできません。
そして、その絶対値の幅を決めるのはOS(WindowsやMacOS)になります。32bitOSでは32bit迄しかつかえませんが、16bitソフトも使えます。64bitOSでは、64bitという広いレジスタ幅が使えますが、16bitには対応せず、32bitは一部エミュレートとなります。
Q/そもそも、なぜ64bit版で動作できるPCであれば32bit版のWin8.1も動作させられるのでしょうか。
A/CPUがx86-64ですから、x86系のマイクロコードに最適化されたコンパイラを使っていれば、32bitでも64bitでもOSやソフトは動作します。
WindowsPCの64bitでは、x86-64(x64)と呼ばれるIA-32系の系譜プロセッサを利用します。
このプロセッサには、64bitモードとして、
Long Mode(ロングモード)が搭載されています。このモードでは2つの設定があり、64bitモードと互換モード(Compatible Mode)と呼ばれる32bitアプリケーションを動かすモードがあります。このモードがいわゆる64bit Windows上でWOW64で実行するソフトを動かすために使われます。
Long Modeでは、64bit Modeのみで64bit本来の性能が発揮されます。
本来の性能とは64bitCPUでは、本来ある8つの演算レジスタに追加する形で、8本のレジスタがあります。即ちレジスタが2倍になっているのです。それらが使えるのがこの64BITモードのみです。32bitの互換モードは、64bitモードの中で動作しますが、追加レジスタの利用ができません。これが、いわゆる64bitOSが動作するためのハードウェアの仕様です。
それに対して、Lagacy Mode(レガシーモード)と呼ばれるモードも備わっています。
これは、i8086(インテルハチマルハチロク)から系譜されている16bit/32bitのOSに最適化されたモードです。32bitOSはこのモードで動きます。ただし、このモードでは追加レジスタは使えませんし、64bitのアプリケーションも一切動きません。
あくまで、旧資産を動かすためだけに、性能を犠牲にしてOSのビット数を抑えてインストールすることが出来るのです。何故旧資産が32bitの方が動くかは先に書いたとおりで、ネイティブに何の変換もかけずに動かせるからです。また、16bitコードも動作可能です。
Q/それと、エディションの違いも移行のポイントに書いてないので、Proで動けば無印でも動くと判断していいのでしょうか。
A/通常は、動きますが・・・個人の開発でなければ普通は逆です。Pro特有の機能であるドメインアカウントやグループポリシーなど、ビジネス用途の専用機能に依存する場合があるかどうかで変わりますので、そういう意味で逆にするのです。ホームユーザー向けの場合は、Proでのテストより、Home系のOS(無印)でテストし、Proも保証するのが一般的です。
要は、エディションは下位(機能が少ない方)からテストし、ビット数は高い方(互換性の問題が起きやすい方)からテストします。これらで、スムースに動けば、それ以外の行程をパス(スキップ)することも可能であり、工程数を削減することが可能です。
サーバを含めてテストする場合は、目的のサーバーでの動作チェックをさらに加えます。ただ、その場合においても、通常は下位のエディションからテストを行う方が、効率は良くなります。(尚サーバーコアは対象外です。一般のサーバーOS+サーバーコア対応の場合は、環境テストと導入プロセスを全て確認した方が良いです)
以上のようになります。
最後にまとめるとテストというのは、
一番動かなくなる過酷な状況でテストすると、それ以外の状況で動くということです。マイナス20度で動くエアコンは、マイナス10度でも動くでしょう。
OS上でのソフトの場合は、同じ世代(バージョン)なら理論上機能が少なく、互換性が低い側で動けば動きます。(環境例外<ハードや追加APIによる相性>があるので、絶対保証はしません。)
だから、64bitで機能の少ないエディションでテストするのが先で、それで動かないなら、32bitのみサポートや、プログラムに手を入れます。
No.1
- 回答日時:
Windows7も32bit64bitは有りますよ
現在どちらを使われていますか?
XP時代のソフトが7や8の64bit版で動かない物は有りました
私の場合は 古いCADソフトやフィルムスキャナーや動画編集ソフト USB接続のMO等です
32bitの7ではほとんど対応出来ました
8では大丈夫で 8.1ではプリントサーバーが対応しなくて買い替えましたね
使われているソフトは何ですか?
ソフトメーカーのサイトに何かネタは出ていませんか?
周辺機器でドライバが無い場合は使えない場合が多いです
Windowsのバージョンアップのスピードに各メーカーが対応の遅れが有る場合も有り 古いソフトではサポートを止めている場合も有ります
今後ダメな時は ソフトの買い替えかな?と思っています
専門的な事は分かりません
XPから7や8に変えた時の苦労ネタです
おかげでパソコンが増えました(現在 5台稼働中)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAでArrayListを使う為の「mscorlib.tlb」の参照設定について 3 2022/03/23 19:45
- 英語 英文和訳についての質問です。 2 2023/06/23 06:38
- Excel(エクセル) Excel 2019 32-bit版を64-bit版にするには? 8 2023/07/28 14:20
- その他(プログラミング・Web制作) Visual Studio Code 関数の使い方について 3 2023/05/31 13:15
- TOEFL・TOEIC・英語検定 bitとlittleは両方ともに同じ 1 2022/08/10 13:03
- その他(AV機器・カメラ) オーディオインターフェイスの24bitなど量子化bit数はどこで設定できるのでしょうか? 1 2022/06/26 07:58
- ドライブ・ストレージ フロントページは無料で落とせるのでしょうか? 3 2023/05/16 18:00
- デスクトップパソコン NVIDIA Quadro K2000とNVIDIA Quadro K420どちらが優れていますか? 6 2023/02/28 18:16
- CPU・メモリ・マザーボード BIOS画面で固まる(メーカーロゴの画面) 4 2022/08/03 17:41
- その他(Microsoft Office) 折れ線グラフ、同じ項目の色 4 2022/12/23 15:46
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EAccess Violation が発生する
-
エクスプローラーで右クリック...
-
常駐ソフトでどうしてもよくわ...
-
Windows10(64bit)でVB6やBC++Bu...
-
市販ソフトを入れててもexploit...
-
VAIOのUSBジョグコントローラを...
-
Windows7 64bit版で、一般に32b...
-
kxetray.exeとは? CPUが上が...
-
急ぎです。パソコンの文字が急...
-
「名前を付けて保存」が遅いの...
-
XP / Vista、どちらがよいのか
-
振替伝票や帳簿を、パソコンで...
-
0x8007048Fって?
-
Windows Meをお使いの方、教え...
-
CD-Rに書き込んだデジカメ写真...
-
iPhoneを使っていたらいきなり...
-
メモリ使用量の合計が合わない
-
技適マーク
-
XPが32bitか64bitかわからない
-
メモリ2GBのPCにWindows 10をイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ノートPCの安全なCDの取り出し...
-
kxetray.exeとは? CPUが上が...
-
振替伝票や帳簿を、パソコンで...
-
Windows7で、画像編集ソフトMic...
-
急ぎです。パソコンの文字が急...
-
Windows10(64bit)でVB6やBC++Bu...
-
常駐ソフトでどうしてもよくわ...
-
マイクロソフトアカウントのユ...
-
CPU使用率が低いのにPCが重たい
-
LTspice電子回路シミュレーショ...
-
windows7で画像を編集できるソ...
-
Windowsの総稼働時間を簡単に確...
-
目盛板を作製できるソフト
-
市販ソフトを入れててもexploit...
-
「名前を付けて保存」が遅いの...
-
作業途中、デスクトップ上のア...
-
Windows7 64bit版で、一般に32b...
-
ノートパソコンで会計ソフトを...
-
エクスプローラーで右クリック...
-
3M程度のテキストファイルを...
おすすめ情報