تالار گفتمان مانشت

نسخه‌ی کامل: الگوریتم جایگزینی صفحه : ساعت9
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام دوستان کتاب استالینگز خوندم الگوریتم جایگزینی صفحه را کامل متوجه نمی شم و نمی تونم مثالش و حل کنم لطفاً روی مثالی که میزارم اگه کسی بلده یه توضیحی بده بهم .
ممنونم
سلام
کلاً وقتی تعداد قاب های ما محدود اند به الگوریتم جایگزینی نیاز داریم که ببینیم وقتی به یه صفحه جدید نیاز داریم و الان تو حافظه جا نیست کدوم صفحه را بیرون بندازیم و صفحه جدید را جایگزین اش کنیم.
در مثال از الگوریتم ساعت استفاده کرده اول کار می دانیم R همه صفر است مگه این که بشان مراجعه بشه (از شون استفاده شود) خب اولین صفحه ۲ است که اول می اید (دقت کنید فلش ساعت چطوری می چرخد به اولین قاب خالی اشاره می کند.)بعد به ترتیب ۳ و حالا از ۲ استفاده کردیم پس R=1 اگر بخواهم روی همین شکل خودتون بگم ببینید بالاش یه یک گذاشت و بعد صفحه ۱ می خواد بیاد. جا هست ؟ بله می شینه توی قاب سمت چپ.
حالا نوبت ۵ است جا نداریم فلش ساعت هم به ۲ اشاره کرده بنابرین طبق الگوریتم R_1=R=0 و از ۲ عبور می کنیم به ۳ می رسه می بینه R=0 پس می اندازدش بیرون و ۵ را جایگزین اش می کند . به همین ترتیب می چرخه .
در مورد این که کی نقض صفحه رخ می دهد زمانی که می خواهیم به صفحه ای مراجعه کنیم و در حافظه نیست باید بریم بیاریمش . مثلا اول کار که هیچ صفحه ای نیست و هر سه قاب خالی اند برای اوردن هر کدام از صفحات مورد نیاز و پر کردن یکی از قاب ها ما یک نقص صفحه می خوریم. و زمانی که با نقص صفحه مواجه شدیم و قاب خالی موجود نبود از الگوریتم جایگزینی استفاده می کنیم.
(07 آذر 1393 01:13 ب.ظ)Aseman7 نوشته شده توسط: [ -> ]سلام
کلاً وقتی تعداد قاب های ما محدود اند به الگوریتم جایگزینی نیاز داریم که ببینیم وقتی به یه صفحه جدید نیاز داریم و الان تو حافظه جا نیست کدوم صفحه را بیرون بندازیم و صفحه جدید را جایگزین اش کنیم.
در مثال از الگوریتم ساعت استفاده کرده اول کار می دانیم R همه صفر است مگه این که بشان مراجعه بشه (از شون استفاده شود) خب اولین صفحه ۲ است که اول می اید (دقت کنید فلش ساعت چطوری می چرخد به اولین قاب خالی اشاره می کند.)بعد به ترتیب ۳ و حالا از ۲ استفاده کردیم پس R=1 اگر بخواهم روی همین شکل خودتون بگم ببینید بالاش یه یک گذاشت و بعد صفحه ۱ می خواد بیاد. جا هست ؟ بله می شینه توی قاب سمت چپ.
حالا نوبت ۵ است جا نداریم فلش ساعت هم به ۲ اشاره کرده بنابرین طبق الگوریتم R_1=R=0 و از ۲ عبور می کنیم به ۳ می رسه می بینه R=0 پس می اندازدش بیرون و ۵ را جایگزین اش می کند . به همین ترتیب می چرخه .
در مورد این که کی نقض صفحه رخ می دهد زمانی که می خواهیم به صفحه ای مراجعه کنیم و در حافظه نیست باید بریم بیاریمش . مثلا اول کار که هیچ صفحه ای نیست و هر سه قاب خالی اند برای اوردن هر کدام از صفحات مورد نیاز و پر کردن یکی از قاب ها ما یک نقص صفحه می خوریم. و زمانی که با نقص صفحه مواجه شدیم و قاب خالی موجود نبود از الگوریتم جایگزینی استفاده می کنیم.
مرسی ، میشه لطف کنید از روی توضیحات خودتون اینو توضیح بدید بیشتر مشکل من روی جایگزین کردن و تغییر R است .
ما از R استفاده کردیم که ببینم کدام صفحه باید خارج شود . در ابتدا که صفحه را در قاب گذاشتیم که R اش صفر است . بعد همین طور به ترتیب این قدر صفحه می اریم که قاب های مان پر شود . سه تا قاب داشتیم بنابرین سه تا صفحه می اوریم. خب فقط نکته اش این جا ست که در این حین مثلاً به صفحه ۲ رجوع داشتیم یعنی صفحه ۲ ما در قاب حافظه موجود بود و ما از ان استفاده کردیم این بدین معنی است که احتمالاً در آینده هم از این صفحه استفاده خواهیم کرد پس با افزایش R و دادن یک شانس به این صفحه که در صورت قرارگرفتن عقربه ساعت (جلوی قابش )باید بیرون بره ؛ نندازیمش بیرون و فقط از R اش کم کنیم و شانس دوباره موندن را بش می دیم . نهایتاً صفحاتی جایگزین می شوند که R شان صفر است و مراجعه ای به انها نداشتیم.
(07 آذر 1393 09:41 ب.ظ)Aseman7 نوشته شده توسط: [ -> ]ما از R استفاده کردیم که ببینم کدام صفحه باید خارج شود . در ابتدا که صفحه را در قاب گذاشتیم که R اش صفر است . بعد همین طور به ترتیب این قدر صفحه می اریم که قاب های مان پر شود . سه تا قاب داشتیم بنابرین سه تا صفحه می اوریم. خب فقط نکته اش این جا ست که در این حین مثلاً به صفحه ۲ رجوع داشتیم یعنی صفحه ۲ ما در قاب حافظه موجود بود و ما از ان استفاده کردیم این بدین معنی است که احتمالاً در آینده هم از این صفحه استفاده خواهیم کرد پس با افزایش R و دادن یک شانس به این صفحه که در صورت قرارگرفتن عقربه ساعت (جلوی قابش )باید بیرون بره ؛ نندازیمش بیرون و فقط از R اش کم کنیم و شانس دوباره موندن را بش می دیم . نهایتاً صفحاتی جایگزین می شوند که R شان صفر است و مراجعه ای به انها نداشتیم.

مرسی من فقط مشکلم روی چرخش عقربه ساعت است که چه موقع و به چه صورت حرکت می کند ، این که ب قاب خالی اشاره می کند که بدیهی است اما چرا بعضی وقت ها عقربه چند مرحله به جلو می رود ، کلاً حرکت عقربه مورد سوال است.
به نظرم با این توضیحاتی که دادم یک بار از اول خودتون این مثال را حل کنید . ((بازهم سوال داشتید مطرح کنید))
ساعت را برای این استفاده می کنیم که به هر صفحه ای که اشاره کنه به شرطی ان صفحه بره بیرون که R اش صفر باشد بنابرین اگر R یک صفحه مخالف صفر بود فقط یکی کم می کند و می ره سراغ بعدی .(( این همون بعضی وقت هاست که عقربه چند مرحله به جلو می رود و در حقیقت صفحه هایی که شانس دوباره موندن دارند را رها می کنه تا به صفحه ای برسه که بش رجوع نشده.))
لینک مرجع