آموزش سیستم های عامل - بخش چهارم

27
ستم های آموزش سی عاملfaradars.org/fvsft103 مدرس: فرشید شیرافکن تهراننشگاه دانشجوی دکتری دا( سی ارشد کارشنا کارشناسی و: م افزار کامپیوتر نر( ) دکتری: نفورماتیک بیو ا) های عاملیستم س1 ﻓﺮادرسFaraDars.org

Upload: faradars

Post on 12-Jan-2017

83 views

Category:

Education


22 download

TRANSCRIPT

Page 1: آموزش سیستم های عامل - بخش چهارم

عاملآموزش سیستم های

faradars.org/fvsft103

:مدرسفرشید شیرافکن

دانشجوی دکتری دانشگاه تهران (بیو انفورماتیک: دکتری( )کامپیوتر نرم افزار: کارشناسی و کارشناسی ارشد )

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

1

فرادرس

FaraDars.org

Page 2: آموزش سیستم های عامل - بخش چهارم

عاملآموزش سیستم های

faradars.org/fvsft103

2

فصل چهارم

(DeadLock)بستبن فرادرس

FaraDars.org

Page 3: آموزش سیستم های عامل - بخش چهارم

عاملآموزش سیستم های

faradars.org/fvsft103

بن بست

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

.هستندارتباطدریکدیگر

حذفارفرایندیمثالًدهد،انجامالعاده ایفوقعملعاملسیستمتامی یابدادامهبودنمسدوداین

.کندعقببهبرگشتبهمجبوریاکند

3

فرادرس

FaraDars.org

Page 4: آموزش سیستم های عامل - بخش چهارم

عاملآموزش سیستم های

faradars.org/fvsft103

مثال عبوربرایخودروهر.می شوندمحسوبمنابع،راهچهاراینربعچهار.استمفروضرسیده اندراهیچهاربهزمانیکدرکهخودروچهار

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

.دهدمیرخبستبنپس.استدیگرخودرویاختیاردردومنیازموردربعچونبرود،پیشنمی تواند

4

فرادرس

FaraDars.org

Page 5: آموزش سیستم های عامل - بخش چهارم

عاملآموزش سیستم های

faradars.org/fvsft103

شرایط بن بست.می دهدرخبستبنباشد،داشتهوجودسیستمیدرهمزمانزیرشرطچهاراگر

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

Hold)انتظارونگهداری-1 and Wait)

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

.استدیگریفراینداختیاردرفعالکهباشد

Non)نشدنیقبضه-2 Preemption)

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

Mutual)متقابلانحصار-3 Exclusion)

مانهدرخواستدیگریفراینداگروکنداستفادهمنبعیکازمی تواندفرایندیکتنهازمانهردر

.شودآزادمنبعتابماندمنتظربایدکند،رامنبع5

فرادرس

FaraDars.org

Page 6: آموزش سیستم های عامل - بخش چهارم

عاملآموزش سیستم های

faradars.org/fvsft103

Circular)چرخشیانتظار-4 Wait)

.داردوجودانتظارازایچرخه

P1اختیاردرکهاستمنبعیمنتظرp2است.

p2اختیاردرکهباشدمنبعیمنتظرp3است.

.

.

.

.استp1اختیاردرکهباشدمنبعیمنتظرpn،نهایتدر

.می گرددانتظارونگهداریشرطبهمنجرچرخشیانتظارشرط:نکته

6

فرادرس

FaraDars.org

Page 7: آموزش سیستم های عامل - بخش چهارم

عاملآموزش سیستم های

faradars.org/fvsft103

. روشی برای تشریح دقیقتر مسئله بن بست است

. فرایندها با دایره و منابع با مربع نشان داده می شوند

: دو نوع یال وجود دارد

یال درخواست -1

یال تخصیص -2

aP R1

aR P 1

7

گراف تخصیص منابع (Resource Allocation Graph)

فرادرس

FaraDars.org

Page 8: آموزش سیستم های عامل - بخش چهارم

عاملآموزش سیستم های

faradars.org/fvsft103

مشخص کردن بن بست :منبع توجه به گراف تخصیص نحوه تعیین بن بست با

.نباشد، بن بست نداریم( سیکل)اگر در گراف چرخه-1

:اگر چرخه ای در گراف باشد-2

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

ست وجود چرخه شرط الزم برای وجود بن ب.)اگر هر منبع دارای چند نمونه باشد، احتمال بن بست است: ب

.(است ولی شرط کافی نیست

8

فرادرس

FaraDars.org

Page 9: آموزش سیستم های عامل - بخش چهارم

عاملآموزش سیستم های

faradars.org/fvsft103

. بنابراین بن بست رخ می دهد

) P R P R P R P 1 1 1 2 3 3 2 1

) P R P R P 2 2 3 3 2 2

9

مثال

فرادرس

FaraDars.org

Page 10: آموزش سیستم های عامل - بخش چهارم

عاملآموزش سیستم های

faradars.org/fvsft103

.برودبینازچرخهومی شوددادهP3بهR2آنگاهوکندآزادراR2می تواندP4چون.دهدنمیرخبستبنچرخهوجودبا

10

مثال

فرادرس

FaraDars.org

Page 11: آموزش سیستم های عامل - بخش چهارم

عاملآموزش سیستم های

faradars.org/fvsft103

مثال

.هيچ فرایندي درحالت بن بست نمي باشدP P P P 4 2 1 3

11

فرادرس

FaraDars.org

Page 12: آموزش سیستم های عامل - بخش چهارم

عاملآموزش سیستم های

faradars.org/fvsft103

مثال Dفرایندهای , E , G ,Bدارندقراربستبندر.

12

فرادرس

FaraDars.org

Page 13: آموزش سیستم های عامل - بخش چهارم

عاملآموزش سیستم های

faradars.org/fvsft103

شرط رخ ندادن بن بست

صورتدرباشد،موجود(نوعیکاز)منبعmوفرایندnسیستمیدراگر

.دادنخواهدرخبستبنزیرشرطبودنبرقرار

n

i

request(i) m n

1

13

فرادرس

FaraDars.org

Page 14: آموزش سیستم های عامل - بخش چهارم

عاملآموزش سیستم های

faradars.org/fvsft103

مثالرقابتهمبامنابعاینگرفتناختياردربرايپردازهnواستمنبعیكازواحدmدارايكامپيوتري

.مي كنند

راعمنبواحدیكتنهامي تواندزمانهردروداشتهنيازمنبعاینازواحددوبهحداكثرپردازههر

.نمایددرخواستیاآزاد

.كنيدمشخصرا،نمي شودبن بستدچارسيستمآنازايبهكهnمقدارحداكثر

      

n

i

request(i) m n

1

n m n n m 2

14

فرادرس

FaraDars.org

Page 15: آموزش سیستم های عامل - بخش چهارم

عاملآموزش سیستم های

faradars.org/fvsft103

:کردتقسیمعمدهگروهسهبهتوانمیرابستبنرفعروشهای(Prevention)بستبناز(جلوگیری)پیشگیری-1

حداقلکهکنیمتضمینیعنیبرود،بینازبستبنامکانقبلازکهشودطراحیطوریسیستم

.ندهدرخبستبنشرطچهارازیکی

(Avoidance)بستبنازاجتناب-2

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

(Detection)بستبنکشف-3

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

.کندکشفراچرخشیانتظارشرطوجودتامی کنددنبالراالگوریتمی

15

فرادرس

FaraDars.org

Page 16: آموزش سیستم های عامل - بخش چهارم

عاملآموزش سیستم های

faradars.org/fvsft103

روش های پیشگیری

انتظارونگهداری

همههکزمانیتاوکنددرخواستیکبارهرانیازموردمنابعهمهتاکردمجبوررافرایندباید

.کردمسدودرافرایندنشود،دادهاوبهمنابع

نکردنقبضه

یدباحالتایندر.نشودموافقتجدیدشدرخواستدارد،اختیاردررامنابعیفرایندیاگر

.نمایددرخواستاضافیمنابعبامجدداًنیاز،صورتدروکندآزادراخودقبلیمنابع

16

فرادرس

FaraDars.org

Page 17: آموزش سیستم های عامل - بخش چهارم

عاملآموزش سیستم های

faradars.org/fvsft103

چرخشیانتظار

.می کنیمتعریفمنابعانواعازخطیترتیبیکشرط،اینبروزازپیشگیریبرای

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

.باشدگرفتهقرارRازبعدآنهانوع

iاگرمثالً < jآنگاهRiازقبلRjفراینداگر.استp1منبعRiوباشدداشتهاختیاردرراRjوکندتقاضاراp2

.باشدمیj<iوi<jمستلزمچوناستممکنغیرحالتاینکند،تقاضاراRiوباشدداشتهاختیاردرراRjمنبع

ضروریغیرکردنردوفرایندهاکردنکندموجباستممکنچرخشی،انتظارشرطازپیشگیری

.گرددمنابعبهدسترسی

17

فرادرس

FaraDars.org

Page 18: آموزش سیستم های عامل - بخش چهارم

عاملآموزش سیستم های

faradars.org/fvsft103روشهای اجتناب از بن بست

:داردوجودرویکرددوبستبنازاجتناببرای

.شودبستبنبهمنجرهایشدرخواستاستممکنکهفرایندیشروععدم-1

نجرماستممکنتخصیصاینباکهفرایندیطرفازاضافیمنبعهایدرخواستبهپاسخعدم-2

(بانکدارانالگوریتم).شودبستبنبه

:می شودانجامپویابصورتزیرتصمیم گیریبست،بنازاجتنابدر

."نهیاشودبستبنبهمنجرمی تواندآیاشود،دادهتخصیصشده،درخواستمنبعاگر"

.استآیندهدرخواستهایازاطالعنیازمندبستبنازاجتنابیعنی

18

فرادرس

FaraDars.org

Page 19: آموزش سیستم های عامل - بخش چهارم

عاملآموزش سیستم های

faradars.org/fvsft103

محدودیت های اجتناب از بن بست .تعداد منابع تخصیص باید ثابت باشد-1

.فرایندی که منبعی در اختیار دارد نمی تواند خارج شود-2

.حداکثر منابع مورد نیاز هر فرایند باید از قبل معلوم شود-3

.فرایندهای مورد نظر باید مستقل باشند-4

(بر خالف کشف.)امتیاز اجتناب از بن بست این است که قبضه کردن فرایند، الزم نمی باشد

19

فرادرس

FaraDars.org

Page 20: آموزش سیستم های عامل - بخش چهارم

عاملآموزش سیستم های

faradars.org/fvsft103

حالت امنبدونشوند،کاملواجرامی توانندکهداردوجودفرایندهاازترتیبیکحداقلآندرکهاستحالتی

.دهدرخبستبناینکه

.استامنناوضعیتیکبست، بنوضعیت

.نیستندبست بن الزاماناامن،هایوضعیتتمام اما

20

فرادرس

FaraDars.org

Page 21: آموزش سیستم های عامل - بخش چهارم

عاملآموزش سیستم های

faradars.org/fvsft103

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

: از بردارها و ماتریسهای زیر استفاده می شود

.شامل مقدار کل هر یک از منابع: Resourceبردار -1

(تخصیص داده نشده)شامل مقدار کل هر یک از منابعی که موجود است : Availableبردار -2

.شامل درخواستهای فرایندها( : حداکثر نیاز) Claimماتریس -3

.شامل منابع تخصیص داده شده به فرایندها: Allocationماتریس -4

21

فرادرس

FaraDars.org

Page 22: آموزش سیستم های عامل - بخش چهارم

عاملآموزش سیستم های

faradars.org/fvsft103

مثال :بررسی وجود حالت امن Resource : R ,R ,R 1 9 2 3 3 6

22

فرادرس

FaraDars.org

Page 23: آموزش سیستم های عامل - بخش چهارم

عاملآموزش سیستم های

faradars.org/fvsft103

R ,R ,R 1 0 2 1 3 1

23

P2 :بعد از اجرای

Resource : R ,R ,R 1 9 2 3 3 فرادرس6

FaraDars.org

Page 24: آموزش سیستم های عامل - بخش چهارم

عاملآموزش سیستم های

faradars.org/fvsft103 اجرای بعد ازp1 :

24

:p3بعد از اجرای

. می شود اجرا p4نهایت در

P P P P 2 1 3 4 : ترتیب امن

فرادرس

FaraDars.org

Page 25: آموزش سیستم های عامل - بخش چهارم

عاملآموزش سیستم های

faradars.org/fvsft103

مثالR): در دسترس منابع سيستم چيست؟ حالت . منبع مدیریت مي شود2فرایند فعال و 4تحت سيستم عاملي ,R ) 1 22 1

:دسترسدرمنابع

:p3اجرايازبعد.شونداجراتوانندنميابتدادرp2وp1فرایند

:p4اجرايازبعد.شونداجراتوانندنميp2وp1همباز

.شونداجراتوانندنميp2یاp1همباز

)1,2( 21 RR

)2,3( 21 RR

)2,6( 21 RR

25

فرادرس

FaraDars.org

Page 26: آموزش سیستم های عامل - بخش چهارم

عاملآموزش سیستم های

faradars.org/fvsft103

پایان فصل چهارم

26

فرادرس

FaraDars.org

Page 27: آموزش سیستم های عامل - بخش چهارم

عاملآموزش سیستم های

faradars.org/fvsft103

عاملآموزش سیستم های

faradars.org/fvsft103

27

این اسالید ها بر مبنای نکات مطرح شده در فرادرس« آموزش سیستم های عامل»

.تهیه شده است

.برای کسب اطالعات بیشتر در مورد این آموزش به لینک زیر مراجعه نمایید

فرادرس

FaraDars.org