صفحه 1:

صفحه 2:
در زمان اجرا ارجاعات به حافظه بصورت دینامیک ترجمه می + oh شوند. 7 بدلیل وجود مسئله جابجایی» فرآیند ممکن است در جاهای مختلفی از حافظه قرار گیرد. ممکن است یک برنامه را به تکه های مختلف شکسته باشیم و نیازی نباشد که اين تکه ها در حافظه در کنار هم قرار بگیرند. " نیازی نیست که تمام تکه های برنامه در حال اجراء وارد حافظه شوند.

صفحه 3:
۱ 0 # سیستم عامل چند تکه از برنامه را برای اجرا به حافظه اصلی می آورد. * مجموعه مقیم: قسمتی از برنامه که داخل حافظه اصلی است. * وقتى كه بو آدرسى نياز داشته ته باشیم که در حافظه اصلی نباشد یک وقفه توليد مى كردد * سپس سیستم میستم عامل فرآیند را مسدود می کند. * قسمت مورد نیاز که حاوی آدرس منطقی تولید شده است وارد حافظه می دد. سیستم عامل یک درخواست 1/0“ خواندن دیسک را صادر می کند. میایی که درنجواجتت 7۳ صل است؛ برنامه دیگری برای اجرا فرستاده می شود. * وقتي درخواست آماده شده یک وقفه صادر می شود که باعث می شود سیستم عامل فرآیند مسدود شده را به حالت آماده بر گرداند.

صفحه 4:
‎ra cec 0‏ اا ‏فرآیندهای بیشتری وارد حافظه اصلی می شوند. " چون فقط تکه هایی از هر فرآیند به حافظه آورده شده است. ؟ لذا احتمال اینکه همیشه یکک فر آیند در وضعیت آماده اجرا باشد بيشتر است. #ممکن است فرآیند از حافظه اصلی بزر گتر باشد. ‎

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

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

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

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

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

صفحه 10:
0 9 ششغ2ظ # یک بیت کنترلی دیگر نیاز است که مشخص می کند ‎UT aS‏ صفحه موجود در حافظه اصلی در حین اجرا تغییر کرده است یا نه. #اگر صفحه تغییر نکرده بود نیازی نیست كه هنكام جایگزینی صفحه در حافظه جانبی نوشته شود.

صفحه 11:
(acd NN ea ek oan et cca Virtual Address |__ Page Number ‏او‎ Page Table Entry Fifpsscanme] Tame Nonter | (a) Paging only Typical Memory Management Format

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

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

صفحه 14:
70 #هر ارجاع به حافظه ى مجازى ممكن است كه به دو ارجاع به حافظه ى جانبى منجر شود: ‎ASI chp So”‏ جدول صفحه ‏۴و بعدی برای واکشی داده ‏#برای غلبه بر اين مشکل از یک حافظه ی نهان سریع برای نگهداری ردیفهای جدول صفحه استفاده می شود. ‏7 این حافظه نهان ۸60 "نامیده شده است. ‏© ۷ شام دیفهاییاز جدولصفحه لستکه لخیرا بسه آنها ارجاع شده ‎

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

صفحه 16:
۳ Page Fo ‏سس تمس‎ 0 ted the Page 001 Figure 83 Operation of Paging and ‘Transtation Lookaside Butter (TLB) [FURHS7]

صفحه 17:
‘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

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

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

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

صفحه 21:
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 Page Fault Rate

صفحه 22:
صفحات با سایز متفاوت اجازه می دهند که از ۷!,68بصورت مؤثر استفاده گردد. از صفحات بزرگ برای ذخیره سازی دستورالعمل کدهای برنامه استفاده می شود. ؟ از صفحات کوچک برای نخها استفاده می گردد. اکثر سیستم عاملها فقط از یک سایز صفحه پشتیبانی می کنند.

صفحه 23:
۱ Puge Gites Table 8.2. Example Page Sizes Computer Page Size ‘Atlas 512 48-bit words Heaeywell-Multies 1024 36-bit weed IBM Z70/KA and 370/ESA 4 Kbyter VAX family 512 bytes IBM As/400 S12 bytes DEC Alpha 8 Kbytes MES 4 byes to 16 Mbytes UkraSPARC 8 Kbytes tod Mbytes Petia, 4 Kbyres ord Mbytes PowerPe 4 Kbytes

صفحه 24:
قطعات دارای سایز مختلف هستند. (اندازه ی دینامیک) * انتظارات ساختارهای داده در حال گسترش را به سادگی برآورده می ‎St‏ اجازه می دهد که برنامه ها بصورت مستقل تغییر یابند و کامپایل شوند. * به راحتى با اشتراک داده بین فرآیندها کنار می آید. #به آسانی مسأأله حفاظت را حل می کند.

صفحه 25:
Branch instruction inot allowed) Reference to data (allowed) Reference to data (not allowed) Figure 8.14 Protection Relationships Between Segments

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

صفحه 27:
Virtual Address Segment Numer Segment Table Eatry ‎Length | ___ segment Base‏ سنن" ‎(b) Segmentation only ‎Figure 8.2 Typical Memory Management Formats ‎

صفحه 28:
Segmentation Mechanism

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

صفحه 30:
۳) لحن كصااك امد دوج 85 ‎Ore al‏ 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:
۵ 85 PAC SLC ‏جه ة1)‎ 34

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

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

صفحه 34:
؟قفل کردن قاب ؟ اگر قابی قفل شده است نباید جایگزین شود. هسته سيستم عامل * ساختارهاى كنترلى *بافرهاى ‎UO‏ * به هر قاب يكك بيت قفل نيز وصل مى كنيم.

صفحه 35:
۹ Choris #سیاست بهینگی * صفحه اى برای جایگزینی انتخاب می شود که زمان ارجاع بعدی به آن دور ترین است. ؟ آگاهی کامل از آینده امکان پذیر نیست.

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

صفحه 37:
۹ Choris CIPO) cut? * قابهایی که به فرآیند اختصاص داده شده است را بصورت یک بافر حلقوی در نظر می گیرد. * صفحات بصورت ۲۷۱۵۳ جایگزین می گردند. ؟ از لحاظ پیاده سازی ساده ترین سیاست جایگزینی است. *صفحه ای که مدت بیشتری در حافظه بوده است. کاندید جایگزینی است. ۴ یکی از عیوب این روش این است که این صفحه ممکن است بزودی مورد استفاده قرار گیرد.

صفحه 38:
۹ Choris سیانست:ساعت: * به هر قاب يكك بيت استفاده منتسب مى كنيم. * هنكامى كه صفحه براى اولين بار وارد حافظه مى شود بيت استفاده صفر است. © وقتی که صفحه مورد ارجاع قرار می گیرد؛ بیت استفاده یک مى كردد. * وقتی که به جایگزینی نیاز باشده با کمک یک اشاره گر بافر را میگردیم. * اولین صفحه ای که در مسیر ما بیت استفاده آن صفر باشدهبرای جایگزینی انتخاب می ای استفاده صفحاتی که در مسیر جستجوی ما قرار می گیرند به صفر تبدیل saa * اشاره گر نیز هميشه به قاب بعدی (بعد از قاب جایگزین شده) اشاره می کند.

صفحه 39:
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

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

صفحه 41:
‎(area 0‏ ادعو جه برج 18) ی ‎Cowpurisva‏ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎ ‎

صفحه 42:
از اینجا به بعد تدریس نشده است.

صفحه 43:
۹ Choris 5 ت زیر بگرین ش از دو ل ۱ که قرار است جایگزین شود به یکی از دو لیست صفحه ای : گرد فحه تفیبر نکرده باشد. ‎a wip ne Pigs oe‏ 1 تست یافته: اگر صفحه تغیبر نکرده باشد. #لست مد ف صفحه ارد. * يعنى سيستم عامل دو بافر دار یعنی سپ

صفحه 44:
۱۹ lo lpi cs tc 8 © * به هر فرآیند تعداد ثابتى از صفحات براى اجرا داده ميكردد. ؟اگر خطای صفحه رخ دهد يكى از صفحات آن فرآيند جايكزين فى شود. © 5 ‎FE SOROS‏ " در مدت حیات فرآیند؛ تعداد صفحاتی که به آن تخصیص داده شده تغییر می کند.

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

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

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

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

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

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

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