دانلود پاورپوینت فصل نهم , مدیریت حافظه - قطعه بندی

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

دانلود پاورپوینت فصل نهم , مدیریت حافظه - قطعه بندی


دانلود پاورپوینت فصل نهم , مدیریت حافظه - قطعه بندی

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

که از همه مهمتر عبارتند از :

الف) تکه تکه شدن

ب  ) محل برنامه ها

ج  ) استفاده از ساختمان داده و کد بصورت اشتراکی، مانند کامپایلرها و ویرایشگرها

الف ) تکه تکه شدن حافظه:

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

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

از حافظه را یافت که برای جا دادن پردازش کافی باشد. اگر فضای آزاد حافظه به نواحی کوچک تقسیم شده باشد آنگاه گفته می شود که حافظه تکه تکه شده است.

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

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

می گیرد. به آن استراتژی فشرده سازی (recompaction) نیز می گویند.

2 -سیستم ممکن است  یک لیست از بلاک های آزاد داشته باشد (بعلاوه اندازه هر بلاک)، و الگوریتم تخصیص حافظه ممکن است اینگونه عمل کند که مثلا اولین حفره ای که بزرگتر از حافظه مورد نیاز باشد را به

متقاضی تخصیص دهد( First Fit). یا کوچکترین فضای مناسب را (Best Fit). اگر هیچ فضای آزادی باندازه کافی بزرگ نبود آنگاه می توان از استراتژی (1) استفاده نمود.

3- برنامه های موجود در حافظه را می توان به اجرا در آورد تا اینکه یکی از آن ها تمام شود و فضای به اندازه کافی بزرگ از خود بجا گذارد. البته این عمل ممکن است بطور جدی بر روی زمان پاسخ سیستم اثر

بگذارد زیرا به برخی از برنامه ها برش زمانی طولانی داده می شود.

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

ب ) محل برنامه:

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

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

1) پراکندگی استاتیک (static sparseness)

2) پراکندگی دینامیک (dynamic sparseness)

1) پراکندگی استاتیک:

انباره حقیقی که به هر برنامه تخصیص داده می شود بایستی برابر باشد با محدوده آدرس های مجازی که توسط برنامه مورد استفاده قرار می گیرند هر چند ممکن است که برنامه از این فضا بطور پراکنده استفاده کند.

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

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

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

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

ویژگی ها و غیره اختصاص داده شده بی مصرف باقی میماند. ولی این دیگر اجتناب ناپذیر است مگر آنکه از یک کامپایلر بهینه ساز که جهت کامپایل کردن برنامه های کوتاه فراهم شده، استفاده شود. 

2) پراکندگی دینامیک:

معمولا حجم اطلاعاتی که در طول یک برش زمانی مورد دسترسی برنامه قرار می گیرد خیلی کوچک است. برای مثال ممکن است که در یک برش قسمتی از روال برنامه اجرا شود و در آن عملیات تنها بر روی یک

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

ج ) استفاده از کد وساختمان داده ها بصورت اشتراکی:

برای اینکه بتوان از برنامه ها بصورت اشتراکی استفاده نمود، اینگونه برنامه ها بایستی بصورت کد خالص بیان شده باشند. یعنی

الف) برنامه به هیچ وجه خود–اصلاح نباشد (ب) داده های برنامه جدا نگه داشته شوند . کاملا واضح است که نه از برنامه ای که خود را تغییر می دهد می توان مشترکاً استفاده نمود و نه از برنامه ای که نتواند نواحی

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

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

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

ناحیه داده هایش کند ولی نمی توان چنین عملی را برای پردازش شماره 2 نیز تکرار کرد . اگر هر دو پردازش جزو سیستم عامل باشند شاید بتوان چنین نقصانی را در سیستم حفاظت اجازه داد زیرا اکثر پردازش های

سیستم عامل کاملا امتحان شده و مورد اعتماد هستند.

ماشینهای دارای چند ثبات  پایه – حد:

مشکلات تکه تکه شدن، پراکندگی و استفاده اشتراکی، تاثیر مهم ومنفی بر راندمان کلی یک سیستم اشتراک زمانی دارند.

در برنامه ای که چند برنامه بصورت مشترک از اطلاعاتی استفاده می کنند، با تغییری در سخت افزار می توان شرایط را بهبود بخشید . اگر دو ثبات پایه – حد در سخت افزار وجود داشته باشند از یکی می توان جهت

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

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

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

حل این است که از چند ثبات پایه – حد که میتوانند در رابطه با نواحی گوناگون داده ها و کد بکار آیند استفاده شود.  

شامل 25 اسلاید POWERPOINT


دانلود با لینک مستقیم


دانلود پاورپوینت فصل نهم , مدیریت حافظه - قطعه بندی
حامی فایل...
ما را در سایت حامی فایل دنبال می کنید

برچسب : نویسنده : bhamifile8 بازدید : 165 تاريخ : شنبه 23 ارديبهشت 1396 ساعت: 9:03