ورود

View Full Version : حافظه ی مجازی



Arcsinos
چهارشنبه 17 خرداد 1391, 21:12 عصر
با سلام خدمت دوستان و آشنایان
فکر کنید یک کتغیر داریم به نام X حالا توسط عملگر & از برنامه میخواهیم که آدرس X را چاپ کند مثلا به این صورت :


int x;
Cout << &X;

خب همانطور که میدانید جواب یک عدد 32 بیتی یا به قولی یک آدرس 32 بیتی است . مثلا :

0X00DFC23B
حال سوال من اینجاست که این آدرس دقیقا به کجا دارد اشاره می کند ؟ البته همانطور که میدانید آدرس یک متغیر چه در کامپیوتری که 1GB رم دارد و چه در کامپیوتری که 4GB رم دارد یک آدرس 32 بیتی است.

پیشاپیش تشکر میکنیم

Felony
چهارشنبه 17 خرداد 1391, 21:28 عصر
به قسمتی از حافظه در محدوده Address Space حافظه برنامه شما ، تو User Mode حرف شما معنایی نداره ، تو User Mode پروسه ها از هم ایزوله هستند و مدیر حافظه ویندوز وظیفه تقسمات و آدرس دهی ها رو بر عهده داره ؛ چیزی که شما میخوای در Kernel Mode معنا پیدا میکنه که حافظه به صورت Wide در اختیار هست .

فصل 9 از کتاب Microsoft Windows Internals مربوط به Memory Management هست ، حتما جوابت رو ازش میگیری .

Arcsinos
پنج شنبه 18 خرداد 1391, 13:42 عصر
فصل 9 از کتاب Microsoft Windows Internals مربوط به Memory Management هست ، حتما جوابت رو ازش میگیری .

با تشکر فراوان . اتفاقا کتاب مورد نظر را دارم مطالعه میکنم و دو فصلی از آن را خوانده ام ولی به قولی گفتنی شش ماهه به دنیا آمده ایم . خدا نگهدارتان باشد