صفحه 1:
فصل 9: حافظه مجازی
صفحه 2:
م
7 5
8 حافظه مجازی: جداسازی حافظه منطفی کاربر از حافظه فیز,
© برای اجرای برنامه تنها قسمتی از آن باید در حافظه قرار گیر
؟ بنابراین می توان فضای حافظه منطقی را بسیار بزرگتر از
فضای حافظه فیزیکی در نظر گرفت.
© اجازه می دهد فضاهای آدرس توسط چندین پردازه به اشتراک
گذارده شوند.
© اجازه می دهد پردازه ها به صورت بهینه تری ایجاد شوند.
1# می توان حافظه مجازی را به دو طریق ایجاد کرد:
۴ روش تقاضای صفحه
© روش تقاضاى قطعه
: وه و میت زیم یرو ی بر x, Boker cred
صفحه 3:
حافظه مجازی بزرگ تر از حافظه فيزيكرأعها
physical
memory
00 لسر م بج وه و۱۳۹
صفحه 4:
فضای آدرس مجازی
۳ Oches el Berre ODDO
ee
ee مرس 0 ی وج
صفحه 5:
مجازی
shared library shared library
‘iii ais Pas اممف سسا ساو هه Berre ODDO
صفحه 6:
م
روش تقاضاى صفحه عي
1# زمانى يى صفحه به حافظه منتقل مى شود كه مورد نياز باشد.
© نياز به عمليات ورودى/خروجى كمتر
© نياز به حافظه كمتر
؟ پاسخ سريعتر
۴ کاربران بیشتر
1# وقتی صفحه ای مورد نیاز باشد به آن ارجاع می شود.
© ارجاع به آدرس نادرست - توقف
فقدان صفحه در حافظه آوردن صفحه به حافظه
1# جا به جا کننده ی کند- تنها در صورتی صفحه را داخل حافظه
بازگذاری فى كتدكة به أ نتصفعة ناز باسند.
هم
Berre ODDO اممف سسا ساو هه وجو عو iin ني
صفحه 7:
انتعال یف حافظه صفحه ای به
یکپارچه روی دیسک
swap out 0D 10 26 30
كه كاه كله
9210001110 لزة
12213211491500
]151217015019 مومس -
20212222510
صفحه 8:
م
لم
اعتبار i?
لا به هر مدخل جدول صفحه یک بيت اعتبار اختصاص داده
مى شود.
Crowe # dicta bt
اتمایی از نگ جدول تفه
ke جر
اگر در زمان ترجمه آدرس بیت اعتبار صفحه صفر
, خطای ty (Page Fault) ario مى دهد.
موادت طسق هه iin Ps ونيو
صفحه 9:
جدول صفحه وفتی برخی صفحات
۳ Oches el Berre ODDO
vvalidinvalid
bit
page table
frame
H
logical
memory
‘iii ais Pas
صفحه 10:
م
خطای صفحه 4
1# اگر به صفحه ای ارجاع شود, اولین ارجاع به آن صفحه به
سیستم ال ارسال ,جت شود.
ال سیستم عامل به جدول دیگری مراجعه می کند...
© ارجاع نادرست © توقف.
© عدم حضور صفحه در حافظه
٠١ سيستم عامل يكى قاب حافظه خالى مى كيرد.
١ صفحه مورد نظر را به قاب منتقل مى كند.
* جداول را #«ج كرده بيت اعتبار را مساوى یک قرار مى
دهد.
* دستورالعمل را از ابتدا اجرا می کند.
“AA
‘iii ais Pas هو ۳ Oches el Berre ODDO
صفحه 11:
page is on
backing store
operating
system
reference
©
0
restart | page table
instruction
free frame
© 90
reset page bring in
table missing page
physical
‘ipa aie Pac ea ۳ Ocbes ed Berre ODDO
صفحه 12:
8 نرخ خطای صفحه عددی بین صفر و یک است.
؟ اگر 0 < م خطای صفحه نداریم.
® 751 = م تمام ارجاع ها خطا هستند.
٩ زمان دسترسی کارا:
EAT = (1 - p) x memory access
p { page fault overhead +
[swap page out ] +
swap page in +
restart overhead} +
“A
on هه ۳ Oches el Berre ODDO
صفحه 13:
متالی از روش تقاضای صفحه_ وب
1# زمان دسترسی به حافظه: 200 نانوثانیه
Ml متوسط زمان سرویس خطای صفحه
EAT = (1 - p) x 200 + p (8 milliseconds) @
=(1-p x 200 + px 8,000,000
px 7,999,800 + 200 =
551 در هر 1000 بار دسترسی به حافظه, یک خطای
صفحه رخ دهد,
EAT= 8.2 microseconds
برابر کند شده است! 6۴
Berre ODDO اممف سسا ساو 53 وجو عو iin ني
صفحه 14:
م
ایجاد پردازه و
برخی دیگر از مزایای حافظه مجازی به زمان ایجاد
پردازه مربوط می شوند:
©كيى هنگام نوشتن
© فايل هاى در حافظه نكاشت شده
Gore COTO اس مله مسا ساو
25201111111
صفحه 15:
نون ان سس وی
1# کپی هنگام نوشتن به پردازه های پدر و فرزند اجازه می
هد در ابتدای اجرا از صفحه های حافظه مشترک استفاده
٩ هرگاه یک پردازه خواست رو ی صفحه تغییری بدهد, یک
نسخه از أن كيى مى كند.
1# كبى هنكام نوشتن کارایی ایجاد پردازه را بالا می برد زیرا
فقط صفحات تغییرکرده کپی می شوند.
#! معمولا صفحات مورد نیاز از یک استخر ([2001) از
صفحاتی که با صفر مقداردهی شده اند اختصاص می یابد.
FR
Oches el Berre ODDO ۳ 0.09 وجو عو iin ني
صفحه 16:
فبل از انثه پردازه 1 صعفحه ! را
دهد.
physical
process, memory process,
page A
page B
page C
‘iii ais Pas وه ۳ Oches el Berre ODDO
صفحه 17:
jlo pq el jl am + صقخه لا وا مر
داد. على
physical
process, memory process,
page A
page B
page C
eae ۳ Oches el Berre ODDO وجو عو iin ني
صفحه 18:
چه اتقافی مي افتد اکر قاب خالی وج یی
م
8 جابجایی صفحه: صفحه ای را که در
حافظه اصلی قرار دارد اما از آن استفاده
نمی شود یافته و آن را با صفحه مورد نظر
جابجا کن.
تعداد خطای صفحه منجر شود.
1#! ممکن است یک صفحه چندین بار به درون
حافظه منتقل شود.
‘iii ais Pas موه ۳ Oches el Berre ODDO
صفحه 19:
كا كاي ans, ص
8 برای جلوكيرى ار اختضاض ان حافظة ايند شن از فضاى
موجود, روال سرويس ى اید به گونه ای تغییر
كند كه جا بجايى صفحة :زا نيز دن بر بكيرد.
1# از بيت تغيير (يا كثيف) استفاده مى كند تا سربار انتقال
صفحه را كاهش دهد.
© تنها صفحاتى كه تغيير كرده اند روى ديسك نوشته مى
© جابجايى صفحه جداسازی حافظه منطقى و حافظه فيزيكى
را تکمیل می کند. °
یک حافظه مجازی بزرگ روی یک حافظه فیزیکی
6
وجو عو iin ني
صفحه 20:
physical
memory
Valid-invalid
bit
0
3
4
5
۷
۷
۷
i
page table
for user 1
valid—invalid
bit
NY
6 |y|
i
2
7 [۷
page table
for user 2
logical memory
for user 1
frame
A
B
D
E
logical memory
for user 2
صفحه 21:
خانخانی متفه آنتذانق م
1 مکان صفحه مورد نظر را روی دیسک پیدا کن.
2 یک قاب صفحه خالی پیدا کن.
4 اگر قاب خالی پیدا شد از آن استفاده کن.
2 اگر قاب خالی پیدا نشد, از یک الگوریتم جابجایی
صفحه استفاده کن تا یک قاب به عنوان قربانی
انتخاب شود.
3 صفحه مورد نظر را به قاب خالی منتقل کن و جداول
قاب و صفحه را به روز کن.
4 پردازه را از ابتدا آغاز کن.
Oches el Berre ODDO ۳ 99 وجو عو iin ني
صفحه 22:
valid-invalid bit مرها
د
swap out
change vietim
fi | O10 invalid page 6
0 —
victim 4 |1 0
reset page
table for
page table
0 9
desired
page in
physical
‘iii ais Pas موه ۳ Oches el Berre ODDO
صفحه 23:
م
الكوريتم هاى جابجايى صفحه ۶و
#ل يايين ترين نرخ خطاى صفحه مورد نظر است.
8 ارزیابی با اجرای الگوریتم روی یک رشته ارجاع به
حافظه و شمارش خطاهای صفحه رخ داده.
#ظا در مثال هاى اين بخش رشته ارجاع به صورت زير
است:
كاك ار ;0,8 ;2 كار
‘iii ais Pas موه ۳ Oches el Berre ODDO
صفحه 24:
تاد بسن سای سر و جیار وس اک
number of page faults
8
6
4
2
4
Oches el Berre ODDO ۳ موه جه عون وهو دوه وس و0
صفحه 25:
الگوریتم اولین ورودی؛ اولین خروب 9
1# رشته ارجاع:
8 96 9 که با
aw Mf قاب: چهار قاب:
9 خطای صفحه 0 خطای صفحه
٩۱| »© 1۱۱ ©
0 |۱6 8 6 ۱6۱
© 96| 9 || ه
1# اين روش (762136672624 15170) جا أ 057 است.
قاب های بیشتر > خطاهای صفحه بیشتر
وجو عو iin ني
Oches el Berre ODDO ۳ موه
صفحه 26:
جابجایی صفحه الگوریتم اولین ورودی, ۱ p>
خروجی 9
reference string
7 0 1 2 0 3 0 4 2 3 03 2 1 2 0۵ 1 7 0 1
۶۱ ۶۱ ۵ 2 2۱ 2 4۱ ۱4۱ 0 0۱ 0 ۵ زا ۳
0۱ ۱۵| ۵ 3| ]3 2| 2| 2 11 1 0| 60
11 160 0| ۱3۱ 3 3۱ ۵ 2| 2| 1
age frames,
‘iii ais Pas موه ۳ Oches el Berre ODDO
صفحه 27:
الگوریتم اولین ورودی, اولین خروجی لوا
3 4
number of frames
eer
T of page faults
3
num
جه عون وهو دوه وس و0
صفحه 28:
م
الكوريتم جابجايى بهينه 2 PP
1 صفحه اى را جابجا كن كه تا طولانى ترين زمان ممكن مورد
ارجاع قرار نمى كيرد.
8 مثال با چهار قاب:
6.66 ;6,4,8 ,44,8 /19,'9
anno خطای
۵ | 6
| ۵
sw سنجش کارایی سایر الگوریتم ها به کار می رود.
‘iii ais Pas موه ۳ Oches el Berre ODDO
صفحه 29:
۳ Oches el Berre ODDO
موه
7 0 4
age frames
‘iii ais Pas
صفحه 30:
الگوریتم کمترین اخبرترريين مورد استفاده
8 رشته ارجاع:
5 | ۵ | ۵
9
1# پیاده سازی با استفاده از شمارنده:
۴ هر مدخل صفحه یک شمارنده دا
مساوی ساعت پردازنده قرا
0
5
e
9
0
6
6
9
qa
6
9
۰
ارد
0
5 | ۵ | 9
م
21 ق 4 1, 2 2:15 ج54
که در هر بار ارجاع
ار می
٩ برای جابجایی صفحات. صفحه قربا
شمارنده انتخاب می شود.
“A
Oches el Berre ODDO ۳ موه
بیرد.
نی بر اساس اين
‘iii ais Pas
صفحه 31:
جابجایی صفحات در الگوریتم کمترین gph, aol
مورد استفاده (۲۸۵
relerence string
701 2 0 3 0 4 2 3 0 3 2 1 2 0 1 70 4
۶ 2 2 4) ۱4| 4, 0 1 1 1
0۱ ۱۵۱ ۵ 0 0۱ ۱0۱ 3 3 0 0
| |]1 3 3۱ 2 ۵2۱ 2 =
page frames
‘iii ais Pas موه ۳ Oches el Berre ODDO
صفحه 32:
الكوريتم کمترین آخیرترین مورد است
(۸۵) (ادامه)
Ml پیاده سازی با استفاده از پشته: یک پشته از شماره صفحات را نگهداری کن.
© ارجاع به صفحه:
* انتفال صفحه به بالای پشته
* نیاز به جستجو برای جابجایی نیست.
‘iii ais Pas موه ۳ Oches el Berre ODDO
صفحه 33:
استفاده از پشته برای نگه داری اخیرترین ارجاعزيويى
صفحه ها
eference string
4 7 0
stack
before
a
‘iii ais Pas موه ۳ Oches el Berre ODDO
صفحه 34:
الگوریتم های ۷۲0 تقریبی 4
0 روش بیت ارجاع
© به هر صفحه يك بيت با مقدار اولیه صفر اختصاص بده,
© ارجاع به صفحه © بيت ارجاع < یک.
© يكى از صفحه هايى كه بيت ارجاع آنها صفر است را براى جابجايى
انتخاب کن.
* ترتیب را نمی دانیم.
1# روش فرصت (Second Chance) p9)
# نیاز به بیت ارجاع و برچسب ساعت دارد.
© اكر بیت ارجاع صفحه ای که کوچکترین برچسب ساعت را دارد یک
* بیت ارجاع را صفر کن و صفحه را جابجا نکن.
2 * بر اساس همین قوانین به سراغ صفحه بعدی برو.
oe. اممف سسا ساو ممه Berre ODDO
صفحه 35:
Teference pages
bits.
circular queue of pages circular queue of pages
موه يجمه عو موه دوه وس و0
صفحه 36:
مم
الكوريتم هاى شمارشى ِو
1# در یک شمارنده تعداد ارجاعات به هرصفحه را نگهدار.
LFU (Least Frequently Used) pixjgSJ| !# : صفحه اى را كه
کمترین شماره ارجاع را دارد جابجا می کند.
الگوریتم (7:60] Janu! yl L : MFU (Most Frequently
که صفحه ای که کوچکترین شماره ارجاع را دارد احتمالا به
تازگی به حافظه منتقل شده است و هنوز استفاده خواهد
شد, صفحه ای را که بیشترین شماره ارجاع را دارد جابجا
مى
Oches el Berre ODDO ۳ موه وجو عو iin ني
صفحه 37:
م
امعطاض سای 4
#! هر پردازه به تعداد حداقلی از صفحات نیاز دارد.
# مثلا 10060 برای هر دستور 0006 0 نیاز به 6
صفحه دارد.
* دستورات 6 بایتی, 2 صفحه
*دو صفحه برای مبدا
* دو صفحه برای مقصد
1# دو روش عمده: اختصاص ثابت و اختصاص اولویت دار.
“A
‘iii ais Pas eer ۳ Oches el Berre ODDO
صفحه 38:
م
FP (Pret Plrxtoa) اختصاص قاب ثابت
ll اختصاص برابر
6 پردازه و 100 قاب هر پردازه 20 قاب.
8 اگر برای پردازه ای یک خطای صفحه رخ داد...
یکی از قاب های همان پردازه را برای جابجایی
انتخاب کن.
یکی از قاب های پردازه با اولویت کمتر را برای
جابجایی انتخاب کن.
‘iii ais Pas موه ۳ Oches el Berre ODDO
صفحه 39:
FP (Ped Plots) Ce
5, =pize VP process p, — ۱
6 << اد ص به تسبت
اندازه پردازه ع
w =totdl of
ی
= ,= سح ,۲ ماع ره
2 و2
xox نو
9
عجوم ديه
wer
صفحه 40:
اختصاص قاب اولویت دار
| به جای استفاده از اندازه پردازه از یک معیار اولویت
برای اختصاص قاب به پردازه ها استفاده کن.
awald اگر برای پردازه ای یک خطای صفحه رخ a
یکی از قاب های همان پردازه را برای جابجایی
انتخاب کن.
یکی از قاب های پردازه با اولویت کمتر را برای
جابجایی انتخاب کن.
Oches el Berre ODDO ۳ همه وجو عو iin ني
صفحه 41:
م
اختصاص سراسری و محلی عي
(Blob vs. Loo @lovution)
wal سراسری (Cbbd repkewew) »> پردازه
Wo تواند یک قاب را از میان تمام قاب های موجود
در سیستم انتخاب کند.
یک پردازه می تواند از قاب یک پردازه دیگر
استفاده کند.
#ا در جابجايى محلى (Locd rephwewed) 52 پردازه تنها
می تواند از قاب های اختصاص داده شده به خود
استفاده کند.
‘iii ais Pas اممف سسا ساو ومو Berre ODDO
صفحه 42:
م
دور (Threshing) CSU 7ب
1# اگر یک پردازه به تعداد کافی صفحه در اختیار نداشته باشد.
نرخ خطای صفحه به شدت بالا می رود.
ae پایین پردازنده
* سیستم عامل تصور می کند لازم است درجه چندبرنامگی
را بالا ببرد.
٩ پردازه دیگری به سیستم اضافه می شود.
8 به حالتی که یک پردازه مدام مشغول جابجایی صفحات خود
باشد 117251:70 می گویند.
‘iii ais Pas موه ۳ Oches el Berre ODDO
صفحه 43:
م
دور ریختن (بببام) 7
thrashing
=
28
5
احل
=
9
2
0
Berre ODDO اممف سسا ساو ومهة وجو عو iin ني
صفحه 44:
تقاضاى صفحه و دور ريختن له
a جرا صفحه بندى موثر است؟
© مدل موضعى (Locality Model) : یک پردازه از
یک موضع به یک موضع دیگر مهاجرت می كند.
#ممکن است چند موضع با یکدیگر همپوشانی داشته
باشند.
»| چرا we CT) Thrashing دهد؟
؟ مجموع اندازه موضع ها > کل اندازه حافظه
‘iii ais Pas eee ۳ Oches el Berre ODDO
صفحه 45:
tte سس ف]
el ای
۱
7 tt ۳ 1
۱ ا nin
صفحه 46:
م
مدل مجموعه کاری (6,ده) 7ب
8 ۸ یا مجموعه کاری به صورت تعداد ثابتی ارجاع به حافظه مشخص
می شود, مثلا 10000 دستور.
Ooo, 1# (مجموعه کار پردازه ) را به صورت تعداد صفحاتی که در
آخرین مجموعه کاری مورد ارجاع قرار گرفته اند تعریف می کنیم.
* اگر ۸ خیلی کوچک باشد, تمام یک موضع (0017]) را شامل نمی شود.
۴ اگر ۵ خیلی بزرگ باشد, چندین موضع را شامل می شود.
© اگر ۸ بی نهایت باشد, تمام برنامه را شامل می شود.
8 6 0-2 مجموع قاب های مورد نیاز می باشد.
8 اگر ه بزرگتر از اندازه (trashing) yxy 492 wil absbl &
no دهد.
# راه حل: معلق کردن یکی از پردازه ها
‘iii ais Pas موه ۳ Oches el Berre ODDO
صفحه 47:
| تخمین با استفاده از زمان سنج وقفه ای و یک بیت ارجاع
» متال: 400000 < ۸
زمان سنج پس از هر 5000 واحد زمانی یک وقفه می زند.
© براى هر صفحه دو بيت در حافظه در نظر بكير.
© با هر وقفه مقدار بيت هاى ارجاع را كيى و سيس همه بيت
هاى ارجاع را صفر
٩ اگر هر یک از اين بیت ها در حافظه یک بود, صفحه در
مجموعه کاری پردازه است.
#ا اين مدل دقيق نيست, براى بهبود 10 بيت در نظر بكير و هر
0 واحد زمانى وقفه ايجاد شود.
‘iii ais Pas اممف سسا ساو جهو Berre ODDO
صفحه 48:
08 نرخ خطای صفحه قابل قبول را مشخص کن.
© اكر نرخ واقعی خیلی پایین » قاب های آن پردازه را کم کن.
© اكر نرخ واقعی خیلی بالات قاب های آن پردازه را زیاد کن.
increase number
of frames
upper bound
lower bound
decrease number
of frames
Oches el Berre ODDO ۳ موه وجو عو iin ني
صفحه 49:
مدل مجموعه کاری
page reference table
...2 61 57777 51623412344434 34441 44۰
| I
WS(t,) = {1 256.7}. WS(t,) = {3,4}
‘iii ais Pas موه ۳ Oches el Berre ODDO
صفحه 50:
م
PP در حافظه نكاشت شده sla Lbs
Ml دراایی مگانیرم یک بلوکتروی دسنگ یه زک جمحدور حاقطة
& فایل های در حافظه نگاشت شده اجازه می دهد عملیات ورودی/خروجی
روی فایل به صورت عملیات دستیابی به حافظه انجام شود.
»| این فایل ها با روش تقاضای صفحه خوانده می شوند.
قسمتی از فایل که به اندازه ی صفحه است, از سیستم فايل به یک صفحه ی
فیزیکی خوانده فق شود بة حافظه اضلى منتقل مى شود.
٩ دستیابی های بعدی به صورت دستیابی معمولی به حافظه انجام می شوند.
1# این روش دستیابی به پرونده را با جایگزینی دستورات دستیابی به
حافظه به جای فراخوانی های سیستمی ام( و« () تسهیل می
کند.
#" همچنین اجازه می دهد چندین پردازه یک فایل را به اشتراک
بگذارند.
ia.
‘iii ais Pas موه ۳ Oches el Berre ODDO
صفحه 51:
۳ Oches el Berre ODDO
99
‘iii ais Pas
3
3
physical memory
process B
virtual memo
صفحه 52:
process,
memory-mapped
file
shared
memory
موه
process,
‘iii ais Pas
صفحه 53:
م
اختصاص حافظه ى عت وب
#" متفاوت با حافظه ى كاربر با آن برخورد مى شود.
1# معمولا از يى استخر حافظه ى آزاد اختصاص مى يابد.
© كرنل درخواست حافظه براى ساختارهاى با اندازه هاى
متفاوت مى كند.
© بعضی حافظه های کرنل, باید پیوسته باشند.
هم
‘iii ais Pas موه ۳ Oches el Berre ODDO
صفحه 54:
لا حافظه را از بخش هایی با اندازه ی ثابت که شامل صفحات به
طور فیزیکی پیوسته اند, اختصاص می دهد.
8 حافظه ی اختصاص داده شده از اختصاص دهنده ی توان 2
استفاده می کند.
۰ در خواست ها را در واحد هایی a اندازه ی توانی از 2 بر آورده می
© در خواست تا نزدیک ترین توان 2 بزرگتر گرد می شود.
٩ وقتی اختصاص کوچکتری از آنچه در دسترس است نیاز است, بخش
فعلى به دو قسمت به اندازه ی نزدیکترین توان کوچکتر 2 تقسیم می
شوند.
* این روش ادامه می یابد تا بخش هایی با اندازه ی مناسب ایجاد شود.
‘iii ais Pas موه ۳ Oches el Berre ODDO
صفحه 55:
1۳ buddy اختصاص دهنده ی سیستم
Physically contiguous pages
‘iii ais Pas موه ۳ Oches el Berre ODDO
صفحه 56:
م
اختصاص دهنده ی بو رو
روش جایگزین
یکی ا چند صفحه ی فیزیکیپ یوسته است
06 شمملی کی ا چند 12: است
یک 6206 برای هر ساختمان داده ی یکتای کرنل
* هر 206 با شیء ها پر شده است- نمونه های ساختمان داده
وقتی 02016 ساخته می شود پر از اشیائی است که آزاد شناخته می شوند.
وقتی ساختار ذخیره می شود, اشیا به عنوان مصرف شده شناخته می
شوند.
اگر slab پر از اشیاء مصرف شده باشد, شیء بعد slab jl خالی اختصاص
ub wo
* اگر وله خالی نبود, 5/2 جدید اختصاص می یابد.
مزایا : بدون فضای قطعه قطعه, اختصاص سریع حافظه
“A
‘iii ais Pas موه ۳ Oches el Berre ODDO
صفحه 57:
اختصاص به روش ك2 أعيها
kernel objects caches
physical
contiguous}
pages
‘iii ais Pas eer ۳ Oches el Berre ODDO
صفحه 58:
م
7
سایر موارد - پیش صفحه بندی
ag پیش صفحه بندی (وصنودمع)
۴ بزای جلوگیری از تعداد زیاد خطای صفحه که در زمان شروع
اجرای یک پردازه ایجاد می شود..
* راه حل: تمام يا تعدادی از صفحات مورد نیاز پردازه را قبل از آنکه
مورد ارجاع قرار بگیرند ِ
اما اگز این ضفحات از قبل آمادهشده جورد استفاده قزاز نگیرند:
ورودی/خروجی و حافظه اتلاف شده است؛
٩ فرض کنید « صفحه پیش صفحه بندی شده و » صفحه مورد
stad قرار گرفته است
* هزینه ی 0* < برای جلوگیری از خطای صفحه بیشتر است
٠ يا (ه -6) * > هزینه ی صفحات غیر لازم؟
* اگر ه نزدیک 0 باشد, بيش صفحه بندى شكست خورده است.
Oches el Berre ODDO ۳ موه وجو عو iin ني
صفحه 59:
سایر موارد - اندازه ی صفحه 4
8 انتخاب اندازه صفحه
# موثر بر قطعه قطعه گی
8 اندازه جدول صفحه
© سربار ورودی/خروجی
© روا
هم
‘iii ais Pas موه ۳ Oches el Berre ODDO
صفحه 60:
pee: Bl موارد - حافظه ply
توسط ۵ وب
TLB (TLB Reach) laws; حافظه قابل دسترسی 1#
TLB Reach = (TLB Size) X (Page Size) ®
# ایده آل آن است که مجموعه کاری هر پردازه در 71 ذخیره شود,
* در غیر این صورت نرخ خطای صفحه بالا می رود.
1# می توان حافظه قابل دسترسی توسط 118 را با افزایش اندازه
صفحه افزایش داد.
© افزايش قطعه قطعه گی در پردازه های نیازمند به صفحات کوچک
& راه حل: استفاده از اندازه صفحات در اندازه های مختلف
aly a’ هایی که اندازه ی صفحه بیشتری نیاز دارند, شانس
استفاده از صفحات بزرگتر بدون افزايش قطعه قطعه گی می
موه وجو عو iin ني
صفحه 61:
م
معلیر عجار - تتداستار بیجامت .وب
1# ساختار برنامه:
Int[128,128] data;
۴ هر سطر در یک صفحه ذخیره شده است.
# برنامه یک:
for (j = 0; j <128; j++)
for (i 1 > 128; i++)
datali,j 0
؟ تعداد خطای صفحه: 128 0,90(= 80( x
# برنامه دو:
for (i = 0; i < 128; i++)
for (j =
data[i,j] =
# تعداد خطای صفحه: 128
“A
‘iii ais Pas وه ۳ Oches el Berre ODDO
صفحه 62:
سایر موارد - فعل داخلی al
ورودی/خروجی #7
| برخی اوقات باید یک صفحه در حافظه اصلی قفل
شود و جابجا نشود.
sly ® مثال یک صفحه حافظه که برای کپی یک
فایل از یک ابزار استفاده می شود نباید توسط
الگوریتم های جابجایی صفحه برای خروج از
حافظه اصلی انتخاب شود.
‘iii ais Pas موه ۳ Oches el Berre ODDO
صفحه 63:
صفحاتی که اعمال ورودی/خروجی انجام اي
دهند نباید از حافظه خارج شوند.
‘iii موه وت رزیت ۳ Oches el Berre ODDO
صفحه 64:
بررسی یک سیستم عامل: Prine XO t
| از روش تقاضای صفحه به همراه گروه بندی (»ء)
one OSCE
گروه بندی باعث می شود صفحات پیرامونی صفحه ای که 9
خطای صفحه ایجاد کرده است نیز به درون حافظه آورده
شوند.
الا هر پردازه یک مجموعه کاری مینیمم و یک مجموعه کاری
زيمم دارد.
مجموعه كارى مينيمم حداقل تعداد صفحاتی است که یک ©
يردازه به صورت تضمينى در حافظه دارد.
یک پردازه مى تواند حداكثر به اندازه مجموعه كارى ٩
ماكزيمم صفحه داشته باشد.
Berre ODDO اممف سسا ساو هوه وجو عو iin ني
صفحه 65:
بررسی یک سیستم عامل: ۷ سط..
(ادامه) ی
Ml وقتی مقدار حافظه آزاد سیستم از یک مقدار آستانه
خاص کمتر می شود. روال ساماندهی خودکار
مجموعه کاری فراخوانى مى شود تا مقداری حافظه
آزاد کند.
© روال ساماندهی خودکار صفحاتی از مجموعه کاری
صفحات پردازه هایی را که بیش از مجموعه کاری
مینیمم خود صفحه دارند حذف مى كن
Berre ODDO اممف سسا ساو ههه وجو عو iin ني
صفحه 66:
بررسی یک سیستم عامل : Pyar Vow
1# لیستی از صفحات آزاد برای اختصاص به صفحات خطاخورده
نگهداری می کند.
Ml سس پارامتر آستانه (میزان حافظه ی آزاد) برای آغاز
صفحه بندی است.
سويت بارامتر آستانه برإوافزليشميزانصفحه بندىاست
© سجن پارلمتر آستانه ب راعش روع جابجاییص فحاناست
1# صفحه بندی با استفاده از پردازه سم انجام می شود.
تجح ضفحات:را با استفاده از الگوزیتم ساعت تغییریافته
8 سس نرخ پویش صفحه هاست. این نرخ بین پویش کند و
پویش تند تغيير مى كند. |
1# محسيه©) بسسته به میزانحافظه ی آزاد در دسترسف راخولنیمیشود.
FR
Oches el Berre ODDO ۳ موه وجو عو iin ني
صفحه 67:
scan rate
minfree desfree lotsfree
amount of free memon ورد
‘iii ais Pas موه ۳ Oches el Berre ODDO
صفحه 68:
پایان فصل نهم
Opin تخد :0 تسد يه a ey