管理人の趣味メインのメモto日記
AIONブログ RSS [情報サイト表示]
[注意] LinkやRSSについて

シエルサーバ RSS [情報サイト非表示]

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
[ -------- (--) --:-- ]  
   Category:スポンサー広告

・ω・)ノ
 
そこそこ、正解のはず・・・・(-ω-;
 
 
 
 
 
<本日のトピックス>
  • [雑 記] 3GBについて(その3)
     
     
  • [雑 記] 3GBについて(その3)
    AION関連の方が検索しているのか、SEさんが検索しているのかわかりませんが
     
     "64bit 3gb スイッチ"
     
    と言う感じの、要するに64bit OSの3GBスイッチに関する検索が
    最近頻繁に見受けられます。・・・・ので、第3回 3GBスイッチについてです。
     
    □■□■□ そのまえに!! □■□■□
    記事の内容に間違いがあるかもしれません。
    仮にも、その手の職の人ですが・・・・素人に毛が生えた程度の知識しかないので
    稀に、間違った記事、誤認識している場合があります。
     
    あと、過去に以下のような日記を書いてます。
    必要に応じて、URLをコピーして参照してみてください。
     
     [3GB スイッチの基本概念]
      http://extremes.blog40.fc2.com/blog-entry-360.html
     
     [3GB スイッチ設定方法]
      http://extremes.blog40.fc2.com/blog-entry-396.html
     
     [WOW64備忘録]
      http://extremes.blog40.fc2.com/blog-entry-363.html
     
     
    ■ まず、結論・・・・
     64bit OS(Windows 7やVistなど)に3GBスイッチは存在しません。
     なぜなら、OSの仕様上メモリの上限が4GBでなくなっているからです。
     
     3GBスイッチとは、過去に記載したようにOSの仕様上、カーネルモードプロセス(OSや
     ドライバ回り)用に2GB、ユーザモードプロセス(一般アプリ)用に2GBの割り当てる
     仕組みを、カーネルモードプロセスに1GB、ユーザモードプロセスに3GBに
     比率変更するための設定です。
     
     これは、OSが32bitゆえに発生する問題で、この根本原因には32bit OSは
     メモリの上限が4GBと言う縛りから発生します。
     ちなみに、この2GBの上限(3GBスイッチ時は3GB)はWindows上で起動ている
     全アプリケーションの利用可能メモリの合計値で1個のアプリケーションの上限値では
     ありません。
     
     
    ■ 64bitでの上限値は?
     メモリの上限が、64bitOSの場合4GBよりも大幅に増えました。
     しかし、無限ではありません。あくまで理論値ですが64bit OSのメモリ上限値は
     16EB(エクサバイト(G[ギガ]⇒T[テラ]⇒P[ペタ]⇒E[エクサ]))となっています。
     そして、Win32APIから、新たに作られたWin64APIを利用すると
     ユーザモードプロセスの上限値は理論上8TB(32bit OSの4000倍)まで
     拡張されています。
     
     しかし、現在のWindow 7のメモリ上限値は192GBのため・・・・理論値まで
     使用する事ができません(そもそも一般向けのPCでここまでメモリがつめませが)。
     
     要約すると、32bit OS時の上限2GB(ないし3GB)だったものが、
     64bit OSでは理論上8TBになったと言う事です。
     
     ※ Windowsの場合です。
     
     
    ■ では、WOW64での動きは?
     なんとなくですが、"64bit 3gb スイッチ"と言うキーワードで検索する・・・・。と、
     言う事は以下の条件でどうなるかかな?と、調べてるのかなと勝手に予想。
     
      1. 利用環境は64bit OS(Windows)である
      2. 動作させたいアプリケーションは32bitアプリである
     
     この時の、動作(OS的な意味でのメモリ割り当て)がどうなるか知りたい。
     これに対する結論は、アプリケーション単位に最大2GBのメモリ空間を割り当てるようです。
     つまり、32bit OSの場合、1GBのメモリを利用するアプリケーションを3つ起動すると
     メモリがたりません(実際はスワップするだけで動作はしますが)。
     
     しかし、64bit OSの場合(メモリ搭載8GBとします)、アプリケーション単位に
     最大2GBのメモリを割り当てるので難なく動作することになります。
     で、最初にも書いたように64bit OSに3GBスイッチは存在しません。
     理由はいたって簡単で・・・・
     
      1. OS自体の認識可能メモリ量が 4GB ⇒ 16EB になっている
      2. ユーザモードプロセスとして割り当てられるメモリ量が 2GB ⇒ 8TBになっている
     
     からです(上記は、OSの仕様からくる理論値で、ここまでメモリが搭載できるPCが
     市販されるのは、はたして何年後になるのやら)。

  • スポンサーサイト
    [ 2012-04-25 (Wed) 12:00 ]   Comment(0)
       Category:雑記:あいぉん日記
    管理者にだけ表示を許可する

    TrackBackURL
    → http://extremes.blog40.fc2.com/tb.php/471-f5a783b3
    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。