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

Preview:

Citation preview

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

faradars.org/fvsft103

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

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

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

1

فرادرس

FaraDars.org

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

faradars.org/fvsft103

2

فصل چهارم

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

FaraDars.org

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

faradars.org/fvsft103

بن بست

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

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

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

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

3

فرادرس

FaraDars.org

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

faradars.org/fvsft103

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

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

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

4

فرادرس

FaraDars.org

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

faradars.org/fvsft103

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

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

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

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

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

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

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

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

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

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

فرادرس

FaraDars.org

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

faradars.org/fvsft103

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

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

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

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

.

.

.

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

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

6

فرادرس

FaraDars.org

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

faradars.org/fvsft103

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

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

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

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

یال تخصیص -2

aP R1

aR P 1

7

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

فرادرس

FaraDars.org

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

faradars.org/fvsft103

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

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

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

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

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

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

8

فرادرس

FaraDars.org

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

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

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

faradars.org/fvsft103

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

10

مثال

فرادرس

FaraDars.org

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

faradars.org/fvsft103

مثال

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

11

فرادرس

FaraDars.org

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

faradars.org/fvsft103

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

12

فرادرس

FaraDars.org

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

faradars.org/fvsft103

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

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

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

n

i

request(i) m n

1

13

فرادرس

FaraDars.org

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

faradars.org/fvsft103

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

.مي كنند

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

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

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

      

n

i

request(i) m n

1

n m n n m 2

14

فرادرس

FaraDars.org

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

faradars.org/fvsft103

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

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

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

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

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

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

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

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

15

فرادرس

FaraDars.org

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

faradars.org/fvsft103

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

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

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

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

نکردنقبضه

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

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

16

فرادرس

FaraDars.org

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

faradars.org/fvsft103

چرخشیانتظار

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

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

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

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

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

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

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

17

فرادرس

FaraDars.org

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

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

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

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

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

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

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

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

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

18

فرادرس

FaraDars.org

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

faradars.org/fvsft103

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

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

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

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

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

19

فرادرس

FaraDars.org

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

faradars.org/fvsft103

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

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

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

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

20

فرادرس

FaraDars.org

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

faradars.org/fvsft103

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

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

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

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

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

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

21

فرادرس

FaraDars.org

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

faradars.org/fvsft103

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

22

فرادرس

FaraDars.org

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

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

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

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

24

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

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

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

فرادرس

FaraDars.org

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

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

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

faradars.org/fvsft103

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

26

فرادرس

FaraDars.org

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

faradars.org/fvsft103

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

faradars.org/fvsft103

27

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

.تهیه شده است

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

فرادرس

FaraDars.org