مفاهیم سیستم عامل (4)
جلسه یازدهم:
صفحه بندی قطعات:
ادرس Segment که اطلاعات ان در جدول Segmentation Table قرار دارد.
ادرس Page که این ادرس ،ادرس Page ای است که در Segment مورد نظر جای دارد.
فیلد Offset که نشان می دهد از کجای ان صفحه اطلاعات بارگذاری شود.
ابتدا ادرس Segment توسط Segment Table Base Register چک می شود که ایا این Segment در جدول Segment Table وجود دارد یا نه.اگر وجود دارد،شماره ی Segment مورد نظر و صفحه ای که قرار است اطلاعات در ان ریخته شود از ST واکشی می شود.شماره ی Page و Offset که در ادرس منطقی وجود دارد با شماره ی Segment و Page ای که واکشی شده است ،مقایسه می شود.اگر Page مورد نظر با Offset داده شده در این Segment و Page جای گرفت،ان موقع شماره ی Page و Offset برای یافتن Page مورد نظر در جدول PMT ارسال می شود و شماره ی Page با Segment مورد نظر Concat می شود.ادرس صفحه را در جدول PMT پیدا می کند.ادرس مورد نظر را از ان سطر PMT می خواند و با Offset مورد نظر Concat می شود و ادرس فیزیکی به دست می اید.
صفحه بندی قطعات مشکلات Segmentation و Paging را ندارد.در Paging علت اتلاف حافظه ایجاد جدول هایی برای ادرس دهی بود و هم چنین صفحاتی که ایجاد می شد،اندازه ی صفحات ثابت بودند و تعداد انها برابر با تعداد فریم های حافظه بود.
در Segmentation اتلاف حافظه به شکل مدل پویا بود(کمی کمتر از پویا) . ادرس دهی کمی پیچیده تر بود.برای رفع این مشکلات ترکیبی از Paging و Segmentation در نظر گرفته شد.
Virtual Memory :
سیاست های تخصیص حافظه ی مجازی:
1) Allocation Policy :
2) Fetch Policy (واکشی) :
3) Replacement Policy (سیاست جایگزینی) :
1) 3-1 FiFo صف
2) 3-2 LRU Stack
3) 3-3 Optimal بهینه
در روش FiFo پروسه ای که وارد صف می شود اول خدمات می گیرد و خارج می شود و پروسه ی بعدی وارد می شود.
4) Last Recently Used ( LRU) :
در این روش پروسه ای که اخیرا کمتر به ان توجه شده است،از صف خارج می شود.اگر صفحه ای را که فراخوانی شده است دوباره فراخوانی کنیم ،ان پروسه به بالای ان Stack انتقال داده می شود.اگر این پروسه یا این صف قبل از این در Stack وجود نداشته باشد،مستقیما در بالای Stack قرار می گیرد.در این روش شماره ی صفحه ای که از بالای Stack دورتر شده است، از Stack خارج شده و صفحه ی جدید در ان Page قرار می گیرد.
5)Optimal :
جلسه دوازدهم:
6) Place Ment Policy :
Buddy System :
بن بست:وضعیتی است که پروسه ای منبعی را در اختیار می گیرد و خود درخواست منابعی را می کند که در اختیار پروسه های دیگر است.به این حالت بن بست می گویند.
چهار حالت وجود دارد که این چهار حالت باعث وقوع بن بست می شود.البته اگر سه تا از این شرایط برقرار باشد می گوییم که بن بست رخ داده است.
بازداری دوجانبه 1) Mutual Exclusion
نگه داشتن و انتظار 2) Hold And Wait
قبضه نکردن 3) Non Preemption
انتظار حلقوی 4) Circular Waiting
1) در یک زمان فقط یک پروسه می تواند از منبع استفاده کند.
2) منبع را بگیرد و منتظر بماند تا منبع ازاد شود.بعد منبع ازاد را به اختیار خود دراورد.
3) پروسه ای منبعی را در اختیار بگیرد و به هیچ وجه منبع را ازاد نکند.
4) پروسه ی P1 درخواست منبعی را بکند که در اختیار پروسه ی دیگر است و ان پروسه درخواست منبعی را بکند که در اختیار پروسه ی P1 است.
راه هایی که باعث می شود از بن بست جلوگیری شود:
1) بازداری دوجانبه:
در مورد منبعی که چند پروسه می خواهند اطلاعاتشان را در یک نقطه از حافظه بریزند.چون منبع بحرانی است بازداری دوجانبه مهم است.(خواندن اطلاعات شامل بازداری دوجانبه نمی شود.)
2) نگه داشتن و انتظار:
3) قبضه نکردن:
4) انتظار حلقوی:
در گذشته متداول بود که تمام منابعی که پروسه به ان نیاز داشت از پروسه پرسیده می شود تا انحصارا در اختیار پروسه قرار گیرد.در این شرایط کارایی بسیار پایین بود و حمایت از به اشتراک گذاری وجود نداشت.بهترین کار این است که اجرا و تخصیص منابع به صورت کنترل شده انجام گیرد.به همین خاطر از سه جدول استفاده می کنیم.
جلسه سیزدهم:
مدیریت فایل:
دو نوع مدیریت فایل داریم:
1) مدیریت فایل به صورت یکپارچه
2) مدیریت فایل به صورت غیر یکپارچه
در مدیریت فایل به صورت یکپارچه تمام Page های مربوط به فایل در Block های مجاور همدیگر قرار می گیرد.
چون اطلاعات به صورت یکپارچه در حافظه قرار می گیرد ،اگر به یک بلاک از حافظه دسترسی داشته باشیم ،یعنی اینکه به تمام بلاک هایی که فایل در ان قرار دارد دسترسی داریم.اگر دسترسی به صورت تصادفی باشد ، ادرس دهی بلاک ها به سرعت انجام می گیرد.
در روش به صورت پراکنده هر بلاک اشاره گر دارد به بلاک بعدی.
در روش پراکنده دو روش وجود دارد :
یکی به صورت زنجیره ای و دیگری به صورت Index .در اولی از یک لیست پیوندی استفاده می شود.در انتهای هر بلاک اشاره گری است به بلاک بعدی .در این روش نیاز به همجواری فیزیکی وجود ندارد.این اشاره گر خود یک نوع اتلاف حافظه است.
در روش دوم پراکنده ،یک بلاک از حافظه ، Index (شاخص دار) شده،ادرس تمام بلاک های پر شده به صورت مرتب شده قرار دارد.اگر فایلی نیاز به دسترسی داشت ،بلاک شامل ادرس را می خواند و بلاک های مورد نظر ان را پیدا می کند.
* ارسال مقاله توسط عضو محترم سایت با نام کاربری : PSTdinco
/خ