پروژه حافظه مجازی رشته کامپیوتر

به هر فرآیند در ویندوز NT یک فضای آدرس دهی مجازی کامپیوتر با اندازه ثابت ۴ گیگا بایت داده می شود که البته خیلی بزرگتر از مقدار حافظه اولیه (RAM) در کامپیوترهای شخصی (PC) معاصر آنها است. فرآیند نیاز ندارد که همه فضای آدرس دهی مجازی را استفاده کند تنها مقداری که احتیاج دارد را استفاده می کند. بطور عادی فایلهای EXE برای یک برنامه خیلی کوچکتر از فضای آدرس دهی هستند. همانطور که در شکل ۲ توضیح داده شده است بخشی از فضای آدرس دهی مجازی که معمولاً ۲ گیگا بایت است بکار برده می شود تا به نخ یا thread اجازه دهد که به object های فضای حافظه کاربر رجوع کند و مقدار باقیمانده برای رجوع آدرسهایی که توسط سیستم عامل بکار برده می شود (Supervisor space) مورد استفاده قرار می گیرد.

مدل حاظفه مجازی ویندوز NT:

اگر چه قسمت فضای ناظر یا همان Supervisor space از فضای آدرس دهی، در فضای آدرس دهی مجازی فرآیند وجود دارد اما تنها می توان بوسیله یک thread که در حال اجرا در مد ناظر است به آن رجوع کرد در وضعیت عادی اولین ۶۴ کیلو بیت (آدرس ۰۰۰۰۰۰۰۰*۰ تا ۰۰۰۰FFFF*0 ) از فضای آدرس دهی مجازی استفاده نمی شود. علت آن این است که زمانی که برنامه نویس کدی با اشاره گری اشتباه می نویسد اشاره گر بد معمولا صفر یا عددی کوچک می باشد . در سیستم حافظه مجازی ویندوز NT اگر یک برنامه تلاش کند تا به هر فضایی در k64 اول حافظه رجوع کند سیستم حافظه مجازی فرض می کند که ارجاع یک اشتباه برنامه ای بوده و اشتباه حافظه اتفاق افتاده است. اولین بخش قابل استفاده از فضای آدرس دهی از ۰۰۰۱۰۰۰۰  *۰ شروع می شود و به ۷FFEFFFF × ۰ ختم می‌شود . k128 کمتر از GB2 بنابراین اولین مکانی که برنامه بکار می برد معمولاً ۰۰۰۱۰۰۰*۰ است. موقعیتهای ۷FFF0000× ۰ تا ۷FFFFFFF* 0 بعنوان اولین k64 برای برنامه های فضای kernel ذخیره و رزرو شده اند. علاوه بر اینکه بعنوان یک حفاظی برای بدست آوردن ارجاعات به آدرسهای کوچک است. از ۸۰۰۰۰۰۰۰ *۰ تا FFFFFFFF* 0 یک بخش GB 2 کامل است که در آن راه اندازهای قطعات و هسته یا kernel سیستم و برنامه های پروژه ای قابل اجرا واقع شده اند سیستم عامل به چندین وسیله برای تعیین میزان فضای آدرسی که فرآیند واقعاً بکار می برد نیاز دارد همانطور که در بحث سیستم صفحه بندی کلی اشاره شد پیوند دهنده متن یا همان (link editor) تصویر اجرایی ثابتی در یک فایل EXE می سازد که معمولاً بخشی از فضای آدرس دهی که برای کدهای کامپایل شده مورد استفاده قرار میگیرد را تعریف می کند. DLL و دیگر قسمتهای تخصیص پویایی فضای آدرس‌دهی می‌توانند به فضای آدرس دهی مجازی در زمان اجرا اضافه شوند.

حافظه
حافظه

ویندوز NT از صفحه‌بندی درخواستی یا Demand Paging استفاده می‌کند به این معنا که صفحات در حافظه اولیه بارگذاری نمی‌شوند تا وقتی که به آنها رجوع شود بعلاوه PTE ها هم حتی ایجاد نشده‌اند تا زمانی که صفحه مربوطه بارگذاری شود منطق این دستاورد این است که فرآیند ممکن است آدرسی از حافظه را اشغال کند و بدون اینکه از آن استفاده کند در واقع فرآیند ممکن است حتی صفحات حافظه را اعزام کند و بعد هرگز در حین اجرا به آنها رجوع نکند. زمانی که فضای آدرس‌دهی خیلی بزرگ است اگر PTE ها در همان زمانی که اطلاعات در حال شناخته شدن است ساخته شوند تعداد زیادی PTE بصورت مشابه ممکن است ایجاد شوند و بعد هرگز استفاده نشوند که موجب ایجاد حافظه هدررفته باورنکردنی برای PTE ها می‌شوند. بدلیل اینکه PTE ها ایجاد نمی شوند تا اینکه یکبار از آنها استفاده شود سیستم عامل باید دیگر ساختار‌های داده‌‌ای و همینطور عملیات اعزام یا فرستادن رادر حالت ذخیره نگه دارد. توصیف کننده آدرس مجازی یا Virtual address descriptor ( VAD ) زمانی که یک فرآیند ذخیره می‌شود یا آدرس مجازی را اعزام می‌کند و می فرستد ایجاد می شود. زمانی که یک Thread برای بار اول به یک آدرس در میان VAD رجوع می‌کند PTE سپس ایجاد می‌شود بنابراین ترجمه آدرس می‌تواند بصورت طبیعی پیش برود.

توابع حافظه مجازی:

واسط‌های برنامه‌نویسی کاربردیWin32 توابع زیادی برای رسیدگی به وضعیت حافظه مجازی و کنترل پویای راههای بکارگیری فضای آدرس دهی فراهم می‌کند.Virtual Query , GlobalMemorystatus, GetSystemInfo  می‌توانند برای رسیدگی به وضعیت حافظه مجازی یک فرآیند مورد استفاده قرار بگیرند اطلاعات پایه‌ای بیشتر در این مورد در زیر آورده شده است.

مباحثی دیگر ازپروژه حافظه مجازی رشته کامپیوتر:

  • بررسی داخل سیستم صفحه‌بندی
  • مراحل تبدیل آدرس
  •  سازماندهی سیستم حافظه مجازی ویندوز NT
  •  کنترل فضای حافظه مجازی
مطلب بالا چکیده‌ای از تحقیق و پژوهش اصلی میباشد جهت تهیه نسخه کامل آن از باکس زیر اقدام به خرید و دانلود نمایید
لینک خرید پژوهش پروژه حافظه مجازی رشته کامپیوتر:
تحویل فوری و خودکار فایل با لینک مستقیم بعد از پرداخت
30,000RIAL – اضافه‌کردن به سبدخرید
تعداد صفحه: 19
قالب: فایل word

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *