جستجو در محصولات

گالری پروژه های افتر افکت
گالری پروژه های PSD
جستجو در محصولات


تبلیغ بانک ها در صفحات
ربات ساز تلگرام در صفحات
ایمن نیوز در صفحات
.. سیستم ارسال پیامک ..
مفاهيم سيستم عامل (4)
-(1 Body) 
مفاهيم سيستم عامل (4)
Visitor 607
Category: دنياي فن آوري

جلسه يازدهم:

صفحه بندي قطعات:

ادرس منطقي در صفحه بندي قطعات از سه قسمت تشکيل شده است.
ادرس 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 :

شماي مديريت حافظه است که در ان تنها قسمتي از پروسه وارد حافظه ي اصلي مي شود.اين امکان کمک مي کند تا پروسه هايي که اندازه ي انها بزرگتر از حافظه ي اصلي است،بتوانند اجرا شوند.در اين روش قسمتي از حافظه ي جانبي به عنوان حافظه ي مجازي انتخاب مي شود و به مانند حافظه ي اصلي فريم بندي مي شود.پروسه اي که قرار است اجرا شود و اندازه ي ان به اندازه ي حافظه ي اصلي نيست(بزرگتر است) ،مابقي پروسه در حافظه ي مجازي اجرا مي شود.جدول PMT با کمي تغييرات و اضافه کردن فيلد Presence (حضور) جدولي را تشکيل مي دهد که مي توان صفحات را ادرس دهي کرد.پيدا کردن يک Page ازپروسه در حافظه ي مجازي توسط File Map Table صورت مي گيرد.اين جدول مشخص مي کند که کدام Page از پروسه در کدام Frame از حافظه قرار دارد. FMT از لحاظ منطقي کاري به ترتيب قرار گرفتن صفحات روي ديسک ندارد. فيلد حضور نشان مي دهد ايا Page اي که قراراست اجرا شود در حافظه ي اصلي است يا نه.اگر در حافظه ي اصلي قرار داشته باشد ،مقدار فيلد حضور IN مي شود.اگر در خارج از حافظه ي اصلي قرار داشته باشد ،مقدار فيلد حضور OUT مي شود.

سياست هاي تخصيص حافظه ي مجازي:

1) Allocation Policy :

مشخص مي کند پروسه اي که مي خواهد وارد حافظه ي اصلي شود، چند Page از حافظه ي اصلي را نياز دارد. اين کار به ترافيک سيستم و کوچک و بزرگ بودن پروسه و هم چنين اهميت پروسه بستگي دارد.ممکن است پروسه اي بيايد که نياز داشته باشد همه Page هاي ان در حافظه ي اصلي قرار بگيرد.در اين حالت سيستم براي اين پروسه حافظه را مديريت مي کند.البته مي توان ميزان Page ها را ثابت فرض کرد. اما به خاطر اينکه ماهيت و نوع پروسه ها با يکديگر متفاوت است ،بايد اين Page ها را متغير در نظر بگيريم.

2) Fetch Policy (واکشي) :

هنگامي که بخشي از پروسه در حافظه ي اصلي قرار ندارد،چه بايد کرد؟چه هنگام بايد اين Page ها را از حافظه ي جانبي به حافظه ي اصلي بياوريم.کدام و چند Page را بياوريم.اگر در هر بار يک Page بخواهد وارد حافظه ي اصلي شود،در زمان ترافيک هاي شديد سيستم ،هيچ مشکلي پيش نمي ايد.اما اگر حافظه ي اصلي خالي بود چه بايد کرد.

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 دورتر شده است، از Stack خارج شده و صفحه ي جديد در ان Page قرار مي گيرد.

5)Optimal :

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

جلسه دوازدهم:

6) Place Ment Policy :

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

Buddy System :

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

بن بست:وضعيتي است که پروسه اي منبعي را در اختيار مي گيرد و خود درخواست منابعي را مي کند که در اختيار پروسه هاي ديگر است.به اين حالت بن بست مي گويند.

چهار حالت وجود دارد که اين چهار حالت باعث وقوع بن بست مي شود.البته اگر سه تا از اين شرايط برقرار باشد مي گوييم که بن بست رخ داده است.
بازداري دوجانبه 1) Mutual Exclusion
نگه داشتن و انتظار 2) Hold And Wait
قبضه نکردن 3) Non Preemption
انتظار حلقوي 4) Circular Waiting
1) در يک زمان فقط يک پروسه مي تواند از منبع استفاده کند.
2) منبع را بگيرد و منتظر بماند تا منبع ازاد شود.بعد منبع ازاد را به اختيار خود دراورد.
3) پروسه اي منبعي را در اختيار بگيرد و به هيچ وجه منبع را ازاد نکند.
4) پروسه ي P1 درخواست منبعي را بکند که در اختيار پروسه ي ديگر است و ان پروسه درخواست منبعي را بکند که در اختيار پروسه ي P1 است.
راه هايي که باعث مي شود از بن بست جلوگيري شود:

1) بازداري دوجانبه:

به تنهايي براي منابع بحراني بسيار مناسب مي باشد.ولي اينکه ممکن است منبعي وجود داشته باشد که پروسه ها بخواهند همزمان به ان دسترسي داشته باشند و کار انها به تعويق نيفتد.مثل Printer .
در مورد منبعي که چند پروسه مي خواهند اطلاعاتشان را در يک نقطه از حافظه بريزند.چون منبع بحراني است بازداري دوجانبه مهم است.(خواندن اطلاعات شامل بازداري دوجانبه نمي شود.)

2) نگه داشتن و انتظار:

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

3) قبضه نکردن:

در قبضه نکردن بايد تمهيداتي صورت گيرد که اگر پروسه اي منبعي را در اختيار دارد و حاضر به رها کردن ان نيست، اگر درخواست منبع بکند ،چون منبع در اختيار داشته است،منبعي به ان اختصاص داده نشود.

4) انتظار حلقوي:

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

جلسه سيزدهم:

مديريت فايل:

يک نوع ساختار داده اي است که اطلاعات از طريق اين ساختار داده اي بر روي حافظه ي جانبي قرار مي گيرد.يعني اگر فايلي وجود دارد،حافظه ي جانبي وجود دارد.فايل حتما در يک حافظه ي ماندگار قرار مي گيرد.وظيفه ي سيستم عامل اين است که فضاي حافظه ي جانبي را مديريت کند تا اين فضا در اختيار فايل قرار گيرد.يعني به قسمت هاي منطقي فايل اين فضا را تخصيص بدهد يا نه؟
دو نوع مديريت فايل داريم:
1) مديريت فايل به صورت يکپارچه
2) مديريت فايل به صورت غير يکپارچه
در مديريت فايل به صورت يکپارچه تمام Page هاي مربوط به فايل در Block هاي مجاور همديگر قرار مي گيرد.

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

در روش پراکنده دو روش وجود دارد :
يکي به صورت زنجيره اي و ديگري به صورت Index .در اولي از يک ليست پيوندي استفاده مي شود.در انتهاي هر بلاک اشاره گري است به بلاک بعدي .در اين روش نياز به همجواري فيزيکي وجود ندارد.اين اشاره گر خود يک نوع اتلاف حافظه است.
در روش دوم پراکنده ،يک بلاک از حافظه ، Index (شاخص دار) شده،ادرس تمام بلاک هاي پر شده به صورت مرتب شده قرار دارد.اگر فايلي نياز به دسترسي داشت ،بلاک شامل ادرس را مي خواند و بلاک هاي مورد نظر ان را پيدا مي کند.
* ارسال مقاله توسط عضو محترم سايت با نام کاربري : PSTdinco
Add Comments
Name:
Email:
User Comments:
SecurityCode: Captcha ImageChange Image