صفحه 1:

صفحه 2:
فص مر و 2 4 # در زمان اجرا ارجاعات به حافظه بصورت پویا ترجمه ميشوند. * بدلیل وجود مسئله جابجایی؛ فرآیند ممکن است در جاهای مختلفی از حافظه قرار گیرد. ؟ نیازی نیست که تمام تکه های برنامه در حال اجراء وارد حافظه شوند.

صفحه 3:
رصم 1 © سيستم عامل چند تکه از برنامه را برای اجرا به حافظه اصلی می آورد. * مجموعه مقیم: قسمتی از برنامه که داخل حافظه اصلی است. وقتی که به آدرسی نیاز داشته باشیم که در حافظه اصلی نباشد یکک وقفه تولید می گردد. * سپس سیستم عامل فرآیند را مسدود می کند. ؟ تکه مورد نیاز که حاوی آدرس منطقی تولید شده است وارد حافظه می گردد.

صفحه 4:
‎ra cec‏ اا ‏فرآیندهای بیشتری وارد حافظه اصلی می شوند. * ممكن است فرآيند از حافظه اصلی بزر گتر باشد. ‎

صفحه 5:
© حافظه واقعى * حافظه اصلى ©حافظه مجازى * حافظه روى ديسكك * امكان جند برنامكى را فراهم مى كند و كاربر را از محدوديت هاى حافظه اصلى نجات ميدهد.

صفحه 6:
* جابجایی قسمتی از برنامه درست قبل از وقتی که به آن نیاز ‎mle‏ ‏#بیشتر وقت پردازنده به جای اجرای دستورات کاربر صرف جابجایی تکه ها می شود.

صفحه 7:
۱ ed cdl ema Odea ea Da #ارجاعات به کد برنامه و داده در فر آیند بصورت خوشه ای در یک دوره کوتاه زمانی» تعداد کمی از تکه های فر آیند مورد استفاده قرار می گیرند. *لذاء می توان فهمید که در آینده نزدیک به کدام تکه ها نیاز خواهیم داشت و از کوبید گی اجتناب کرد.

صفحه 8:
3 ee 0 (errata © سخت افزار باید از صفحه بندی و قطعه بندی حمایت کند. © سيستم عامل بايد قادر به حرکت دادن صفحات و قطعه ها بین حافظه اصلی و جانبی باشد.

صفحه 9:
#هر فرآیند دارای یک جدول صفحه است. #هر ردیف جدول صفحه شامل شماره قاب معادل در حافظه اصلی است. ۳ we e ‏يكك بيت نيز وجود دارد كه مبين حضور يا عدم حضور صفحه‎ ‏در حافظه اصلى است.‎

صفحه 10:
4 aid Delo ca # یک بیت کنترلی دیگر نیاز است که مشخص می کند که آیا صفحه موجود در حافظه اصلی در حین اجرا تغییر کرده است يا نه. #اگر صفحه تغییر نکرده بود نيازى نيست كه هنكام جایگزینی صفحه در حافظه جانبی نوشته شود. 10

صفحه 11:
(acd NN ea ek oan et cca Virtual Address [_ Page Number___ | oftset_] Page Table Entry لد (a) Paging only Figure 8.2 Typical Memory Management Formats 11

صفحه 12:
‘Virtual Address Frame #] Oftset Page# | Oftset once Page Frame Main Memory Paging Mechanism Program Figure 8.3 Address Translation in a Paging System 5

صفحه 13:
#ممکن است که جدول صفحه خیلی بزرگ باشد و نگهداری آن در حافظه اصلی مقدور نباشد. #در این حالت جدول صفحه نیز در حافظه جانبی نگهداری می شود. *وقتى كه فرآيند اجرا مى شود قسمتی از جدول صفحه ی آن در حافظه اصلی قرار می گیرد. 13

صفحه 14:
‎a een arin rac (phen a Bh ry od‏ را مرر» ‎4-kbyte root page table ‎page table ‎4-Gbyte user 7 address space ‏اک‎ |e | ‏كك‎ | ‎ ‎Figure 8.4 A Two-Level Hierarchical Page Table,

صفحه 15:
عرص”ا وده ادوج | ‎Oeste‏ ld MAN ۵ ۴2 ۵۱۱۳۵۹۱ [2512 oo page able ‏توت‎ Program Paging Mechanism ‘Main Memory Figure 8.5 Address Translation in a Two-Level Paging System 2

صفحه 16:
Virtual Address ۳۹۳۹ 0 Controt bits bits function Inverted Page Table {one entry for each physical memory frame) Real Address Figure 8.6 Inverted Page Table Structure 16

صفحه 17:
#هر ارجاع به حافظه ی مجازی به دو ارجاع به حافظه ی جانبی 17 منجر میشود. #برای غلبه بر اين مشکل از یک حافظه ی نهان سریع برای نگهداری ردیفهای جدول صفحه استفاده می شود. ”اين حافظه نهان 00ر1 ناميده شده است. ‎Ls DLO *‏ دیفهاییاز جدول‌صفحه لستکه لخیرا به آنها ارجاع شده ‎cul‏ ‎

صفحه 18:
18 © وقتى يكك آدرس منطقى به دست يردازنده مى رسدء ابتدا ‎Ly DL®‏ جكك مى ‎AS‏ ‏*اكر رديفى وجود داشت (19») » شماره ی قاب متناظر با شماره ی صفحه برداشته می شود. اگر ردیف متناظر در ۲۷6" وجود نداشت (ع ۰ از شماره ی صفحه پرای ایند کس کردن جدول صفحه استفاده می کنیم. © ابتدا وجود جدول صفحه در حافظه اصلی چک می شود. * اگر وجود نداشت خطای صفحه تولید می شود. * اگر وجود داشت. 06 تازه می شود تا شامل صفحه جدید گردد.

صفحه 19:
Return to ‎chk the TL‏ أ رم ‎ ‎ ‎ ‎ ‎Beg wbie 7 ‎ee ‎Page fat handling routine ‏اناق مس که‎ ‎6 ‏اع مت‎ trom disk ‎1 ‎CPU activates VO hardware ‎1 ‎1 1 ‏ی‎ CPU generates ait memry physi address ‎ ‎ ‎ ‎Yes ‎ ‎Prom page replacement ‎ ‎ ‎ ‎Page tbles pasted ‎ ‎ ‎ ‎ ‎Figure 87 Operation of Paging and Translation Lookaside Buffer (TLB) ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎

صفحه 20:
‘Secondary ‘Main Memory ‘Memory اه Load TLE hit Frame # Ontset Real Address ‘Virtual Address Page# | ofset ‘Translation Lookaside Buffer ‏جم‎ ‏نهم‎ ‎= ‎2 ‏لو‎ ‎Page Table ‘TLB miss 4 Page fault Figure 8.7 Use of a Translation Lookaside Buffer 20

صفحه 21:
رگ ری ۱۳۹ 21

صفحه 22:
#هر چه سایز صفحات کوچکتر باشد: © تکه تکه شدن داخلی کمتر است. * تعداد صفحات فر آیند بیشتر است. * تعداد صفحات بیشتر به معنای جدول صفحه ی بزرگتر است. به عبارت دیگر قسمتی از جدول صفحه در حافظه ی مجازی خواهد بود. 22

صفحه 23:
#اكر سايز صفحه کوچک باشد. تعداد زیادی از صفحات در حافظه اصلی هستند. در حین اجرا؛ صفحاتی که در حافظه قرار دارند شامل قسمتهایی از فرآیند هستند که اخیرا مورد ارجاع قرار گرفته اند. لذا خطاهای صفحه کم می شوند. #اگر سایز صفحه بز رگ باشد» هر صفحه حاوی محلهایی است که از ارجاعات فعلی دور هستند. لذا خطاهای صفحه افزایش می یابند.

صفحه 24:
Page Fault Rate (a) Page Ste (b) Number of Page Frames Allocated P= size of entire process W= working set size N= total number of pages in process Figure 8.11 ‘Typical Paging Behavior of a Program

صفحه 25:
قطعات دارای اندازه های مختلف هستند. (اندازه ی پویا) #اجازه می دهد که برنامه ها بصورت مستقل تغییر یابند و کامپایل شوند. #به راحتی با اشتراک داده بین فرآیندها کنار می آید. #به آسانی مسأّله حفاظت را حل می کند. 25

صفحه 26:
* قطعه متناظر را در حافظه اصلی نشان می دهد. هر ردیف طول قطعه را نیز مشخص می کند. یک بیت نیز نشان می دهد که آیا قطعه در حافظه اصلی است ‎Sak‏ یک بیت دیگر نیز مشخص می کند که آیا قطعه از زمان حضور (بار گذاری) در حافظه تا کنون تغییر کرده است با نه؟

صفحه 27:
(Crees ‏اك‎ ca ceed Virtual Address Segment Numer ment Table Entry ‎Length | ___ segment Base‏ سنن" ‎(b) Segmentation only ‎Figure 8.2 Typical Memory Management Formats ‎ ‎28

صفحه 28:
Segmentation Mechanism 29

صفحه 29:
OTe ‏ا‎ De تکنیک صفحه بندی از دید برنامه نویس پنهان است. # صفحه بندی تکه تکه شدن خارجی را حذف می کند. # قطعه بندی برای برنامه نویس قابل مشاهده است. # هر قطعه به صفحات با سایز ثابت تقسیم می گردد. 30

صفحه 30:
OTe ‏ا‎ De Virtual Address ل لعا ]| ] Segment Table Entry [osercontce mits] Length [Segment Base 7 Page Table Entry ‎Pz present bit‏ | ناداتسا ‎M-= Modified bit (©) Combined segmentation and paging ‎Figure 8.2 Typical Memory Management Formats ‎31 ‎

صفحه 31:
32 DIE ARN PANT = ‏جه ة) لجن‎ 34

صفحه 32:
‎Por Oirtuat (2‏ ددا د تاو 006 ‎ ‎Table 8.4 Operating System Policies for Virtual Memory ‎Resident Set Management Resident set size Fixed Variable Replacement Scope Global Local ‎Cleaning Policy Demand Precleaning ‎Load Control Degree of multiprogramming ‎33 ‎Fetch Policy Demand paging Prepaging ‎Placement Policy ‎Replacement Policy Basic Algorithms Optimal Least recently used (LRU) First-in-first-out (FIFO) Clock Page Buffering ‎

صفحه 33:
#سیاست واکشی " مشخص می کند که چه موقع يكك صفحه بايد به حافظه آورده شود. *صفحه بندی بر اساس تقاضا فقط وقتی صفحات را به حافظه می آورد که یک ارجاع به محلی در آن صفحه داده می شود. * لذا در هنكام شروع فرآیند شاهد تعداد زیادی خطای صفحه خواهیم بود. تکنیک پیس صفحه بندى بيشتر از حد نیاز صفحه بار می کند. ؟۴اگر صفحات مجاور در دیسک سخت را بار گذاری کنیم موثرتر خواهد بود. 34

صفحه 34:
35 #سیاست جایگزینی * هنگام پر شدن حافظه کدام صفحه را جایگزین کنیم. * صفحه اى كه حذف می شود باید صفحه ای باشد که احتمال مراجعه به آن در آینده نزدیکك کمتر است. *اکثر سیاستها سعی می کند از روی رفتار گذشته فرآیندها» رفتار آینده ی آنان را پیش بینی کنند.

صفحه 35:
‎ee‏ ت نباید جایگزین شود. ؟ گر قابی قفل شده است نبا *هسته سیستم عامل ‎۱ VO ‏ت قفل نیز متسب می کنیم.‎ ea: ‏به هر قاب يكك بيت قفل نيز‎ * ‎

صفحه 36:
37 (Naa ۱3۱ ۱ #سیاست بهینه * صفحه اى برای جایگزینی انتخاب می شود که زمان ارجاع بعدی به آن دورترین است. ؟ آگاهی کامل از آینده امکان پذیر نیست.

صفحه 37:
(Naa ۱3۱ ۱ ماس ‎Leost Reveuty Dsed (VLRO)‏ صفحه ای را که مدت طولانتری مورد ارجاع قرار نگرفته است را جایگزین کنید. بر اساس اصل محلی بودن ارجاعات این صفحه همان صفحه ای Z 5 ِ است که در آینده دورتری مورد ارجاع قرار می گیرد. “هر صفحه بايد دارای یک برچسب باشد که در زمان آخرین ارجاعی که به آن شده تنظیم شده است. لذا به سربار زیادی خواهیم داشت. 38

صفحه 38:
39 (Naa ۱3۱ ۱ (CIPO) cot? ‏قابهایی که به فرآیند اختصاص داده شده است را بصورت یک بافر‎ " ‏حلقوی در نظر می گیرد.‎ ‏؟ از لحاظ پیاده سازی ساده ترین سیاست جایگزینی است.‎ ‏*صفحه ای که مدت بیشتری در حافظه بوده است. کاندید جایگزینی‎ * يكى از عيوب اين روش اين است كه اين صفحه ممكن است بزودى مورد استفاده قرار كيرد.

صفحه 39:
40 2 ‏امه لمظ)‎ ۱۹ ea as eed سیانست:ساعت: * به هر قاب يكك بيت استفاده منتسب مى كنيم. * هنكامى كه صفحه براى اولين بار وارد حافظه مى شود بيت استفاده صفر است. © وقتی که صفحه مورد ارجاع قرار می گیرد؛ بیت استفاده یک مى كردد. * وقتی که به جایگزینی نیاز باشده با کمک یک اشاره گر بافر را میگردیم. * اولین صفحه ای که در مسیر ما بیت استفاده آن صفر باشدهبرای جایگزینی انتخاب می ای استفاده صفحاتی که در مسیر جستجوی ما قرار می گیرند به صفر تبدیل saa * اشاره گر نیز هميشه به قاب بعدی (بعد از قاب جایگزین شده) اشاره می کند.

صفحه 40:
First frame in circular buffer of frames that are candidates for replacement page 13 ‏دعس‎ 0 page 33 use = 1 7 page 67 ue=1 6 {a) State of buffer just prior toa page replacement 5 Figure 8.16 Example of Clock Policy Operation 41

صفحه 41:
42 (b) State of buffer just after the next page replacement Figure 8.16 Example of Clock Policy Operation

صفحه 42:
‎IEA Au ROR Lea cd‏ ذه ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎43 ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎

صفحه 43:
44 (Naa ۱3۱ ۱ #بافر کردن صفحه *صفحه ای که قرار است جایگزین شود به یکی از دو لیست زیر منتقل می گردد: * ليست صفحات خالی: اگر صفحه تغییر نکرده باشد. * ليست صفحات تغيير يافته: اكر صفحه تغيير كرده باشد. ؟ یعنی سیستم عامل دو بافر صفحه دارد.

صفحه 44:
45 ۱۹ lo lpi cs scot oi * به هر فرآیند تعداد ابتی از صفحات برای اجرا داده ميشود. ؟اگر خطای صفحه رخ دهد یکی از صفحات آن ف رآیند جایگزین بت: فى شود. 558 #8 " در مدت حیات فرآیند؛ تعداد صفحاتی که به آن تخصیص داده شده تغییر می کند.

صفحه 45:
46 عمصست ا0۲) رمشمس) دنو از لحاظ پیاده سازی ساده ترین است. #اکثر سیستم عاملها از این روش استفاده می کنند. سیستم عامل لیستی از قابهای خالی را نگهداری می کند. #وقتی که یک خطای صفحه رخ دهد یکی از قابهای خالی به آن داده می شود. #اكر قاب خالی وجود نداشت» یکک قاب از دیگر فرآیندها برای جایگزینی انتخاب می گردد.

صفحه 46:
47 ل ل 20 * وقتى كه يكك فرآيند جديد اضافه شوده با توجه به نوع كاربرد» درخواست فرآیند و یا دیگر معیارها تعدادی قاب به آن اختصاص داده می گردد. © هنكام وقوع خطای صفحه از مجموعه مقیم فرآیندی که عامل خطا است» صفحه اى براى جايكزينى انتخاب مى گردد. #اندازه قابهاى تخصيص يافته به فرآيند مى تواند در طول زمان تغيير نمايد.

صفحه 47:
# پا کسازی بر اساس تقاضا " صفحه ای که تغییر کرده است فقط هنگام جایگزینی در حافظه ثانویه نوشته می گردد. 5 e ‏پیش پاکسازی‎ ‏صفحات بصورت دسته ای در حافظه انوبه نوشته می گردند.‎ * 48

صفحه 48:
روش بهتر استفاده از بافر صفحه است: * صفحات جایگزین شده در دو لیست قرار می گیرند: تغيير كرده و تغيير نكرده * صفحاتى كه در ليست تغبير يافقه هستند» بصورت متناوب و دسته اى در حافظه ثانويه نوشته مى شوند. " صفحاتی که در لیست تغییر یافته هستند. یا دوباره فراخوانی می شوند یا از دست می روند (وقتی که قاب مربوطه به یک فرآیند دیگر داده شود). 49

صفحه 49:
50 © كنترل بار عبارت است از مشخص كردن تعداد فرآیند های مقیم در حافظه اصلی. ؟اگر کم باشد: موقیعتهایی زیادی پیش می آید که تمام فرآ یندها مسدود هستند و وقت پردازنده صرف جابجایی فرآیند ها می شود. اگر تعداد فرآیندها زیاد باشد: احهتمال وقوع پدیده کویید گی زیاد می شود.

صفحه 50:
51 * فرآيند با كمترين اولويت * فرآيند توليد كننده خطا * مجموعه كارى مورد نياز اين فرآيند در حافظه نيست» يس ‎Ly OT‏ مسدود كنيد. © آخرين فرآيندى كه فعال شده " احتمال اینکه مجموعه کاری این فر آیند مقیم باشد. کمتر است. * فرآیندی که مجموعه مقیم آن کوچکتر است * درآینده به کار کمتری برای فراخوانی مجدد آن نیاز داریم. * فرآیندی که مجموعه مقیم آن بزرگتر است * تعداد قابهای خالی بیشتری بدست می آوریم. * فرآیندی که پنجره اجرای باقیمانده آن بزرگتر است.

جهت مطالعه ادامه متن، فایل را دریافت نمایید.
34,000 تومان