سلام الگوریتم fifo چکار میکنه؟fifo که مخفف first in first out می باشد صفحه ای را جایگزین میکند که قدیمی ترین صفحه در حافظه می باشد. مثل یه صف نانوایی میمونه اونی که اول میاد اول خارج میشه میگیره
حالا نقص صفحه چیه ؟اگر صفحه ای وارد حافظه شود و ببیند که صفحه ای مثل خودش در حافظه نیست بنابراین یک نقص صفحه رخ می دهد.اما اگر آن صفحه ی آمده ببیند که یک صفحه مثل خودش قبلاً در حافظه وارد شده و اکنون نیز در حافظه وجود دارد ،این صفحه ی تکراری دیگر نقص صفحه ندارد.
خب حالا حل مسئله با الگوریتم fifo
صفحات ۲و۳و۱ به ترتیب از چپ به راست وارد می شوند و چون قبل از این در حافظه نبوده اند پس سه تا نقص صفحه رخ می دهد. حافظه ـــــ> ۲و۳و۴ تعداد نقص تا اینجا: ۳
بسیار خب. صفحه بعدی که وارد می شود، صفحه شماره ۲ می باشد. اما چون داخل حافظه است هیچ نقص صفحه رخ نمیدهد و میریم سراغ ورود صفحه ۴
اما حافظه ی ما سه قاب دارد و آن سه تا هم توسط ۲و۳و۱ پر شده اند.تکلیف چیست؟؟؟؟
باید یکی از صفحات خارج شود تا جا برای ۴ باز شود.کدام صفحه را خارج کنیم؟؟
خیلی ساده به نوع الگوریتم نگاه می کنیم، میبینیم fifo می باشد. طبق این الگوریتم صفحه ای را خارج می کنیم که قدیمی ترین صفحه است...به نظر شما کدام صفحه قدیمی ترین است... نگاه کنید ــــــــ> ۲و۳و۱ صفحه ی شماره ۲ اولین و در نهایت قدیمی ترین است پس ۴ با اون جایگزین می شود.
و چون در حافظه صفحه یکی وجود نداشت ۴ جای ۲ می نشیند و نقص صفحه هم رخ می دهد.
حافظه ـــــــ> 4و۳و۱ تعداد نقص تا اینجا:۴
همینجور الگوریتمو ادامه بده
داخل عکس روند کاملش هستش
حالا LRU
LRU اینطوری کار میکنه:"صفحه ای رو جایگزین کن که اخیراً کمترین استفاده از آن شده باشد." یعنی صفحه ای رو جایگزین کن که برای مدت طولانی توی صف مونده باشه.
عکس روند هردو الگوریتمو کشیدم برات با مداد رنگی

انشالله که متوجه بشی
مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمیباشید. جهت مشاهده پیوندها ثبت نام کنید.