می بخشید، من در پست قبلی دقت نکردم، و به جای توجه به محدودیت حافظه فیزیکی در سیستم عامل، اشتباها به محدودیت 2 گیگ فضای مجازی برای استفاده هر Process در ویندوز در شرایط عادی و 3 گیگ در صورت استفاده از IMAGE_FILE_LARGE_ADDRESS_AWARE در header فایل EXE توجه کردم. این دو موضوع به هم ارتباطی ندارند:
1- PAE تکنیکی برای استفاده از RAM بالای 4 گیگابایت در سیستم عامل های 32 بیتی هست، نه بالای 2 گیگابیت. البته در ویندوزهای 32 بیتی، حتی در صورت فعال شدن PAE، حداکثر RAM قابل استفاده نمیتونه بیش از 4 گیگ باشه.
2- در سیستم عامل ویندوز، هر process یک فضای آدرس مجازی 4 گیگابایتی در اختیار داره که در 2 گیگابایت آن کرنل ویندوز لود میشه، و فقط 2 گیگ آن برای استفاده توسط process قابل استفاده هست. در صورت استفاده از IMAGE_FILE_LARGE_ADDRESS_AWARE، یک process میتونه حداکثر تا 3 گیگابایت از فضای آدرس مجازی خودش را استفاده کنه، و کرنل ویندوز فقط از 1 گیگ استفاده میکنه.
پس توضیحات ارائه شده در پست قبلی من، کمکی به رفع مشکل شما نمیکنه، به همین دلیل حذفش کردم.
اما سوالاتی که درباره PAE پرسیدید (هر چند دیگه ارتباطی به موضوع تاپیک نداره):
مگر میتوان روی سیستم 32 بیتی ، ویندوز 64 بیتی نصب نمود ؟! چون من بر عکس این حالت را دیده ام .
برای نصب سیستم عامل 64 بیتی، باید CPU شما 64 بیتی باشه. مطلبی که در بالا بهش اشاره شد یعنی اینکه در ویندوز 32 بیتی حتی با وجود فعال کردن PAE، نباید انتظار داشته باشید که سیستم بتونه از هر مقداری از RAM که نصب می کنید، استفاده کنه. چون مایکروسافت برای سیستم عامل های 32 بیتی خودش محدودیت حداکثر 4 گیگ RAM (حتی با وجود PAE) گذاشته.
در ضمن همانطور که در پست شماره 3 ملاحظه می کنید ، حتی روی ویندوز 64 بیتی ، نیز این مشکل
بوجود آمده است !!!
مشکل اون فرد میتونه به چیزهای مختلفی ربط داشته باشه، و بدون مشاهده مشخصات کامل سیستمش و پیکربندی آن، نمیشه قضاوت خاصی درباره سیستمش کرد.
ممنون میشم مراحل فعال شدن رو بیان کنید ، چون در لینک ارائه شده ، کمی مبهم بود .
ویندوز یک ابزار به نام BCDEdit داره که از طریق Command Line میتونید آن را اجرا کنید. این ابزار پارامترهای بوت ویندوز را تغییر میده. اگر سیستم شما از DEP به طور سخت افزاری پشتیبانی کنه، PAE به طور خودکار فعال میشه. اگر مطمئن نیستید که آیا سیستم شما از DEP سخت افزاری پشتیبانی میکنه یا نه، می تونید با استفاده از همین ابزار BCDEdit، گزینه مربوط به PAE را فعال کنید:
BCDEdit /set nx AlwaysOff
BCDEdit /set pae ForceEnable
در ضمن شنیده ام با فعال شدن PAE سیستم عامل با یکسری مشکلات نرم افزاری مواجه میشود ، آیا
صحت دارد ؟!
چه نوع مشکلاتی؟ در اکثر سیستم های امروزی که CPUهای آنها از DEP پشتیبانی می کنند، PAE به طور خودکار در سیستم عامل 32 بیتی فعال هست. در سیستم عامل 64 بیتی نیازی به PAE نیست.
آیا سیستم از مقدار کل رم بشکل واقعی استفاده خواهد نمود ؟!
فضایی که در اختیار هر process قرار میگیره، همان 4 گیگ مجازی هست، و با فعال کردن PAE افزایش پیدا نمیکنه؛ اما سیستم عامل برای map کردن آدرس مجازی در اختیار این processها به آدرس های فیزیکی RAM، با کمک PAE؛ از فضای مربوطه در RAM استفاده میکنه.