ممکن است این سوال برای شما هم پیش آمده باشد که چرا ویندوزهای XP معمولی، از بیش از 3 یا 4 گیگابایت رم پشتیبانی نمیکنند.؟!
دلیل این مسئله در ذات 32 بیتی بودن آنهاست.
این محدودیت نه تنها برای WinXP SP2 بلکه در تمام سیستم عاملهای 32 بیتی موجود است، چرا که آدرس‌دهی فیزیکی آنها 32 بیتی بوده (با توجه به لزوم Paging حافظه و cache شدن آن) و حداکثر تا 32^2 (همان 4GB) آدرس را پشتیبانی میکند.
نکته مهمتر اینست که علاوه بر RAM، قطعات دیگری حاوی المانهای حافظه موجودند که میبایست آدرسدهی شوند، در نتیجه عملا 32 بیت آدرسدهی مابین RAM و قطعاتی مانند:

System ROM
APICs
Integrated PCI devices
PCI cards
Graphics cards
PCI Express cards

تقسیم میشود. روند کار بدین شکل است که در ابتدای راه‌اندازی، Bios قطعات نیازمند فضای آدرس را شناسایی کرده و پس از محاسبه مجموع آدرسهای مورد نیاز آنها، مابقی فضای آدرس را به RAM اختصاص میدهد. در نتیجه عملا فضای RAM بیش از 2.5 تا 3.5 گیگابایت قابل آدرسدهی نبوده و مابقی آن غیرقابل استفاده خواهد بود (توانایی آدرسدهی آن موجود نیست).
با توجه به مستندات MSDN در این رابطه ویندوزهای 64 بیتی تونایی آدرسدهی 128GB حافظه را دارند.


پس از جنبه سخت‌افزاری این مسئله، حافظه قابل استفاده توسط خود سیستم عامل نیز به دو بخش User mode و Kernel mode به نسبت 2GB/2GB user/kernel تقسیم میشود. گاهی در سیستمهای Workstation به دلیل نیاز بیشتر نرم‌افزارهای کاربر به حافظه، با استفاده از سویچ 3GB/ در BOOT.INI ویندوزهای 2003 و ماقبل، و یا تغییر پارامتر increaseuserva به 3072 (3GB) توسط BCDEdit /set در ویندوز ویستا، این تقسیم بندی را به نسبت 3GB/1GB user/kernel تغییر میدهند.

نکات:
1. یکی از روشهای جالبی که برای استفاده از مابقی حافظه قابل بحث است، انتصاب فضای هرز رفته حافظه به RAMDisk و سپس ساخت Pagefile های ویندوز بر روی آن است (برای کاربران عادی توصیه نمیشود).

3. با استفاده از سلسله دستورات Address Windowing Extensions AWE میتوان امکان آدرسدهی مستقیم حافظه صفحه‌بندی نشده (بیش از 4 گیگابایت) را محیا نموده و به طور داینامیک آن را در فضای آدرس پروسه نگاشت نمود.

2. با استفاده از قابلیت The Physical Address Extension PAE در ویندوزهای 32 بیتی میتوان ویندوز را در مد Non-Uniform Memory Architecture NUMA اجرا کرده و حافظه‌های بزرگتر را آدرسدهی کرد. برای فعال یا غیر فعال کردن این مد میتوان از BCDEdit در ویستا و یا سویچ PAE/ یا NOPAE/ در Boot.ini برای مابقی نسخه‌ها استفاده نمود.

Print this pageEmail this to someoneShare on Google+Share on FacebookShare on LinkedInTweet about this on TwitterShare on RedditShare on TumblrShare on StumbleUponPin on Pinterest