فصل هفتم

مدیریت حافظه

 

نیازهای مدیریت حافظه:

دارای پنج نیاز زیر است:

 

- جابجایی: برای این منظور سیستم باید از محل فرآیند ها آگاهی داشته باشند و آدرس آنها را ذخیره کنند.

 

- حفاظت: باید در مقابل تداخل های ناخواسته حفاظت شود خواه تصادفی باسد یا عمدی .

 

- اشتراک: باید با داشتن حفاظت به گونه باشد تا دیگرا نیز به توانند به آن دستیابی داشته باشند .

 

نیازهای مدیریت حافظه:

- سازمان منطقی: حافظه به صورت فضای آدرس خطی یا یک بعدی سازمان یافته است و شامل دنباله ای از بایتها و کلمه ها است .

 

- سازمان فیزیکی: حافظه به دو صورت اصلی که ناپایدار ،سریع ،گران و مجازی که پایدار ،نسبتا ارزان می باشد و مدیریت بین این دو می باشد.

 

 

مزایای سازمان دهی منطقی:

- هر مولفه را می توان به صورت مستقل نوشت و ترجمه کرد.

 

- با یک سر بار اضافی مراتب مختلف حفاظتی را داریم.

 

- امکان معرفی راهکارهایی برای اشتراک مولفه ها در بین فرآیند ها وجود دارد.

 

 

علت نا کارآمدی سازمان دهی فیزیکی :

- ممکن است حافظه موجود برای داده ها کافی نباشد.

 

- در یک محیط چند برنامه،برنامه سازدر زمان نوشتن برنامه نمی داند چه مقدار حافظه در اختیار دارد و...

 

روش های مدیریت حافظه:

- بخش بندی ایستا: حافظه اصلی به تعدادی بخش ایستا ذر زمان ایجاد سیستم ایجاد می شود.فرآیند به داخل بخشی با اندازه برابر یا بزرگتر برود.

 

- بخش بیدی پویا: بخشها به صورت پویا ایجاد می شود،هر فرآیند به داخل بخشی برابر با اندازه خودش می رود.

 

- صفحه بندی ساده: حافظه به قاب هایی هم اندازه تقسیم می شودو فرآیند به صفحات هم اندازه با قاب ها تقسیم می شود.

 

مزایا:

- بخش بندی ایستا: سادگی پیاده سازی ،کمی سر بار سیستم.

 

- بخش بیدی پویا: بدون تکه تکه شدن داخلی.

 

- صفحه بندی ساده : بدون تکه تکه شدن خارجی.

 

- قطعه بندی ساده: بدون تکه تکه شدن داخلی.

 

- صفحه بندی حافظه مجازی: بدون تکه تکه شدن داخلی،درجه چند برنامگی بالاتر،فضای مجازی بزرگ.

 

- قطعه بندی حافظه مجازی: بدون تکه تکه شدن داخلی، درجه چند برنامگی بالاتر،فضای آدرس مجازی بزرگ، حمایت از اشتراک وحفاظت.

 

معایب:

- بخش بندی ایستا: استفاده غیر موثر از حافظه.

 

- بخش بیدی پویا: استفاده غیر موثر از پردازنده.

 

- صفحه بندی ساده: مقدار کمی تکه تکه شدن داخلی.

 

- قطعه بندی ساده: گسترش به کار گیری حافظه و کاهش سربار نسبت به بخش بندی پویا.

 

- صفحه بندی حافظه مجازی: سربار پیچیدگی مدیریت حافظه.

 

- قطعه بندی حافظه مجازی: سربار پیچیدگی مدیریت حافظه.

 

 

تکه تکه داخلی:

- اینکه قسمتی از داخل یک بخش به هدر رود پدیده تکه تکه شدن داخلی می گویند.

 

صفحه بندی:

- حافظه اصلی به بخشهای نسبتا کوچک تقسیم می شود.

- هر فرآیند به تکه های هم اندازه با آنها تقسیم می شود.

- به تکه های هر فرآیند صفحه می گویند.

- به تکه های موجود در حافظه قاب گویند.

- سیستم عامل یک جدول صفحه برای هر فرآیند ایجاد می کند.

- تبدیل آدرس منطقی به فیزیکی توسط سخت افزار انجام می شود.

 

مراحل زیر برای ترجمه آدرس لازم است:

- استخراج شماره صفحه به عنوان n بیت چپ آدرس منطقی.

 

- به کارگیری شماره صفحه به عنوان شاخص به جدول صفحه برای یافتن شماره قاب .(k) 

 

- آدرس فیزیکی شروع قاب.

 

قطعه بندی:

- روش جایگزین برای تقسیم برنامه کاربر،قطه بندی است.

 

- داده ها به تعدادی قطعه تقسیم می شود.

 

- قطعه داردای اندازه یکسان می باشد .

 

- مشابه بخش بندی پویا است.

 

- قطعه بندی قابل روئیت است.

 

- رابط ستدهای بین آدرس فیزیکی و منطقی وجود ندارد.

 

مراحل ترجمه آدرس:

- استخراج شماره قطعه از n بیت سمت چپ آدرس منطقی.

 

- استفاده از شماره قطعه به عنوان شاخص.

 

- مقایسه انحراف موجود در m  بیت سمت راست.

 

- آدرس فیزیکی مورد نظر عبارست از مجموع آدرس فیزیکی شروع قطعه ونحراف.

 

فصل هشتم

حافظه مجازی

مشخصه صفحه بندی و قطعه بندی:

- کلیه مراجع یک فرآیند به حافظه ، آدرس منطقی هستند که به آدرس فیزیکی تبدیل می شوند.

- ممکن است یک برنامه به تکه های مختلفی شکسته شود و لازم نیست این تکه ها در حین اجرا به طور پیوسته در حافظه قرار گیرد.

 

- تکه به صفحه یا قطعه اطلاق می شود.

 

- به بخشی از فرآیند که مقیم در حافظه است را مجموعه مقیم گویند.

 

- برای استفاده از این مجموعه از جدول صفحه استفاده می کنند.

 

- اگر فرآیند به آدرس منطقی دسترسی نداشته باشد یک وقفه صادر می کند.

 

- این وقفه به معنی خطای دسترسی به حافظه وجود دارد و فرآیند مسدود می شود و برای اجرا ان فرآیند سیستم عامل ان را به حافظه اصلی می برد.

 

دو پیامد این امر:

- فرآیند بیشتری را می توان در داخل حافظه اصلی قرار دارد و استفاده بهتر از پردازنده می شود.

 

- امکان دارد یک فرایند بزرگتر از حافظه اصلی باشد.

لذا برنامه نویس باید از اندازه فرآیند ها آگاه باشد.

 

- با وجود صفحه بندی و قطعه بندی این وظیفه به عهده سخت افزار و سیستم عامل است.

 

حافظه حقیقی و مجازی

حافظه حقیقی : به حافظه اصلی حافظه حقیقی می گویند.

 

حافظه مجازی : حافظه بزرگتر و کارآمد تر که کاربر از آن استفاده می کند حافظه مجازی می گویند.

 

 

کوبیدگی:

- سیستم عامل برای آن که تعداد بیشتری فرآیند را اجرا کند فرآیند ها را تکه تکه کرده و تکه آماده اجرا را در حافظه اصلی قرار می دهد اما ممکن است تکه ای که از حافظه بیرون رفته دوباره به خواهد اجرا شود که سیستم عامل مجبور به بار کردن دوباره آن می شود.

 

در این حالت سیستم عامل بیشترین وقتش را صرف این جابجایی می کند.

 

اصل محلی بودن:

- مراجعات به برنامه و داده ها در حافظه ،خوشه ای هستند.

 

- تعداد محدودی از فرآیند ها در حافظه اجرا می شوند و باید حدس زد که کدام برنامه در آینده اجرا می شود.

 

- به این ترتیب از کوبیدگی جلو گیری می کنند .

 

- تاکید در کارآمدی فرآیندها در یک محیط حافظه مجازی است.

 

برای کارآمدی حافظه مجازی:

- باید حمایت سخت افزاری وجود داشته باشد.

 

- سیستم عامل باید دارای نرم افزار هایی جهت تبادل قطعه ها از حافظه اصلی به حافظه مجازی باشد.

 

مشخصات صفحه بندی و قطعه بندی:

حافظه مجازی با صفحه بندی

حافظه مجازی با قطعه بندی

قطعه بندی ساده

صفحه بندی ساده

حافظه اصلی تقسیم نشده

حافظه اصلی به تکه یکسان به نام قاب تقسیم شده

حافظه اصلی تقسیم نشده

حافظه به تکه های مسا وی تقسیم

برنامه قطعه بندی شده

برنامه به صفحه تقسیم شده

برنامه قطعه بندی شده

برنامه به صفحه تقسیم شده

بدون تکه تکه شدنداخلی

تکه تکه شدن داخلی در قاب

بدون تکه تکه شدن داخلی

تکه تکه شدن داخلی در قاب

تکه تکه شدن خارجی

بدون تکه تکه شدن خارجی

تکه تکه شدن خارجی

بدون تکه تکه شدن خارجی

تهیه جدول قطعه

تهیه جدول صفحه

تهیه جدول قطعه

تهیه جدول صفحه

لیست حفره های آزاد

لیست قا ب های آزاد

لیست حفره های آزاد

لیست قا ب های آزاد

بدست آوردن آدرس منطقی

بدست آوردن آدرس منطقی

بدست آوردن آدرس منطقی

بدست آوردن آدرس منطقی

برای اجرا باید در حافظه اصلی باشند

برای اجرا باید در حافظه اصلی باشند

برای اجرا باید در حافظه اصلی باشند

برای اجرا باید در حافظه اصلی باشند

خواندن به حافظه اصلی نیازمند دیسک است

خواندن به حافظه اصلی نیازمند دیسک است

 

 

 

 

ساختار جدول:

- راهکار اصلی برای خواندن یک کلمه از حافظه ،ترجمه یک آدرس مجازی یا منطقی به یک آدرس فیزیکی ،از طریق به کارگیری جدول صفحه است.

 

- در حافظه اصلی قرار می گیرد.

 

- آدرس شروع در ثبات قرار می گیرد.

 

- از شماره صفحه آدرس مجازی ،به عنوان شاخص برای شناسایی شماره قاب استفاده می کند.

 

- برای به کارگیری جداول صفحه یک سطحی یا دو سطحی

استفاده از ساختار جدول صفحه معکوس است.

 

- حافظه مجازی از یک حافظه پنهان مخصوص برای مدخل های جدول صفحه استفاده می شود که به آن میانگیر دم دستی ترجمه می گویند.

 

- یکی از راهکار های بهبود آن به کارگیری میانگیر بزرگتر با مدخلهای بیشتر است.

 

- یکی دیگر از راه حل ها به کار گیری اندازه صفحه بزرگ تر.

 

- هنگامی که صفحه در حافظه اصلی قرار نداشته باشد یک خطای دسترسی به نام خطای فقدان صفحه صادر می شود.

- یکی از تصمیمات مهم در طراحی سخت افزار تعیین اندازه صفحه است.

 

- اندازه صفحه به اندازه فیزیکی صفحه بستگی دارد.

 

- قطعه بندی این قایلیت را دارد که سیاست های اشتراکی وحفاظتی بر روی آن اجرا شوند.

 

طراحی بخش مدیریت حافظه:

بستگی به سه انتخاب زیر دارد:

 

- اینکه از روش های حافظه مجازی استفاده شود یا خیر.

 

- استفاده از صفحه بندی یا قطعه بندی یا هر دو.

 

- الگوریتم های مورد استفاده برای جنبه های مختلف مدیریت حافظه.

 

+ نوشته شده در جمعه بیست و ششم مهر 1387ساعت 15:21 توسط میلاد |