ちゃっぴの監禁部屋

ガチガチに締めすぎて動きがとれなくなる。。。

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  405  : 記事  5  : コメント  12060  : トラックバック  134

ニュース

記事カテゴリ

書庫

日記カテゴリ

Communities

Personal Information

今日の勉強会の打ち上げで話題に挙がったこと。
ちゃんと理解していない人が結構いるみたいなので久々に「インサイド Microsoft Windows 第4版 上」を紐解いて書いてみる。

Windows  32bit の memory 空間 (正確には virtual address space: 仮想メモリアドレス空間) の配置は下記のようになっています。

Usage Start address End Address Size
User process space 0x00000000 0x7FFFFFFF 2GB
System space 0x80000000 0xFFFFFFFF 2GB

<参考> Virtual Address Space

User process space とは、通常の application で利用される空間です。
それに対し、system space とは Windows kernel で利用される空間です。

本日話題に挙がっていたことですけど、Windows 32bit OS の 1 process あたりで扱える memory 空間の制限 2GB はここからくるわけです。

注意してほしいのは、これは 1 process あたりの制限であると同時に application 全体で扱える memory の制限であることです。
複数の user process が立ち上がっている(とゆうか、上がっていないことなんてありえないんですが。。。)場合には、その user process 全体で制限を受けます。

<参考> Memory Limits for Windows Releases

続く(本当に?)

投稿日時 : 2007年7月21日 23:32

コメント

# re: Windows 32bit OS の memory layout 2007/07/21 23:56 ちゃっぴ
これ、Windows Server 2003 R2 までの話です。

Vista 以降では下記に記述されているように動的に管理されるため影響を受けません。

Windows Vista カーネルの内部 : 第 2 部
http://www.microsoft.com/technet/technetmag/issues/2007/03/VistaKernel/default.aspx?loc=jp/


# re: Windows 32bit OS の memory layout 2007/07/21 23:57 ちゃっぴ
/3GB option
http://blogs.wankuma.com/tyappi/archive/2007/07/21/86384.aspx

# re: Windows 32bit OS の memory layout 2007/07/22 0:36 ちゃっぴ
/PAE option
http://blogs.wankuma.com/tyappi/archive/2007/07/22/86392.aspx

# re: Windows 32bit OS の memory layout 2007/07/22 15:36 まーる
中途半端に理解していた人がここにきましたよ。

あとのエントリにある「インサイドWindows」を買って勉強することにします。

# re: Windows 32bit OS の memory layout 2007/07/24 4:15 ちゃっぴ
> Vista 以降では下記に記述されているように動的に管理されるため影響を受けません。

違ってますね。Vista 32bit でも system space は default 2GB でその中の領域を動的に管理するという意味でしょう。おそらく、PTE あたりを指しているのかな?要調査。

#  Memory protection @ The Ghost of You 2009/05/05 4:52 Pingback/TrackBack
Memory protection @ The Ghost of You

Post Feedback

タイトル
名前
Url:
コメント