• ベストアンサー
  • 困ってます

16bit?32bit?64bitOS???

○○bitOSという言い方を良くするのですが そこで、ふと、思ったのですが Win3.1・・・・・・16bitOS Win95,98,me・・・16bitOS/32bitOS WinNT,2000・・・・32bitOS 次期OSから64bitOSを混在させていくみたいですが この8bitとか16bitと言うのは何でしょうか? OSと言うプログラムが扱えるメモリ空間が16bit=65536までと 思っていたんですが、65536b=8MBでは少ないし・・・・ それと、CPUに関しての16Bitとか32bitとか言うのは何なんで しょうか?CPU内部のバスの幅を表してるのかな・・・ もしそうなら16BitCPU=最大8bit命令*2を1サイクルで処理 できるって事になり、最初に書いた質問に帰結するような 気がしますが・・・・ちょっと混乱してます。 以上です、分かる方よろしくお願いします

noname#38849
noname#38849

共感・応援の気持ちを伝えよう!

  • 回答数3
  • 閲覧数3532
  • ありがとう数8

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.2

まず最初に2の16乗=65536=64KBです。同様に2の32乗=4GB。 OSでいう○○ビットとCPUの○○ビットは同一ではありません。 CPUの○○ビットは主にデータバスのピン数を示します。 8086(Pentium系の先祖)は16本持っており最大2バイトのデータ転送を1サイクルで行うことができました。 現在のPentium系CPUは32ビットのデータバスを持っており、4バイトのデータ転送を1サイクルで行います。 OSでいう○○ビットはアドレス値のビット幅を示します。 これはCPUのアドレスバスのピン数と一致するとは限りません。 8086CPUは16ビットのアドレスバスを持っていました。 結果、プログラムは「16ビットで表現可能な64KB」または「2つの16ビットアドレス値をハード的に演算処理した“20ビットアドレス”で表現可能な1MB」の空間で動くように作成される必要がありました。 「アドレスバスのビット数(=16)」と「アドレス値のビット数(16×2=32)」、さらに「2つのアドレス値を演算処理した実アドレス値のビット数(20)」の3つ違いや特性を認識する必要があるため8086系のOSは複雑なものでした。 (その後、EMSと呼ばれる外部メモリ空間が加わり実空間が数MBに広がったため話はもっと複雑になります。) Windows3.1はこのような複雑な環境を制御できるように作成されました(実際にWindows3.1が動作するCPUはもっと後期のものです)。 Pentium直系の先祖である80386の登場で話は一気に簡単になります。 80386はアドレスバス、データバス共に32ビット持っていたため32ビット空間(4GB)を素直に使うことができます。 しかし、Windows3.1で開発された多くのプログラムは8086の変則的な16(20)ビット空間で動作するように作られていたため、80386の単純な32ビット空間では動作しません。 結果,Windows95ではWindows3.1のソフトウェア資産を引き継ぐ必要性から16(20)ビットプログラムが動作可能なように「16ビット環境」を内包しています。 WindowsNT(実際はその直系先祖のOS/2)は「Windows3.1のソフトウェア資産を切り捨てる」という大英断によって純粋な32ビットOSとして存在します。 次世代PentiumであるIA64系CPUは64ビットのアドレスバスを持つ予定です(もう「最大空間○バイト」などというレベルではありません)。 単純な32ビットアプリケーションは単純な64ビット環境で動作することができますが、OSの場合はそうは行きません。 64ビットハードウェアに合わせたOSと32ビットハードウェアに合わせたOSが必要なのです。 しかし、巷に存在するであろう32ビットハードウェアを見捨てることもできません。 そこで、次世代Windowsは32/64ビットOSである必要があるのです。 無論、その後は64ビット環境で一本化されるでしょう。 というようにOSの16→16/32→32→32/64→64という変転にはそれぞれに特殊事情が絡んでいて「○○ビットOS」と呼ばれる理由もそれぞれに違ったりします。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

有り難う御座います m(__)m 大変解りやすくて、喉につかえていた魚の骨が取れた気分です

関連するQ&A

  • 64bitCPUに32bitOSを入れたときの動作やデメリット

    質問内容: 64bitCPUに32bitOSを入れた場合、 ・動作は32bitCPUに32bitOSを入れた場合より悪化するか(具体例もあると嬉しいです) ・32bit板のソフトが正常に動作する保障はどのくらいあるか ・上記以外で、デメリットはあるか を教えていただけますでしょうか? 大雑把な質問で申し訳ないですが、よろしくお願いします。 状況: 64bitCPUを買うことを決めています。 頻繁ではないですが、32bitでは足りない計算をするためです。 (ハードな計算をしていますが、PCに関してはド素人です…) OSに関しては、64bitのメリットを必要としていません。 しかし、32bitOSを入れた場合、どのようなデメリットが生じるのか、心配です。 64bitOSを入れるより無駄が多い(64bitCPUをフルに生かせない)ことは存じております。 OSは、Windows Vistaを入れようと思っています。 64bitPCをメインに使う予定ですが、別に32bitPCもあるので、64bitPCの使用目的は柔軟に変えられます。 いくつか64bitと32bitに関する過去の質問を読みましたが、明快な理解を得ることができなかったので、質問させていただきます。 よろしくお願いいたします。

  • 64bitOS

    現在PC購入を考えているのですが、次期WindowsOSが64bitのみでしかでないかもしれないような記事を見たのですが、現在のCore2のCPUで64bitOSの動作というものはどうなのでしょうか。 問題なく行けるものでしょうか。 よろしくお願いします。

  • WinXP64bitバージョンの大メモリは32bitOS用ソフトで使い切れるか?

    ◆どなたかお教えいただけると助かります。◆近々、WindowsXP64bitバージョンが発売されると聞きます。AMDの64bitCPUのOptron248とWindowsXP64bitVersionの組み合わせでは、16GB等の大メモリ空間が使えると聞きました。◆Q1:32bitWindows用のソフトも64bitXP上で動くとのことですが、その場合、広大なメモリは利用されるのでしょうか?それとも例の4GB以下の32bitOSの制約に引きずられるのでしょうか。◆つまり、メモリの管理は各ソフトの対応如何なのか、OSが対応していれば使い切れるのか、分からないのです。ご助言お願いいたします。

その他の回答 (2)

  • 回答No.3

すみませんちょっと抽象的ですが...。 ご質問の「OSにおける○bitOS」という言い方は、そのOS上でプログラムをする時に、「自然」に扱う事のできる変数(データ)の大きさということになると思います。(C言語の表現で言うと「sizeof(int)」です。) つまり、完全な16bitOSであるwindows3.1では32bitの値を扱うことはできますが、16bitを扱う場合に比べて「不自然」な扱いが必要になる場合があります。(32bit数を扱う場合にいつでも「不自然」であるという意味ではなく、16bitの値を中心に扱うような仕組みにOSがなっているという意味です。) 同様に32bitOSであるWindowsNTでは32bit値を基本的なデータ型としており(16bit値は、メモリ効率が悪い事を除けばそのまま使えます。)64bit値を扱う場合は「不自然」な仕組みが存在します。(64bitOSも同様です。繰り返しません。) 次に「CPUにおける○bitCPU」ですが、内部データバスということで基本的には良いと思います。ただ、メーカの発表ではこれに厳密に一致していると言えない場合があります。内部データバスの条件を満たしていなくても○bitCPUを名乗るだけの風格(?)があれば、○bitCPUと言うことがあるようです。 最後に「OSにおけるbitとCPUにおけるbitの関係」ですが、CPUが○bitを「自然」に扱える仕組みを持っていない限りそのOS上で○bitOSを設計することができません。(Windows3.1がサポートしていた80286は32bitを「自然」に扱える仕組みをもっていなかったため、80286を対象CPUにいれているかぎり32bitOSになることはできません。)

共感・感謝の気持ちを伝えよう!

質問者からのお礼

たいへんありがとう御座います 勉強になります

  • 回答No.1
  • nag3
  • ベストアンサー率28% (103/361)

32bitと言うのは、2進数で32桁という意味です。 16bitは16桁になります。 CPUに関してはおっしゃる様にバス幅のことで、たとえば32bitであれば、一度に2進数で32桁のデータを転送出来るという意味になります。 拡張命令とは、異なるものです。

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • bitの異なるCPUとOS

    最近64bitCPUが市販されていますが、現段階では64bitOSはwindows系ではxpだけと聞きました。 しかし、実際、まだ、64bitに対応するドライバなどがないことがあるとの事で32bitOSのほうが良いのかと感じてしまいます。 そこでお尋ねしたいのですが、windows2000やxpなどの32bitOS(このOSに対するアプリケーションも含む)は64bit環境で正常に動くのでしょうか? また、32bitOSが動作した場合、周辺機器のドライバは32と64どちらになるのでしょうか?

  • 32bitか64bitOS

    趣味とたまに仕事で3DCGをやっています。 この度新PCを買おうとしたのですが OSを32bitか64bitOSにするかで迷っています。 またVISTAの場合、種類が豊富なのでどれがいいのか 教えていただければ幸いです Core 2 Quad Q9450 P5K PRO PC5300 DDR2 4GB(2GB*2) +流用 PC5300 DDR2 4GB(2GB*2) ST3500320AS 500GB GeForce 8800GTS 320MB GDDR3-320bit SATA対応スーパーマルチ LGA775用静音CPUクーラー ATX-607-CA-AB8FB 607W

  • 32bit 64bitに関する基礎的な事柄

    よくわかっていないことを質問させていただきます。 32bit,64bit用アプリ? 32bit,64bitとは、CPUが一度に読み込むことの出来るデータの量を言っているのだと思います。 つまり、OSは、当然、CPUが32bitであるのか、64bitであるのかを、きっと認識していて、 32bitCPUに対しての処理と、64bitCPUに対する処置を選択していると考えます。 アプリケーションレベルでは、OSに作業の指示を出すのであって、アプリケーションは、 PCがどんなCPUをつかっているのか、気にする必用はないのではないかと考えます。 しかし、現実には、そこらじゅうで32bit, 64bit用の言葉を聞きます。 これは、きっと自分が理解していることは、どこか、間違っているのだと考えます。 基礎的な事柄とは思いますが、よろしく、ご教示の程、お願い致します。

  • 64bitのCPUについて

    64bitのCPUを用いて、32bitのOS(Linux)を導入予定です。 ふと疑問に思ったのですが、OSも64bitでないと、 意味がないのでしょうか? 64bitCPUにする、利点、不利点があれば教えていただきたく思います。

  • 業務で元々32bitOS上で動作していた32bitアプリを

    業務で元々32bitOS上で動作していた32bitアプリを 64bitのサーバOS上で動作させる事になりましたが、この場合、 問題があるとすれば、どのような事が考えられるでしょうか? 今回追加するアプリが64bitでしか動作しないため、 64bit、32bit混在が必須な状態との前提でお願いします。 簡単な動作テストをしてみたところ、 現状では問題は起きていませんが、 サーバなので今後も長期に渡り使用するため、 制約(動作速度、リソースの問題、安定性など)があれば 把握・対策の検討をしておきたいと思っています。 検索をしましたが情報が少なくよくわかりませんでしたので、 有識者の方々よろしくお願いします。 OSは以下です。 以降前:RedHat(R)EnterpriseLinux(R)5.5BaseServer(x86) 以降後:RedHat(R)EnterpriseLinux(R)5.5BaseServer(x86-64) CentOSに関する情報でも構いません。

  • DELL XPS420は64bitOSでも大丈夫?

    DELL XPS420を使っています。 OS:VISTA SP1 HomeBasic(32bit OS) CPU:Core2Quad memory:4.0GB HDD:500GB 今現在windows7 ultimate(64bitOS)をHDDにインストールしようと 考えていますが、XPS420のハードウェアは64bitOSに対応 しているでしょうか? 検索して http://bbs.kakaku.com/bbs/0010X119612/ などはみたのですが もう少し情報がほしいです。 又,XPS420はメモリを8.0GBに増設できるマザーボードなのでしょうか? 初歩的ですみませんがよろしくおねがいします。

  • 64bitパソコンとワークステーション

    仕事でシミュレーションソフトを使っています。これには、32bit版と64bit版があります。 64bit版OSが走るパソコンとOSがあればそれを使えるようです。メモリも多くつめるし、さばける処理も増えると思いました。 そしてその64bitOSが走るように64bit版パソコンを自作しようと思いましたが、「マザーボードが64bit対応にするようにBIOSをアップデートしないとダメです。お店で売っているのはみんな32bitのみ対応か、BIOSのアップデートで64bit対応可能になるものです」といわれました。またCPUについても「デュアルコアやなんとか64とつくものすべてが64bit対応ではない」といわれました。 そこで質問なのですが、このような手を尽くして64bitOSが走るパソコンは自作できるのでしょうか? また、世の中にはワークステーションというものがありますが、それと作ろうとしている64bitパソコンの定量的な差は何になるのでしょうか?

  • 32bit、64bitコンパイラーでコンパイルした場合の数値計算の実行

    32bit、64bitコンパイラーでコンパイルした場合の数値計算の実行速度について質問です。 CPUは、Core i7(64bitCPU)、 コンパイラーは、インテルC++コンパイラーVer.10 double(64bit長)型の大規模な数値計算を想定します。 このとき、 IA-32用としてコンパイルして、Windows7 Pro.32bit 上で計算させた場合と Intel64用としてコンパイルして、Windows7 Pro.64bit 上で計算させた場合とでは、 計算速度に差がでますでしょうか? 実行ファイルは、OSを通さずにCPU上でネイティブ実行されると理解しているので、 両方とも、64bitCPU上では、double(64bit長)型の計算なので差は出ないのかな?と思っています。 #Windows7を 32bitにするか64bitにするか(どちらをDSP版で購入するか)で迷っています。 #ご意見をお願いします。

  • 64bit OSのインストールについて

    Windowsに限らず、OS全般のこととして知りたいのですが、 以下の認識で正しいかどうか、ご教示ください。 ・ハードウェア(チップセット、CPU)の仕様が64bitの場合、 32bit、64bitのOSどちらもインストール可能 ・ハードウェアの仕様が32bitの場合、 64bitのOSはインストール不可能(インストールしたとしても起動しない) 認識が誤っている場合、64bitOS搭載マシンとして販売されている比較的 低スペックのPCは、ハードウェアとしては32bitだが、OSだけ64bitを搭載している、ということになりますでしょうか?

  • 64bitOSだと便利になるの?

    過去に、以下のような質問をし他のですが・・・ >>http://oshiete1.goo.ne.jp/qa3552043.html CPU=AMD社Opteron 2210×2個 マザーボード=Tyan社(Thunder n6650W・S2915A2NRF-E) メモリ=Transcend社(TS128MQR72V6J・ECC Registeredメモリ1GB×4枚) ハードディスク=SEAGATE社(ST373455SS・73G 15000 SAS)×2台 RAIDカード=Adaptec社(RAID3405ハードウェアカード)にてRAID0を組んでます。 光学ドライブ=パイオニア社(DVR-112BK/MP ) グラフィックボード= NVIDIA社(Quadro NVS 440 PCI-E x16) サウンド=オンボード 電源=OCZ社(Silencer 750 Quad ・Black・ 750 W) OS=Windows XP Professional(32bit) 過去の質問では、CPUのコア数に関連して、質問したのですが、 今回はOSを64bitOSにした場合について、質問します。 ウィルスソフトを常時稼働させている状態で、 ウィンドウズ・メディアプレーヤーで音楽を聴きながら、 常時、インターネットのウィンドウを15個程立ち上げて、 常時、スキャナを動かして、紙の書類を取り込み 常時、自分で構成したワード文書をプリンタにて、プリントし、 時々(1日5回ぐらい?・・・1回1000ページほど) アドビ・アクロバットでJPEG画像をPDF画像に印刷(変換)する・・・ 上記の様な作業時、Windows 7(64bit)でなら、メモリの容量さえ増やせば、サクサクとスムーズに動作するようになるのでしょうか? 今のWindows XP(32bit)だと、上記の同時進行作業時に、インターネットのウィンドウの切り替え時に、なかなか切り替えが進まなかったりします。・・・これは、メモリが足りないという理解で良かったのですよね?って事は、(素直に考えれば?)64bitOSにして、メモリを増やせば、キビキビ動く様になるのですか? Windows 7(64bit)にして、メモリを増やして良いのか、教えてください。

専門家に質問してみよう