PDA

View Full Version : سوال: دسترسی به خانه حافظه



en-jahan
چهارشنبه 26 آبان 1389, 11:31 صبح
میخواهیم به خانه های حافظه دسترسی پیدا کنیم
برای مثال اگر یک برنامه کامپایل واجرا شود نتیجه ان که در یکی از خانه های رم ذخیره شد بتوانیم باز بعد از به اتمام رسیدن برنامه مورد نظر ان مقدار را استخراج کنیم؟!!(بدون هیچ محاسبات دیگر)

یه برنامه داخل بورلند سی پلاس نوشتم و تونستم آدرس اون خونه رو بفهمم اما این ادرس کجا بره که باز بتونم به دسترسی پیدا کنم ؟!! گیجم کرده!

r00tkit
چهارشنبه 26 آبان 1389, 11:54 صبح
این کار نمی شه چون ویندوز تو حالت protect mode کار می کنه و ادرس ها مجازی هستش و اولا" تو نمی تونی به ادرس یه پروسس دیگه دست رسی داشته باشی

دوما" این ادرس تو پروسس اول تو پروسس دوم به یه جای دیگه اشاره می کنه (دقیقا" به خاطر وجود مدیریت حافظه)

این تو داس جواب می داد که تو به ادرس پروسس های دیگه و حتی خود کرنل دست رسی داشتی (real mode)


real mode
http://barnamenevis.org/forum/attachment.php?attachmentid=60406&stc=1&d=1289983797 (http://barnamenevis.org/forum/images/fig44%5F01%5F0%2Ejpg)

حالا تو ویندوز حالت protect mode
تو این حالت هر پروسس 4گیگ فضای مجازی داره

تازه ادرس خطی با ادرس فیزیکی در صورت paging یکی نیست
http://barnamenevis.org/forum/attachment.php?attachmentid=60407&stc=1&d=1289983996




برای درک بهتر یه کتاب در مورد مدیریت حافظه یا معماری ویندوز بخون(فصل اول از کتاب Memory Management: Algorithms and Implementation in C/C++)