アプリ版:「スタンプのみでお礼する」機能のリリースについて

Windowsでは32Bit版だとメモリーが3.5GBでしたか、最大でもそれくらいしか使用できないという制限がありましたが。

Linux は32Bitと64BitとではWindowsのように認識できるメモリーの容量に制限があるのですか。

A 回答 (10件)

32bitで4GB以上のメモリーを扱えないのは


たぶんノイマン型コンピューターの、アーキテクチャーそのものの話です。
個々のOS特有の問題ではなく、普通に作れば
4GBを超えて認識できないのが当たり前です。


ただ、intelのPAE技術は、PentiumProの時代からある特殊な技術で
これは32bitを超えて、36bitでメモリーの物理アドレスを指定することができます。

32bit Windowsで、3.5MB程度しか認識できず、残りをRAMディスクにする風習がありますが
これもPAEがなければできないことだったと認識しています。(よくは知らん)


で、単純にメモリーを大量に使うためになら、36bitでも…何GBだっけ?
64GBを認識できますから、現状のサーバーPC程度ならOSとしては不足しません。

ただ、それだとアプリケーションが確保できるメモリーとしては
制限が残ってしまうので、大規模なアプリケーションを動かすのであれば
PAEではなく、OSもアプリも、全部64bit仕様にする必要が生じます。

ただ、そういうアプリは限られます。
個人のデスクトップや小規模なサーバーなら、PAEで事足りるんじゃないかと思います。
実際、こういう記事があったりもします。
http://bibo6.blog34.fc2.com/blog-entry-180.html


Linuxではデスクトップとしての利用では2GBで充分だったりするので
64bit化の必然性はあんまり無いんです。

反面、オープンソースのパッケージ再編成の自由を活かして
64bit版ソフトの供給は、Windowsの比にならないほど速やかに進みました。
それがゆえに、64bit版FLASH Playerは、Linuxだけが先行してリリースされていたほどでした。
(Windowsでは64bitOSで32bitブラウザーを使うのが普通の時期が長かったので)


ただ、ほとんどの32bit版Linuxディストリビューションは、PentiumIIやIIIに最適化されていて
64bit版はCore2Duoとかに最適化されています。

ですから、64bit化の効果だけでなく、最適化の対象の問題から
64bit化が好ましい場合があります。
技術的にも、64bit化は時代の趨勢ですから、32bitに固執する理由もありません。
Amazon MP3の専用ソフトとかが、32bit版なのは泣き所かもしれませんけど…


私自身は、仮想PCで遊ぶことを想定して、64bit版にしてあります。
どっちが速いか?気にするほどの差は無いと思います。


先日リリースされたUbuntu12.04LTSでは、32bit版もPAEカーネルが標準となり
たぶん、8GB搭載のPCで32bit版を導入しても、4GBを超えて認識するのが普通になっています。
今みたら、最大1GBしか搭載できないThinkPad T23でもしっかり3.2.0-23-generic-paeが入っています。


反面、一部のPAEを備えないCPU搭載製品では、CPU性能は充分にあるものの
Ubuntu12.04LTSのインストールができず。
10.04LTSか11.10からのアップグレードを経て導入する手間がかかります。
(PentiumM搭載ノートPCなどで、ちょっと残念なことになるようです)


なお、LinuxとMacOSXのメモリー管理が同じと言えるとしたら
LinuxもMacOSXもWindowsもメモリー管理の基本法則は同じと言えます。

でも、やっぱり、LinuxとMacOSXとWindowsのメモリー管理はそれぞれ違います。
ただ、32bitではPAEのような特殊な技術を使わなければ
4GBを超えてメモリー認識ができないという点では同様です。


ちなみに、Linux系OSはUNIXを模倣したOSで、MacOSXは由緒正しいUNIXの分家です。
ほかにもUNIXは数種類あるのですが、メモリーの管理手法はそれぞれいろいろ違います。
そこは、UNIXの仕様としての共通点だけでなく、個々のカーネルの設計の問題でもあるからです。

Linux系OSでは、そのカーネルそのものが本来のLinuxです。
対して、MacOSXは、Machというオープンソースのカーネルが採用されています。
分類方法によっては、MachはLinuxカーネルよりもWindowsのNTカーネルに近いとも言えます。


かつて、Macintosh用のLinuxとしてMkLinuxがMachカーネルを採用していたので
LinuxとMacOSXのカーネルが同じと勘違いしているMacユーザーもいるかもしれません。
(厳密に言えば、MkLinuxはLinuxでは無かったとも言えます)

この回答への補足

ありがとうございます。

>ただ、ほとんどの32bit版Linuxディストリビューションは、PentiumIIやIIIに最適化されていて
64bit版はCore2Duoとかに最適化されています。

なるほどそうですか。

ubuntu 11.10 64Bit版をCPUがPentium4のパソコンにインストールしたのですが32Bit版の時と比べたら明らかに動作が重かったです。

補足日時:2012/05/14 10:44
    • good
    • 0

余談ですが, 32ビットの Windows でもバージョンによっては 4 GB を越えて使えたりしま... した.



32ビットの Linux でも, 既に回答がありますが (「1プロセスで使えるメモリ」は 4 GB, ただしそのうち 2 GB はカーネル使用) システム全体で 64 GB まで使えるようにすることもできます. 6 GB しかないときにやってました.
    • good
    • 1
この回答へのお礼

ありがとうございました。

お礼日時:2012/05/14 10:47

PAEの話が出ていますが


この技術はOSで管理できるメモリ量を増やせますが、
一方で1つのプロセスがアクセスできるメモリ量は4GBのままです。
なので、DBサーバのように大きなメモリを使用するPPを使用する場合は
32bitOSと64bitOSで結構大きな性能差が出ます。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2012/05/14 10:45

>Linuxのメモリ管理はMacOSXと同じと思われるので、MacOSXとして回答します。


まったく違う。
MacOSXはBSD系。Linuxとはソースの互換はない。だからメモリ管理は別。
それこそ同じだったらライセンスの問題が発生する。
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2012/05/14 10:38

Linuxのメモリ管理はMacOSXと同じと思われるので、MacOSXとして回答します。


CPU自体は64ビット動作で、使用する『カーネル』が
32か64ビットの違いがまず有ります。
それからアプリに関しても64ビット対応としてコンパイルする必要が有ります。
そして64ビットカーネルの環境で32ビットカーネルアプリを動作させる環境が有ります。

Linux自体がこの様に成っている場合はWindowsの様なメモリ制限は無い事に成ります。

この回答への補足

ありがとうございます。

結局、Linuxでもそういう点はWindowsとあまり変わらないんですね。

ubuntuはインストールとか更新の際も自動化されていて、そういう点では便利なのかもしれませんね。
64Bitでインストールしたら、更新の際も64Bitで自動的に更新されるようになってるみたいです。

補足日時:2012/05/13 17:54
    • good
    • 0

>同じパソコンにubuntuの32Bit版と64Bit版をインストールしたことがあるのですが、64Bitの方だと少しパソコンの動きが遅いように感じました。



それは負荷ではなくてCPUが32bit,64bitどちらに最適化されてるかだと思いますよ。
Intel Core iシリーズはわかりませんがCore2DuoやCore2Quadの64bitモードは32bitモードより多少遅かったかと思います。

http://pc.watch.impress.co.jp/docs/2006/0718/kai …

この回答への補足

ありがとうございます。

>Intel Core iシリーズはわかりませんがCore2DuoやCore2Quadの64bitモードは32bitモードより多少遅かったかと思います。

CPU Core2Quad Q6600でしたが、なるほどそういうことですか。

いまのCorei7とかだったら64Bitの方が早いのかもしれませんね。

補足日時:2012/05/13 17:48
    • good
    • 0

32Bit-CPUで4GiB以上のメモリを扱う技術として物理アドレス拡張(ぶつりあどれすかくちょう、Physical Address Extension - PAE )があります。


 インテル社のPentium Pro以降のP6マイクロアーキテクチャで追加されたアドレス空間の拡張機能です。
http://ja.wikipedia.org/wiki/%E7%89%A9%E7%90%86% …

Linuxでは、例えばPuppy Linuxのエディションの一つであるSlacko 5.3.3 では32Bit版ですが
4GBを超えるメモリー(最大64GB)に対応したPAE版があります。
http://puppylinux.org/wikka/SlackoNews 

この回答への補足

ありがとうございます。

そういうのがあるとは知りませんでした。

補足日時:2012/05/13 15:41
    • good
    • 0

>CD-ROMに付属のubuntuやCentOSなんかだと、同じLinuxでも32Bit版と64Bit版の両方が入っていることがありますが、あれは結局カーネルが異なるということなんですかね。



いいえ、カーネルだけでなく実行用バイナリも32bit版と64bit版は異なります。
カーネルを4G以上利用できるようにしても、実行用バイナリが32bit版ならプログラムとしては4G以上は利用できません。

>64Bit版だとCPUやメモリーにかかる負荷もやはり大きいのだと思いますが。

何が「やはり」なのか私にはわかりかねます。
32bit版がメモリ4Gまでしか利用できないのは負荷関係ないですし。

この回答への補足

>何が「やはり」なのか私にはわかりかねます。
32bit版がメモリ4Gまでしか利用できないのは負荷関係ないですし。

同じパソコンにubuntuの32Bit版と64Bit版をインストールしたことがあるのですが、64Bitの方だと少しパソコンの動きが遅いように感じました。

補足日時:2012/05/13 15:40
    • good
    • 0

>Linuxでも32Bit版は4GB以上のメモリーを付けても認識されないんですか。



「認識されない」ではなくて「利用できない」ですね。

で、ちょっと誤解のある書き方だったので申し訳ないのですが
「利用できない」のは多くのディストリビューションの標準のインストール状態だと「利用できない」だろうということであって
「利用できる」カーネルを使用するようにすれば利用できます。

この回答への補足

>「利用できる」カーネルを使用するようにすれば利用できます。

CD-ROMに付属のubuntuやCentOSなんかだと、同じLinuxでも32Bit版と64Bit版の両方が入っていることがありますが、あれは結局カーネルが異なるということなんですかね。

64Bit版だとCPUやメモリーにかかる負荷もやはり大きいのだと思いますが。

補足日時:2012/05/13 12:46
    • good
    • 0

あります。

この回答への補足

ありがとうございます。

あるんですか。

Linuxでも32Bit版は4GB以上のメモリーを付けても認識されないんですか。

補足日時:2012/05/13 11:58
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!