トップページ⇒prog
16コメント6KB

なぜウィンドウズ用のプログラムは全機種で動くの?

■ このスレッドは過去ログ倉庫に格納されています
0001いまさらNGNG
ぜんぶインテル入ってるならCPUレベルのコードが同じでいいんでわかるんだけど、
昔、たしかモトローラかどっかのウィンドウズマシンでパワーPCが入っているのが
あったよーな気がする。わしが知らんだけで、ウィンドウズも実はマックのファッ
トバイナリみたいに(68のexeとPPCのexeが両方入っていて実行時にCPUを読んで
切り替える)なってるのか?それともなんかのエミュレーションモード(マックの
シェアウェアなどの小さいユーティリティなどでは最初から68のコードしかコン
パイルしていないものがある。その場合OS側でPPCが68系のエミュレーション
を行って実行される。)を使っているのか?
いや素朴な疑問なんだが。
0002うーむNGNG
NTの話とSoftPCの話がごっちゃになってるのかな?
Alpha用NTとかは、x86エミュレータが載ってたけど。
ウインドウズとは、Microsoft Windowsなのか?>1
0003>1NGNG
WIN32バイナリの場合は、それぞれ
i386@` Alpha@` PowerPC@` MIPSのそれぞれの形式が
あって、それぞれ別のものです。

Alphaの場合だけは例外的にFX!32というエミュレータが
DEC(現COMPAQ)から配布されていて、i386バイナリが
エミュレーションされるようになっています。

ただしあくまでもFX!32は単なるエミュレータなので、
動かないソフトも存在します。

WIN16の場合はIntelマシンのみです。

0004まずはNGNG
OSというものがなんのために有るのか?というレベルから再スタートするのが良いのでは。
0005名無しさんNGNG
OSはハードの違いを吸収するためのモノではないので
そんなところからスタートしても無意味です
00061ですNGNG
すいません、たとえにマックを使ったのでよくわからなかったですね。
3さんが書いているように、たとえばi386@`Alpha@`PowerPC@`MIPS
の4つのCPUがあったとすると、ウィンドウズ上のあるアプリ(たと
えばエクセル)のマシンコードは4種類必要になります。CPUによっ
て実行できるコードが異なっているからです。それについて、
.
「4つのマシンコードを生成しているのか?それとも一種類で残りの
(インテル系以外)はエミュレーションで動いているのか?」
.
という疑問でした。いちおう市販のソフトは「ウィンドウズ用」の
一言でウィンドウズマシン全部で動くことに(たてまえ上)なって
いるので。まさか「ウィンドウズマシン」という仮想マシン上で
全部中間言語で動いているとも思えないので。(4さ〜ん(^^;)
.
とすると。一つのアプリに4つのコードが入って容量が4倍な
んですかね。それとも、使用者がマシンに応じてインストール
するんですかね(WIN-CEはこれですねSH系かMIPS系か選ん
でインストール)
とりあえず3さんサンクス!

0007>6NGNG
>という疑問でした。いちおう市販のソフトは「ウィンドウズ用」の
>一言でウィンドウズマシン全部で動くことに(たてまえ上)なって
>いるので。まさか「ウィンドウズマシン」という仮想マシン上で

NTの場合は(Intel)とかって書いてあると思うけど。
0008>1NGNG
複数のCPUをサポートするWIN/NTの場合、OSは基本的には、
直接ハードウェアを認識しません。HAL(ハードウェア抽象化層)の
上でOSは動作するため、大半のプログラムはCPUの種類にかかわら
ず、WIN/NTマシンという抽象化された機械で動くことになります。
0009>8NGNG
というのは1に対する回答になってないのでは?
非IntelのすべてのNTがx86のコードをPコード扱いしてるのなら、
いいけど。
0010名無しさんNGNG
>とすると。一つのアプリに4つのコードが入って容量が4倍な
>んですかね。それとも、使用者がマシンに応じてインストール
>するんですかね(WIN-CEはこれですねSH系かMIPS系か選ん

非Intel用のバイナリが入ってるアプリケーションって
市販されてるのかな? 見たことないんだけど(真剣に探した
わけでもない)
0011名無しさんNGNG
例えば、秀丸にはNT向けにIntel用、Alpha用、PowerPC用がありますね。
http://hidemaru.xaxon.co.jp/software/hidemaru.html
0012>11NGNG
っていうのは10向け?
6向け?
0013名無しさんNGNG
JAVAを使えばJVMによって同じバイナリで全機種動くけど
0014そういえばNGNG
このへん
http://www.asahi-net.or.jp/~ki4s-nkmr/wabijo27.html
に IBM AS/400 の話があるんやけど、
どういう仕組みになっとんじゃ。
00151ですNGNG
>11
秀丸のページを観てきました。どうやら使用者の方でマシンのCPU
に合わせてインストールするみたいですね。
すると、PPCやalpha@`MIPS用のバイナリがあるかどうかはアプリ
(もしくはソフト会社)次第ということですね。
う〜ん、するとWindows2005(笑)あたりで、i386系以外の
CPUが主流だったりすると、95用のアプリはエミュレーションか
そのままでは動かない(再コンパイルするか?)ということに
なるんですかね。
>14
うん、この乳の詫び状1999/10/20前後の話しが近いです。
0016>5NGNG
未熟者ですみません。
>OSはハードの違いを吸収するためのモノではないので
>そんなところからスタートしても無意味です
なんのためですか?
■ このスレッドは過去ログ倉庫に格納されています