صفحه 1:

صفحه 2:

صفحه 3:

صفحه 4:
حافظه ی مجازی تکنیکی است که موجب می شود فرآیند بدون اینکه کاملا در حافظه باشد اجرا گردد. امتیاز عمده این الگو این است که ممکن است برنامه ها بزرگتر از حافظه ی فیزیکی باشند. 1-0 مرور کلی برای قرار گرفتن دستورات در حال اجرا در حافظه یک روش این است که کل فضای آدرس منطقی در حافظه ی فیزیکی قرار گیرد اما اين روش موجب می شود که اندازه ی برنامه به اندازه ی حافظه ی فیزیکی محدود شود.

صفحه 5:
دزضوارد زیر » اغلب تیار هکل ترناههآنجست:؛ ۰ برنامه ها اغلب برای پردازش خطای نادر نوشته می شوند که اغلب اجرا نمی شوند ( به دلیل ندرت رخداد خطا ) ۰ به آرایه ها , لیست ها و جداول ؛ حافظه ای بیش از اندازه مورد نیاز تخصیص می یابد بعضی ویژگی ها و گزینه های برنامه ممکن است به ندرت مورد استفاده قرار گیرند. توانایی اجرا برنامه ای که فقط بخشی از آن در حافظه قرار گیرد فواید زیادی دارد : * اندازه ی برنامه به فضای فیزیکی محدود نمی شود 8 " چون هر برنامه کاربر می تواند فضای فیزیکی کمتری را اشغال

صفحه 6:

صفحه 7:
!. حافظه ی مجازی معمولا توسط صفحه بندی درخواستی پیاده سازی می شود. اا. حافظه مجازی در سیستم قطعه بندی نیز قابل پیاده سازی است. ااا.برای پیاده سازی حافظه ی مجازی از قطعه بندی درخواستی نیز می توان استفاده کرد.

صفحه 8:

صفحه 9:
2-0 صفحه بندی درخواستی یک سیستم صفحه بندی درخواستی مشابه سیستم صفحه بندی به همراه مبادله است. فرآیند ها در حافظه ی ثانویه ( معمولا دیسک ) ذخیره می شوند. برای اجرای فرآیند آن را به حافظه می آوریم. ۲ اجرای انتقال کامل فرآیند به حافظه » از مبادله کننده تنبل ( بتكنا ری ) استفاده می شود که این مبادله تا زمانیکه فرآیندی سورد نیاز نباشد آن را به حافظه نمی آورد. + بيت ا لاد اطع سان دا سای

صفحه 10:
4 5 ]۰ زاهبادله به خارج برنامة © 9 7 ۲ 1 شاد بدا برنامة

صفحه 11:
1-2-0 مفاهیم اساسی وقتی فرآیندی باید به حافظه مبادله شود , صفحه بند حدث می زند که قبل از این که فرآیند از حافظه خارج شود چه صفحه ای مورد استفاده قرار خواهد گرفت بنابراین به جای اينکه کل فرآیتد زا بة بحافطظه بیآوزد .عمط سعحات موره. ییاز زا وآرد حافظه می کند. ۲ در این اگو نیاز به پشتیبانی سخت افزار داریم تا بین صفحات موجود: در حاقظه و متشحاتموجود ادن ديصق حفکیک: قانل شویم که برای این منظور الگوی بیت اعتبار مورد استفاده قرار می گیرد.

صفحه 12:
حافظه فیزیکی ‎٠ ٠ > © © 8 8 8 8 6 8‏ ۶ 0 م “ ‎& oO © ‏چم ‏© ۵ 9 © © © ۰ و ‏یت اعتبار قاب ‎6 ۵ ۵ ۵ ۵ 6 ‏جدول صفحه حافظه منطقی ‏© © ۵ ۶ 0 ۵ ۰ و ‎es: ‎

صفحه 13:
اگر فرآیندی سعی کند از صفحه ای استفاده کند که در حافظه نیست : دستیابی به صفحه ای که به صورت صفحه ای نامعتبر علامت گذاری شده است ؛ منجر به تله ی خطاهای ‎(Pag Pout) arturo‏ می شود. سخت افزار صفحه بندی برای ترجمه آدرس از طریق جدول صفحه متوچه.می شود که بیت نا فعتبر یک است و تله ای را به

صفحه 14:
صفحه در حافظه ©

صفحه 15:
روش مقابله با اين نوع خطای صفحه : !. جدول مربوط به این فرآیند را که معمولا در 06 فرآیند ذخیره می شود , بررسی می شود تا مشخص شود آیا مراحعه معتبر بوده يا خیر اا. اگر ارجاع نا معتبر بود فرآیند را خاتمه می دهیم و اگر معتبر بود وب به حافظه نیامده بود آن را به حافظه می آوریم ااا.یک قاب آزاد را می یابیم ‎IV‏ عملیات دیسک را زمانبندی می کنیم تا صفحه مورد نظر را به قابی که الان تخصیص یافته است بخوانیم ‏۷ وقتی خواندن از دیسک آغاز شد , جدول صفحه و جدول داخلی را ‏همراه فرآیند نگهداری شده است اصلاح می کنیم تا بیانگر اين باشد که آن صفحه فعلا در حافظه نیست

صفحه 16:
لا نکته : برنامه ها تمایل به ارجاع محلی دارند که منجربه کارآیی معقولی در صفحه بندی درخواستی می شود ( اینطور نیست که برنامه ها به چندین صفحه جدید دستیابی داشته باشند و دچار چندین خطای صفحه شوند ) سخت افزار پشتیبان صفحه بندی درخواستی , همانند سخت افزار صفحه بندی و مبادله است : ۷ جدول صفحه : اين جدول از طریق بیت اعتبار یا بیت های حافظه می تواند ورودیی را به عنوان ورودی نامعتبر علامت گذاری کند.

صفحه 17:
لا نکته : علاوه بر پشتیبانی سخت افزاری نیاز به نرم افزار قابل ملاحظه ای نیز می باشد. از سر گیری اجرای یک دستور در صورت خطای صفحه : 1 اگر خطای صفحه هنگام مکش (6۳۲) دستور رخ دهد » می توانیم آن دستور را دوباره مکش کنیم. 2 اك هتكام امكش ريك عملونه خطاي صفحة رع دهدة: | دوباره " ۳ | رمزگشایی

صفحه 18:
أفظه مجازی 2-2-0 كارآيى صفحه بندى درخواستى صفحه بندی درخواستی تأثیر به سزایی در کارآیی سیستم کامپیوتری دارد. برای پی بردن به این موضوع زمان دستیابی موثر را برای صفحه بندی مجازی محاسبه می کنیم. ( زمان دستیابی موثر < زمان دستیابی سحانحاه زطلکر خطاطیی به حافظه صفحه به وجود نیاید ) احتمال بروز زمان خطای موثر * (04) * مب + هگای‌مانفحصتیابی موثر ‎sly‏ محاسبه ی زمان دستیابی موثر ؛ باید بدانیم که برای ارائه خدمات به خطای صفحه , چقدر زمان نیاز است

صفحه 19:
< خطای صفحه موجب می شود تا اعمال زیر صورت گیرد: 1 ارسال تله بة سجستم: 2 ذخیره ثبات هاى كاربر و حالت فرآيند. 3 تعیین اینکه وقفه ناشی از خطای صفحه بود. 4 کنترل شود که اجرا به صفحه معتبر بود يا خیر و تعیین محل صفحه دیسک. 5 خواندن از دیسک و اثثقال به یک قاب آزاد. الف - انتظار در صف آن دستگاه تا ارائه خدمت ب - انتظار برای پیگرد دستگاه و یا زمان تخیر

صفحه 20:
52.6 زمان انتظار برای دیسک ؛ 000 به کار دیگری تخصیص می یاید (زمانبندی 060). 7.وقفه ای از دیسک ( کامل شدن عمل 1/0 دیسک ). 8.ذخیره ی ثبات ها و حالت فرآیند برای کاربر دیگر ( اگر مرحله 6 انجام شده باشد ). 9 .تعیین اينکه وقفه از دیسک بوده است. 0 تصحیح جدول صفحه و ساير جدول ها تا نشان داده شود که صفحه مطلوب فعلا در حافظه است. 1 انتظار برای تخصیص مجدد 060 به این فرآیند.

صفحه 21:
*#تذکر : ممکن است تمام این مراحل در هر مورد الزامب باشند. در هر مورد , خطای صفحه شا سه زمان است که ناشی از سه عمل می باشد: می توانند با کد نویسی دقیق به چند که ستور گاهس 1 ارائه خدمات به وقفه خطا 2 خواندن صفحه به حافظه 3. اجرای دوباره ی فرآيند مه خطای صفحه شده اند »

صفحه 22:
سیستم های با فضای مبادله محدود » برای فایل های باینری از الگوی زیر استفاده می کنند: !. صفحاتی که در فایل های باینری درخواست می بشتوند. مستقیما از سیستتج فایل آوزده مین شوند: وقتی آن صفحات باید جایگزین شوند . صفحات جدید بروی آنها نوشته می شوند و در صورت لزوم » دوباره باید از سیستم فایل خوانده شوند. اا. صفحات از همان اولاز همان اول از سبستم فایل درخواست شوند ولی هنگام جایگزینی در فضای مبادله نوشته شوند. ت کند که فقط صفحات د نباز از

صفحه 23:

صفحه 24:
3-0 ایجاد فرآیند در بخش 10-2توضیح دادیم که فرآیند چگونه با صفحه بندی درخواستی شروع کند. با استفاده از اين تکنیک ؛ فرآیند فقط بوسیله ی صفحه بندی درخواستی در صفحه ای که حاوی اولین دستور است , آغاز می شود. اما , صفحه بندی و حافظه ی مجازی در اثنای ایجاد فرآیند , فواید دیگری نیز دارند . در اینجا در تکنیک که توسط حافظه مجازی فراهم می شود و کارآیی ایجاد و اجرا فرآیند را بهبود می بخشد , شرح داده مى شود.

صفحه 25:
افظه مجازی 1-3-0 کپی و نوشتن صفحه بندی درخواستی هنكام خواندن فایل از دیسک ‎a,‏ حافظه نورد استحفاده:فزاز سن کیرد و این فایل. مکن آست«حاود دودویی قابل اجرا باشد , اما ایجاد فرآیند با استفاده از فراخوان سیستم ۳:۲() , می تواند با استفاده از تکنیکی مشابه با اشتراک صفحه , نیاز به صفحه بندی درخواستی را برطرف کند. این تکنیک سرعت ایجاد فرآیند را افزایش می دهد و تعداد متقحاتن را که .هنگام انجاه قرآیند جدیدباند بوجود آیبهزا چه حداقل می رساند.

صفحه 26:
افظه مجازی *#تذکر * با توجه ‎aS yl a‏ فرآیند های فرزند ایجاد شدند , فراخوان سیستم تحح() را فراخوانی می کنند , كبى كردن فضاى آدرس پدر ممکن است ضروری نباشد. ۲ از طرف دیگر , می توانیم از تکنیکی به نام کپی و نوشتن (بوه 0 8۵) استفاده کنیم. روش کپی و نوشتن : در این روش , فرآیندهای پدر و فرزند از همان آغاز , از صفحات یکسانی استفاده می کنند. ا ات ‎iS‏ و نوشتن علامت

صفحه 27:
* تذکر : تکنیک کپی و نوشتن , هتگام تکثیر فرآیند در سیستم ‎Sly‏ ‏عاملی مثل ویندوز 2000 , لینوکس و سولاریس 2 مورد استفاده قرار می گیرد. ‎(AUS acne SIRS Sages‏ نس( از تعیین !الک صفاتها الق باید نا استفاده از کپی و نوشتن تکثیرشود: ‏بسیازی ار سیسعم:عامل:هایحخربی (ی) از سقجات آراد بزای لین درخواست ها فراهم می کنند. ‏* این صفحات آزاد وقتی تخصیص می یابند که پشته یا هرم مربوط ‏به فرآیند باید بسط یابد پا صفحات کپی و نوشتن باید مدیریث

صفحه 28:
لانکته : سیستم های عامل این صفحات را با تکنیکی به نام پر کردن با صفر در هنگامه تقاضا (لمصمط -م - ۷ -سد) تخصیص می دهند. تکنیک پر کردن با صفر در هنگام تقاضا : در این تکنیک صفحات درخواستی قبل از تخصیص با صفر پر می شوند و در نتیجه محتویات قبلی آن از بین می روند. لانکته : در تکنیک کپی و نوشتن » صفحه ای که می خواهد کپی ‎seit‏ اک اس کت سفن تست كيف هف كرت

صفحه 29:
2-3-0 فایل های نگاشت حافظه نگاشت حافظه فایل تکنیکی است که با تکنیک حافظه ی مجازی ؛ با 0 فایل به عنوان روال دستیابی به حافظه استفاده می کنند. * رهیافت نگاشت حافظه فایل اجازه می دهد بخشی از فضای آذریتن عجازینبه طور محظفی به قایل:مربوط شوب

صفحه 30:
نکات : 1 برای نگاشت حافظه ی یک فایل بلوک دیسک به صفحه ( صفحاتی ) در حافظه نگاشته می شود. 2 دستیابی اولیه به فایل از طریق صفحه بندی درخواستی عادی انجام می شود و منجر به خطای صفحه می گردد اما بخشی از فایل که به اندازه ی صفحه است , از سیستم فایل به صفحه ی فیزیکی خوانده می شود. 3 خواندن و نوشتن های بعدی در فایل به صورت روال های دستیابی به حافظه اداره می شوند. بدین ترتیب , چون دستکاری فایل ها به جای فرخوان سبستم لمحب() و عس() از

صفحه 31:
لانکته : عمل نوشتن در فایلی که در حافظه نگاشت شده است , ممکن است فورا در فایل روی دیسک انجام نشود. < بعضی از سیستم های عامل نگاشت حافظه را فقط از طریق فراخوان سیستم خاصی انجام می دهند و با استفاده از فراخوان یسم انسلسارد»: با :5 سابل جرسوره می ‎su‏ ‎NaS fits ie Lota fl pice LS‏ قانلی بة عنؤان فاب نگاشت حافظه مشخص شده است یا خیر آن را به صورت نگاشت جاقطه در نظن من ‎1213S‏ ‏#تذکر : ممکن است چند فرآیند بتوانند به یک فایل در حافظه ی مجازی نگاشت شوند تا اشتراک داده به وجود آید.

صفحه 32:

صفحه 33:

صفحه 34:
در بحث هایی که تا کنون گفته شد نرخ خطای صفحه چندان جدی نبود چرا که هر صفحه حداکثر یک بار ( هنگامیکه اولین بار به آن ارجاع می شود ) دچار خطای صفحه می گردید. 7 اگر فرآیند 10 صفحه ای فقط نیمی از آنها استفاده کند صفحه بندی درخواستی , در ‎VO‏ مورد نیاز برای 5 صفحه ی دیگر صرفه همچنین می توانستیم با اجرای در برابر فرآیندها ؛ درجه چندبرنامه ای را بالا ببریم , لذا اگر 40 قاب می داشتیم می

صفحه 35:
تخصیص اضافی : اگر درجه چندبرنامه ای را بالا ببریم » تخصیص اضافی حافظه صورت می گیرد. تخصیص اضافی حافظه بدین ترتيب عمل مى کته : ‎٠‏ در حالیکه فرآیند کاربر در حال اجراست ؛ خطای صفحه رخ می دهد. ‎٠‏ سخت افزار تله ای را به سیستم عامل می فرستد و سیستم عامل جدول های داخلی خود را بررسی می کند تا ببیند آیا اين

صفحه 36:

صفحه 37:
0 طرح اصلی .جابگزیتی. صفحه جایگذینی صفحه به این صورت عمل می کند : 9 اگر قاب آزادی موجود نباشد قابی را پیدا می کنیم که فعلا در حال استفاده نیست و آن را آژاد می کنیم. لا برای آزاد کردن قاب » محتویات آن را در فضای مبادله می نویسیم و جدول صفحه ( و ساير جداول ) را تغییر می دهیم ( تا نشان دهیم صفحه فعلا در حافظه نیست )

صفحه 38:
روال خدمات خطای صفحه به صورت زیر تغییر می کند تا جایگذینی صفحه را نیز انجام دهد. ‎«I‏ محلی از دیسک را بیابد که صفحه مطلوب در آنجا قرار دارد. ‎I‏ قاب آزاد را بيابد : ‎all,‏ اکن ها آزاد وجوه نازد ار آن انستفاده کید ‏جحوكره با اسفایه ان الگووسم خانگوسی سطع بلك ان را ‏برای قربانی کردن انتخاب نماید ( آن قاب را خالی کند) ‏ج - صفحه ی قربانی را بروی دیسک بنویسد و جدول قاب و صفحه را ‏.نیز بطور مناسب تغییر دهد ‏ااا. صفحه مطلوب را به قاب آزاد منتقل کند و جداول صفحه و قاب

صفحه 39:
رز قاب صفحة قربانی \ برای مباله با خارج ‎TO ee‏ قرباد نامعتبر مام 5 تفت تنظیم مجدد ی ‎ern‏ براى صفحة مطلوب به دن حافظه

صفحه 40:
لانکته : اگر قاب خالی موجود نباشد نیاز به دو انتقال صفحه است ( یکی برای خروج از صفحه و دیگری برای ورود به صفحه ) بدین ترتیب زمان خدمات خطای صفحه دو برابر می شود و زمان دستیابی موثر نیز افزایش می یابد. ربا ناقشى ‎pat‏ وجود قاب حالی,با استفاده آر پیت اصلاح کاهش می یابد : ‎٠‏ هر صفحه یا قاب می تواند بیت اصلاح مخصوص به خود را در ‏سخت افزار داشته باشد. ‎ ‎2-3-0-2 a 3

صفحه 41:
+ اوقتی تفج آی زا برای جایگزیتی آنتخاب ‎oe‏ کنیع« ببت لظلا آن را بررسی می کنیم. 0 اگر برابر با یک باشد : متوجه می شویم که هنگام خواندن از دیسک تغییر کرده است و در این حالت می بایست آن صفحه را بروی دیسک بنویسیم. تاکز ترایز نا ‎ey‏ تباشتد, زابه معناق. این است. که صفحه هنگام خوانده شدن به حافظه تغییر نکرده است بنابراین اگر کیی صفحه موجود در دیسک

صفحه 42:
نکات : 1 این تکنیک به صفحات فقط خواندنی ( مثل صفحات كد باينرى ) اعمال مى شود 2. اين الكو زمان ارائه خدمات به خطاى صفحه را كاهش مى دهد , زیرا در صورتیکه صفحه تغییر نکند » زمان ‎VO‏ به نصف تغليل مى يابد. تذکر : جایگزینی صفحه اساس کار صفحه بندی درخواستی است ۳ برای:پیاده سازی تفحه بیدی: دوجواستی ,دی فسقله را باند حل re

صفحه 43:
۲ اگر چندین فرآیند در حافظه باشند , باید تصمیم بگیریم که چند قاب به هر فرآیند تخصیص يابد. ۲" علاوه بر این , در صورت نیاز جایگزینی صفحه , قاب هایی را که بايد جايكزين شوند انتخاب می کنیم. لا نکته : با افزایش تعداد قاب ها , تعداد خطاهای صفحه به حد ‎sl aid‏ کاهش می یابد. البته افزايش حافظه فیزیکی نیز منجربه افزایش تعداد قاب ها می شود.

صفحه 44:
تعداد قاب oO 9 & oO oO 9 لاه © ه ه وه وه وه وه ۱ وه عمج رد

صفحه 45:
2-4-0 الگوریتم ۳۹۵ اين الگوریتم ,برای هر صفحه » زمان ورود آن صفحه به حافظه را ثبت می کند. هر وقت صفحه ای بخواهد جایگزین شود , قدیمی ترین صفحه برای جایگزینی انتخاب می گردد. لا نکته : لازم نیست زمان ورود به حافظه ثبت شود , بلکه مى توانیم یک صف 10 ایجاد کنیم تا تمام صفحات موجود در حافظه را نگهداری کند. برای جایگزینی , صفحه موجود در ابتدای صف را انتخاب می کنیم , وقتی صفحه به حافظه آورده شد آن را در انتهای این صفحه قرار می دهیم.

صفحه 46:

صفحه 47:
لا نکته : کارایی الگوریتم 0 همواره خوب نیست چرا که صفحه ای که جایگزین شد ممکن است یک پیمانه ی ارزش دهی اولیه باشد که مدت ها قبل مورد استفاده قرار گرفته است و فعلا نیازی به آن نیست. از طرف دیگر ممکن است حاوی متغیر های پر استفاده ای باشد که قبلا مقدار اولیه گرفتند و دائما مورد استفاده قرار می گیرند. لا نکته : از را خن الگفرشم ها اجایگوخین سقحه و نرق لاج صفحه با افزایش قاب های تخصیص یافته , افزایش می یابد ( تناقض بیلدی - سس له )

صفحه 48:
9 a e 9 تعداد قاب oe لاه © ه ه وه وه وه وه ۱ وه عمج رد

صفحه 49:
3-4-0 الگوریتم بهینه * نرخ خطای صفحه در الگوریتم جایگزینی صفحه بهینه » نسبت به سایر الگوریتم ها کمتر است. ۰ الگوریتم بهینه دچار تناقض بهینه نمی شود. ۰ استفاده از این الگوریتم تضمین می کند که نرخ خطای صفحه برای تعداد ثابتی از قاب ها » کمینه است. ‎٠‏ یک الگوریتم بهینه وجود دارد که به نام های ‎OPT‏ یا 010 خوانده می شود و به صورت زیر است. ‏[| صفحه ای را که به مدت طولانی مورد استفاده قرار نمی گیرد . جایگزین کنید.

صفحه 50:

صفحه 51:
4-4-0 الگوریتم ۵ اگر تهیه الگوریتم بهینه امکان پذیر نباشد , تقریبی از آن الگوریتم آشکان: پیز است: تفاوت ‎yu‏ الگوریتم های 10 و 067 : الگوریتم ۵۹0 از زمان ورود به حافظه استفاده می کند و الگوریتم 0۳۲ از زمانیکه صفحه مورد استفاده قرار می گیرد استفاده می کند. ۵ : اگر از گذشته ی نزدیک‌به عنوان‌تقریبی‌از آیندم ی

صفحه 52:

صفحه 53:
* الگوریتم ۷۸۵ آخرین زمانی را که هر صفحه مورد استفاده قرار گرفته است ثبت می کند و برای جایگزینی یک صفحه , ۲۵ صفحه ای را انتخاب می کند که برای مدت طولانی تری مورد استفاده قرار نگرفته است. ل نکته : الگوریتم بهینه جایگزینی ۷۵ زمان را به صورت معکوس نگاه می کند یعنی اگر *۵ را معكوس رشته مراجعت 6 در نظر بگیریم , آنگاه نرخ خطای صفحه برای الگوریتم 00 بروی 6 همانند نرخ صفحه برای الگوریتم 00 بروی *6 است به طور مشابه نرخ خطای صفحه بروی الگوریتم ۷۵ بروی 6 , همانند

صفحه 54:
دو روش برای تعیین اینکه چگونه می بایست برای قاب هایی که توسط آخرین زمان استفاده تعریف شده اند ء ترتیبی را تعیین کرد » وجود دارد : 1ستفاده از شمارنده 2.استفاده از پشته

صفحه 55:
1 استفاده از شمارنده : در ساده ترین حالت برای هر ورودی جدول صفحه , فیلدی به نام فیلد زمان استفاده در نظر می گیریم و به 0060 یک ساعت منطقی يا شمارنده اضافه می کنیم. 7 در هر مراجعه به حافظه , یک واحد به ساعت اضافه می شود. 7 هر وقت به صفحه ای مراجعه می شود , محتویات ثبات ساعت به فیلد ژمان استفاده در جدول صفحه ی مربوط به آن صفحه کپی می شود. بدین ترتیب ؛ آخرین زمان مراجعه به هر صفحه را می دانیم © صفحه ای را جایگزین می کنیم که مقدار زمان آن از همه کمتر

صفحه 56:
% * تذکر : این الگو مستلزم جستجوی جدول صفحه است تا صفحه 0 پیدا شود و همچنین در هر دستیابی به حافظه نیاز به نوشتن در صفحه است ( فیلد زمان استفاده باید در جدول صفحه کپی شود ) 2 استفاده از پشته : روش دیگر پیاده سازی ۱۵ استفاده از پشته ای است که از شماره صفحات نگهداری می کند. 50 هر وقت به صفحه ای مراجعه شود , از پشته حذف شده در بالای پشته قرار می گیرد. 7 بدین ترتیب , آخرین صفحه ای که مورد استفاده قرار گرفته است هميشه در بالای پشته قرار دارد و صفحه 7۲0 در پایین پشته

صفحه 57:
رشته مراجعات a

صفحه 58:
# تذکر : چون عناصری باید از میانه پشته حذف شوند » بهتر است پشته به صورت لیست دو پیوندی پیاده سازی گردد. نكات : ‎«I‏ هیچکدام از الگوریتم های بهینه و ۵۵ دچار تناقض بیلدی نمی شوند. اا. هیچکدام از پیاده سازی های 7۲۵ بدون پشتیبانی سخت افزاری و استفاده از ثبات های ۲۷۵ انجام پذیر نیست. ااا. دسته ای از الگوریتم های جایگزینی صفحه به نام الگوریتم های پشته ای وجود دارد که هیچگاه دچار تناقض بیلدی نمی

صفحه 59:
الگوریتم پشته ای : الگوریتمی است که در آن , مجموعه ای از صفحات موجود در حافظه برای » قاب , هميشه زیر مجموعه ای از صفحاتی ‎cH Shy oS cowl‏ قاب در حافظه خواهند بود. آلابرای جایگزینی 00 مجموعه صفحات موجود در حافظه , آخرین جصتفحه آف که به مها جراعم سوة اسع آگااگر تعداد قاب ها افزایش یابد : اين > هنوز صفحاتی خواهد بود که اخیرا به ّن قا مراجعه شده است و در حافظه باقی می ‎eee‏

صفحه 60:
افظه مجازی 5-4-0 تقریبی از الگوریتم ۱۵0 سخت افزار لازم برای پشتیبانی از ۷۵ ؛ برای اغلب سیستم های کامپیوتری مهیا نیست. بعضی از سیستم ها از بیت ارجاع برای کمک به الگوریتم جایگزینی استفاده می کنند. روش بیت ارجاع : | هر ورودی جدول صفحه , دارای یک بیت ارجاع است | در آغاز تمام بیت ها توسط سیستم عامل صفر می شوند | وقتی فرآیند کاربر اجرا می گردد ؛ بيت ارجاع مربوط به هر ارحاع شده است , توسط سخت ! 1

صفحه 61:
| با استفاده از بیت ارجاع می توانیم تعیین کنیم که کدام صفحات تاکنون مورد استفاده قرار گرفته اند و کدام صفحات مورد استفاده واقع نشده اند ولی ترتیب استفاده از آن ها مشخص نیست . این اطلاعات جزئی در مورد ترتیب صفحات منجربه الگوریتم هایی می شود که تقریبی از الگوریتم 6۵| هستند. 1-5-4-0 الگوریتم بیت ارجاع اضافی با ثبت بیت های ارجاع با فواصل زمانی منظم » اطلاعات بیشتری راجع به ترتیب مراجعه به صفحات بدست می آوریم. می توانیم برای هر صفحه 8 بیت (1 سبا) را در جدولی در حافظه نگهداری کنیم. در فواصل زمانی منظم , یک وقفه از تایمر ؛

صفحه 62:
۰ سیستم عامل بیت ارجاع مربوط به هر صفحه را به بيت با ارزش بايت 8 بيتى شيفت مى دهد. براى اين منظور » بقيه ى بيت ها را يك بيت به سمت راست شيفت مى دهد و از بيت مرتبه پایین صرفه نظر می کند. لا نکقه : ‎old gal‏ های شبفت 8 بیتی » سابقه استفاده: از حافظه را برای آخرین هشت دورهارَجاتی نگهداری می کند . در هشت دوره زمانی اخیر مورد استقتاتهقرار نگرفته 0 -< ثبات شیفت ذر هشت. ذوره زمانی یکبار مورد استفاده قرار گرفثه 2-2-1 ثبات شیفت

صفحه 63:
Gevow!) cus 9 yrog? ‏الگوریتم‎ 2-5-4-0 (Chee اساس الگوریتم دومین فرصت الگوریتم ۲۹۵ است. وقتی صفحه ای انتخاب شد , بیت ارجاع آن را بررسی می کنیم. ۲ اگر 0 باشد : آترا جایگزین می کنیم. ۲ اگر 1 باشد : فرصت دیگری به آن صفحه می دهیم و صفحه ی بعدی را به ترتیب 1۴0 انتخاب می کنیم. وقتی صفحه ای فرصت دوباره پیدا می کند بیت ارجاع آن 0 می شود و زمان فعلی آن به عنوان زمان ورود آن محسوب می شود.

صفحه 64:
پیاده سازی الگوریتم دومین فرصت با صف حلقوی : در لنن.صق یک اشارم كر تصن میا کتد اگم چه صفحه ای بايد جایگزین شود. وقتی نیاز به قابی باشد , اشاره گر حرکت می کند تا صفحه ای را بیابد که بیت ارچاع آن 0 باشد. ‎OF‏ وقتی اشاره گر حرکت می کند » بیت ارجاع را 0 می کند. لأ وقتی صفحه ای برای جایگزینی انتخاب شد , آن صفحه از صف خارج می گردد و صفحه ی جدید به جای آن در صف حلقوی قرار ‎tint

صفحه 65:
ل بيت هاى ارجاع

صفحه 66:
3-5-4-0 الگوریتم دومین فرصت پیشرفته برای جایگزینی صفحه برای توسعه الگوریتم دومین فرصت از بیت ارجاع و بیت اصلاح ( بخش 1622 ) به صورت یک جفت استفاده می شود که با اين دو بیت چهار حالت زیر امکان پذیر است : 1. )0,0( نشان می دهد که صفحه اخیرا مورد استفاده قرار نگرفته است و تغيير نكرده است. بهترين صفحه براى جايكزينى است. 2 درک نشان می دهد که صفحه اخیرا مورد استفاده قرار نگرفته است ولى تغيير كرده است. صفحه ى.مناسبى براى جايكزينى نيست زیرا یگ از جايكزينى نياز به نوشتن است. ‎aS 2B) no‏ صفحه | ‎1١‏ داستفا

صفحه 67:
أفظه مجازی 6-4-0 الكوريتم هاى جايكزينى شمارشى © الكوريتم (-0 بفصدص” اسدر) 0©ا : در الكوريتم جايكزينى کمترین کاربرد , صفحه اى كه كمترين ارجاع به آن شده است براى جايكزينى انتخاب مى شود. - علت این انتخاب این است که تصور می شود صفحه ای که ارجاع کمتری به آن صورت می گیرد , کاربرد زیادی ندارد. © الگوریتم 0 هجو 0) 060۵ : در الگوریتم جایگزینی بیشترین کاربرد , صفحه ای که ارجاع بیشتری به آن صورت گرفت , به عنوان صفحه ی جایگزین انتخاب می شود. * اینطور استدلال می شود که صفحه ای که کمتر به کار گرفته

صفحه 68:
7-4-0 الگوریتم میانگیری صفحه سیستم ها معمولا انباری (۷) از قاب های آزاد را نگه می دارند . وقتی خطای صفحه رخ دهد. همانند الگوریتم های قبلی» صفحه ای برای جایگزینی انتخاب می شود (صفحه قرباتی) اما در انتجا قبل از ایتکه صفحه قرباتی به خارج از حافظه بزود:: صفحه ی مطلوب به قاب آزاد خوانده می شود. بدین ترتیب بدون ايینکه فرآیند منتظر بماند تا صفحه ی قربانی از حافظه خارج شود , می تواند اجرای خودش را از سر گیرد. پس ازآنکه صفحه قریانی از حافظه خارج شد , قاب آن به انبار قاب های آزاد

صفحه 69:
7-4-0 الگوریتم میانگیری صفحه ( ادامه... ) شکل دیگری از این الگوریتم : انباری از قاب های آزاد نگهداری شود و مشخص گردد که در هر قاب چه صفحاتی وجود دارد. چون محتویات قاب , هنگام نوشتن آن ‎Soy‏ دیسک تغییر نمی کند , صفحه قدیمی مستقیما می تواند از انبار قاب آزاد مورد استفاده قرار گیرد. | در این حالت نیاز به 10 نیست. لا وقتی خطای صفحه رخ دهد , ابتدا بررسی می کنیم که آیا صفحه مطلوب در انبار قاب آزاد وجود دارد یا خیر. اگر نبود » بايد قاب

صفحه 70:

صفحه 71:
5-0 تخصیص قاب ها راهبرد اصلی ‎sl»‏ تخصیص حافظه به فرآیندهای مختلف , بدین صورت است که هر قاب آزادی به فرآیند کاربر تخصیص می ‎aul‏ ‏وقتی صفحه بندی درخواستی با چند برنامه ای ترکیب می شود , مسئله دیگری بوجود می آید. چندبرنامه ای در هر زمان دو یا چند فرآیند را در حافظه قرار می دهد. در راهبرد تخصیص قاب ها محدودیت های گوناگونی وجود دارد. !| نمی توان بیش از تعداد قاب های موجود را تخصیص دهیم مگر ۲ اد دسا صفحه امکان پذیر باشد.

صفحه 72:
| می توان حداقل قاب های قابل تخصیص را نیز مشخص کرد که با کاهش تعداد قاب های تخصیصی به هر فرآیند , نرخ خطای صفحه افزایش می یابد. | حداقل تعداد قاب ها توسط معماری مجموعه دستورات تعریف 358 ae لا فنکته : اگر قبل از اجرای کامل یک دستور خطای صفحه رخ دهد , آن دستور باید از اول اجرا شود. در نتيجه بايد قاب های کافی برای نگهداری تمام صفحاتی که توسط یک دستور به آنها

صفحه 73:
0424 الگوریتم های تخصیص "ساده ترین روش تخصیص] قاب به ‏ فرآیند است که به هر کدام ۲0/0 قاب داده می شود .که با این الگوی تخصیص ‎٠‏ تخصیص مساوی (611010 ۵۱۱۵ ۲0۵۱ا(0]) می گویند. *روش دیگر تخصیص قاب ها این است که تشخیص دلده شود هر فرآیند چه میزان از حافظه نیاز دارد يعنى حافظه بر حسب اندازه فایل ها به آنها تخصیص می یابد . حافظه مورد نياز فرليند 61 -51 ‎S=Ssi‏ ‏اگر تعداد قاب ها ی موجود را 80 در نظر بكيريم » 21 قاب را به فرآيند 6 تخصيص می دهیم که : ai=Si/s*m

صفحه 74:
6-0-0 تخصیص محلی و عمومی الگوریتم های جایگزینی صفحه را می توان به در دسته تقسیم کرد : ‎iin‏ عمومی ‎٩‏ جایگزینی محلی ‏جایگزینی عمومی : فرآیند می تواند قاب جایگزینی را از مجموعة تمام قاب ها انتخاب كند .حتى اگر آن قاب به فرلیندی تخصیص داده شده باشد . ‏<< در جایگزینی عمومی » یک فریند ممکن است فقط قاب های تخصیص یافتهبهسایر فرآیند ها را انتخاب کند و در نتیجه به تعداد قاب های خودش بیفزاید .

صفحه 75:
جایگزینی محلی : هر .فرایندی می تواند قاب هایی را انتخاب کند که به آن تخصیص یافته است . . ‏در جایگزینی محلی » تعداد قاب هايى كه به فرآيند تخصيص يافته است تغيير نمى كند‎ AGP ‎as]‏ : مشكل الكوريتم جايكزينى عمومى اين است كه فرآيندى نمى تواند نرخ خطاى صفحه خود را کنترل کند .

صفحه 76:

صفحه 77:
)۲۳۲۵5:۳۴9( ‏کریییگی‎ ٩-0 5-8 می تولن فرآیند هایی را در نظر گرفت که قاب های کافی ندارند و اگر فرآندی فاقد قاب های تعداد قاب مورد نیاز باشد به زودی دچار خطا می شود که می بایست در چنین وضعیتی » صفحه ای را جایگزین کند ‏ حال اگر تمام صفحات در حال استفاده باشد » مى بایست صفحه ای را جایگزین کند که بلافاصله به آن نیاز می شود . 8 در نتیجه به زودی دچار خطای صفحه می شود واین ادامه می يابد . اين صفحه بندبى زياد را كوبيدكى يا عدم تعادل كويند .

صفحه 78:
افظه مجازی 6-0 علت کوبیدگی یا عدم تعادل زمتنبند (۳۱) کاهش بهره وری [ا۳) را می بیند و درجه چند برنامه ای را افزایش می دهد (فرآیند های جدید را جایگزین می کند ‎ )‏ اين فرآيند سعی می کند با دریافت صفحاتی از فرآیند های در حال اجرا ‏ شروع به اجرا نماید و منجر به خطای صفحه بیشتری می شود و صف انتظار برای دستگاه طولانی می شود . در نتیجه بهره وری لا ۳-بیشتر کاهش می یابد و زمانبد (۳۸ سعی می کند درجة چند برنامه ای را هنوز هم بیشتر کند .بدين ترتیب کوبیدگی یا عدم تعادل بوجود می آید وتوان عملیاتی سیستم کاهش می یابد .

صفحه 79:
i 3 بهره وری لا درجه چند برنامه ای 5 اثر كوبيدكى يا عدم تعادل با استفاده لز الكوريتم جايكزينى محلى محدود می شود .چنانچه فرآیندی در جایگزینی محلی دچار کوبیدگی شود » نمی تواند قاب ها را از فرآیندهای دیگر بگیرد و منجر به کوبیدگی شود .

صفحه 80:
6 برای جلوگیری از کوبیدگی » بايد تمام قاب هاى مورد نياز فرآيند تامينكردد که برای تعیین اینکه یک فرآیند به چند قاب نیاز دارد از راهبرد مجموعه کاری استفاده می شود . این روش ۰ مدل محلی اجرای فرآیند را تعریف می کند . مدل محلی : بیان می کند که وقتي فرآیندی در حال اجراست از یک محیط محلی به محیط محلی دیگر می رود (منظور از محل » مجموعه لی از صفحات است که به طور فعال با یکدیگر مورد استفاده قرار می گیرند )

صفحه 81:
‎(Dorr Gets) GIS 46 sane Js (0-0-2‏ اين مدل از مرن برلى تعريف ينجره مجموعه كارى استفاده می کند . ‏أ یو هه اتن اذ متقسفة هد القور: ترازو ار #اأاكر صفحه اى در حال استفاده باشد ؛ در مجموعه كارى قرار دارد و اكر ديكر مورد استفاده قرار ‏نكيرد » از مجموعة كارى حذف مى كردد .بنا براين مجموعة كارى تقريبى از محل برنامه است . جدول ارجاع صفحه ‎26157777 516234123444343444132 3444344 4... ‎ ‎ ‎ ‎ ‏هم ‎ti 12‏ ‎WS( ti) ={1,2,5,6,7 }WS( tz) ={3,4}‏

صفحه 82:
افظه مجازی بهترین ویژگی مجموعه کاری اندازه ی آن است . اگر اندازه مجموعه کاری بعنی ۷۷55 را برای هر فرآیند موجود در سیستم محاسبه کنیم » داریم : ‎D= swssi‏ كزقابهاودرخولستى ‏[]هر فرآیند از صفحات موجود در مجموعه ی کاری خود به طور فعال استفاده می کند ؛بنبراین هر فرآیند ة به ۷/۷551 قاب نیاز دارد . ‎ ‏گر ۷1] < 20(]2 تعدادقاب های موجود ) : کوبیدگی بوجود می آید.

صفحه 83:
)۳۳۳۴( ‏فراوانی خطای صفحه‎ ٩0-0 راهبرد فراوانی خطای صفحه نسبت به مدل مجموعه کاری » روش مناسبتری است . در اين روش کران بالا و پایین برای نرخ خطای صفحه در نظر گرفته می شود . اگر ترخ خطای صفحه > کران بالای نرخ خطا : قب دیگری را به فرآيند مورد نظر تخصیص می دهیم . اگر نرخ خطای صفحه < کران پایین نرخ خطا : قابی را از آن فرآیند پس می گیریم . بنابراین می توانیم خطای صفحه را اندازه گیری وکنترل کنیم تا از کوبیدگی جلوگیری به عمل آید .

صفحه 84:

صفحه 85:

صفحه 86:
۳-0 مثال هایی از سیستم عامل در اینجا چگونگی پیاده سازی حافظه مجازی در ویندوز 81۲ و سولاریس 0 شرح دلده می شود . ‎NT jis 1-7-0‏ ویندوز ۱۷۲ حافظه مجازی را با استفاده از صفحه بندی درخواستی به همراه خوشه بندی ‎oly (Clustering)‏ سازى مى كند . خوشه بندى » خطا های صفحه را به این صورت حل می کند که نه تنها صفحات مولد خطا را به حافظه می آورد » بلکه صفحاتی را که در اطراف این صفحه ‏قرار دارند » به حافظه می آورد .

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

صفحه 88:
0-7-0 سولارین © وقتی بندی منجر به خطای صفحه می شود ۰ هسته صفحه ای را از لیست صفحات آزاد آن » به آن بند تخصیص می دهد . بنابراین لازم است هسته میزان کافی از حافظه آزار را در اختیار داشته باشد . همراه اين ليست از صفحات آزاد پارامتری به نام 1058۴۲66 وجود دارد که کوبیدگی را نشان مى دهد که باید صفحه بندی شوند . [آاگر تعداد صفحات آزاد کمتر از 105۴۴۳۵6 باشد ء فرآیند را فرآیند ۳۵6000۴ می نامند . فرآیند ‎Pageout‏ همانند الگوریتم دومین فرصت است . ‎Ls Pageout pix Sul)‏ کنترل نرخ پویش صفحات از چندین پارامتر استفاده می کند . نرخ پیمایش بر حسب صفحات در ثانیه بیان می شود و در بازه 510/56210 تا ۴۵55۵1 است ,

صفحه 89:
Fastscan 0 100 1 Slowscan minfree desfree lostfree میزان حافظه آزاد

صفحه 90:
ور کلی ae سسست ‎sd‏ ‎=e‏ ‏تیه ‎bine‏ ‎so‏

صفحه 91:
0-0 سایر ملاحظات 0-0 پیش صفحه بندی (۳۲۵۵۵91۳9) یکی از ویژگی های بارز سیستم صفحه بندی درخواستس این است که وقتی شروع به کار می کند » تعداد زیادی از خطای صفحه بوجود مى آيد .اين وضعیت ناشی از تلاش برای انتقل محل اولیه به حافظه است .همین وضعیت در زمان های دیگر نیز ممکن است پیش بیاید . الابيش صفحه بندی سعی می کند از این صفحه بندی زیاد جلوگیری به عمل آورد .در اين راهبرد تمام صفحات مورد نیاز فرآیند به طور یکجا در همان اول به حافظه آورده می شوند .

صفحه 92:
‎٩-0-0‏ اندازه صفحه یکی از مواردی که برای تعیین اندازه صفحه می بایست در نظر گرفت » اندازه صفحه جدول است . ‏7 برای یک مقدار معین از فضای حافظه مجازی »کاهش اندازه صفحه ء به تعداد صفحات و اندازه ی ‏جدول صفحه می افزاید . از طرف دیگرهرچه صفحه کوچکتر باشد » بهره وری بیشتر است . ‏"هرچه صفحه کوچکتر باشد » کل زمان 1/0 نیز کمتر است . ‎asl]‏ : بعضی از عوامل مثل تکه تکه شدن داخلی و محلی بودن » به صفحات کوچک تمایل دارند .در حالیکه عوامل دیگری مثل اندازه جدول و زمان 1/0 بر صفحات بزرگتر تاکید دارند .

صفحه 93:
TLB ‏رسش‎ 900 رسش ۲1.8 میزان حافظه است که از ۲1-8 قابل دستیایی است ویرابر است با : تعداد ورودی های ۲1.8" * اندازه صفحه در حالت ايده آل » مجموعه كارى مربوط به يك فرآیند در 71-8 ذخیره مى شود .در غير اينصورت » فرآيند وقت زيادى را صرف برطرف كردن ارجاعات حافظه در جدول صفحه (به جاى ‎ct (TLB‏ کند . 7اگر ورودی های ۳18 را دو برابر کنیم ؛ رسش718 دو برابر مى شود . آرهیافت دیگری برای افزایش رسش ۲1.8 » افزودن اندازه صفحه یا ارائه اندازه های گوناگون از صفحه می باشد که پشتیبانی از صفحاتی با اندازه های مختلف مستلزم اين است سیستم عامل ۲18 را ۳

صفحه 94:
6-0 جدول صفحه معکوس هدف این شکل از مدیریت حافظه ۰ کاهش میزان حافظه فیزیکی مورد نیاز برای ترجمه آدرس مجازی به فیزیکی است , برای این صرفه جویی جدولی ایجاد می شود که برای هر صفحه ی حافظه ی فیزیکی یک ورودی دارد و این ورودی با جفت< شماره صفحه و شماره فرآیند > مشخص شده است . ادر صفحات معكوس ء با نگهداری اين اطلاعات که کدام صفحه مجازی در کدام قاب فیزیکی ذخیره شده است » میزان حافظه ی فیزیکی مورد نیاز برای نخیره ی این اطلاعات » کاهش یافته است . . ‏فاقد اطلاعات کامل راجع به فضای آدرس منطقی فرآیند است‎ سوکعم‎ dain J pte LAD]

صفحه 95:
9-0-0 ساختار برنامه صفحه بندی درخواستی از دید کاربر شفاف و روشن اس . در بسیاری از موارد کاربر از ماهیت صفحه بندی حافظه خبر ندارد . در موارد دیگر » کارآیی سیستم با آگاهی از صفحه بندی درخواستی بهبود می یابد . 6 انتخاب دقیق ساختمان داده ها و ساختار های برنامه نویسی می تواند محلی بودن مراجعات را افزایش دهد و نرخ خطای صفحه و تعداد صفحات موجود در مجموعة کاری کاهش دهد .

صفحه 96:
؟أکامپایلر و بار کننده عامل دیگری در صفحه بندی اند . تفکیک کد و داده و تولید کد چند دخولی به معنای این است که صفحات کد می توانند فقط خواندنی با شند . لذا لازم نیست صفحه ای که تغییر نکرده است جایگزین شود . آبار کننده . هر روال را کاملا در یک صفحه قرار می دهد و در نتیجه صفحات در مرز صفحات قرار نمی گیرند . روال هایی که همدیگر را چندین بار فراخوانی می کنند در یک صفحه قرار می گیرند . اگذآزبان برنامه سازی نیز می تواند در صفحه بندی موثر باشد .

صفحه 97:
9-0-0 قنل شدن وقتی از صفحه بندی درخواستی استفاده می گردد » نیاز به این است که بعضی از صفحات در حافظه قفل شوند . یکی از اين وضعیت ها وقتی رخ می دهد كه عمل 1/0 از حافظه مجازی کاربر و یا در آن صورت گیرد . ۱/0 معمولا توسط پردازنده 1/0 صورت می گیرد . به عنوان مثال تعداد بایت هایی که بايد انتقال یابد و آدرس حافظه میانگیر » به کنترل کننده نوار دلده می شود. وقتی عمل انتقال کامل شد ۰ وقفه ای به ۲۳10 ارسال مى شود .

صفحه 98:
تلا لاه > مبانگ گرداننده دیسک عر

صفحه 99:
باید مطمئن شویم که فرآیندی درخواست 1/0 نمی کند تا مجبور شود در صف سستگاه 1/0 قرار كيرد .جراكه به هر حال ل51© به اين فرآيند ها تخصیصی می یابد و این فرآیند ها موجب خطای صفحه می شوند . دوراه حل برای حل این مسئله وجود دارد : "هیچ عمل 1/0 در حافظه صورت نگیرد » بلکه داده ها هميشه بین حافظه ی سیستم و حافظه ی کاربر کپی شوند . *برای نوشتن بلوکی بروی صفحه » ابتدا آن را در حافظه سیستم کپی می کنیم و سپس آنرا بروی نوار می نویسیم .این عمل کپی ممکن است سربار نا معقولی را ایجاد کند . آراه حل ديكر اين است که صفحات در حافظه قنل شوند : به هر قاب يك بيت قفل نسبت داده می شود و اگر قابی ققل باشد »نمی تواند برای جایگزینی انتخاب گردد . *در اين روش ۰ برای نوشتن بلوکی بروی نوار ؛ صفحاتی را که حاوی آن بلوک هستند در حافظه قفل می کنیم .

صفحه 100:
۳-0 پردازش بی درنگ يك فرآيند يا بند بى درنك انتظار دارد که با کمترین تاخیر لا ۲ را در اختيار كيرد و اجرا شود . حافظه مجازی میتواند تاخیر های زیا دی را برای این فرآیند اجاد نماید (هنگام انتقال صفحات به حافظه ) .بدین ترتیب » سیستم های بی درنگ فاقد حافظة مجازی اند .

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