‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫مدرس‬:‫فرشید‬‫شیرافکن‬
‫دانشجوی‬‫تهران‬ ‫دانشگاه‬ ‫دکتری‬
(‫ارشد‬ ‫کارشناسی‬ ‫و‬ ‫کارشناسی‬:‫افزار‬ ‫نرم‬ ‫کامپیوتر‬( )‫دکتری‬:‫انفورماتیک‬ ‫بیو‬)
‫ارشد‬ ‫کارشناسی‬ ‫کنکور‬
‫عامل‬ ‫سیستم‬(‫حافظه‬ ‫مدیریت‬)
(‫مرور‬-‫زنی‬ ‫تست‬)
1
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
2
‫است‬ ‫حافظه‬ ‫مدیریت‬ ،‫عامل‬ ‫سیستم‬ ‫وظایف‬ ‫از‬ ‫یکی‬.
‫عهده‬ ‫بر‬ ‫دیسک‬ ‫حافظه‬ ‫مدیریت‬ ‫و‬ ‫اصلی‬ ‫حافظه‬ ‫مدیریت‬‫ع‬ ‫سیستم‬‫امل‬
‫است‬.
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫ث‬ ‫پارتیشن‬ ‫با‬ ‫برنامگی‬ ‫چند‬‫ابت‬
3
‫یکی‬‫از‬‫معایب‬‫مدیریت‬‫حافظه‬‫به‬‫روش‬‫پارتیشن‬‫بندی‬،‫ایستا‬‫تکه‬‫تکه‬‫شدن‬‫داخ‬‫لی‬‫است‬.
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
4
‫مبادله‬
‫در‬‫روش‬‫مبادله‬،‫هر‬‫فرایند‬‫به‬‫طور‬‫کامل‬‫به‬‫حافظه‬‫اصلی‬‫آورده‬‫می‬‫شود‬‫و‬‫بعد‬‫از‬‫مدتی‬،‫اجرا‬‫به‬‫دیسک‬‫برگردانده‬‫می‬‫شود‬
(Swap in ,Swap out).‫شکل‬‫زیر‬‫نحوه‬‫عملکرد‬‫سیستمی‬‫را‬‫نشان‬‫می‬‫دهد‬‫که‬‫بر‬‫اساس‬‫مبادله‬‫کار‬‫می‬‫کند‬.
‫در‬‫پارتیشن‬‫بندی‬،‫پویا‬«،‫تعداد‬‫موقعیت‬‫و‬‫اندازه‬»‫پارتیشن‬‫ها‬‫متفاوت‬‫است‬.‫این‬‫انعطاف‬‫پذیری‬‫باعث‬‫بهبود‬‫بهره‬‫وری‬‫حافظه‬‫م‬‫ی‬‫شود‬.
‫در‬‫پارتیشن‬‫بندی‬،‫پویا‬‫به‬‫خاطر‬‫مبادله‬،‫حفره‬‫های‬‫متعددی‬‫در‬‫حافظه‬‫به‬‫وجود‬‫می‬‫آید‬‫که‬‫باعث‬‫اتالف‬‫حافظه‬‫می‬‫شود‬.‫به‬‫این‬‫م‬،‫شکل‬
‫تکه‬‫تکه‬‫شدن‬‫خارجی‬‫می‬‫گویند‬.
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫وقتی‬‫فرایندها‬‫و‬‫حفره‬‫ها‬‫در‬‫یک‬‫لیست‬‫مرتب‬‫شده‬‫بر‬‫اساس‬‫آدرس‬‫قرار‬‫می‬،‫گیرند‬‫الگوریتم‬‫های‬‫مختلفی‬‫جهت‬‫تخص‬‫یص‬
‫حافظه‬‫به‬‫یک‬‫فرایند‬‫وجود‬‫دارد‬.
1-‫اولین‬‫برازش‬(First fit)
‫جستجو‬‫از‬‫ابتدای‬‫حافظه‬‫شروع‬‫شده‬‫و‬‫فرایند‬‫در‬‫اولین‬‫حفره‬‫ای‬‫قرار‬‫داده‬‫می‬‫شود‬‫که‬‫در‬‫آن‬‫جا‬‫می‬‫شود‬.
2-‫برازش‬‫بعدی‬(Next fit)
‫مانند‬First fit،‫است‬‫با‬‫این‬‫تفاوت‬‫که‬‫جستجو‬‫از‬‫آخرین‬‫محل‬‫تخصیص‬‫شروع‬‫می‬‫شود‬.
3-‫بهترین‬‫برازش‬(Best fit)
‫تمام‬‫لیست‬‫جستجو‬‫می‬‫شود‬‫و‬‫فرایند‬‫در‬‫کوچکترین‬‫حفره‬‫ای‬‫قرار‬‫داده‬‫می‬‫شود‬‫که‬‫در‬‫آن‬‫جا‬‫می‬‫شود‬.
4-‫بدترین‬‫برازش‬(Worst fit)
‫تمام‬‫لیست‬‫جستجو‬‫می‬‫شود‬‫و‬‫فرایند‬‫در‬‫بزرگترین‬‫حفره‬‫ای‬‫قرار‬‫داده‬‫می‬‫شود‬‫که‬‫در‬‫آن‬‫جا‬‫می‬‫شود‬.
5
‫حافظه‬ ‫تخصیص‬ ‫و‬ ‫یابی‬ ‫مکان‬ ‫های‬ ‫الگوریتم‬
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫فرایند‬ ‫به‬ ‫فضا‬ ‫تخصیص‬16‫مگابایتی‬
6
‫مثال‬
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
12971820410
129718841012
12971884010
1297182406
First Fit
7
12971820410
129718841012
12978841010
1297284106
Next Fit
12971820410
097182041012
09718204010
0911820406
Best Fit
12971820410
129718841012
12978841010
697884106
Worst Fit
‫مثال‬
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
8
‫اگر‬‫لیست‬‫فضاهای‬‫خالی‬‫بر‬‫اساس‬‫اندازه‬‫فضاها‬‫مرتب‬،‫باشد‬‫سرعت‬Best fit،‫افزایش‬‫می‬‫یابد‬.
‫سرعت‬‫الگوریتم‬‫های‬Best fit‫و‬Worst fit‫پایین‬،‫است‬‫چون‬‫کل‬‫لیست‬‫باید‬‫جستجو‬‫شود‬.
‫در‬Next fit،‫حفره‬‫های‬‫بزرگ‬‫انتهای‬‫حافظه‬‫سریع‬‫تر‬‫شکسته‬‫می‬‫شود‬‫و‬‫در‬‫ورود‬‫فرایندهای‬‫بزرگ‬،‫بعدی‬‫مشکل‬‫ایجاد‬‫می‬‫شو‬‫د‬.
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫در‬‫زیر‬‫بلوك‬‫های‬‫خالی‬‫حافظه‬‫به‬‫ترتیب‬‫از‬‫چپ‬‫به‬‫راست‬‫نشان‬‫داده‬‫شده‬‫است‬:
40k , 25k , 45k , 50k , 60k , 40k
‫اگر‬‫درخواست‬‫های‬‫جدیدی‬‫برای‬‫چهار‬‫بلوك‬‫به‬‫اندازه‬‫های‬35k , 20k , 30k , 20k‫به‬‫ترتیب‬‫ذکر‬‫شده‬‫داده‬‫شود‬‫و‬‫از‬
‫روش‬Next Fit‫استفاده‬‫گردد‬‫و‬‫تخصیص‬‫از‬‫اول‬‫حافظه‬‫شروع‬،‫شود‬‫وضعیت‬‫حافظه‬‫بعد‬‫از‬‫این‬‫ها‬‫تخصیص‬‫توسط‬‫کدام‬‫گ‬‫زینه‬
‫به‬‫درستی‬‫مشخص‬‫شده‬‫است؟‬
406050452540
40605045252020
40605015252030
40603015252020
40253015252035
‫مهندسی‬‫کامپیوتر‬-‫دولتی‬79
1)20k , 25k , 15k , 15k , 60k , 40k
2)5k , 25k , 25k , 20k , 40k , 40k
3)20k , 25k , 15k , 30k , 25k , 40k
4)10k , 5k , 15k , 5k , 6k , 5k
9
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
10
‫صفحه‬‫بندی‬
(Paging)‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫بندی‬ ‫صفحه‬
‫حافظه‬‫اصلی‬‫به‬‫بلوکهایی‬‫با‬‫اندازه‬‫های‬‫ثابت‬‫به‬‫نام‬‫قاب‬(frame)‫تقسیم‬‫می‬‫شود‬.
‫حافظه‬‫منطقی‬‫به‬‫بلوك‬‫هایی‬‫با‬‫اندازه‬‫های‬‫یکسان‬‫به‬‫نام‬‫صفحه‬(page)‫تقسیم‬‫شود‬‫می‬.
‫اندازه‬‫صفحه‬‫و‬‫اندازه‬‫قاب‬‫توسط‬‫سخت‬‫افزار‬‫تعریف‬‫می‬‫شود‬.
‫وقتی‬‫یک‬‫فرایند‬‫به‬‫داخل‬‫حافظه‬‫آورده‬،‫شود‬‫می‬‫تمام‬‫صفحات‬‫آن‬‫به‬‫داخل‬‫قابهای‬‫موجود‬‫بار‬‫شوند‬‫می‬‫و‬‫یک‬‫ج‬‫دول‬
‫صفحه‬‫ایجاد‬‫شود‬‫می‬.
‫جدول‬‫صفحه‬،‫محل‬‫قاب‬‫هر‬‫صفحه‬‫از‬‫فرایند‬‫را‬‫مشخص‬‫کند‬‫می‬.
‫نقطه‬‫ضعف‬‫اصلی‬‫صفحه‬‫بندی‬‫تکه‬‫تکه‬‫شدن‬‫داخلی‬‫است‬.
11
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫بندی‬ ‫صفحه‬ ‫سیستم‬ ‫در‬ ‫آدرس‬ ‫ترجمه‬ ‫نحوه‬
12
‫آدرس‬‫منطقی‬:
1-‫شماره‬‫صفحه‬(P)
2-‫آفست‬(d)
‫آدرس‬‫فیزیکی‬:
1-‫شماره‬‫قاب‬(F)
2-‫آفست‬(d) ‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫مثال‬
‫یک‬‫فضای‬‫آدرس‬‫دهی‬‫منطقی‬‫شامل‬4‫صفحه‬‫است‬‫و‬‫هر‬‫صفحه‬‫حاوی‬2‫کلمه‬‫است‬.
‫این‬‫صفحات‬‫بر‬‫روی‬‫یک‬‫فضای‬‫آدرس‬‫دهی‬‫فیزیکی‬‫حاوی‬8‫قاب‬‫صفحه‬‫نگاشت‬‫شده‬‫است‬.
‫فضای‬‫آدرس‬‫دهی‬‫منطقی‬:
‫فضای‬‫آدرس‬‫دهی‬‫فیزیکی‬:
‫بنابراین‬‫آدرس‬‫منطقی‬3‫بیتی‬‫و‬‫آدرس‬‫فیزیکی‬4‫بیتی‬‫است‬.
3
4×2 = 8 = 2
4
8×2 = 16 = 2
13
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫مثال‬
‫در‬‫یک‬‫سیستم‬‫حافظه‬‫صفحه‬‫بندی‬‫با‬‫یک‬‫جدول‬‫صفحه‬‫حاوی‬64‫مدخل‬10‫بیتی‬‫و‬‫صفحه‬‫های‬512،‫بایتی‬
‫آدرس‬‫منطقی‬‫و‬‫فیزیکی‬‫چند‬‫بیتی‬‫است؟‬
‫اندازه‬‫حافظه‬‫منطقی‬=‫حاصل‬‫ضرب‬‫تعداد‬‫صفحات‬(‫تعداد‬‫مدخل‬‫ها‬)‫در‬‫اندازه‬‫هر‬‫صفحه‬:
‫اندازه‬‫حافظه‬‫فیزیکی‬=‫حاصل‬‫ضرب‬‫تعداد‬‫آدرسها‬‫در‬‫اندازه‬‫هر‬‫صفحه‬:
‫بنابراین‬‫آدرس‬‫منطقی‬15‫بیتی‬‫و‬‫آدرس‬‫فیزیکی‬19‫بیتی‬‫است‬.
6 9 15
64×512 = 2 ×2 = 2
10 19
2 ×512 = 2
14
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫در‬‫یک‬‫سیستم‬‫حافظه‬‫صفحه‬‫بندی‬‫ساده‬(Simple Paging)‫حافظه‬‫فیزیکی‬‫دارای‬‫بایت‬‫است‬.256،‫صفحه‬‫فضای‬
‫آدرس‬‫منطقی‬‫را‬‫تشکیل‬‫می‬‫دهد‬‫و‬‫اندازه‬‫صفحات‬1024‫بایت‬‫است‬.‫کدام‬‫یک‬‫از‬‫گزینه‬‫های‬‫زیر‬‫تعداد‬‫بیت‬‫های‬‫آدرس‬‫منطقی‬
‫و‬‫اندازه‬‫جدول‬‫صفحه‬‫را‬‫مشخص‬‫می‬‫کند؟‬
‫کامپیوتر‬ ‫مهندسی‬-‫دولتی‬86
1)18‫و‬ ‫بیت‬256‫عضو‬
2)18‫و‬ ‫بیت‬16‫کیلو‬‫عضو‬
3)24‫و‬ ‫بیت‬256‫عضو‬
4)24‫و‬ ‫بیت‬16‫کیلوعضو‬
10 18
256×2 = 2
‫بنابراین‬‫تعداد‬‫بیت‬‫های‬‫آدرس‬‫منطقی‬‫برابر‬18‫می‬‫باشد‬.
‫تعداد‬‫درایه‬‫های‬‫جدول‬‫صفحه‬‫برابر‬‫تعداد‬‫صفحات‬‫یعنی‬256‫است‬.
24
2
15
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫در‬‫یک‬‫سیستم‬‫صفحه‬‫بندی‬‫ساده‬‫که‬‫جدول‬‫صفحه‬‫آن‬512‫عنصر‬16‫بیتی‬‫شامل‬‫بیت‬(valid/invalid)
‫است‬‫و‬‫اندازه‬‫صفحات‬1‫کیلوبایتی‬،‫است‬‫به‬‫ترتیب‬‫اندازه‬‫فضای‬‫آدرس‬‫فیزیکی‬‫چقدر‬‫است‬‫و‬‫آدرس‬‫ف‬‫یزیکی‬
‫چند‬‫بیتی‬‫است؟‬
1)26 -2)25 -3)24 -4)16 -
‫از‬16،‫بیت‬15‫ماند‬ ‫می‬ ‫باقی‬ ‫صفحه‬ ‫قاب‬ ‫شماره‬ ‫برای‬ ‫بیت‬.
‫صفحه‬ ‫اندازه‬ ‫چون‬1KB‫افست‬ ،‫است‬10‫است‬ ‫بیتی‬.
‫فیزیکی‬ ‫آدرس‬ ‫های‬ ‫بیت‬ ‫تعداد‬ ‫پس‬:25=15+10
‫فیزیکی‬ ‫حافظه‬ ‫اندازه‬:
26
2
25
224
216
2
25
2
‫مهندسی‬IT-‫دولتی‬87
16
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫آدرس‬‫منطقی‬0001010010111010‫را‬‫در‬‫نظر‬‫بگیرید‬.‫با‬‫مدیریت‬‫صفحه‬‫بندی‬256‫صفحه‬‫ای‬‫برای‬‫یک‬‫حافظه‬‫با‬256‫قاب‬‫و‬‫استفاده‬‫از‬
‫جدول‬‫صفحه‬‫ای‬‫که‬‫در‬‫آن‬‫هر‬‫شماره‬‫قاب،یک‬‫چهارم‬‫شماره‬‫صفحه‬،‫باشد‬‫کدام‬‫گزینه‬‫درست‬‫است؟‬
1)‫اگر‬‫چه‬‫این‬‫روش‬‫نگاشت‬‫صفحه‬‫مشکل‬‫دارد‬‫ولی‬‫آدرس‬‫فیزیکی‬‫متناظر‬0000101010111010‫است‬.
2)‫اگر‬‫چه‬‫این‬‫روش‬‫نگاشت‬‫صفحه‬‫مشکل‬‫دارد‬‫ولی‬‫آدرس‬‫فیزیکی‬‫متناظر‬0000010110111010‫است‬.
3)‫این‬‫روش‬‫نگاشت‬‫صفحه‬‫بدون‬‫مشکل‬‫کار‬‫می‬‫کند‬‫و‬‫آدرس‬‫فیزیکی‬‫متناظر‬0000010110111010‫است‬.
4)‫این‬‫روش‬‫نگاشت‬‫صفحه‬‫بدون‬‫مشکل‬‫کار‬‫می‬‫کند‬‫و‬‫آدرس‬‫فیزیکی‬‫متناظر‬0000101010111010‫است‬.
‫مهندسی‬‫کامپیوتر‬-‫دولتی‬89
‫آدرس‬‫از‬‫دو‬‫قسمت‬8‫بیتی‬‫تشکیل‬‫شده‬‫است‬.
0000010110111010
17
0001010010111010
‫چون‬‫شماره‬‫قاب‬‫یک‬‫چهارم‬‫شماره‬‫صفحه‬،‫است‬‫قسمت‬‫قرمز‬‫را‬‫تقسیم‬‫بر‬4‫می‬‫کنیم‬(2‫بار‬‫به‬‫راست‬‫شیفت‬‫می‬‫دهیم‬.)
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫این‬‫روش‬‫اشکال‬‫دارد‬.
‫چون‬‫یک‬‫شماره‬‫قاب‬‫برای‬‫هر‬‫چهار‬‫شماره‬‫صفحه‬‫ایجاد‬‫می‬‫شود‬(‫تصادف‬).
‫برای‬،‫مثال‬‫شماره‬‫صفحات‬0‫تا‬3‫را‬‫در‬‫نظر‬‫بگیرید‬:
‫هر‬‫کدام‬‫از‬‫این‬‫شماره‬‫صفحه‬‫ها‬‫را‬‫دو‬‫بار‬‫به‬‫راست‬‫شیفت‬،‫دهیم‬‫حاصل‬0‫می‬‫شود‬.
‫می‬‫توان‬‫نشان‬‫داد‬‫که‬‫شماره‬‫قاب‬‫صفحات‬4‫تا‬7‫برابر‬1‫می‬‫باشد‬‫و‬...
0: 00000000
1: 00000001
2: 00000010
3: 00000011
18
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫در‬‫یک‬‫سیستم‬‫صفحه‬‫بندی‬‫ساده‬‫که‬‫جدول‬‫صفحه‬‫آن‬64‫عضو‬11‫بیتی‬‫دارد‬(‫یک‬‫بیت‬‫معتبر‬/‫نامعتبر‬)‫و‬
‫صفحات‬512‫بایتی‬‫می‬،‫باشند‬‫چند‬‫بیت‬‫در‬‫آدرس‬‫فیزیکی‬‫مشخص‬‫کننده‬‫شماره‬‫قاب‬‫صفحه‬‫است؟‬
1)62)93)104)11
‫مهندسی‬IT-‫دولتی‬86
‫از‬11‫بیت‬‫درایه‬‫های‬‫جدول‬،‫صفحه‬10‫بیت‬‫مربوط‬‫به‬‫شماره‬‫قاب‬‫صفحه‬‫است‬.
19
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫در‬‫یک‬‫سیستم‬‫حافظه‬‫صفحه‬‫بندی‬،‫ساده‬‫فضای‬‫آدرس‬‫دهی‬‫منطقی‬‫متشکل‬‫از‬32‫صفحه‬4‫کیلوبایتی‬
‫روی‬‫یک‬‫فضای‬‫آدرس‬‫نگاشته‬‫شده‬‫است‬.‫اگر‬‫هر‬‫مدخل‬‫جدول‬،‫صفحه‬11‫بیت‬،‫باشد‬‫اندازه‬‫فضای‬‫آدرسی‬
‫که‬‫برنامه‬‫روی‬‫آن‬‫نگاشته‬‫شده‬،‫است‬‫چند‬‫مگا‬‫بایت‬‫است؟‬
1)12)43)84)16
10 12
4×2 = 2
12 11 23
2 ×2 = 2 = 8MB
‫مهندسی‬IT-‫دولتی‬85
‫افست‬12‫است‬ ‫بیتی‬.
20
‫فیزیکی‬ ‫حافظه‬ ‫اندازه‬=‫اندازه‬‫صفحه‬ ‫قاب‬‫تعداد‬ ‫در‬ ‫ضرب‬‫های‬ ‫قاب‬‫صفحه‬
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫یک‬‫فضای‬‫آدرس‬‫دهی‬‫منطقی‬‫شامل‬8‫صفحه‬‫است‬‫و‬‫هر‬‫صفحه‬‫حاوی‬1024‫کلمه‬‫است‬.‫این‬‫فضای‬‫آدرس‬
‫دهی‬‫بر‬‫روی‬‫یک‬‫فضای‬‫آدرس‬‫دهی‬‫فیزیکی‬‫حاوی‬32‫قاب‬‫صفحه‬‫نگاشته‬‫می‬‫شود‬.‫آدرس‬‫فیزیکی‬‫حاوی‬
‫چند‬‫بیت‬‫است؟‬
1)112)133)144)15
5 10 15
2 ×2 = 2
‫مهندسی‬IT-‫دولتی‬84
21
‫اندازه‬‫حافظه‬‫فیزیکی‬=‫حاصل‬‫ضرب‬‫تعداد‬‫قاب‬‫های‬‫حافظه‬‫فیزیکی‬‫در‬‫اندازه‬‫قاب‬:
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫در‬‫یک‬‫سیستم‬‫حافظه‬‫صفحه‬‫بندی‬‫با‬‫یک‬‫جدول‬‫صفحه‬‫حاوی‬64‫مدخل‬11‫بیتی‬(‫شامل‬‫یک‬‫بیت‬‫اعتبار‬/‫عدم‬‫اعتبار‬)،
‫و‬‫صفحه‬‫های‬‫با‬‫اندازه‬512،‫بایتی‬‫یک‬‫آدرس‬‫منطقی‬‫و‬‫یک‬‫آدرس‬‫فیزیکی‬‫چند‬‫بیت‬‫است؟‬
1)19،162)15،193)6،154)10،6
‫مهندسی‬IT-‫دولتی‬83
‫طول‬‫فیزیکی‬ ‫آدرس‬:‫صفحه‬ ‫قاب‬ ‫شماره‬ ‫طول‬ ‫و‬ ‫افست‬ ‫طول‬ ‫مجموع‬(9+10=19)
10‫بیت‬‫برای‬‫شماره‬‫قاب‬‫صفحه‬‫در‬‫نظر‬‫گرفته‬‫شده‬‫است‬.
22
‫اندازه‬‫صفحه‬‫برابر‬512‫بایت‬،‫است‬‫بنابراین‬‫طول‬‫افست‬‫برابر‬9‫بیت‬‫می‬‫باشد‬.
‫جدول‬‫صفحه‬‫دارای‬64‫مدخل‬،‫است‬‫بنابراین‬6‫بیت‬‫برای‬‫شماره‬‫صفحه‬‫در‬‫نظر‬‫گرفته‬‫می‬‫شود‬.
‫منطقی‬ ‫آدرس‬ ‫طول‬:‫صفحه‬ ‫شماره‬ ‫طول‬ ‫و‬ ‫افست‬ ‫طول‬ ‫مجموع‬(9+6=15)
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫یک‬‫فضای‬‫آدرس‬‫منطقی‬‫صفحه‬،‫بندی‬‫متشکل‬‫از‬32‫صفحه‬2‫کیلو‬‫بایتی‬‫را‬‫که‬‫به‬‫یک‬‫فضای‬‫آدرس‬‫یک‬
‫مگا‬‫بایتی‬‫نگاشت‬‫شده‬‫در‬‫نظر‬‫بگیرید‬.‫هر‬‫مدخل‬‫جدول‬‫صفحه‬‫باید‬‫چند‬‫بیتی‬‫باشد؟‬
1)112)93)54)4
20
9
10
2
= 2
2×2
‫مهندسی‬‫کامپیوتر‬-‫دولتی‬80
‫تعداد‬‫قاب‬‫برابر‬‫است‬‫با‬:
23
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫در‬‫یک‬‫مدیریت‬‫حافظه‬‫اصلی‬‫همه‬‫فضای‬‫مورد‬‫نیاز‬‫فرایندها‬‫در‬‫ابتدا‬‫اختصاص‬‫نمی‬‫یابد‬.‫وقتی‬‫صفحه‬‫ای‬‫به‬‫حافظه‬‫اصلی‬‫منتقل‬‫شد‬‫تا‬
‫انتهای‬‫کار‬‫فرایند‬‫مربوط‬‫در‬‫حافظه‬‫باقی‬‫می‬‫ماند‬.‫هر‬‫فرایند‬‫در‬‫نهایت‬‫تمام‬‫صفحاتش‬‫به‬‫حافظه‬‫اصلی‬‫منتقل‬‫می‬‫شود‬.‫جدول‬‫داد‬‫ه‬‫شده‬
‫حداکثر‬‫فضای‬‫مورد‬‫نیاز‬‫هر‬‫فرایند‬(‫برحسب‬‫صفحه‬)‫و‬‫تعداد‬‫قاب‬‫صفحه‬‫واگذار‬‫شده‬‫به‬‫هر‬‫یک‬‫را‬‫در‬‫حال‬‫حاضر‬‫نشان‬‫می‬‫دهد‬.‫اگر‬‫فر‬‫ایند‬
4‫وارد‬‫شود‬‫و‬‫کل‬‫فضای‬‫مورد‬‫نیاز‬‫آن‬600‫قاب‬‫صفحه‬،‫باشد‬‫حداکثر‬‫چند‬‫قاب‬‫صفحه‬‫در‬‫ابتدا‬‫می‬‫توان‬‫به‬‫آن‬‫اختصاص‬‫داد‬‫که‬‫سیستم‬
Safe‫باشد؟‬(‫حافظه‬‫اصلی‬‫دارای‬1200‫قاب‬‫صفحه‬‫است‬.)
‫کامپیوتر‬ ‫مهندسی‬-‫دولتی‬85
‫شده‬ ‫واگذار‬ ‫فضای‬‫موردنی‬ ‫فضای‬ ‫حداکثر‬‫از‬‫فرایند‬
600950P1
100200P2
250550P3
1)50
2)150
3)‫فعلی‬ ‫وضعیت‬ ‫در‬ ‫سیستم‬Safe‫نیست‬.
4)‫حالت‬ ‫شده‬ ‫بندی‬ ‫صفحه‬ ‫اصلی‬ ‫حافظه‬ ‫مورد‬ ‫در‬Hold And Wait‫آید‬ ‫نمی‬ ‫پیش‬.‫همیشه‬ ‫سیستم‬ ‫لذا‬Safe‫است‬.
24
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫فرایند‬ ‫ورود‬ ‫با‬P4،‫مقدار‬ ‫با‬ ‫فضایی‬x‫شود‬ ‫می‬ ‫داده‬ ‫آن‬ ‫به‬.
‫اگر‬x‫برابر‬ ‫را‬50‫با‬ ‫است‬ ‫برابر‬ ‫اولیه‬ ‫تخصیص‬ ‫از‬ ‫بعد‬ ‫موجود‬ ‫منابع‬ ‫تعداد‬ ‫آنگاه‬ ،‫کنیم‬ ‫فرض‬:
1200 - (600+100+250+50)=200
NeedAllocationMAXprocess
350600950P1
100100200P2
300250550P3
550X=50600P4
2 3 1 4P P P P   ‫مسیر‬‫امن‬:
25
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫در‬‫روش‬‫قطعه‬‫بندی‬‫برای‬‫مدیریت‬،‫حافظه‬‫برنامه‬‫و‬‫داده‬‫ها‬‫به‬‫تعداد‬‫ی‬
‫قطعه‬‫تقسیم‬‫شوند‬‫می‬‫و‬‫لزومی‬‫ندارد‬‫اندازه‬‫این‬‫ها‬‫قطعه‬‫هم‬‫اندازه‬
‫باشند‬.
‫هنگامی‬‫که‬‫یک‬‫فرایند‬‫به‬‫داخل‬‫آورده‬،‫شود‬‫می‬‫کلیه‬‫های‬‫قطعه‬‫آن‬‫ب‬‫ه‬
‫داخل‬‫حافظه‬‫بار‬‫شوند‬‫می‬‫و‬‫جدول‬‫قطعه‬‫ایجاد‬‫می‬‫شود‬.
‫هر‬‫سطر‬‫این‬‫جدول‬‫شامل‬‫آدرس‬‫شروع‬‫قطعه‬‫مورد‬‫نظر‬‫در‬‫حافظه‬‫اصلی‬
‫و‬‫طول‬‫قطعه‬‫می‬‫باشد‬.
26
‫بندی‬ ‫قطعه‬
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
1-‫آدرس‬‫منطقی‬‫از‬‫دو‬‫قسمت‬‫تشکیل‬‫یافته‬‫است‬:‫شماره‬‫قطعه‬‫و‬‫آفست‬.
2-‫امتیاز‬‫قطعه‬،‫بندی‬‫حفاظت‬‫از‬‫قطعات‬‫و‬‫اشتراك‬‫داده‬‫ها‬‫و‬‫کد‬‫می‬‫باشد‬.
3-‫الگوی‬‫صفحه‬‫بندی‬‫نمی‬‫تواند‬‫حافظه‬‫فیزیکی‬‫را‬‫از‬‫دیدگاه‬‫کاربر‬‫نسبت‬‫به‬‫حافظه‬‫تفکیک‬‫کند‬.
4-‫قطعه‬‫بندی‬‫به‬‫دلیل‬‫بکارگیری‬‫های‬‫قطعه‬‫غیرهم‬،‫اندازه‬‫مشابه‬‫بخش‬‫بندی‬‫پویا‬‫است‬.‫البته‬‫در‬‫قطعه‬‫بندی‬‫یک‬‫ب‬‫رنامه‬‫تواند‬‫می‬
‫بیش‬‫از‬‫یک‬‫بخش‬‫را‬‫اشغال‬‫کند‬‫و‬‫لزومی‬‫ندارد‬‫این‬‫بخش‬‫ها‬‫پیوسته‬‫باشند‬.
5-‫قطعه‬‫بندی‬‫تکه‬‫تکه‬‫شدن‬‫داخلی‬‫را‬‫حذف‬،‫کند‬‫می‬‫اما‬‫دارای‬‫تکه‬‫تکه‬‫شدن‬‫خارجی‬‫است‬.
6-‫در‬‫حالی‬‫که‬‫صفحه‬‫بندی‬‫از‬‫دید‬‫ساز‬‫برنامه‬‫مخفی‬،‫است‬‫قطعه‬‫بندی‬‫قابل‬‫رویت‬‫و‬‫عامل‬‫تسهیل‬‫سازماندهی‬‫ها‬‫برنامه‬‫و‬‫ها‬‫داده‬
‫باشد‬‫می‬.
27
‫بندی‬ ‫قطعه‬ ‫با‬ ‫رابطه‬ ‫در‬ ‫نکاتی‬
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫بندی‬ ‫قطعه‬ ‫افزار‬ ‫سخت‬
28
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫در‬‫یک‬‫سیستم‬‫حافظه‬‫قطعه‬‫بندی‬‫ساده‬(simple segmentation)‫جدول‬‫قطعه‬‫به‬‫شرح‬‫زیر‬‫است‬.
‫در‬‫این‬‫سیستم‬‫چه‬‫تعداد‬‫از‬‫آدرس‬‫های‬‫منطقی‬a‫تا‬e،‫فاقد‬‫آدرس‬‫فیزیکی‬‫هستند؟‬
a) 0 , 300
b) 2, 800
c) 1 , 600
d) 3, 1100
e) 1, 1111
1)4
2)3
3)2
4)1
‫مهندسی‬IT-‫دولتی‬83
‫منظور‬‫از‬‫آدرس‬‫منطقی‬‫این‬‫است‬‫که‬‫شماره‬‫قطعه‬0‫و‬‫شماره‬‫آفست‬300‫می‬‫باشد‬.‫با‬‫توجه‬‫به‬‫جدول‬‫قطعه‬‫داده‬،‫شده‬‫چون‬‫آفست‬‫از‬
(limit)Length‫کوچکتر‬،‫است‬‫یعنی‬،‫این‬‫آدرس‬،‫منطقی‬‫دارای‬‫آدرس‬‫فیزیکی‬‫است‬.
‫آدرس‬‫های‬‫منطقی‬‫و‬‫نیز‬‫دارای‬‫آدرس‬‫فیزیکی‬‫می‬‫باشند‬.
‫آدرس‬‫منطقی‬‫فاقد‬‫آدرس‬‫فیزیکی‬،‫است‬‫چون‬800‫از‬600‫کوچکتر‬‫نمی‬‫باشد‬.
‫آدرس‬‫منطقی‬‫فاقد‬‫آدرس‬‫فیزیکی‬‫است‬.
(0,300)
(300 500)
(1,600)(3,1100)
(2,800)
(1,1111)
29
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫حافظه‬‫مجازی‬‫تکنیکی‬‫است‬‫که‬‫موجب‬‫می‬‫شود‬‫فرایند‬‫بدون‬‫اینکه‬‫کامال‬‫در‬‫حافظه‬‫باشد‬‫اجرا‬‫گردد‬.
‫با‬‫استفاده‬‫از‬‫این‬،‫تکنیک‬‫می‬‫توان‬‫برنامه‬‫ای‬‫بزرگتر‬‫از‬‫حافظه‬‫فیزیکی‬‫را‬‫اجرا‬‫کرد‬.
‫حافظه‬‫مجازی‬‫چندبرنامگی‬‫را‬‫به‬‫صورت‬‫موثری‬‫ممکن‬‫سازد‬‫می‬‫و‬‫کاربر‬‫را‬‫از‬‫محدودیت‬‫های‬‫حافظه‬‫اصلی‬‫رها‬‫کند‬‫می‬.
‫به‬‫کمک‬‫حافظه‬‫مجازی‬‫دیگر‬‫لزومی‬‫ندارد‬‫تمام‬‫ها‬‫صفحه‬(‫یا‬‫های‬‫قطعه‬)‫یک‬‫فرایند‬‫در‬‫حال‬،‫اجرا‬‫در‬‫حافظه‬‫اصلی‬‫قرار‬‫داش‬‫ته‬
‫باشند‬‫و‬‫در‬‫ابتدا‬‫یک‬‫یا‬‫چند‬‫تکه‬‫حاوی‬‫آغاز‬،‫برنامه‬‫توسط‬‫سیستم‬‫عامل‬‫به‬‫حافظه‬‫آورده‬‫شود‬‫می‬.
‫حافظه‬،‫مجازی‬‫حافظه‬‫منطقی‬‫کاربر‬‫را‬‫از‬‫حافظه‬‫فیزیکی‬‫تفکیک‬‫می‬‫کند‬.
‫این‬‫تفکیک‬‫موجب‬‫می‬‫شود‬‫در‬‫حالتی‬‫که‬‫حافظه‬‫فیزیکی‬‫کم‬،‫است‬‫حافظه‬‫مجازی‬‫بزرگی‬‫برای‬‫برنامه‬‫نویس‬‫فراهم‬‫شود‬.
30
‫مجازی‬ ‫حافظه‬
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫حافظه‬،‫مجازی‬‫برنامه‬‫نویسی‬‫را‬‫ساده‬‫می‬،‫کند‬‫زیرا‬‫برنامه‬‫نویس‬‫نگران‬‫حافظه‬‫فیزیکی‬‫و‬‫کد‬‫جایگ‬‫ذاری‬‫نمی‬
‫باشد‬.
‫اگر‬‫در‬‫حین‬‫اجرا‬‫به‬‫آدرسی‬‫رجوع‬‫شود‬‫که‬‫در‬‫مجموعه‬‫مقیم‬‫در‬‫حافظه‬،‫نباشد‬‫یک‬‫وقفه‬‫ایجاد‬‫شود‬‫می‬‫و‬‫ا‬‫ین‬
‫فرایند‬‫مسدود‬‫شود‬‫می‬‫و‬‫تکه‬‫مورد‬‫نظر‬‫وارد‬‫حافظه‬،‫شود‬‫می‬‫سپس‬‫کنترل‬‫دوباره‬‫به‬‫سیستم‬‫عامل‬‫ب‬‫ر‬
‫گردد‬‫می‬‫و‬‫فرایند‬‫مسدود‬‫را‬‫به‬‫حالت‬‫آماده‬‫برمی‬‫گرداند‬.
‫به‬‫بخشی‬‫از‬‫فرایند‬‫که‬ً‫ا‬‫واقع‬‫داخل‬‫حافظه‬‫اصلی‬‫قرار‬،‫دارد‬‫مجموعه‬‫مقیم‬‫گویند‬‫می‬.
31
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
1-‫درخواستی‬ ‫بندی‬ ‫صفحه‬(Demand Paging)
2-‫درخواستی‬ ‫بندی‬ ‫قطعه‬(Demand Segmentation)
3-‫شده‬ ‫بندی‬ ‫صفحه‬ ‫بندی‬ ‫قطعه‬(Hybrid Paging and Segmentation)
32
‫مجازی‬ ‫حافظه‬ ‫سازی‬ ‫پیاده‬ ‫های‬ ‫روش‬
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫در‬‫صفحه‬‫بندی‬‫برای‬‫حافظه‬‫مجازی‬(‫صفحه‬‫بندی‬‫درخواستی‬)،‫مانند‬‫صفحه‬‫بندی‬،‫ساده‬‫حافظه‬‫اص‬‫لی‬‫به‬
‫های‬‫تکه‬‫هم‬‫اندازه‬‫به‬‫نام‬‫قاب‬(fram)‫و‬‫برنامه‬‫به‬‫ها‬‫صفحه‬(page)‫تقسیم‬‫شود‬‫می‬.
‫اما‬‫بر‬‫خالف‬‫صفحه‬‫بندی‬،‫ساده‬‫لزومی‬‫ندارد‬‫تمام‬‫های‬‫صفحه‬‫یک‬‫فرایند‬‫در‬‫قابهای‬‫حافظه‬‫اصلی‬‫ب‬‫اشند‬‫تا‬
‫فرایند‬‫اجرا‬‫شود‬‫و‬‫تنها‬‫صفحاتی‬‫از‬‫فرایند‬‫که‬‫مورد‬‫نیاز‬‫است‬‫به‬‫حافظه‬‫اصلی‬‫آورده‬‫می‬‫شوند‬.
‫این‬‫روش‬‫تلفیقی‬‫از‬‫صفحه‬‫بندی‬‫و‬‫مبادله‬‫است‬.
33
‫درخواستی‬ ‫بندی‬ ‫صفحه‬
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫قاب‬ ‫شماره‬‫صفحه‬(F#)‫هدف‬‫اصلی‬‫از‬‫نگاشت‬،‫صفحه‬‫یافتن‬‫شماره‬‫قاب‬‫صفحه‬‫است‬.
‫سن‬(Age)‫هر‬‫چه‬،‫کمتر‬‫یعنی‬‫آن‬‫صفحه‬‫مدت‬‫بیشتری‬‫در‬‫حافظه‬‫بدون‬‫مراجعه‬‫بوده‬‫است‬.
‫شده‬ ‫مراجعه‬ ‫بیت‬(R)
(Referenced)
‫اگر‬‫یک‬،‫مراجعه‬‫خواندن‬‫یا‬‫نوشتن‬‫به‬‫یک‬‫صفحه‬‫انجام‬،‫گیرد‬‫این‬‫بیت‬‫برابر‬1‫می‬‫شود‬.
‫یافته‬ ‫تغییر‬ ‫بیت‬(M)
(Modified)
‫اگر‬‫عمل‬‫نوشتن‬‫بر‬‫روی‬‫یک‬‫صفحه‬‫انجام‬،‫شود‬‫سخت‬‫افزار‬‫به‬‫صورت‬‫اتوماتیک‬‫این‬‫بیت‬‫را‬1‫می‬‫کند‬.
‫اعتبار‬ ‫بیت‬(Valid)
‫اگر‬‫این‬‫بیت‬‫برای‬‫صفحه‬‫ای‬1،‫باشد‬‫یعنی‬‫برنامه‬‫نویس‬‫از‬‫آدرس‬‫های‬‫درون‬‫این‬‫صفحه‬‫استفاده‬
‫کرده‬‫است‬.‫اگر‬0،‫باشد‬‫یعنی‬‫صفحه‬‫بدون‬‫استفاده‬‫است‬.
‫صفحه‬ ‫جدول‬ ‫درایه‬ ‫یک‬ ‫فیلدهای‬
34
‫حضور‬ ‫بیت‬-‫غیاب‬(P/A)‫اگر‬‫این‬‫بیت‬1،‫باشد‬‫یعنی‬‫صفحه‬‫در‬‫حافظه‬‫قرار‬‫دارد‬‫و‬‫سایر‬‫فیلدهای‬‫این‬‫درایه‬‫قابل‬‫استفاده‬‫می‬‫باش‬‫ند‬.
‫حفاظت‬ ‫های‬ ‫بیت‬‫این‬‫بیت‬‫ها‬‫نوع‬‫دسترسی‬‫مجاز‬‫را‬‫مشخص‬‫می‬‫کند‬.
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫هندل‬Page Fault
35
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫در‬‫یک‬‫سیستم‬‫حافظه‬‫صفحه‬‫بندی‬‫که‬‫اندازه‬‫هر‬‫صفحه‬64‫بایت‬،‫است‬‫کدام‬‫آدرس‬‫خطای‬‫صفحه‬‫تولید‬‫می‬‫کند؟‬
1)(c),(a)
2)(d),(c)
3)(a),(d)
4)(a),(b)
a) 0000101101001
b) 0000010010010
c) 0000100010101
d) 0000001110101
‫مهندسی‬IT-‫دولتی‬83
‫اندازه‬‫صفحه‬ ‫هر‬64‫افست‬ ‫پس‬ ،‫است‬ ‫بایت‬6‫باشد‬ ‫می‬ ‫بیتی‬.
a) 0000101 101001 p# = 5 PF
b) 0000010 010010 p# = 2
c) 0000100 010101 p# = 4 PF
d) 0000001 110101 p# = 1
Frame
out001010
in000011
in110112
in110103
out100014
out101015
out110006
in001017
......
36
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫یک‬‫سیستم‬‫حافظه‬‫مجازی‬‫صفحه‬‫بندی‬‫را‬‫در‬‫نظر‬‫بگیرید‬‫که‬‫آدرس‬‫مجازی‬‫شامل‬4096=4k‫صفحه‬‫و‬‫هر‬‫صفحه‬‫شامل‬1024=1k
‫بایت‬‫است‬.‫اندازه‬‫حافظه‬‫فیزیکی‬‫بایت‬‫است‬.‫آدرس‬‫مجازی‬111222H‫از‬‫طریق‬‫جدول‬‫صفحه‬‫به‬‫آدرس‬‫فیزیکی‬‫تبدیل‬‫می‬‫شود‬.
‫بخشی‬‫از‬‫جدول‬‫صفحه‬‫در‬‫اینجا‬‫مشاهده‬‫می‬‫شود‬.‫آدرس‬‫فیزیکی‬‫چیست؟‬
18
2
1)3C444H2)17222H3)58222H4)40444H
‫مهندسی‬‫کامپیوتر‬-‫دولتی‬87
‫بایت‬ ‫صفحه‬ ‫اندازه‬‫آفست‬ ‫پس‬ ،‫است‬10‫است‬ ‫بیتی‬.
‫صفحه‬ ‫شماره‬:444 H
‫قاب‬ ‫شماره‬:.(01011100) 5CH
‫فیزیکی‬ ‫آدرس‬:17222 H
10
2
37
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫صفحه‬ ‫جایگزینی‬ ‫های‬‫الگوریتم‬
‫در‬‫یک‬‫سیستم‬‫چند‬‫برنامه‬‫ای‬‫که‬‫از‬‫بخش‬‫بندی‬‫پویا‬‫استفاده‬‫کند‬‫می‬‫زمانی‬‫خواهد‬‫رسید‬‫که‬‫تمام‬‫فرایندهای‬‫موجود‬‫در‬‫حافظه‬
‫اصلی‬‫در‬‫حالت‬‫مسدود‬‫قرار‬‫دارند‬.‫در‬‫این‬‫حالت‬‫سیستم‬‫عامل‬‫یکی‬‫از‬‫فرایندهای‬‫داخل‬‫حافظه‬‫اصلی‬‫را‬‫به‬‫خارج‬‫مبادله‬‫ک‬‫می‬‫ند‬‫تا‬
‫فضای‬‫کافی‬‫برای‬‫فرایندی‬‫جدید‬‫یا‬‫یک‬‫فرایند‬‫آماده‬‫و‬‫معلق‬‫ایجاد‬‫شود‬.‫سیستم‬‫عامل‬‫باید‬‫فرایندی‬‫که‬‫قرار‬‫است‬‫جا‬‫یگزین‬‫شود‬
‫را‬‫انتخاب‬‫کند‬.
38
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫جایگزینی‬ ‫های‬ ‫الگوریتم‬
1-‫بهینه‬(optimal)
2-‫اخیر‬ ‫گذشته‬ ‫در‬ ‫استفاده‬ ‫عدم‬(NRU)
3-‫ورود‬ ‫ترتیب‬ ‫به‬ ‫خروج‬(FIFO)
4-‫شانس‬ ‫دومین‬(Second Change)
5-‫ساعت‬(Clock)
6-‫نزدیک‬ ‫گذشته‬ ‫در‬ ‫استفاده‬ ‫کمترین‬(LRU)
39
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫بهینه‬ ‫الگوریتم‬(optimal)
‫در‬‫این‬،‫روش‬‫صفحه‬‫ای‬‫جایگزین‬‫می‬‫شود‬‫که‬‫به‬‫مدت‬‫طوالنی‬‫مورد‬‫استفاده‬‫قرار‬‫نخواهد‬‫گرفت‬.
‫الگوریتم‬،‫بهینه‬‫قابل‬‫اجرا‬،‫نیست‬‫چون‬‫نیاز‬‫به‬‫پیش‬‫بینی‬‫آینده‬‫دارد‬.
‫علت‬‫مطرح‬‫شدن‬‫این‬،‫الگوریتم‬‫استفاده‬‫از‬‫آن‬‫به‬‫عنوان‬‫شاخص‬‫مقایسه‬‫می‬‫باشد‬.
‫نام‬‫دیگر‬‫این‬،‫الگوریتم‬BO (Belady Optimal)‫می‬‫باشد‬.
40
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫الگوریتم‬NRU
NRU ( Not Recently Used)
‫در‬‫این‬‫روش‬‫وقتی‬‫نقص‬‫صفحه‬‫رخ‬‫می‬،‫دهد‬‫سیستم‬‫عامل‬‫بر‬‫اساس‬‫وضعیت‬‫بیت‬‫های‬‫ارجاع‬(R)‫و‬‫اصالح‬(M)،‫صفحات‬‫را‬‫به‬‫چهار‬‫کالس‬
‫مطابق‬‫شکل‬،‫زیر‬‫تقسیم‬‫می‬‫کند‬‫و‬‫سپس‬‫به‬‫طور‬‫تصادفی‬،‫صفحه‬‫ای‬‫را‬‫از‬‫کالسی‬‫که‬‫در‬‫دسته‬‫با‬‫شماره‬‫کمتری‬،‫باشد‬‫را‬‫انتخ‬‫اب‬‫می‬‫کند‬.
41
‫در‬‫واقع‬‫صفحه‬‫ای‬‫انتخاب‬‫می‬‫شود‬‫که‬‫در‬‫درجه‬‫اول‬‫از‬‫ابتدای‬‫دوره‬‫استفاده‬،‫جاری‬‫نشده‬‫است‬‫و‬‫در‬‫درجه‬،‫دوم‬‫از‬‫هنگام‬
‫ورود‬‫به‬‫حافظه‬‫تغییر‬‫نکرده‬‫است‬.
‫صفحه‬‫ای‬‫که‬‫بیت‬‫اصالح‬‫آن‬‫یک‬،‫باشد‬‫قبل‬‫از‬‫جایگزینی‬‫باید‬‫نوشته‬‫ش‬‫ود‬.
‫صفحه‬‫متعلق‬‫به‬‫دسته‬‫شماره‬0،‫اخیرا‬‫مورد‬‫استفاده‬‫قرار‬‫نگرفته‬‫و‬‫تغییر‬‫نکرده‬‫است‬.‫ب‬‫ه‬
‫همین‬‫علت‬‫بهترین‬‫انتخاب‬‫می‬‫باشد‬.
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫الگوریتم‬FIFO
‫در‬‫این‬‫روش‬(‫خروج‬‫به‬‫ترتیب‬‫ورود‬)،‫صفحه‬‫ای‬‫جایگزین‬‫می‬‫شود‬‫که‬‫زمان‬‫بیشتری‬‫منت‬‫ظر‬
‫بوده‬‫است‬.
‫برای‬،‫جایگزینی‬‫صفحه‬‫موجود‬‫در‬‫ابتدای‬‫صف‬‫را‬‫انتخاب‬‫کرده‬‫و‬‫صفحه‬‫ای‬‫که‬‫وارد‬‫حافظ‬‫ه‬
‫شده‬‫را‬‫به‬‫انتهای‬‫صف‬‫اضافه‬‫می‬‫کنیم‬.
42
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫در‬‫یک‬‫سیستم‬‫حافظه‬‫صفحه‬،‫بندی‬‫در‬‫یک‬‫برنامه‬‫به‬‫ترتیب‬‫به‬‫صفحات‬‫زیر‬‫رجوع‬‫شده‬‫است‬:
0 , 1 , 4 , 2 , 0 , 2 , 6 , 5 , 1 , 2 , 3 , 2 , 1 , 2 , 6 , 2 , 1 , 3 , 6 , 2
‫اگر‬‫برای‬‫این‬‫برنامه‬‫سه‬‫قاب‬‫صفحه‬‫در‬‫نظر‬‫گرفته‬‫می‬‫شود‬‫و‬‫از‬‫الگوریتم‬‫جابه‬‫جائی‬FIFO‫استفاده‬،‫شود‬‫تعداد‬‫خطاهای‬‫صفحه‬
‫برابر‬‫است‬‫با‬:
1)102)123)144)13
‫مهندسی‬IT-‫دولتی‬86
43
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫الگوریتم‬‫دومین‬،‫شانس‬‫مانند‬FIFO‫می‬‫باشد‬.‫با‬‫این‬‫تفاوت‬‫که‬‫وقتی‬‫نقص‬‫صفحه‬‫رخ‬‫می‬،‫دهد‬‫اگر‬
‫بیت‬R‫قدیمی‬‫ترین‬،‫صفحه‬1،‫بود‬‫این‬‫بیت‬0‫شده‬‫و‬‫صفحه‬‫به‬‫انتهای‬‫لیست‬‫منتقل‬‫می‬‫شود‬.‫با‬‫این‬‫کا‬‫ر‬
‫به‬‫او‬‫شانس‬‫دوباره‬‫ای‬‫داده‬‫شده‬‫است‬.
‫اگر‬‫بیت‬R‫همه‬‫صفحات‬1،‫باشد‬‫الگوریتم‬‫دومین‬‫شانس‬‫به‬FIFO‫تبدیل‬‫می‬‫شود‬.
44
‫دومین‬‫شانس‬
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫مثال‬
‫ارجاع‬‫به‬‫شماره‬‫صفحه‬‫مجازی‬2:
‫بیت‬R‫صفحه‬‫های‬4‫و‬5‫چون‬1،‫است‬‫آن‬‫را‬‫صفر‬‫کرده‬‫و‬‫صفحه‬‫ها‬‫به‬‫انتهای‬‫صف‬‫منتقل‬‫می‬‫شوند‬.
‫حال‬‫به‬‫صفحه‬7‫رسیده‬‫ایم‬‫که‬‫چون‬‫بیت‬R‫آن‬‫صفر‬،‫است‬‫صفحه‬‫را‬‫از‬‫حافظه‬‫خارج‬‫کرده‬‫و‬‫صفحه‬2‫را‬‫به‬‫جای‬‫آن‬‫در‬‫انتهای‬‫صف‬‫اضافه‬‫می‬
‫کنیم‬.
‫بیت‬R‫صفحه‬‫دو‬‫را‬1‫قرار‬‫می‬‫دهیم‬.
45
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫اگر‬‫چه‬‫الگوریتم‬‫دومین‬،‫شانس‬‫الگوریتم‬‫قابل‬‫قبولی‬،‫بود‬‫اما‬‫به‬‫علت‬‫حذف‬‫صفحه‬‫از‬‫ابتدای‬‫لیست‬‫و‬‫اضافه‬‫کردن‬‫آن‬‫به‬‫انتهای‬
،‫لیست‬‫روشی‬‫پر‬‫هزینه‬‫است‬.‫برای‬‫حل‬‫این‬‫مشکل‬‫از‬‫لیست‬‫چرخشی‬‫استفاده‬‫می‬‫شود‬.‫در‬‫الگوریتم‬،‫ساعت‬‫لیست‬‫پ‬‫یوندی‬
‫صفحات‬‫به‬‫صورت‬‫حلقوی‬‫و‬‫به‬‫شکل‬‫یک‬‫ساعت‬‫نگهداری‬‫می‬،‫شود‬‫به‬‫طوری‬‫که‬‫عقربه‬‫ساعت‬‫به‬‫قدیمی‬‫ترین‬‫صفحه‬‫ا‬‫شاره‬‫می‬
‫کند‬.
46
‫وقتی‬‫نقص‬‫صفحه‬‫رخ‬‫می‬‫دهد‬،‫به‬‫بیت‬R‫صفحه‬‫ای‬‫که‬‫توسط‬‫عقربه‬‫به‬‫آن‬‫اشاره‬،‫شده‬‫نگاه‬‫کرده‬‫که‬‫دو‬‫حالت‬‫رخ‬‫می‬‫دهد‬:
‫الف‬-‫اگر‬‫بیت‬R،0،‫باشد‬‫صفحه‬‫مورد‬‫نظر‬‫خارج‬‫شده‬‫و‬‫صفحه‬‫جدید‬‫در‬‫همان‬‫مکان‬‫جایگزین‬‫شده‬‫و‬‫عقربه‬‫به‬‫جلو‬‫می‬
‫رود‬.
‫ب‬-‫اگر‬‫بیت‬R،1،‫باشد‬‫آنگاه‬0‫شده‬‫و‬‫عقربه‬‫به‬‫صفحه‬‫بعدی‬‫اشاره‬‫خواهد‬‫کرد‬.
‫ساعت‬ ‫الگوریتم‬
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
47
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫مثال‬
‫سیستمی‬‫دارای‬4‫قاب‬‫صفحه‬‫است‬‫که‬‫مطابق‬‫جدول‬‫زیر‬‫صفحات‬‫مجازی‬‫در‬‫آن‬‫ها‬‫قرار‬‫دارند‬.‫اگر‬‫سیستم‬‫عامل‬‫از‬‫الگوریتم‬
‫ساعت‬(Clock)‫استفاده‬،‫نماید‬‫در‬‫صورت‬‫وقوع‬‫نقص‬،‫صفحه‬‫صفحه‬‫جدید‬‫با‬‫کدام‬‫صفحه‬‫مجازی‬‫باید‬‫جایگزین‬‫شود؟‬
R‫صفحه‬ ‫بارگذاری‬ ‫زمان‬‫درحافظه‬‫صفحه‬ ‫شماره‬
1501
0302
1203
0404
‫ابتدا‬‫عقربه‬‫بر‬‫روی‬‫قدیمی‬‫ترین‬‫صفحه‬‫یعنی‬‫صفحه‬3‫است‬.‫چون‬‫بیت‬R‫آن‬1،‫است‬‫بیت‬R‫آن‬0‫شده‬‫و‬‫عقربه‬‫به‬‫جلو‬‫حرکت‬
‫می‬‫کند‬‫و‬‫بر‬‫روی‬‫صفحه‬2‫می‬‫رود‬.
‫چون‬‫بیت‬R‫صفحه‬2،‫صفر‬،‫است‬‫صفحه‬‫جدید‬‫با‬‫این‬‫صفحه‬‫جایگزین‬‫می‬‫شود‬.
48
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫الگوریتم‬LRU
‫در‬‫روش‬LRU(Least Recently Used )،‫صفحه‬‫ای‬‫جایگزین‬‫می‬‫شود‬‫که‬‫برای‬‫مدت‬‫طوالنی‬
‫مورد‬‫استفاده‬‫قرار‬‫نگرفته‬‫است‬.‫یعنی‬‫در‬‫گذشته‬‫دورتری‬‫به‬‫آن‬‫مراجعه‬‫شده‬‫است‬.
49
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫تعداد‬ ،‫شوند‬ ‫داده‬ ‫ارجاع‬ ‫راست‬ ‫به‬ ‫چپ‬ ‫از‬ ‫ترتیب‬ ‫به‬ ‫برنامه‬ ‫توسط‬ ‫زیر‬ ‫صفحات‬ ‫و‬ ‫شود‬ ‫داده‬ ‫اختصاص‬ ‫صفحه‬ ‫چهار‬ ‫ای‬ ‫برنامه‬ ‫به‬ ‫اگر‬Page
Fault‫بود؟‬ ‫خواهد‬ ‫چقدر‬ ‫ها‬1 , 2 , 3 , 4 , 2 , 1 , 5 , 6 , 2 , 1 , 2 , 3 , 7 , 6 , 3 , 2 , 1 , 2 , 3 , 6
1)‫سیاست‬FIFO،13‫صفحه‬ ‫فقدان‬2)‫بهینه‬ ‫سیاست‬(Optimal)،9‫صفحه‬ ‫فقدان‬
3)‫سیاست‬LRU،10‫صفحه‬ ‫فقدان‬4)‫فوق‬ ‫مورد‬ ‫سه‬ ‫هر‬
‫مهندسی‬‫کامپیوتر‬-‫دولتی‬84
‫در‬‫روش‬LRU،10‫داریم‬ ‫صفحه‬ ‫فقدان‬:
‫گزینه‬1‫نادرست‬،‫است‬‫چون‬‫در‬‫صورت‬‫استفاده‬‫از‬‫سیاست‬FIFO،14‫فقدان‬‫صفحه‬‫رخ‬‫می‬‫دهد‬.
‫گزینه‬2‫نادرست‬،‫است‬‫چون‬‫در‬‫صورت‬‫استفاده‬‫از‬‫سیاست‬،‫بهینه‬8‫فقدان‬‫صفحه‬‫رخ‬‫می‬‫دهد‬.
50
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫فرض‬‫کنید‬‫که‬‫به‬‫یک‬‫برنامه‬4‫فریم‬‫از‬‫حافظه‬‫اصلی‬‫اختصاص‬‫داده‬‫شده‬‫است‬‫و‬‫در‬‫ابتدا‬‫صفحات‬A,B,C,D‫در‬‫حافظه‬‫بار‬
‫شده‬‫اند‬.‫اگر‬‫برنامه‬‫به‬‫ترتیب‬C A D B E B A B C D‫به‬‫صفحات‬‫ارجاع‬،‫کند‬‫کدام‬‫یک‬‫از‬‫گزینه‬‫های‬‫زیر‬‫نادرست‬‫است؟‬
1)‫استراتژی‬FIFO‫به‬4،Page Fault‫نیاز‬‫دارد‬.
2)‫استراتژی‬LRU‫به‬3،Page Fault‫نیاز‬‫دارد‬.
3)‫استراتژی‬Second Chance‫به‬3،Page Fault‫نیاز‬‫دارد‬.
4)‫استراتژی‬Clock Replacement‫به‬4،Page Fault‫نیاز‬‫دارد‬.
‫مهندسی‬IT-‫دولتی‬83
‫گزینه‬1‫استراتژی‬ ‫چون‬ ،‫است‬ ‫نادرست‬FIFO،‫به‬5،Page Fault‫دارد‬ ‫نیاز‬:
51
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫به‬‫فرایندی‬‫چهار‬‫قاب‬‫تخصیص‬‫یافته‬‫است‬.‫یک‬‫خطای‬‫صفحه‬‫برای‬‫صفحه‬4‫رخ‬‫داده‬‫است‬.‫برای‬‫هر‬‫یک‬‫از‬‫سیاست‬‫های‬‫مدیریت‬‫حافظه‬
FIFO‫و‬LRU‫و‬Clock(‫اشاره‬‫گر‬‫روی‬‫صفحه‬‫صفر‬‫است‬‫و‬‫اولویت‬‫با‬‫انتخاب‬‫صفحه‬‫تغییر‬‫نیافته‬‫است‬)‫به‬‫ترتیب‬‫چه‬‫صفحه‬‫ای‬‫ب‬‫رای‬
‫جایگزینی‬‫انتخاب‬‫می‬‫شوند‬‫؟‬
‫مهندسی‬IT-‫دولتی‬89
1)0‫و‬1‫و‬1
2)1‫و‬0‫و‬2
3)3‫و‬2‫و‬1
4)1‫و‬1‫و‬2
‫در‬‫روش‬،‫ساعت‬‫صفحات‬‫بر‬‫اساس‬‫زمان‬‫بارشدن‬‫به‬‫صورت‬3,0,2,1‫می‬‫باشند‬.‫طبق‬‫صورت‬‫تست‬‫عقربه‬‫بر‬‫روی‬‫صفحه‬0،‫است‬‫که‬‫چون‬‫بیت‬R‫آن‬‫یک‬‫است‬‫عقربه‬‫به‬‫جلو‬‫رفته‬‫و‬
‫به‬‫صفحه‬2‫اشاره‬‫می‬‫کند‬.‫بیت‬R‫این‬‫صفحه‬0‫است‬‫ولی‬‫بیت‬M‫آن‬‫یک‬‫است‬‫و‬‫چون‬‫طبق‬‫صورت‬‫تست‬‫اولویت‬‫با‬‫انتخاب‬‫صفحه‬‫تغییر‬‫نیافته‬،‫است‬‫عقربه‬‫به‬‫جلو‬‫رفته‬‫و‬‫به‬‫ص‬‫فحه‬1
‫اشاره‬‫کرده‬‫که‬‫چون‬‫بیت‬M‫و‬R،‫این‬،‫صفحه‬‫برابر‬‫صفر‬،‫است‬‫در‬‫نتیجه‬‫صفحه‬1‫به‬‫خارج‬‫برده‬‫می‬‫شود‬.
‫ر‬‫ك‬‫ذ‬‫ت‬:‫در‬‫واقع‬‫منظور‬‫طراح‬‫از‬‫الگوریتم‬،‫ساعت‬‫همان‬‫الگوریتم‬‫ساعت‬‫پیشرفته‬‫می‬‫باشد‬.
52
‫در‬‫روش‬FIFO‫صفحه‬‫ای‬‫که‬‫زمان‬‫بار‬‫شدن‬‫آن‬‫در‬‫حافظه‬‫از‬‫همه‬‫کمتر‬‫است‬‫انتخاب‬‫می‬‫شود‬‫یعنی‬‫صفحه‬3.
‫در‬‫روش‬LRU‫صفحه‬‫ای‬‫که‬‫زمان‬‫آخرین‬‫مراجعه‬‫به‬‫آن‬‫کمتر‬،‫است‬‫انتخاب‬‫می‬‫شود‬‫یعنی‬‫صفحه‬2.
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫حافظه‬‫اصلی‬‫کامپیوتری‬‫دارای‬‫چهار‬‫قاب‬‫صفحه‬‫می‬‫باشد‬.‫زمان‬‫بار‬،‫شدن‬‫زمان‬‫آخرین‬،‫دسترسی‬‫بیت‬(Reference) R‫و‬‫بیت‬(Modify)
M‫مربوط‬‫به‬‫هر‬‫یک‬‫از‬‫صفحات‬‫در‬‫جدول‬‫زیر‬‫آمده‬‫است‬.‫اگر‬‫خطای‬‫صفحه‬‫روی‬‫صفحه‬‫مجازی‬‫شماره‬4‫در‬‫زمان‬319‫رخ‬،‫دهد‬‫تحت‬‫الگوریتم‬
‫های‬‫جایگزینی‬NRU , LRU‫به‬‫ترتیب‬‫محتویات‬‫کدام‬‫یک‬‫از‬‫قاب‬‫صفحه‬‫ها‬،‫بایستی‬‫جابجا‬‫شوند؟‬
‫کامپیوتر‬ ‫مهندسی‬-‫دولتی‬86
1)‫دو‬ ‫و‬ ‫یک‬
2)‫صفر‬ ‫و‬ ‫یک‬
3)‫و‬ ‫دو‬‫یک‬
4)‫صفر‬ ‫و‬ ‫سه‬
‫تذکر‬:‫در‬‫صورت‬،‫تست‬‫شماره‬‫قاب‬‫ها‬‫خواسته‬‫شده‬‫است‬.‫بنابراین‬‫چون‬‫صفحه‬1‫در‬‫قاب‬1‫و‬‫صفحه‬2‫در‬‫قاب‬0‫قرار‬،‫دارد‬‫گزینه‬2‫جواب‬‫است‬.
53
‫در‬‫روش‬LRU،‫صفحه‬‫ای‬‫خارج‬‫می‬‫شود‬‫که‬‫در‬‫گذشته‬‫دورتری‬‫به‬‫آن‬‫مراجعه‬‫شده‬‫است‬.‫یعنی‬‫زمان‬‫آخرین‬‫دسترسی‬‫اش‬‫از‬‫همه‬‫کمتر‬‫باش‬‫د‬.
‫بنابراین‬‫صفحه‬‫شماره‬1،‫که‬‫آخرین‬‫دسترسی‬‫به‬‫آن‬‫در‬‫زمان‬239‫بوده‬،‫است‬‫انتخاب‬‫می‬‫شود‬.
‫در‬‫روش‬NRU،‫صفحه‬2‫انتخاب‬‫می‬،‫شود‬‫چون‬‫در‬‫دسته‬‫با‬‫شماره‬‫کمتری‬‫قرار‬‫دارد‬.
‫تذکر‬:‫چون‬‫در‬‫زمان‬‫رخ‬‫دادن‬‫خطای‬،‫صفحه‬‫یعنی‬319،‫همه‬‫صفحه‬‫ها‬‫موجود‬،‫هستند‬‫تصمیم‬‫گیری‬‫بین‬‫همه‬‫آنها‬‫انجام‬‫گرفته‬‫است‬.
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫فضای‬‫آدرس‬‫به‬‫تعدادی‬‫قطعه‬‫تقسیم‬‫شود‬‫می‬.
‫هر‬‫قطعه‬‫نیز‬‫به‬‫تعدادی‬‫صفحه‬‫تقسیم‬‫شوند‬‫می‬.
‫برای‬‫هر‬‫فرایند‬‫یک‬‫جدول‬‫قطعه‬‫و‬‫چند‬‫جدول‬‫صفحه‬‫وجود‬‫دارد‬.
54
‫صفحه‬ ‫بندی‬ ‫قطعه‬‫بندی‬(Segmentation with paging)
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫تست‬(‫ارشد‬IT–‫دولتی‬88)
‫اندازه‬ ‫به‬ ‫حافظه‬ ‫یک‬8KB‫صفحات‬ ‫با‬ ‫و‬512‫روش‬ ‫با‬ ‫که‬ ‫بگیرید‬ ‫نظر‬ ‫در‬ ‫را‬ ‫بایتی‬‫بندی‬ ‫صفحه‬ ‫قطعات‬‫شده‬‫شیود‬ ‫میی‬ ‫مدیریت‬.‫اگی‬‫ر‬
‫را‬ ‫ها‬ ‫آدرس‬14‫که‬ ‫بگیریم‬ ‫درنظر‬ ‫بیتی‬9،‫صفحه‬ ‫درون‬ ‫افست‬ ‫به‬ ‫مربوط‬ ‫آن‬ ‫ارزش‬ ‫کم‬ ‫بیت‬3‫ییک‬ ‫صفحه‬ ‫شماره‬ ‫به‬ ‫مربوط‬ ‫بعدی‬ ‫بیت‬
‫و‬ ،‫سگمنت‬2‫آ‬ ‫با‬ ‫متناظر‬ ‫فیزیکی‬ ‫آدرس‬ ،‫حافظه‬ ‫از‬ ‫زیر‬ ‫وضعیت‬ ‫به‬ ‫توجه‬ ‫با‬ ،‫باشند‬ ‫سگمنت‬ ‫شماره‬ ‫به‬ ‫مربوط‬ ‫پرارزش‬ ‫بیت‬‫مجازی‬ ‫درس‬
‫کدام‬‫گزینه‬‫است؟‬ H
AC15
‫چون‬‫شماره‬‫قطعه‬1‫است‬‫به‬‫اندیس‬1‫در‬‫جدول‬‫قطعه‬‫مراجعه‬‫کرده‬‫و‬‫مقدار‬PTBA‫یعنی‬0088‫مشخص‬‫می‬‫شود‬.‫حال‬‫چون‬‫در‬‫آدرس‬،‫مجازی‬‫شماره‬‫صفحه‬2،‫است‬‫در‬،‫حافظه‬‫در‬‫ستون‬‫دوم‬
‫که‬‫با‬‫آدرس‬0088‫شروع‬‫می‬‫شود‬‫به‬‫سطر‬‫سوم‬‫مراجعه‬‫کرده‬‫و‬‫شماره‬‫قاب‬‫صفحه‬‫که‬‫برابر‬9H‫است‬‫مشخص‬،‫می‬‫شود‬.‫این‬‫آدرس‬13AC‫خواهد‬‫بود‬.
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
56
(‫مهندسی‬IT–‫دولتی‬89)
‫اول‬ ‫بایت‬ ‫دوم‬ ‫بایت‬ ‫سوم‬ ‫بایت‬
PTBA LIMIT
‫صورت‬ ‫به‬ ‫فرضی‬ ‫سیستم‬ ‫یک‬ ‫در‬ ‫حافظه‬ ‫مدیریت‬‫بندی‬ ‫صفحه‬ ‫بندی‬ ‫قطعه‬‫صرفحه‬ ‫هرر‬ ‫اندازه‬ ‫و‬ ‫است‬ ‫شده‬4‫بایرت‬ ‫کیلرو‬
‫است‬.‫درایه‬ ‫هر‬‫جدول‬‫دارای‬ ‫قطعه‬3‫زیر‬ ‫صورت‬ ‫به‬ ‫و‬ ‫بایت‬‫است‬.‫دهن‬ ‫نشان‬ ‫و‬ ‫است‬ ‫بایتی‬ ‫یک‬ ‫صفحه‬ ‫جدول‬ ‫درایه‬ ‫هر‬ ‫و‬‫ده‬
‫قاب‬ ‫شماره‬‫است‬.‫در‬PCB‫فرایند‬ ‫یک‬‫برای‬‫قطعه‬ ‫جدول‬ ‫پایه‬ ‫آدرس‬(STBA)‫مقدار‬0AFEH‫شود‬ ‫می‬ ‫دیده‬.‫اگر‬‫در‬
‫منطقی‬ ‫آدرس‬ ‫فرایند‬ ‫این‬[ 02H , 3456H ]‫دواهرد‬ ‫خره‬ ‫نظیرر‬ ‫فییییری‬ ‫آدرس‬ ‫شرود‬ ‫تولید‬‫بشر‬ ‫برود‬‫آدرس‬ ‫اول‬
‫است‬ ‫قطعه‬ ‫شماره‬ ‫منطقی‬.
1)08345 H2)0A456 H3)0B560 H4)08456 H
‫محتویات‬‫حافظه‬
‫صفحه‬ ‫اندازه‬ ‫خون‬4KB‫می‬‫باشد‬‫آفست‬ ‫بنابراین‬12‫است‬ ‫بیتی‬.‫عدد‬ ‫یک‬ ‫خون‬12‫عردد‬ ‫یرک‬ ‫معرادل‬ ‫دو‬ ‫مننرای‬ ‫در‬ ‫بیتری‬3
‫یعنی‬ ‫آدر‬ ‫رقم‬ ‫سه‬ ‫برابر‬ ‫آفست‬ ‫نتیجه‬ ‫در‬ ‫باشد‬ ‫می‬ ‫شانیده‬ ‫مننای‬ ‫در‬ ‫رقمی‬456‫است‬.‫برابر‬ ‫صفحه‬ ‫شماره‬ ‫بنابراین‬3‫است‬.
02 3 456
0AFE+2.3=0B04
0B09+3.1=0B0C
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
TLB
Translation Lookaside Buffers ‫یک‬‫افزار‬ ‫سخت‬‫جستجوی‬‫و‬ ‫کوچک‬ ،‫سریع‬‫پنهان‬
57
‫تعداد‬‫اندکی‬‫از‬‫ورودی‬‫های‬‫جدول‬‫صفحه‬‫در‬
TLB‫قرار‬‫می‬‫گیرد‬.
‫وقتی‬‫آدرسی‬‫تولید‬‫می‬،‫شود‬‫اگر‬‫شماره‬‫صف‬‫حه‬
‫در‬TLB‫پیدا‬،‫شود‬‫از‬‫شماره‬‫قاب‬‫آن‬‫برای‬
‫دستیابی‬‫به‬‫حافظه‬‫استفاده‬‫می‬‫شود‬.‫اگر‬‫م‬‫وجود‬
،‫نباشد‬‫ارجاع‬‫به‬‫جدول‬‫صفحه‬‫باید‬‫انجام‬‫گرف‬‫ته‬
‫و‬‫شماره‬‫صفحه‬‫و‬‫شماره‬‫قاب‬‫به‬TLB‫اضافه‬
‫می‬‫شود‬‫تا‬‫در‬‫مراجعات‬‫بعدی‬‫به‬‫سرعت‬‫پیدا‬
‫شود‬.
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
58
‫زمان‬‫از‬ ‫استفاده‬ ‫فرض‬ ‫با‬ ‫دسترسی‬ ‫موثر‬TLB‫صفحه‬ ‫جدول‬ ‫و‬‫ساده‬
Access Translation MemT T T 
Translation TLB TLB Mem TLB MemT H T (1 H) (T T ) T (1 H) T         
‫دسترسی‬ ‫موثر‬ ‫زمان‬
‫مجموع‬‫زمان‬‫ترجمه‬‫آدرس‬‫و‬‫زمان‬‫دسترسی‬‫به‬‫کلمه‬‫مورد‬‫نظر‬‫در‬‫حافظه‬‫اصلی‬‫پس‬‫از‬‫محاسبه‬‫آدرس‬‫فیزیکی‬.
‫نسبت‬‫اصابت‬(hit ratio):‫درصد‬‫تعداد‬‫دفعاتی‬‫که‬‫شماره‬‫صفحه‬‫در‬TLB‫پیدا‬‫شود‬.
‫مثال‬‫نسبت‬‫اصابت‬%80،‫یعنی‬‫که‬%80‫از‬‫تعداد‬‫دفعاتی‬‫که‬‫به‬TLB‫مراجعه‬،‫کردیم‬‫شماره‬‫صفحه‬‫پیدا‬‫شده‬‫است‬.
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫با‬‫فرض‬‫اینکه‬‫جدول‬‫صفحه‬‫در‬‫حافظه‬‫ذخیره‬‫شده‬‫باشد‬‫و‬%85‫از‬‫ارجاعات‬‫به‬‫حافظه‬‫از‬‫طریق‬TLB
‫انجام‬‫شود‬‫و‬‫هزینه‬‫هر‬‫ارجاع‬‫حافظه‬250‫نانو‬‫ثانیه‬‫و‬‫ارجاع‬‫به‬TLB‫با‬‫هزینه‬5‫نانو‬‫ثانیه‬‫انجام‬،‫شود‬‫با‬
‫فرض‬‫عدم‬‫رخداد‬‫نقصان‬‫صفحه‬‫و‬‫عدم‬‫توازی‬‫عملیات‬‫در‬‫معماری‬‫سیستم‬،‫مذکور‬‫هر‬‫ارجاع‬‫به‬‫حافظه‬‫به‬
‫طور‬‫متوسط‬‫چقدر‬‫طول‬‫می‬‫کشد‬‫؟‬
Translation TLB MemT T (1 H) T   
5 (0.15 250) 42.5 ns   
Access Translation MemT T T 42.5 250 292.5ns    
59
‫مثال‬
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
60
(‫مهندسی‬IT–‫دولتی‬84)
‫حافظره‬ ‫به‬ ‫دسترسی‬ ‫زمان‬ ‫اگر‬ ‫حافظه‬ ‫مدیریت‬ ‫سیستم‬ ‫یک‬ ‫در‬400ns‫جردول‬ ‫بره‬ ‫دسترسری‬ ‫زمران‬ ‫و‬TLB50ns‫و‬hit
ratio‫جدول‬ ‫در‬TLB‫برابر‬80%‫باشد‬‫است‬ ‫درست‬ ‫عنارت‬ ‫کدام‬
1)‫و‬ ‫بندی‬ ‫صفحه‬ ‫سیاست‬TLB‫دارای‬‫با‬ ‫برابر‬ ‫حافظه‬ ‫به‬ ‫دسترسی‬ ‫زمان‬530ns‫است‬.
2)‫و‬ ‫بندی‬ ‫صفحه‬ ‫سیاست‬TLB‫دارای‬‫با‬ ‫برابر‬ ‫حافظه‬ ‫به‬ ‫دسترسی‬ ‫زمان‬450ns‫است‬.
3)‫بندی‬ ‫صفحه‬ ‫سیاست‬‫دارای‬‫با‬ ‫برابر‬ ‫حافظه‬ ‫به‬ ‫دسترسی‬ ‫زمان‬850ns‫است‬.
4)‫بندی‬ ‫صفحه‬ ‫سیاست‬‫دارای‬‫با‬ ‫برابر‬ ‫حافظه‬ ‫به‬ ‫دسترسی‬ ‫زمان‬730ns‫است‬.
nsTHTT MemTLBnTranslatio 130)4002.0(50)1( 
nsTTT MemnTranslatioAccess 530400130 
‫گزینه‬ ‫درستی‬ ‫علت‬1:‫سیاست‬‫افزار‬ ‫سخت‬ ‫همراه‬ ‫به‬ ‫بندی‬ ‫صفحه‬TLB:
nsTT MemnTranslatio 400 nsTTT MemnTranslatioAccess 800400400 
‫گزینه‬3‫و‬4‫است‬ ‫نادرست‬:
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
61
‫موثر‬ ‫زمان‬‫صفحه‬ ‫نقص‬ ‫دادن‬ ‫رخ‬ ‫صورت‬ ‫در‬ ‫دسترسی‬
DiskMemnTranslatioAccess TPTTT 
)()1( DiskMemTLBnTranslatio TPTHTT 
DiskMemTLBAccess TTTT 22 
‫در‬ ‫آدرس‬ ‫اینیه‬ ‫فرض‬ ‫با‬TLB‫دهد‬ ‫رخ‬ ‫حتما‬ ‫صفحه‬ ‫نقص‬ ‫و‬ ‫نناشد‬(‫یعنی‬H=0‫و‬P=1)‫بود‬ ‫دواهد‬ ‫زیر‬ ‫صورت‬ ‫به‬ ‫رابطه‬:
‫شود‬ ‫ذدیره‬ ‫دیسک‬ ‫در‬ ‫باید‬ ‫تغییر‬ ‫علت‬ ‫به‬ ‫صفحه‬ ‫که‬ ‫شده‬ ‫فرض‬ ‫فرمول‬ ‫این‬ ‫در‬( .‫جای‬ ‫به‬ ‫نناشد‬ ‫ذدیره‬ ‫به‬ ‫نیازی‬ ‫اگر‬2‫از‬ ‫قنل‬‫باید‬1‫قرار‬‫داد‬). DiskT
P:‫صفحه‬ ‫دطای‬ ‫احتمال‬
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
62
‫انتقال‬ ‫و‬ ‫دسترسی‬ ‫زمان‬ ‫با‬ ‫دیسک‬ ‫از‬ ‫که‬ ‫بگیرید‬ ‫نظر‬ ‫در‬ ‫را‬ ‫بندی‬ ‫صفحه‬ ‫مجازی‬ ‫حافظه‬ ‫سیستم‬ ‫یک‬3‫هیر‬ ‫بیرای‬ ‫ثانیه‬ ‫میلی‬
‫کند‬ ‫می‬ ‫استفاده‬ ‫صفحه‬.‫زمان‬ ‫دارای‬ ‫حافظه‬ ‫به‬ ‫دسترسی‬ ‫هر‬50‫است‬ ‫ثانیه‬ ‫نانو‬.‫دسیتی‬ ‫دم‬ ‫مییانگیر‬ ‫کیارایی‬ ‫بهبیود‬ ‫بیرای‬
‫ترجمه‬(TLB)‫دسترسی‬ ‫زمان‬ ‫دارای‬ ‫که‬ ‫است‬ ‫شده‬ ‫اضافه‬2‫باشد‬ ‫می‬ ‫ثانیه‬ ‫نانو‬.‫کنید‬ ‫فرض‬%98‫طرییق‬ ‫از‬ ‫هیا‬ ‫دسترسی‬
TLB‫گیرد‬ ‫می‬ ‫انجام‬.‫زمیا‬ ‫ولیی‬ ،‫نمود‬ ‫محاسبه‬ ‫را‬ ‫مجازی‬ ‫حافظه‬ ‫آدرس‬ ‫یک‬ ‫به‬ ‫دسترسی‬ ‫زمان‬ ‫میانگین‬ ‫توان‬ ‫می‬ ‫چه‬ ‫اگر‬‫ن‬
‫دارند‬ ‫تفاوت‬ ‫میانگین‬ ‫مقدار‬ ‫با‬ ‫و‬ ‫هستند‬ ‫متعدد‬ ‫ها‬ ‫دسترسی‬ ‫واقعی‬ ‫های‬.‫از‬ ‫عبارتند‬ ‫دسترسی‬ ‫واقعی‬ ‫زمان‬ ‫چند‬:
(‫کنید‬ ‫نظر‬ ‫صرف‬ ‫بیرگ‬ ‫بسیار‬ ‫اعداد‬ ‫مقابل‬ ‫در‬ ‫کوخک‬ ‫بسیار‬ ‫اعداد‬ ‫از‬.)
1)52‫ثانیه‬ ‫نانو‬-6‫ثانیه‬ ‫میلی‬-3‫ثانیه‬ ‫میلی‬
2)50‫ثانیه‬ ‫نانو‬-3.5‫ثانیه‬ ‫میلی‬-100‫ثانیه‬ ‫نانو‬
3)50‫ثانیه‬ ‫نانو‬-100‫ثانیه‬ ‫نانو‬-7‫ثانیه‬ ‫میلی‬
4)102‫ثانیه‬ ‫میلی‬-3.5‫ثانیه‬ ‫میلی‬-7‫ثانیه‬ ‫میلی‬
‫مهندسی‬IT-‫دولتی‬90
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
63
52502  MemTLB TTT
10250222  MemTLB TTT
DiskMemTLB TTTT  2 msmsnsns 335022 
DiskMemTLB TTTT 22  msmsnsns 6325022 
‫گیریم‬ ‫می‬ ‫نظر‬ ‫در‬ ‫را‬ ‫مشتلف‬ ‫حالت‬ ‫خهار‬:
‫در‬ ‫آدرس‬TLB‫باشد‬ ‫موجود‬:(H=1)
‫در‬ ‫آدرس‬TLB‫نناشد‬ ‫موجود‬:H=0))
‫دهد‬ ‫رخ‬ ‫صفحه‬ ‫نقص‬:
‫شود‬ ‫ذدیره‬ ‫دیسک‬ ‫در‬ ‫باید‬ ‫تغییر‬ ‫علت‬ ‫به‬ ‫صفحه‬ ‫و‬ ‫دهد‬ ‫رخ‬ ‫صفحه‬ ‫نقص‬:
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
64
‫شیرافکن‬ ‫مدرس‬ ‫با‬ ‫مشاوره‬:09121972028
‫جزوه‬ ‫تهیه‬ ‫یا‬ ‫زنی‬ ‫تست‬ ‫های‬ ‫کالس‬ ‫در‬ ‫شرکت‬ ‫جهت‬
‫پایان‬
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
65
‫دسترسی‬ ‫موثر‬ ‫زمان‬
DiskCMnTranslatioAccess TPTTT 
CMTLBnTranslatio THTT  )1(
PenaltyCacheCacheCM THTT  )1(
PenaltyT:‫پنهان‬ ‫حافظه‬ ‫در‬ ‫اصابت‬ ‫عدم‬ ‫هر‬ ‫جریمه‬
‫در‬‫صورت‬‫استفاده‬‫از‬‫حافظه‬‫نهان‬‫و‬‫با‬‫در‬‫نظر‬‫گرفتن‬‫احتمال‬‫وقوع‬‫نقص‬‫صف‬‫حه‬
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
66
(‫مهندسی‬IT–‫دولتی‬89)
‫بگیرید‬ ‫نظر‬ ‫در‬ ‫مشخصات‬ ‫این‬ ‫با‬ ‫مجازی‬ ‫حافظه‬ ‫یک‬.
‫حافظه‬ ‫دسترسی‬ ‫زمان‬50ns‫دستیابی‬ ‫زمان‬ ‫و‬TLB‫برابر‬2ns‫اصابت‬ ‫نسبت‬ ،TLB‫برابر‬98%‫کل‬ ‫برای‬ ‫صفحه‬ ‫خطای‬ ‫احتمال‬ ‫و‬
‫حافظه‬ ‫به‬ ‫ها‬ ‫دسترسی‬‫است‬.‫را‬ ‫دیسک‬ ‫از‬ ‫صفحه‬ ‫انتقال‬ ‫زمان‬10ms‫کنید‬ ‫فرض‬.
‫سرعت‬ ‫برای‬‫پنهان‬ ‫حافظه‬ ‫از‬ ‫حافظه‬ ‫این‬ ‫به‬ ‫بخشیدن‬(cache)‫است‬ ‫شده‬ ‫استفاده‬ ‫مشخصات‬ ‫این‬ ‫با‬:
‫زمان‬‫پنهان‬ ‫حافظه‬ ‫دسترسی‬10ns‫پنهان‬ ‫حافظه‬ ‫اصابت‬ ‫نسبت‬ ‫و‬90%‫پنهان‬ ‫حافظه‬ ‫در‬ ‫اصابت‬ ‫عدم‬ ‫هر‬ ‫جریمه‬ ،100ns‫است‬.
‫حافظه‬ ‫به‬ ‫دسترسی‬ ‫زمان‬ ‫میانگین‬‫است؟‬ ‫تر‬ ‫نزدیک‬ ‫زیر‬ ‫های‬ ‫گزینه‬ ‫از‬ ‫یک‬ ‫کدام‬ ‫به‬ ،‫آدرس‬ ‫هر‬ ‫برای‬
1)75ns2)45ns3)73ns4)43ns
6
102 

CMTLBnTranslatio THTT  )1( ns4.220)98.01(2 
PenaltycacheCacheCM THTT  )1( ns20100)9.01(10 
DiskCMnTranslatioAccess TPTTT  ns43)1010)(102(204.2 36
 
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
67
‫بندی‬ ‫صفحه‬ ‫مدیریت‬ ‫در‬ ‫فیزیکی‬ ‫به‬ ‫منطقی‬ ‫آدرس‬ ‫تبدیل‬(‫سطحی‬ ‫دو‬)‫شکل‬ ‫در‬ ‫مفروض‬ ‫پردازنده‬ ‫یک‬ ‫برای‬‫مشیاهده‬
‫شود‬ ‫می‬.‫است‬ ‫موجود‬ ‫زیر‬ ‫اطالعات‬:
‫به‬ ‫دسترسی‬ ‫زمان‬TLB‫برابر‬2ns
‫برابر‬ ‫حافظه‬ ‫به‬ ‫دسترسی‬ ‫زمان‬50ns
‫پنهان‬ ‫حافظه‬ ‫به‬ ‫دسترسی‬ ‫زمان‬(cache)‫برابر‬
‫درایه‬ ‫هر‬ ‫اندازه‬(entery)‫صفحه‬ ‫جدول‬:4‫بایت‬
‫اصابت‬ ‫نسبت‬TLB‫برابر‬98%
‫برابر‬ ‫پنهان‬ ‫حافظه‬ ‫اصابت‬ ‫نسبت‬90%
(‫مهندسی‬IT–‫دولتی‬91)
‫است‬ ‫حافظه‬ ‫به‬ ‫دسترسی‬ ‫هر‬ ‫برای‬ ‫صفحه‬ ‫فقدان‬ ‫خطای‬ ‫دادن‬ ‫روی‬ ‫احتمال‬6
10
P
‫میانگین‬‫مشخص‬ ‫منطقی‬ ‫آدرس‬ ‫با‬ ‫که‬ ‫حافظه‬ ‫مکان‬ ‫یک‬ ‫به‬ ‫دسترسی‬ ‫زمان‬،‫شده‬‫است؟‬ ‫تر‬ ‫نزدیک‬ ‫زیر‬ ‫اعداد‬ ‫از‬ ‫یک‬ ‫کدام‬ ‫به‬
‫فرمت‬‫است‬ ‫زیر‬ ‫صورت‬ ‫به‬ ‫پردازنده‬ ‫منطقی‬ ‫آدرس‬:
1)128‫ثانیه‬ ‫نانو‬2)57‫ثانیه‬ ‫نانو‬3)107‫ثانیه‬ ‫نانو‬4)28‫ثانیه‬ ‫نانو‬
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
68
DISKTLBTLB TPTTTHTT  321 ))(1(
nsTHTT MissDirCacheCacheDIRCache 2010)9.01(10)1(1  
nsTHTT MissPageTableCacheCacheTablePageCache 20100)9.01(10)1(2  
nsTHTT MissFrameCacheCacheFrameCache 20100)9.01(10)1( __3  
‫داریم‬ ‫بنابراین‬:
8.275204002.02
)105(1020)2020)(98.01(2 66

 
T
6
1055  msTDISK
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
69
‫تبدیل‬‫ش‬ ‫می‬ ‫مشاهده‬ ‫قبل‬ ‫تست‬ ‫شکل‬ ‫در‬ ‫پردازنده‬ ‫یک‬ ‫در‬ ‫بندی‬ ‫صفحه‬ ‫مدیریت‬ ‫در‬ ‫فیزیکی‬ ‫به‬ ‫منطقی‬ ‫آدرس‬‫ود‬(‫صیفحه‬
‫سطحی‬ ‫دو‬ ‫بندی‬.)‫از‬ ‫عبارتند‬ ‫موجود‬ ‫اطالعات‬:
‫درایه‬ ‫هر‬ ‫اندازه‬(entery)‫جدول‬‫صفحه‬:4‫بایت‬‫زمان‬‫دیسک‬ ‫و‬ ‫حافظه‬ ‫بین‬ ‫صفحه‬ ‫یک‬ ‫تبادل‬:5ms
‫به‬ ‫دسترسی‬ ‫زمان‬TLB‫برابر‬:2ns‫زمان‬‫حافظه‬ ‫به‬ ‫دسترسی‬‫برابر‬:50ns
‫پنهان‬ ‫حافظه‬ ‫به‬ ‫دسترسی‬ ‫زمان‬(cache)‫برابر‬:10ns‫جریمه‬cache miss‫برابر‬:100ns
‫با‬‫منط‬ ‫آدرس‬ ‫بیا‬ ‫کیه‬ ‫حافظیه‬ ‫مکیان‬ ‫یک‬ ‫به‬ ‫دسترسی‬ ‫برای‬ ‫ممکن‬ ‫های‬ ‫زمان‬ ‫گزینه‬ ‫کدم‬،‫قبل‬ ‫تست‬ ‫شکل‬ ‫به‬ ‫توجه‬‫قیی‬
‫دهد؟‬ ‫می‬ ‫نشان‬ ‫را‬ ‫است‬ ‫شده‬ ‫مشخص‬
1)32ns , 162ns , 152ns , 482ns , 10ms , 15ms
2)32ns , 162ns , 132ns , 282ns , 382ns , 15ms , 10ms
3)12ns , 82ns , 162ns , 282ns , 332ns , 5ms , 10ms , 15ms
4)12ns , 32ns , 112ns , 132ns , 232ns , 332ns , 5ms , 10ms
(‫کامپیوتر‬ ‫مهندسی‬-‫دولتی‬91)
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
70
‫مشتلف‬ ‫های‬ ‫حالت‬ ‫بررسی‬:
1-‫دهد‬ ‫می‬ ‫رخ‬ ‫حالت‬ ‫دو‬ ‫شویم‬ ‫صفحه‬ ‫فقدان‬ ‫دخار‬ ‫صفحه‬ ‫قاب‬ ‫در‬ ‫اصلی‬ ‫داده‬ ‫به‬ ‫مراجعه‬ ‫در‬ ‫اگر‬.
(‫کنیم‬ ‫می‬ ‫نظر‬ ‫صرف‬ ‫ثانیه‬ ‫میلی‬ ‫های‬ ‫زمان‬ ‫برابر‬ ‫در‬ ‫ثانیه‬ ‫نانو‬ ‫های‬ ‫زمان‬ ‫از‬)
‫الف‬-‫نیست‬ ‫صفحه‬ ‫جایگیینی‬ ‫به‬ ‫نیاز‬ ‫و‬ ‫دارد‬ ‫وجود‬ ‫دالی‬ ‫قاب‬:
ms5TT Disk 
‫ب‬-‫باشد‬ ‫می‬ ‫صفحه‬ ‫جایگیینی‬ ‫به‬ ‫نیاز‬ ‫و‬ ‫ندارد‬ ‫وجود‬ ‫دالی‬ ‫قاب‬:
ms1055TTT DiskDisk 
‫گیینه‬ ‫که‬ ‫است‬ ‫مششص‬ ‫اینجا‬ ‫تا‬4‫عدد‬ ‫دو‬ ‫خون‬ ‫است‬ ‫درست‬ms‫برابر‬ ‫آن‬5‫و‬10‫باشد‬ ‫می‬.
2-‫اگر‬TLB‫کند‬ ‫اصابت‬.‫دهد‬ ‫می‬ ‫رخ‬ ‫حالت‬ ‫دو‬ ‫حافظه‬ ‫در‬ ‫داده‬ ‫دود‬ ‫به‬ ‫مراجعه‬ ‫برای‬:
‫الف‬-cache‫کند‬ ‫اصابت‬:
ns12102TTT cachenTranslatio 
‫ب‬-cache‫نیند‬ ‫اصابت‬:
ns112100102TTTT penaltymisscachecachenTranslatio  
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
71
3-‫اگر‬TLB‫مورد‬ ‫سه‬ ‫به‬ ‫توجه‬ ‫با‬ ‫نیند‬ ‫اصابت‬"‫قاب‬ ‫و‬ ‫صفحه‬ ‫جدول‬ ‫دایرکتوری‬"‫صورت‬ ‫این‬ ‫در‬‫خهار‬‫دهد‬ ‫می‬ ‫رخ‬ ‫حالت‬:
‫الف‬-‫مورد‬ ‫سه‬ ‫هر‬ ‫به‬ ‫مراجعه‬ ‫در‬cache‫کند‬ ‫اصابت‬:
ns321010102TTTTT FRAMECPTCDIRCTLB  
‫ب‬-‫مورد‬ ‫سه‬ ‫از‬ ‫ییی‬ ‫به‬ ‫مراجعه‬ ‫در‬cache‫نیند‬ ‫اصابت‬:ns132100132T 
‫ج‬-‫مورد‬ ‫سه‬ ‫از‬ ‫تا‬ ‫دو‬ ‫به‬ ‫مراجعه‬ ‫در‬cache‫نیند‬ ‫اصابت‬:ns232100232T 
‫د‬-‫مورد‬ ‫سه‬ ‫هر‬ ‫مراجعه‬ ‫در‬cache‫نیند‬ ‫اصابت‬:ns332100332T 
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
72
(‫مهندسی‬IT–‫دولتی‬84)
1)‫صفحه‬ ‫اندازه‬8K‫هر‬ ‫مجازی‬ ‫حافظه‬ ‫اندازه‬ ‫و‬‫فرایند‬G16‫است‬.
2)‫برابر‬ ‫قطعه‬ ‫هر‬ ‫در‬ ‫دو‬ ‫سطح‬ ‫صفحه‬ ‫جداول‬ ‫تعداد‬ ‫حداکثر‬128‫است‬.
3)‫برابر‬ ‫فرایند‬ ‫هر‬ ‫در‬ ‫یک‬ ‫سطح‬ ‫صفحه‬ ‫جداول‬ ‫تعداد‬ ‫حداکثر‬512‫است‬.
4)‫برابر‬ ‫قطعه‬ ‫هر‬ ‫اندازه‬ ‫حداکثر‬32M‫برابر‬ ‫قطعه‬ ‫هر‬ ‫در‬ ‫صفحات‬ ‫تعداد‬ ‫حداکثر‬4096(4K)‫برابر‬ ‫فرایند‬ ‫هر‬ ‫در‬ ‫صفحات‬ ‫تعداد‬ ‫حداکثر‬ ‫و‬2M‫است‬.
‫ترکیب‬ ‫از‬ ‫که‬ ‫حافظه‬ ‫مدیریت‬ ‫سیستم‬ ‫یک‬ ‫در‬ ‫زیر‬ ‫مجازی‬ ‫آدرس‬ ‫مورد‬ ‫در‬‫بندی‬ ‫صفحه‬ ‫و‬ ‫بندی‬ ‫قطعه‬‫صیفحه‬ ‫جیداول‬ ‫بیا‬‫دو‬
‫عبارت‬ ‫کدام‬ ،‫برد‬ ‫می‬ ‫بهره‬ ‫سطحی‬‫نادرست‬‫است؟‬
‫گیینه‬2‫با‬ ‫برابراست‬ ‫قطعه‬ ‫هر‬ ‫در‬ ‫دو‬ ‫سطح‬ ‫صفحه‬ ‫جداول‬ ‫تعداد‬ ‫حداکثر‬ ‫خون‬ ‫است‬ ‫نادرست‬:3225

.
‫دیگر‬ ‫های‬ ‫گیینه‬ ‫درستی‬ ‫علت‬:
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫کدام‬‫یک‬‫از‬‫گزینه‬‫های‬‫زیر‬‫در‬‫رابطه‬‫با‬‫حافظه‬‫مجازی‬‫صحیح‬‫تر‬‫است؟‬
1)‫حافظه‬‫مجازی‬‫توسط‬‫مکانیسم‬‫قاب‬‫بندی‬‫پیاده‬‫سازی‬‫می‬‫گردد‬.
2)‫حافظه‬‫مجازی‬‫برای‬‫محیط‬Multiprogramming‫مفید‬‫بوده‬‫و‬‫تنها‬‫در‬‫این‬‫مورد‬‫استفاده‬‫می‬‫شود‬.
3)‫حافظه‬‫مجازی‬‫یک‬‫تصویر‬‫مجرد‬(abstract)‫یکنواخت‬‫و‬‫تقریبا‬‫نامحدود‬‫از‬‫حافظه‬‫در‬‫اختیار‬‫کاربر‬‫قرار‬‫می‬‫دهد‬.
4)‫گزینه‬1‫و‬2‫هر‬‫دو‬‫صحیح‬‫اند‬.
‫مهندسی‬‫کامپیوتر‬-‫دولتی‬85
‫گزینه‬2‫نادرست‬،‫است‬‫چون‬‫حافظه‬‫مجازی‬‫برای‬‫محیط‬‫تک‬‫برنامه‬‫نیز‬‫مفید‬‫می‬‫باشد‬‫و‬‫می‬‫توان‬‫توسط‬‫حافظه‬،‫مجازی‬‫یک‬‫برن‬‫امه‬‫که‬
‫از‬‫حافظه‬‫اصلی‬‫بزرگتر‬‫است‬‫را‬‫اجرا‬‫کرد‬.
‫گزینه‬1‫نادرست‬،‫است‬‫چون‬‫حافظه‬‫مجازی‬‫توسط‬‫مکانیسم‬‫های‬‫صفحه‬‫بندی‬،‫قطعه‬‫بندی‬‫و‬‫یا‬‫ترکیب‬‫هر‬‫دو‬‫قابل‬‫پیاده‬‫سازی‬‫است‬.
73
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫کدام‬‫یک‬‫از‬‫گزینه‬‫های‬‫زیر‬‫درباره‬‫مدیریت‬‫حافظه‬‫با‬‫روش‬‫صفحه‬‫بندی‬‫درست‬‫نیست‬‫؟‬
1)‫کاهش‬‫اندازه‬،‫صفحه‬‫سبب‬‫کاهش‬‫زمان‬‫سرویس‬‫نقص‬‫صفحه‬‫می‬‫شود‬.
2)‫کاهش‬‫اندازه‬،‫صفحه‬‫سبب‬‫افزایش‬‫بهره‬‫وری‬‫حافظه‬‫و‬‫افزایش‬‫زمان‬I/O‫می‬‫شود‬.
3)‫کاهش‬‫اندازه‬،‫صفحه‬‫سبب‬‫کاهش‬‫تکه‬‫تکه‬‫شدن‬‫داخلی‬‫حافظه‬‫می‬‫شود‬.
4)‫کاهش‬‫اندازه‬،‫صفحه‬‫سبب‬‫کاهش‬‫تکه‬‫تکه‬‫شدن‬‫خارجی‬‫حافظه‬‫می‬‫شود‬.
‫مهندسی‬IT-‫دولتی‬92
74
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫فرادرس‬ ‫در‬ ‫شده‬ ‫مطرح‬ ‫نکات‬ ‫مبنای‬ ‫بر‬ ‫ها‬ ‫اسالید‬ ‫این‬
«‫عامل‬ ‫سیستم‬ ‫در‬ ‫حافظه‬ ‫مدیریت‬ ‫آموزش‬
(‫مرور‬-‫ارشد‬ ‫کنکور‬ ‫تست‬)»
‫است‬ ‫شده‬ ‫تهیه‬.
‫نمای‬ ‫مراجعه‬ ‫زیر‬ ‫لینک‬ ‫به‬ ‫آموزش‬ ‫این‬ ‫مورد‬ ‫در‬ ‫بیشتر‬ ‫اطالعات‬ ‫کسب‬ ‫برای‬‫ید‬
faradars.org/fvsfte106
‫در‬ ‫حافظه‬ ‫مدیریت‬
‫سیستم‬‫عامل‬
faradars.org/fvsfte106
‫س‬‫ر‬‫د‬‫ا‬‫ﺮ‬‫ﻓ‬
FaraDars.org

آموزش مدیریت حافظه در سیستم عامل (مرور – تست کنکور کارشناسی ارشد)