مفاهیم سیستم عامل (3)
مفاهیم سیستم عامل (3)
مفاهیم سیستم عامل (3)
جلسه هشتم:
پارتیشن بندی پویا ( Dynamic Partition ) :
Partition Description Table :
Sharing در مدل پویا :
Relocation (جابه جایی) :
تبدیل ادرس مجازی به فیزیکی به دو روش صورت می گیرد:
1) Static Relocation (تبدیل ادرس به صورت ایستا) :
در روش ایستا کل پروسه کدگشایی می شود.یعنی اینکه ادرس های مجازی دستورالعمل های پروسه تبدیل به ادرس های فیزیکی در حافظه می شود.سرعت اجرای پروسه در این حالت زیاد است.
2) Dynamic Relocation (تبدیل ادرس به صورت پویا) :
در هنگام اجرا دستورالعمل هایی که به CPU داده شده است ،ادرس های مجازی انها به ادرس فیزیکی تبدیل می شود.
مقایسه دو روش:اگر از روش ایستا استفاده شود و پروسه هزار خط دستورالعمل داشته باشد،تمام این دستورالعمل ها تبدیل به ادرس می شود.وقتی که پروسه شروع به اجرا می کند ممکن است در خط مثلا سوم یک Jamp به خط هزارم وجود داشته باشد و پروسه اجرایش به اتمام برسد.دستورالعمل هایی که مابین این Jamp و این خط هزارم وجود دارد بی دلیل ادرس مجازی انها تبدیل به ادرس فیزیکی می شود.
در روش پویا هر دستورالعمل هنگام ورود به CPU کدگشایی می شود.یعنی ادرس مجازی انها به ادرس فیزیکی تبدیل می شود.اگر پروسه 5 خط دستورالعمل داشته باشد که چهار خط اول ابتدا وارد CPU شده و تبدیل ادرس شوند ، بعد خط پنجم وارد شود و در خط پنجم یک Jamp به خط اول وجود داشته باشد، در این حالت ادرس های پروسه دوباره تبدیل به ادرس فیزیکی می شود و ممکن است این عمل هزار بار بخواهد انجام شود.
Defragmentation و Compaction :
دو مدل Defragmentation وجود دارد: Global Move و Selection .
در روش Global Move همه ی پروسه ها به ابتدای حافظه انتقال داده می شود.در این روش سرعت بالا می رود.
در روش Selection باید محاسبات مفصلی صورت بگیرد که کدام پروسه را به چه صورت جا به جا کنیم تا فضای ازادی را که بین پروسه ها است از بین برود.در شرایطی که رفت و امد پروسه ها به حافظه زیاد می شود ،این روش تبدیل می شود به روش Global .
جلسه نهم:
Segmentation (قطعه بندی) :
انواع قطعه: Data Segment ، Code Segment ، Stack Segment ، Extra Segment .
در پارتیشن بندی پویا ،حافظه به علت رفت و امد زیاد پروسه ها تکه تکه می شد .در قطعه بندی این تکه تکه شدن خارجی وجود دارد.ولی اینکه مقدار ان کمتر از مقداری است که در پارتیشن بندی پویا وجود دارد.
در قطعه بندی به علت اندازه های مختلف Segment ها ،رابطه ی ساده ای بین ادرس های منطقی و ادرس های فیزیکی وجود ندارد.
در پارتیشن بندی پویا تبدیل ادرس منطقی به ادرس فیزیکی به سادگی صورت می گیرد.ولی در Segmentation به دلیل وجود Segment به اندازه های مختلف این ادرس دهی کمی پیچیده تر است.
Segment Descriptor Table (جدول تخصیص Segment ) :این جدول مشخص می کند کدام قطعه از کجای حافظه شروع شده است و هم چنین از دو بخش تشکیل شده است:
1) Base (شروع Segment )
2) Size (اندازه ی Segment )
Sharing در Segmentation :در اشتراک گذاری Segmentation ،پروسه Base ، Segment را که می خواهد به اشتراک گذارد ،برای استفاده ی پروسه های دیگر مشخص می کند .در این حالت پروسه کل Segment مشخص خود را به اشتراک می گذارد.
جلسه دهم:
Paging :
Page Map Table :
Memory Map Table :
Page In cash :
جدول TLB :
اگر قرار گرفته است،در جدول TLB چک می کند و ان صفحه را پیدا می کند و ادرس ان صفحه با Offset مورد نظر جمع می شود و ادرس فیزیکی پیدا می شود.
اگر این شماره ی صفحه در جدول TLB وجود نداشت،این شماره ی صفحه را با انتهایی ترین صفحه در جدول PMT مقایسه می کند.اگر صفحه ی درخواست شده خارج از تعداد صفحات پروسه نبود با Base جدول PMT جمع می شود و سطر مورد نظر در جدول PMT پیدا می شود.ادرس موجود در ان با Offset دستورالعمل Concat می شود.در نهایت در ان ادرس فیزیکی قرار گرفته و اجرا می شود.
اتلاف حافظه در Paging :
اگر کل حافظه را با M و اندازه ی هر فریم را با P مشخص کنیم ،تعداد صفحاتی که در حافظه می تواند ایجاد شود M/P است.
اگر S اندازه ی یک پروسه باشد و اندازه ی هر فریم P باشد،تعداد Page های لازم برای هر پروسه S/P می شود.
* ارسال مقاله توسط عضو محترم سایت با نام کاربری : PSTdinco
/خ
تازه های مقالات
ارسال نظر
در ارسال نظر شما خطایی رخ داده است
کاربر گرامی، ضمن تشکر از شما نظر شما با موفقیت ثبت گردید. و پس از تائید در فهرست نظرات نمایش داده می شود
نام :
ایمیل :
نظرات کاربران
{{Fullname}} {{Creationdate}}
{{Body}}