25
ل م م های عا ت س ی س ل مای عا م ه ت س سی ی ح را ط ول ص : ا اب ت ک وم س ل ف ی م ق اد& ژ! ن عف ج له ن/ ال عی: اب ت ک ده! ت س ی ن ه :7 ارائ سار ک ا! ان/ مادح خ ای@ س/ ران مC چ د ت ه@ ش گاه@ ی دا ار! ف ژم ا! ن ژ – ن و یN مپ ی کا س د! ت ه م وی ل ع له ال ت ی ا! ت ع د ت س اد: ت س ا

سیستم های عامل

Embed Size (px)

Citation preview

Page 1: سیستم های عامل

سیستم های عاملفصل س وم کتاب: اصول طراحی س یستم های عامل

نویسنده کتاب: عین الله جعفرنژاد قمی

شا�یان مادح خا�کسارارائه : دانشگاه شهید چمران

مهندسی کامپیوتر – نرم افزار

استاد: سید عنایت الله علوی

Page 2: سیستم های عامل

:فرآیندواحدی از کار در سیستم اشتراک زمانی مدرن است.•شامل فعلی است که با مقدار شمارنده برنامه و محتوای ثبات های •

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

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

Page 3: سیستم های عامل

حالت های فرآیند:جدید: فرآیند ایجاد شد•اجرا: فرآیند در حال اجرا است•(I/Oانتظار: منتظر وقوع رویدادی است )مانند: کامل شدن عملیات •آماده: منتظر است تا به یک پردازنده تخصیص داده شود.•پایان: وقتی که فرآیند به پایان میرسد و منابعش را آزاد میکند.•

نمودار حالت فرآیند•

Page 4: سیستم های عامل

( شامل:PCBبلوک کنترل فرآیند )حالت فرآیند•شمارنده برنامه•اطالعات زمان بندی پردازنده•ثبات های پردازنده•اطالعات مدیریت حافظه•اطالعات حسابرسی•I/Oاطالعات وضعیت •

Page 5: سیستم های عامل

چند برنامه ایهدف: همیشه چند برنامه در حال اجرا داشته باشیم با بهره وری باال •

روداشتراک زمانی: پردازنده بین فرآیند های مختلف تعویض شود تا •

کاربران بتوانند با هر برنامه در حال اجرا تعامل داشته باشند.زمان بند فرآیند: یک فرآیند آماده را از بین چند فرآیند آماده برای اجرا •

انتخاب میکند.

Page 6: سیستم های عامل

صف های زمان بندی:صف کار : وقتی فرآیندی وارد سیستم میشود در واقع وارد صف کار •

میشود.صف دستگاه: صف فرآیندهایی که منتظر یک دستگاه خاص هستند.•صف تولید فرزند: فرآیند هایی که فرزند تولید کرده اند و منتظر پایان •

کار فرزند هستند.صف انتظار برای رویداد: فرآیند هایی که در انتظار هستند و منتظر •

رویدادی برای ادامه کارند.

Page 7: سیستم های عامل

زمان بندها:زمان بند کار)زمان بند بلند مدت(: فرآیند ها را از انبار انتخاب و به •

حافظه برای اجرا بار میکند.زمان بند پردازنده )زمان بند کوتاه مدت(: از بین فرآیند های آماده یکی •

را برای تخصیص به پردازنده انتخاب میکند.

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

Page 8: سیستم های عامل

:CPU و I/Oفرآیند مقید به I/O: فرآیندی که بیشتر وقت خود را صرف عمل I/Oفرآیند مقید به

میکند.

: فرآیندی که بیشتر وقت خود را صرف انجام CPUفرآیند مقید به محاسبات میکند.

Page 9: سیستم های عامل

زمان بند میان مدت:میتواند فرآیندی را از حافظه حذف کند و درجه چند برنامگی را کاهش •

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

شده است از سر گرفته شود. این طرح را »مبادله« میگویند. است I/Oهدف از مبادله: برای ترکیب برنامه های مقید به پردازنده و •

به علت کم کردن سربار سیستم و خالی کردن حافظه است.

Page 10: سیستم های عامل

تعویض متن یا تعویض بستر:دخیره یابی حالت فرآیند فعلی و بازیابی حالت فرآیند دیگر.•

نکته: زمانی که برای تعویض متن صرف میشود سربار محض است.•

Page 11: سیستم های عامل

:درخت فرآیندهافرآیند های فرزندی که خود فرآیند های دیگر را به وجود می آورند •

باعث ایجاد درخت فرآیندها میشوند.نکته: فرآیند فرزند ممکن است قادر باشد منابع خود را مستقیماً از •

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

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

Page 12: سیستم های عامل

هنگامی که فرآیند فرزند تو لید میشود:- ممکن است والد به طور همزمان با فرزند اجرا شود۱•- ممکن است والد منتظر پایان یافتن همه یا بعضی از فرزندانش ۲•

باشد.

فضای آدرس فرزند:•- فرزند یک کپی از والد باشد، یعنی داده ها و کدها یکسان باشند.۱•- فرزند برنامه ای در فضای آدرس خود بار کرده باشد.۲•

نکته: پایان یک فرآیند هنگامی است که آخرین دستورش اجرا شده •باشد.

Page 13: سیستم های عامل

دالیل خاتمه دادن فرزند توسط والد:- فرزند از منابعی بیش از آنچه در اختیار او است استفاده میکند.۱•- وظیفه ای که بر عهده فرزند گذاشته شده دیگر ضروری نیست.۲•- والد خاتمه یافته است و سیستم عامل اجازه وجود فرزند بدون ۳•

والد را نمیدهد.

Page 14: سیستم های عامل

فرآیند ها به طور کلی دو نوع هستند:- فرآیند های مستقل: فرآیندی که نتواند از فرآیند های دیگر سیستم ۱•

اثر بگیرد یا بر آنها اثر بگذارد.- فرآیند های همکار: فرآیندی که بتواند بر فرآیندهای دیگر سیستم اثر ۲•

بگذارد و یا از آنها اثر بگیرد.

Page 15: سیستم های عامل

مدلهای ارتباط فرآیندها:- مدل حافظه مشترک: فرآیندها ناحیه ای مشترک از حافظه را به ۱•

منظور مبادله اطالعات و ایجاد ارتباط در نظر میگیرندویژگی : سهولت پیاده سازی•بدی: عدم انسجام کدها•

- مدل مبادله پیام۲•ویژگی: برای داده های کوچکتر مناسب تر است.•

Page 16: سیستم های عامل

مدل مبادله پیام:. مستقیم یا غیر مستقیم۱•. همگام و ناهمگام۲•. میانگیری خودکار یا صریح۳•

ارتباط مستقیم:باید فرستنده به طور صریح نام گیرنده را بداند.

)Send)P, Messageمثال: Receive)Q, Message(

به این مثال طرح متقارن میگویند.

Page 17: سیستم های عامل

نکاتی راجع به ارتباط مستقیم:•این امکان وجود دارد که فرستنده نام گیرنده را بداند اما گیرنده نام

فرستنده را ندادند.)Send)P, Messageمثال:

Receive)id, Message(در ارتباط مستقیم پیوند به طور خودکار به وجود می آید اما فرآیندها باید •

هویت هم را بدانند.پیوند دقیقا بین دو فرآیند است.•« ارتباط وجود دارد.۱بین یک جفت فرآیند دقیقا »•

Page 18: سیستم های عامل

ارتباط غیر مستقیم:از طریق صندوق پستی یا پورت ها ایجاد میشود

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

نکته: اگر پیوند بین بیش از دو فرآیند باشد و چند فرآیند بخواهند دریافت کنند باید چه کار کنیم؟

راه حل:. اجازه ندهیم یک پیوند بین بیش از دو فرآیند ایجاد شود.۱. اجازه ندهیم دو فرآیند به طور همزمان عمل دریافت را انجام دهند.۲. اجازه داده شود که سیستم عامل انتخاب کند.۳

نکته: مالک صندوق پستی فرآیندی است که آنرا ایجاد میکند.

Page 19: سیستم های عامل

نقش سیستم عامل در ارتباط غیر مستقیم:باید راه کاری ارائه بدهد که هر فرآیند بتواند:•

. صندوق پستی جدیدی ایجاد کند۱•. پیامهایی را از صندوق پستی ارسال و یا دریافت کند.۲•. صندوق پستی را حذف کند.۳•

Page 20: سیستم های عامل

در ارتباط غیر مستقیم ارسال و دریافت به دو صورت:

. انسدادی: ۱•فرستنده پیام را ارسال میکنده و آنقدر منتظر میماند تا گیرنده پیام را دریافت •

کند و سدس به کار خود ادامه میدهد.گیرنده منتظر دریافت پیام میماند و آنقدر به این کار ادامه میدهد تا پیامی •

برای او ارسال شود.. غیر انسدادی:۲•

فرستنده پیام را ارسال میکند و به کار خود ادامه میدهد.•گیرنده صندوق پستی را برای دریافت پیام چک میکند و اگر پیامی نبود به کار •

خود ادامه میدهد.

Page 21: سیستم های عامل

:انواع میانگیرهامیانگیر ظرفیت صفر•میانگیر ظرفیت محدود•میانگیر ظرفیت نامحدود•

Page 22: سیستم های عامل

ارتباط کالینت و سرور به صورت:. ارتباط از طریق سوکت۱•. ارتباط از طریق فراخوانی رویه از راه دور۲•. ارتباط از طریق لوله ها۳•

Page 23: سیستم های عامل

انواع لو له ها:لوله چیست؟ •

لوله ها به صورت کانال های مجزا عمل میکنند و اجازه میدهند که فرآیند ها باهم ارتباط برقرار کنند.

ویژگی لوله ها:یک طرفه هستند یا دو طرفه•اگر دو طرفه هستند همزمان هستند یا غیر همزمان•آیا برای فرآیند های ارتباط برقرار کننده رابطه پدر و فرزندی الزم است؟•آیا فرآیند های ارتباط برقرار کننده بر روی یک ماشین هستند؟•

نکته: هنگامی که یک سیستم عامل از لوله های دوطرفه پشتیبانی نکند میتواند از دو لوله ی یک طرفه با جهت های مخالف برای شبیه سازی لوله دوطرفه استفاده کرد.

Page 24: سیستم های عامل

:Windowsلوله ها در لوله های بدون نام:•

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

لوله های با نام: •دو طرفه•همزمان•رابطه پدر و فرزندی نیاز ندارند.•میتوانند روی یک ماشین نباشند.•

Page 25: سیستم های عامل

:Linuxلوله ها در لوله های معمولی:•

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

: FIFOلوله های •دو طرفه•غیر همزمان•رابطه پدر و فرزندی نیاز ندارند.•میتوانند روی یک ماشین نباشند.•