Upload
faradars
View
89
Download
9
Embed Size (px)
Citation preview
عاملآموزش سیستم های
faradars.org/fvsft103
:مدرسفرشید شیرافکن
دانشجوی دکتری دانشگاه تهران (بیو انفورماتیک: دکتری( )کامپیوتر نرم افزار: کارشناسی و کارشناسی ارشد )
سیستم های عامل
1
فرادرس
FaraDars.org
عاملآموزش سیستم های
faradars.org/fvsft103
2
:ششمفصل
حافظهمدیریت ( حافظه مجازی: بخش دوم)
فرادرس
FaraDars.org
عاملآموزش سیستم های
faradars.org/fvsft103
حافظه مجازی.گردداجراباشدحافظهدرکامالاینکهبدونفرایندشودمیموجبکهاستتکنیکیمجازیحافظه
.کرداجرارافیزیکیحافظهازبزرگترایبرنامهتوانمیتکنیک،اینازاستفادهبا
.می کندرهااصلیحافظههایمحدودیتازراکاربرومی سازدممکنموثریصورتبهراچندبرنامگیمجازیحافظه
3
تهداشقراراصلیحافظهدراجرا،حالدرفرایندیک(قطعه هاییا)صفحه هاتمامنداردلزومیدیگرمجازیحافظهکمکبه
.می شودآوردهحافظهبهعاملسیستمتوسطبرنامه،آغازحاویتکهچندیایکابتدادروباشند
.کندمیتفکیکفیزیکیحافظهازراکاربرمنطقیحافظهمجازی،حافظه
.شودفراهمنویسبرنامهبرایبزرگیمجازیحافظهاست،کمفیزیکیحافظهکهحالتیدرشودمیموجبتفکیکاین
فرادرس
FaraDars.org
عاملآموزش سیستم های
faradars.org/fvsft103
نمیذاریجایگکدوفیزیکیحافظهنگراننویسبرنامهزیراکند،میسادهرانویسیبرنامهمجازی،حافظه
.باشد
یناومی شودایجادوقفهیکنباشد،حافظهدرمقیممجموعهدرکهشودرجوعآدرسیبهاجراحیندراگر
ربعاملسیستمبهدوبارهکنترلسپسمی شود،حافظهواردنظرموردتکهومی شودمسدودفرایند
.گرداندبرمیآمادهحالتبهرامسدودفرایندومی گردد
.می گویندمقیممجموعهدارد،قراراصلیحافظهداخلواقعاًکهفرایندازبخشیبه
4
فرادرس
FaraDars.org
عاملآموزش سیستم های
faradars.org/fvsft103
عناصر الزم برای موثر بودن حافظه مجازی
(بندیقطعهیا)بندیصفحهکارگیریبهبرایافزاریسختحمایت-1
.اصلیحافظهوثانویحافظهبین(قطعه هایا)صفحه هاانتقالبرایافزارینرمحمایت-2
5
فرادرس
FaraDars.org
عاملآموزش سیستم های
faradars.org/fvsft103
روش های پیاده سازی حافظه مجازی
(Demand Paging)صفحه بندی درخواستی -1
(Demand Segmentation)قطعه بندی درخواستی-2
(Hybrid Paging and Segmentation)قطعه بندی صفحه بندی شده -3
6
فرادرس
FaraDars.org
عاملآموزش سیستم های
faradars.org/fvsft103
صفحه بندی درخواستیاده،سبندیصفحهمانند،(درخواستیبندیصفحه)مجازیحافظهبرایبندیصفحهدر
تقسیم(page)صفحه هابهبرنامهو(fram)قابنامبهاندازههمتکه هایبهاصلیحافظه
.می شود
افظهحقابهایدرفرایندیکصفحه هایتمامنداردلزومیساده،بندیصفحهخالفبراما
افظهحبهاستنیازموردکهفرایندازصفحاتیتنهاوشوداجرافرایندتاباشنداصلی
.شوندمیآوردهاصلی
.استمبادلهوبندیصفحهازتلفیقیروشاین
7
فرادرس
FaraDars.org
عاملآموزش سیستم های
faradars.org/fvsft103
.استصفحهقابشمارهیافتنصفحه، نگاشتازاصلیهدف(#F)صفحهشماره قاب
.استبودهمراجعهبدونحافظهدربیشتریمدتصفحهآنیعنیکمتر،چههر(Age)سن
(R)بیت مراجعه شده(Referenced)
.شودمی1برابربیت اینگیرد،انجامصفحهیکبهنوشتنیاخواندنمراجعه، یکاگر
(M)بیت تغییر یافته(Modified)
.کندمی1رابیتایناتوماتیکصورتبهافزارسختشود، انجامصفحهیکرویبرنوشتنعملاگر
(Valid)بیت اعتبار استفادهصفحهایندرونهایآدرسازنویسبرنامهیعنیباشد،1ایصفحهبرایبیتایناگر
.استاستفاده بدونصفحه یعنیباشد،0اگر.استکرده
فیلدهای یک درایه جدول صفحه
8
.ندباشمیاستفادهقابلدرایهاینفیلدهایسایروداردقرارحافظهدرصفحه یعنیباشد،1بیتایناگر(P/A)غیاب-بیت حضور
.کندمیمشخصرامجازدسترسینوعهابیتاینبیت های حفاظت
فرادرس
FaraDars.org
عاملآموزش سیستم های
faradars.org/fvsft103
(Page Fault)صفحه خطای نقص
صفرنظرموردصفحهبرایراحضوربیتوکندمراجعهصفحهجدولبهMMUاگر
.استدیسکرویبرصفحهکهشودمی متوجهببیند،
.افتدمیعاملسیستم(trap)تلهدرپردازندهحالتدراین
.گویندمیصفحهنقصخطایتله،اینبه
.استعاملسیستمعهدهبرآنمدیریت
9
فرادرس
FaraDars.org
عاملآموزش سیستم های
faradars.org/fvsft103
Page Faultهندل
10
فرادرس
FaraDars.org
عاملآموزش سیستم های
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
عاملآموزش سیستم های
faradars.org/fvsft103
1k=1024شاملصفحههروصفحه4k=4096شاملمجازیآدرسکهبگیریدنظردررابندیصفحهمجازیحافظهسیستمیک
(.استبیتی10آفست).استبایت
ازبخشی.شودمیتبدیلفیزیکیآدرسبهصفحهجدولطریقاز111222Hمجازیآدرس.استبایتفیزیکیحافظهاندازه
چیست؟فیزیکیآدرس.شودمیمشاهدهاینجادرصفحهجدول
182
12
:مجازیآدرس
:فیزیکیآدرس
H 17222: یعنی
H 444: شماره صفحه
5CH (01011100): شماره قاب
مثال
فرادرس
FaraDars.org
عاملآموزش سیستم های
faradars.org/fvsft103
الگوریتم های جایگزینی صفحه
(Page Replacement Algorithms)
13
فرادرس
FaraDars.org
عاملآموزش سیستم های
faradars.org/fvsft103
الگوریتم های جایگزینی صفحهدردموجوفرایندهایتمامکهرسیدخواهدزمانیمی کنداستفادهپویابندیبخشازکهایبرنامهچندسیستمیکدر
بادلهمخارجبهرااصلیحافظهداخلفرایندهایازیکیعاملسیستمحالتایندر.دارندقرارمسدودحالتدراصلیحافظه
استقرارهکفرایندیبایدعاملسیستم.شودایجادمعلقوآمادهفرایندیکیاجدیدفرایندیبرایکافیفضایتامی کند
.کندانتخابراشودجایگزین
14
فرادرس
FaraDars.org
عاملآموزش سیستم های
faradars.org/fvsft103
رایبصفحهیکانتخابدرباره،جایگزینیسیاستواقعدر
لداخبهجدیدصفحهیکاستالزمکهزمانیدر،جایگزینی
.می کندصحبتشودآورده
15
فرادرس
FaraDars.org
عاملآموزش سیستم های
faradars.org/fvsft103
الگوریتم های جایگزینی
(optimal)بهینه -1
(NRU)عدم استفاده در گذشته اخیر -2
(FIFO)خروج به ترتیب ورود -3
(Second Change)دومین شانس-4
(Clock)ساعت-5
(LRU)کمترین استفاده در گذشته نزدیک -6
16
فرادرس
FaraDars.org
عاملآموزش سیستم های
faradars.org/fvsft103
(optimal)الگوریتم بهینه
.گرفتنخواهدقراراستفادهموردطوالنیمدتبهکهشودمیجایگزینایصفحهروش، ایندر
.داردآیندهبینیپیشبه نیازچوننیست، اجراقابلبهینه، الگوریتم
.باشدمیمقایسهشاخصعنوانبهآنازاستفادهالگوریتم، اینشدنمطرحعلت
BO الگوریتم،ایندیگرنام (Belady Optimal)باشدمی.
17
فرادرس
FaraDars.org
عاملآموزش سیستم های
faradars.org/fvsft103
مثال
18
..استشدهرجوعزیرصفحاتبهترتیببهبرنامهیکدربندی،صفحهحافظهسیستمیکدر
Page)صفحهقابسهبرنامهاینبرای Frame)شودگرفتهنظردر.
Page)صفحهخطاهایتعداد Faults)=فرادرس؟
FaraDars.org
عاملآموزش سیستم های
faradars.org/fvsft103
NRUالگوریتم
NRU ( Not Recently Used)
چهاربهراصفحات،(M)اصالحو(R)ارجاعهایبیتوضعیتاساسبرعامل سیستمدهد، میرخصفحهنقصوقتیروشایندر
میانتخابرا، باشدکمتریشمارهبادستهدرکهکالسیازراایصفحه،تصادفیطوربهسپسوکندمیتقسیمزیر، شکلمطابقکالس
.کند
19
دورهابتدایازاولدرجهدرکهشودمیانتخابایصفحهواقعدر
تغییرحافظهبهورودهنگام ازدوم،درجهدرواستنشدهجاری، استفاده
ونگرفتهقراراستفادهمورداخیرا،0شمارهدستهبهمتعلقصفحه.استنکرده
.باشدمیانتخاببهترینعلتهمینبه.استنکردهتغییر
.شودنوشتهبایدجایگزینیازقبلباشد،یکآناصالحبیتکهایصفحه
فرادرس
FaraDars.org
عاملآموزش سیستم های
faradars.org/fvsft103
20
.شود0ساعت،وقفهیکدرRبیت، 3کالسدرکهدهدمیرخ زمانی،1کالس
.خیرایشودنوشتهدیسکدردوبارهبایدصفحهاینآیاکهاستایندهندهنشانبیتاینچونکند، نمی0راMبیتساعت،وقفه
فرادرس
FaraDars.org
عاملآموزش سیستم های
faradars.org/fvsft103مثال.باشدمیصفحهقابچهاردارایکامپیوتریاصلیحافظه
قابازیککداممحتویاتترتیببهNRUجایگزینیالگوریتمتحتدهد،رخ319زماندر4شمارهمجازیصفحهرویصفحهخطایاگر
شوند؟جابجابایستی، هاصفحه
21
.داردقرارکمتریشمارهبادستهدرچونشود،میانتخاب2صفحه،NRUروشدر
.استگرفتهانجامآنهاهمهبینگیریتصمیمهستند،موجودهاصفحههمه،319یعنیصفحه، خطایدادنرخزماندرچون
فرادرس
FaraDars.org
عاملآموزش سیستم های
faradars.org/fvsft103
FIFOالگوریتم
ظرمنتبیشتریزمانکه شودجایگزینایصفحه، (ورودترتیببهخروج)روشایندر
.استبوده
افظهحواردکهایصفحهوکردهانتخابراصفابتدایدرموجودصفحهجایگزینی،برای
.کنیممیاضافهصفانتهایبهراشده
22
فرادرس
FaraDars.org
عاملآموزش سیستم های
faradars.org/fvsft103
مثال
23
فرادرس
FaraDars.org
عاملآموزش سیستم های
faradars.org/fvsft103
مثال
24
فرادرس
FaraDars.org
عاملآموزش سیستم های
faradars.org/fvsft103
الگوریتم دومین شانس
اگردهد،میرخصفحهنقصوقتیکهتفاوتاینبا.باشدمیFIFOمانندشانس،دومینالگوریتم
رکااینبا.شودمیمنتقللیستانتهایبهصفحهوشده0بیتاینبود،1صفحه، ترینقدیمیRبیت
.استشدهدادهایدوبارهشانساوبه
.شودمیتبدیلFIFOبهشانسدومینالگوریتمباشد،1صفحاتهمهRبیتاگر
25
فرادرس
FaraDars.org
عاملآموزش سیستم های
faradars.org/fvsft103
مثال:2مجازیصفحهشمارهبهارجاع
.شوندمیمنتقلصفانتهایبههاصفحهوکردهصفرراآناست،1چون5و4هایصفحهRبیت
میاضافهصفانتهایدرآنجایبهرا2صفحهوکردهخارجحافظهازراصفحهاست،صفرآنRبیتچونکهایمرسیده7صفحهبهحال
.کنیم
.دهیممیقرار1رادوصفحهRبیت
26
فرادرس
FaraDars.org
عاملآموزش سیستم های
faradars.org/fvsft103
الگوریتم ساعت
بهآنردنکاضافهولیستابتدایازصفحه حذفعلتبهامابود،قبولیقابلالگوریتمشانس،دومینالگوریتمچهاگر
الگوریتمدر.شودمیاستفادهچرخشیلیستازمشکلاینحلبرای.استهزینهپرروشیلیست، انتهای
بهاعتسعقربهکهطوری بهشود،مینگهداریساعتیکشکلبهوحلقویصورتبهصفحاتپیوندی لیستساعت،
.کندمیاشارهصفحهترینقدیمی
27
:دهدمیرخحالتدوکهکردهنگاهشده،اشارهآنبهعقربهتوسطکهایصفحهRبیتبه، دهدمیرخصفحهنقصوقتی
میجلوبهعقربهوشدهجایگزینمکانهماندرجدیدصفحهوشدهخارجنظرموردصفحهباشد، R،0بیتاگر-الف
.رود
.کردخواهداشارهبعدیصفحهبهعقربهوشده0آنگاهباشد، R،1بیتاگر-ب
فرادرس
FaraDars.org
عاملآموزش سیستم های
faradars.org/fvsft103
28
فرادرس
FaraDars.org
عاملآموزش سیستم های
faradars.org/fvsft103مثالالگوریتمازعاملسیستماگر.دارندقرارهاآندرمجازیصفحاتزیرجدولمطابقکهاستصفحهقاب4دارایسیستمی
شود؟جایگزینبایدمجازیصفحهکدامباجدیدصفحهصفحه،نقصوقوعصورتدرنماید،استفاده(Clock)ساعت
R شماره صفحهدرحافظهزمان بارگذاری صفحه
1501030212030404
وشده0آنRبیتاست،1آنRبیتچون.است3صفحهیعنیصفحهترینقدیمیرویبرعقربهابتدا
.رودمی2صفحهرویبروکندمیحرکتجلوبهعقربه
.شودمیجایگزینصفحهاینباجدیدصفحهاست،صفر، 2صفحهRبیتچون
29
فرادرس
FaraDars.org
عاملآموزش سیستم های
faradars.org/fvsft103
LRUالگوریتم
LRU(Leastروشدر Recently Used طوالنیمدتبرایکهشودمیجایگزینایصفحه،(
.استشدهمراجعهآنبهدورتریگذشتهدریعنی.استنگرفتهقراراستفادهمورد
30
فرادرس:مثال
FaraDars.org
عاملآموزش سیستم های
faradars.org/fvsft103
مثال
31
فرادرس
FaraDars.org
عاملآموزش سیستم های
faradars.org/fvsft103
مثال.استدادهرخ4صفحهبرایصفحهخطاییک.استیافتهتخصیصقابچهارفرایندیبه
؟شوندمیانتخابجایگزینیبرایایصفحهچهترتیببهLRUوFIFOحافظهمدیریتسیاستبرای
32
.3صفحهیعنیشودمیانتخاباستکمترهمهازحافظهدرآنشدنبارزمانکهایصفحهFIFOروشدر
.2صفحهیعنیشودمیانتخاباست،کمترآنبهمراجعهآخرینزمانکهایصفحهLRUروشدر
.استها بر حسب ضربان ساعت و از شروع فرایند در زمان صفر زمان
فرادرس
FaraDars.org
عاملآموزش سیستم های
faradars.org/fvsft103
Belady's )تناقض بلیدی anomaly)
واقعدر.دگوینمیبلیدیتناقضپدیدهاینبهکهنشودکمصفحهخطایقابها،تعدادافزایشبااستممکنFIFOروشدر
:نکندپیرویزیر،نمودارازاستممکنFIFOالگوریتمکهاستمعنیاینبهبلیدیتناقض
33
. رخ نمی دهد BO , LRUتناقض بلیدی در الگوریتم های
فرادرس
FaraDars.org
عاملآموزش سیستم های
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
عاملآموزش سیستم های
faradars.org/fvsft103
تعریف
nبرایحافظهدرموجودصفحاتازایمجموعهآن،درکهاستالگوریتمی،ایپشتهالگوریتم
.بودخواهندحافظهدرقابn+1برایکهاستصفحاتیازایمجموعهزیرهمیشهقاب،
35
.شوندنمیبلیدیتناقضدچارهیچگاهایپشتههایالگوریتم
فرادرس
FaraDars.org
عاملآموزش سیستم های
faradars.org/fvsft103
(Segmentation with paging)بندی قطعه بندی صفحه
می شودتقسیمقطعهتعدادیبهآدرسفضای
.می شوندتقسیمصفحهتعدادیبهنیزقطعههرو
.داردوجودصفحهجدولچندوقطعهجدولیکفرایندهربرای
:مجازیآدرس
:فیزیکیآدرس
شماره قطعه شماره صفحه هآفست درون صفح
قابشماره هآفست درون صفح
36
فرادرس
FaraDars.org
عاملآموزش سیستم های
faradars.org/fvsft103
بندی قطعه بندی صفحه
37
فرادرس
FaraDars.org
عاملآموزش سیستم های
faradars.org/fvsft103
مثال
.شودمیمدیریتشدهبندیصفحهقطعاتروشباکهبگیریدنظردررابایتی512صفحاتباو8KBاندازهبهحافظهیک
:مجازیآدرسبامتناظرفیزیکیآدرساستمطلوب
38
.شودمیمشخص0088یعنیPTBAمقداروکردهمراجعهقطعهجدولدر1اندیسبهاست1قطعهشمارهچون
کهصفحهقابشمارهوکردهمراجعهسومسطربهشودمیشروع0088آدرسباکهدومستوندرحافظه،دراست، 2صفحه شمارهمجازی،آدرسدرچونحال
.شودمی، مشخصاست9Hبرابر
فرادرس
FaraDars.org
عاملآموزش سیستم های
faradars.org/fvsft103
پایان
39
فرادرس
FaraDars.org
عاملآموزش سیستم های
faradars.org/fvsft103
عاملآموزش سیستم های
faradars.org/fvsft103
40
این اسالید ها بر مبنای نکات مطرح شده در فرادرس« آموزش سیستم های عامل»
.تهیه شده است
.برای کسب اطالعات بیشتر در مورد این آموزش به لینک زیر مراجعه نمایید
فرادرس
FaraDars.org