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

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

Embed Size (px)

Citation preview

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

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

faradars.org/fvsft103

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

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

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

1

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103

2

:ششمفصل

حافظهمدیریت ( حافظه مجازی: بخش دوم)

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103

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

.کرداجرارافیزیکیحافظهازبزرگترایبرنامهتوانمیتکنیک،اینازاستفادهبا

.می کندرهااصلیحافظههایمحدودیتازراکاربرومی سازدممکنموثریصورتبهراچندبرنامگیمجازیحافظه

3

تهداشقراراصلیحافظهدراجرا،حالدرفرایندیک(قطعه هاییا)صفحه هاتمامنداردلزومیدیگرمجازیحافظهکمکبه

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

.کندمیتفکیکفیزیکیحافظهازراکاربرمنطقیحافظهمجازی،حافظه

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

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103

نمیذاریجایگکدوفیزیکیحافظهنگراننویسبرنامهزیراکند،میسادهرانویسیبرنامهمجازی،حافظه

.باشد

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

ربعاملسیستمبهدوبارهکنترلسپسمی شود،حافظهواردنظرموردتکهومی شودمسدودفرایند

.گرداندبرمیآمادهحالتبهرامسدودفرایندومی گردد

.می گویندمقیممجموعهدارد،قراراصلیحافظهداخلواقعاًکهفرایندازبخشیبه

4

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103

عناصر الزم برای موثر بودن حافظه مجازی

(بندیقطعهیا)بندیصفحهکارگیریبهبرایافزاریسختحمایت-1

.اصلیحافظهوثانویحافظهبین(قطعه هایا)صفحه هاانتقالبرایافزارینرمحمایت-2

5

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103

روش های پیاده سازی حافظه مجازی

(Demand Paging)صفحه بندی درخواستی -1

(Demand Segmentation)قطعه بندی درخواستی-2

(Hybrid Paging and Segmentation)قطعه بندی صفحه بندی شده -3

6

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103

صفحه بندی درخواستیاده،سبندیصفحهمانند،(درخواستیبندیصفحه)مجازیحافظهبرایبندیصفحهدر

تقسیم(page)صفحه هابهبرنامهو(fram)قابنامبهاندازههمتکه هایبهاصلیحافظه

.می شود

افظهحقابهایدرفرایندیکصفحه هایتمامنداردلزومیساده،بندیصفحهخالفبراما

افظهحبهاستنیازموردکهفرایندازصفحاتیتنهاوشوداجرافرایندتاباشنداصلی

.شوندمیآوردهاصلی

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

7

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103

.استصفحهقابشمارهیافتنصفحه، نگاشتازاصلیهدف(#F)صفحهشماره قاب

.استبودهمراجعهبدونحافظهدربیشتریمدتصفحهآنیعنیکمتر،چههر(Age)سن

(R)بیت مراجعه شده(Referenced)

.شودمی1برابربیت اینگیرد،انجامصفحهیکبهنوشتنیاخواندنمراجعه، یکاگر

(M)بیت تغییر یافته(Modified)

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

(Valid)بیت اعتبار استفادهصفحهایندرونهایآدرسازنویسبرنامهیعنیباشد،1ایصفحهبرایبیتایناگر

.استاستفاده بدونصفحه یعنیباشد،0اگر.استکرده

فیلدهای یک درایه جدول صفحه

8

.ندباشمیاستفادهقابلدرایهاینفیلدهایسایروداردقرارحافظهدرصفحه یعنیباشد،1بیتایناگر(P/A)غیاب-بیت حضور

.کندمیمشخصرامجازدسترسینوعهابیتاینبیت های حفاظت

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103

(Page Fault)صفحه خطای نقص

صفرنظرموردصفحهبرایراحضوربیتوکندمراجعهصفحهجدولبهMMUاگر

.استدیسکرویبرصفحهکهشودمی متوجهببیند،

.افتدمیعاملسیستم(trap)تلهدرپردازندهحالتدراین

.گویندمیصفحهنقصخطایتله،اینبه

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

9

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103

Page Faultهندل

10

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103مثالکدام.بگیریدنظردررازیرصفحهجدولباشد،میبایت64برابرصفحههراندازهکهبندیصفحهحافظهسیستمیکدر

کند؟میتولیدصفحهخطایآدرس

in/out Frameout 00101in 00001in 11011in 11010

out 10001

out 10101

out 11000in 00101... ...

a) 0000101101001

b) 0000010010010

11

a) 0000101 101001 p# = 5 PF

b) 0000010 010010 p# = 2

in/out0 out1 in2 in3 in4 out5 out6 out7 in

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103

1k=1024شاملصفحههروصفحه4k=4096شاملمجازیآدرسکهبگیریدنظردررابندیصفحهمجازیحافظهسیستمیک

(.استبیتی10آفست).استبایت

ازبخشی.شودمیتبدیلفیزیکیآدرسبهصفحهجدولطریقاز111222Hمجازیآدرس.استبایتفیزیکیحافظهاندازه

چیست؟فیزیکیآدرس.شودمیمشاهدهاینجادرصفحهجدول

182

12

:مجازیآدرس

:فیزیکیآدرس

H 17222: یعنی

H 444: شماره صفحه

5CH (01011100): شماره قاب

مثال

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103

الگوریتم های جایگزینی صفحه

(Page Replacement Algorithms)

13

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103

الگوریتم های جایگزینی صفحهدردموجوفرایندهایتمامکهرسیدخواهدزمانیمی کنداستفادهپویابندیبخشازکهایبرنامهچندسیستمیکدر

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

استقرارهکفرایندیبایدعاملسیستم.شودایجادمعلقوآمادهفرایندیکیاجدیدفرایندیبرایکافیفضایتامی کند

.کندانتخابراشودجایگزین

14

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103

رایبصفحهیکانتخابدرباره،جایگزینیسیاستواقعدر

لداخبهجدیدصفحهیکاستالزمکهزمانیدر،جایگزینی

.می کندصحبتشودآورده

15

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103

الگوریتم های جایگزینی

(optimal)بهینه -1

(NRU)عدم استفاده در گذشته اخیر -2

(FIFO)خروج به ترتیب ورود -3

(Second Change)دومین شانس-4

(Clock)ساعت-5

(LRU)کمترین استفاده در گذشته نزدیک -6

16

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103

(optimal)الگوریتم بهینه

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

.داردآیندهبینیپیشبه نیازچوننیست، اجراقابلبهینه، الگوریتم

.باشدمیمقایسهشاخصعنوانبهآنازاستفادهالگوریتم، اینشدنمطرحعلت

BO الگوریتم،ایندیگرنام (Belady Optimal)باشدمی.

17

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103

مثال

18

..استشدهرجوعزیرصفحاتبهترتیببهبرنامهیکدربندی،صفحهحافظهسیستمیکدر

Page)صفحهقابسهبرنامهاینبرای Frame)شودگرفتهنظردر.

Page)صفحهخطاهایتعداد Faults)=فرادرس؟

FaraDars.org

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

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

faradars.org/fvsft103

NRUالگوریتم

NRU ( Not Recently Used)

چهاربهراصفحات،(M)اصالحو(R)ارجاعهایبیتوضعیتاساسبرعامل سیستمدهد، میرخصفحهنقصوقتیروشایندر

میانتخابرا، باشدکمتریشمارهبادستهدرکهکالسیازراایصفحه،تصادفیطوربهسپسوکندمیتقسیمزیر، شکلمطابقکالس

.کند

19

دورهابتدایازاولدرجهدرکهشودمیانتخابایصفحهواقعدر

تغییرحافظهبهورودهنگام ازدوم،درجهدرواستنشدهجاری، استفاده

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

.باشدمیانتخاببهترینعلتهمینبه.استنکردهتغییر

.شودنوشتهبایدجایگزینیازقبلباشد،یکآناصالحبیتکهایصفحه

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103

20

.شود0ساعت،وقفهیکدرRبیت، 3کالسدرکهدهدمیرخ زمانی،1کالس

.خیرایشودنوشتهدیسکدردوبارهبایدصفحهاینآیاکهاستایندهندهنشانبیتاینچونکند، نمی0راMبیتساعت،وقفه

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103مثال.باشدمیصفحهقابچهاردارایکامپیوتریاصلیحافظه

قابازیککداممحتویاتترتیببهNRUجایگزینیالگوریتمتحتدهد،رخ319زماندر4شمارهمجازیصفحهرویصفحهخطایاگر

شوند؟جابجابایستی، هاصفحه

21

.داردقرارکمتریشمارهبادستهدرچونشود،میانتخاب2صفحه،NRUروشدر

.استگرفتهانجامآنهاهمهبینگیریتصمیمهستند،موجودهاصفحههمه،319یعنیصفحه، خطایدادنرخزماندرچون

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103

FIFOالگوریتم

ظرمنتبیشتریزمانکه شودجایگزینایصفحه، (ورودترتیببهخروج)روشایندر

.استبوده

افظهحواردکهایصفحهوکردهانتخابراصفابتدایدرموجودصفحهجایگزینی،برای

.کنیممیاضافهصفانتهایبهراشده

22

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103

مثال

23

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103

مثال

24

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103

الگوریتم دومین شانس

اگردهد،میرخصفحهنقصوقتیکهتفاوتاینبا.باشدمیFIFOمانندشانس،دومینالگوریتم

رکااینبا.شودمیمنتقللیستانتهایبهصفحهوشده0بیتاینبود،1صفحه، ترینقدیمیRبیت

.استشدهدادهایدوبارهشانساوبه

.شودمیتبدیلFIFOبهشانسدومینالگوریتمباشد،1صفحاتهمهRبیتاگر

25

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103

مثال:2مجازیصفحهشمارهبهارجاع

.شوندمیمنتقلصفانتهایبههاصفحهوکردهصفرراآناست،1چون5و4هایصفحهRبیت

میاضافهصفانتهایدرآنجایبهرا2صفحهوکردهخارجحافظهازراصفحهاست،صفرآنRبیتچونکهایمرسیده7صفحهبهحال

.کنیم

.دهیممیقرار1رادوصفحهRبیت

26

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103

الگوریتم ساعت

بهآنردنکاضافهولیستابتدایازصفحه حذفعلتبهامابود،قبولیقابلالگوریتمشانس،دومینالگوریتمچهاگر

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

بهاعتسعقربهکهطوری بهشود،مینگهداریساعتیکشکلبهوحلقویصورتبهصفحاتپیوندی لیستساعت،

.کندمیاشارهصفحهترینقدیمی

27

:دهدمیرخحالتدوکهکردهنگاهشده،اشارهآنبهعقربهتوسطکهایصفحهRبیتبه، دهدمیرخصفحهنقصوقتی

میجلوبهعقربهوشدهجایگزینمکانهماندرجدیدصفحهوشدهخارجنظرموردصفحهباشد، R،0بیتاگر-الف

.رود

.کردخواهداشارهبعدیصفحهبهعقربهوشده0آنگاهباشد، R،1بیتاگر-ب

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103

28

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103مثالالگوریتمازعاملسیستماگر.دارندقرارهاآندرمجازیصفحاتزیرجدولمطابقکهاستصفحهقاب4دارایسیستمی

شود؟جایگزینبایدمجازیصفحهکدامباجدیدصفحهصفحه،نقصوقوعصورتدرنماید،استفاده(Clock)ساعت

R شماره صفحهدرحافظهزمان بارگذاری صفحه

1501030212030404

وشده0آنRبیتاست،1آنRبیتچون.است3صفحهیعنیصفحهترینقدیمیرویبرعقربهابتدا

.رودمی2صفحهرویبروکندمیحرکتجلوبهعقربه

.شودمیجایگزینصفحهاینباجدیدصفحهاست،صفر، 2صفحهRبیتچون

29

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103

LRUالگوریتم

LRU(Leastروشدر Recently Used طوالنیمدتبرایکهشودمیجایگزینایصفحه،(

.استشدهمراجعهآنبهدورتریگذشتهدریعنی.استنگرفتهقراراستفادهمورد

30

فرادرس:مثال

FaraDars.org

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

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

faradars.org/fvsft103

مثال

31

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103

مثال.استدادهرخ4صفحهبرایصفحهخطاییک.استیافتهتخصیصقابچهارفرایندیبه

؟شوندمیانتخابجایگزینیبرایایصفحهچهترتیببهLRUوFIFOحافظهمدیریتسیاستبرای

32

.3صفحهیعنیشودمیانتخاباستکمترهمهازحافظهدرآنشدنبارزمانکهایصفحهFIFOروشدر

.2صفحهیعنیشودمیانتخاباست،کمترآنبهمراجعهآخرینزمانکهایصفحهLRUروشدر

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

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103

Belady's )تناقض بلیدی anomaly)

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

:نکندپیرویزیر،نمودارازاستممکنFIFOالگوریتمکهاستمعنیاینبهبلیدیتناقض

33

. رخ نمی دهد BO , LRUتناقض بلیدی در الگوریتم های

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103

فقدان صفحه10: صفحه ای 4انباره

4 3 2 1 4 3 5 4 3 2 1 54 4 4 4 4 4 3 2 1 5 4 3

3 3 3 3 3 2 1 5 4 3 22 2 2 2 1 5 4 3 2 1

1 1 1 5 4 3 2 1 5F F F F F F F F F F

4 3 2 1 4 3 5 4 3 2 1 5

4 4 4 3 2 1 4 4 4 3 5 5

3 3 2 1 4 3 3 3 5 2 1

2 1 4 3 5 5 5 2 1 4

F F F F F F F F F

صفحهفقدان9:ایصفحه3انباره

34

مثال

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103

تعریف

nبرایحافظهدرموجودصفحاتازایمجموعهآن،درکهاستالگوریتمی،ایپشتهالگوریتم

.بودخواهندحافظهدرقابn+1برایکهاستصفحاتیازایمجموعهزیرهمیشهقاب،

35

.شوندنمیبلیدیتناقضدچارهیچگاهایپشتههایالگوریتم

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103

(Segmentation with paging)بندی قطعه بندی صفحه

می شودتقسیمقطعهتعدادیبهآدرسفضای

.می شوندتقسیمصفحهتعدادیبهنیزقطعههرو

.داردوجودصفحهجدولچندوقطعهجدولیکفرایندهربرای

:مجازیآدرس

:فیزیکیآدرس

شماره قطعه شماره صفحه هآفست درون صفح

قابشماره هآفست درون صفح

36

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103

بندی قطعه بندی صفحه

37

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103

مثال

.شودمیمدیریتشدهبندیصفحهقطعاتروشباکهبگیریدنظردررابایتی512صفحاتباو8KBاندازهبهحافظهیک

:مجازیآدرسبامتناظرفیزیکیآدرساستمطلوب

38

.شودمیمشخص0088یعنیPTBAمقداروکردهمراجعهقطعهجدولدر1اندیسبهاست1قطعهشمارهچون

کهصفحهقابشمارهوکردهمراجعهسومسطربهشودمیشروع0088آدرسباکهدومستوندرحافظه،دراست، 2صفحه شمارهمجازی،آدرسدرچونحال

.شودمی، مشخصاست9Hبرابر

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103

پایان

39

فرادرس

FaraDars.org

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

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

faradars.org/fvsft103

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

faradars.org/fvsft103

40

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

.تهیه شده است

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

فرادرس

FaraDars.org