وحشی‌ترین چیز درباره صفحه اصلی {آیا نیست |

وقتی که مجموعه کاری درصد کوچکی از کل صفحات سیستم باشد، حافظه مجازی بهینهترین حالت کارکرد خود را دارد و میزان

توسط مدیر سایت در 7 اردیبهشت 1402

وقتی که مجموعه کاری درصد کوچکی از کل صفحات سیستم باشد، حافظه مجازی بهینهترین حالت کارکرد خود را دارد و میزان محاسبات رفع عیب صفحه ناچیز خواهد بود. همینطور هر صفحه هم شمارنده مخصوص به خود را دارد. در این الگوریتم هر صفحه برای خود یک شمارنده دارد. مهمترین چیز برای جلب توجه رسانهها خود ایده بود. هرمان هولریث اولین شخصی بود که اولین صفحه کلید را به دنیای فناوری عرضه کرد. کلیدهای کنترلی شامل کلیدهای کلید گریز(اسکیپ)، کنترل (کلید)، آلت، کلید ویندوز، کلید فرمان، کلید چاپ صفحه، کلید درخواست سامانه (System request) و کلید شکست (Break key) میشوند. بسیاری از تولیدکنندگان این نوع کیبوردها مدعی هستند هر کلید کیبورد تا ۵۰ میلیون بار قابل فشردن است. شمارندهٔ صفحاتی که در این بازه زمانی مورد استفاده قرار گرفتهاند، یک واحد افزایش مییابد. تفاوت آنها در این است که LRU میزان استفاده صفحات را در یک بازه زمانی کوتاه پیگیری میکند اما NFU تنها به میزان استفاده صفحات در آخرین وقفه ساعت نگاه میکند. مثلاً اگر فرایندی ۱۳ کیلوبایت باشد و اندازه هر صفحه هم ۴ کیلوبایت باشد، مجبور هستیم فرایند مورد نظر را در چهار صفحه قرار دهیم که تنها ۱ کیلوبایت از آخرین صفحه استفاده شده و ۳ کیلوبایت آن به هدر رفته و قابل استفاده نیست.

​Th is art icle has  be en written wi th the  help of GSA Con te nt Generator DE MO.

«عقربه» ساعت هم به آخرین صفحه بررسی شده اشاره میکند. خوشبختانه یک الگوریتم مشابه با عملکردی بهینهتر وجود دارد که در ادامه به آن اشاره خواهیم کرد. الگوریتم کمتر استفاده شده (به انگلیسی: Not frequently used) به شمارنده احتیاج دارد. الگوریتم اخیراً کمتر استفاده شده (به انگلیسی: Least Recently Used) هر چند که در نام مشابه NFU است اما در عمل با آن متفاوت است. دقت کنید که الگوریتم سالخوردگی با الگوریتم NFU متفاوت است. یک ساعت هم در سیستم وجود دارد که هر چند لحظه یک بار فعال میشود و یک وقفه ایجاد میکند. سناریوهای مشابهی مانند بوت شدن سیستمعامل هم وجود دارد که الگوریتم NFU کارایی خوبی از خود نشان iran intex نمیدهد. در این الگوریتم هر صفحه شمارنده مخصوص به خود را دارد که این شمارنده در ابتدا بر روی صفر تنظیم شده است. هنگامی که جدول صفحه دربرگیرنده مقادیر اشارهگر تهی است، الگوریتم NFU کارایی بهتری نسبت به LFU دارد. الگوریتم ساعت هم بر اساس الگوریتم FIFO است، اما از الگوریتم شانس دوم موثرتر است. اگر بیت دستیابی تمام صفحات ۱ بود، آنگاه الگوریتم شانس دوم هم به مانند الگوریتم FIFO عمل میکند. اگر یک نقص صفحه رخ دهد و قاب خالی هم در حافظه وجود نداشته باشد، آنگاه بیت دستیابی در صفحهای که عقربه به آن اشاره میکند بررسی میشود.

استفاده کند. در این روش سیستم عامل دادهها را از حافظه ثانویه گرفته و داخل صفحههایی با اندازه یکسان میریزد. اگر اندازه صفحات بزرگ در نظر گرفته شود، این امکان وجود دارد که حافظه بیشتری از این راه به هدر برود. زیرا سیستمعامل نیاز به بررسی شمارنده برای هر صفحه در حافظه نهان دارد. الگوریتم ساعت، یک لیست حلقوی از صفحات را در حافظه نگه میدارد. در واقع، شمارندهها تعداد دفعات استفاده از صفحات را نگه میدارند. صفحهٔ اصلی وبگاه متشکل بود از یک بنر که نام وبگاه روی آن نقش بسته بود، یک شمارشگر که تعداد پیکسلهای فروختهشده را نشان میداد، یک نوار ناوبری که حاوی ۹ پیوند کوچک به صفحات داخلی وبگاه بود، و یک شبکهٔ مربعی خالی متشکل از ۱٬۰۰۰٬۰۰۰ پیکسل که به ۱۰٬۰۰۰ قالب ۱۰۰ پیکسلی تقسیم شده بود. این الگوریتم مشابه الگوریتم FIFO است اما با یک تغییر کوچک که باعث میشود کمی کارایی آن بالاتر برود. در اثر این شیفت، بیت سمت راست به بیرون میافتد و از بین میرود و بیت سمت چپ شمارنده هم با بیت دستیابی پر میشود. اگر اندازه صفحات را بالا در نظر بگیریم، تعداد صفحات کم میشود و بنابراین میتوان آنها را راحتتر در TLB ذخیره کرد و به این ترتیب نرخ TLB miss کاهش خواهد یافت و شانس اینکه درخواست توسط TLB اجابت شود هم بالاتر میرود.

در بیشتر سیستمعاملها میتوان اندازه صفحه را در زمان اجرا بدست آورد. در حالی که به صورت تئوری الگوریتم LRU میتواند تقریباً به اندازه الگوریتم بهینه کارایی داشته باشد، پیادهسازی آن در عمل مشکل است. ساختار لایهها، تایپوگرافی و طرح بندی رنگها با استفاده از cssها به وجود میآیند؛ که هم میتواند با HTML ادغام شود یا در فایل جداگانهای به سند HTML متصل گردند. تعدادی روش پیادهسازی برای این الگوریتم وجود دارد که سعی میکنند هزینه پیادهسازی را کاهش دهند، بدون اینکه افت قابل توجهی در کارایی الگوریتم ایجاد شود. هرگاه که نیاز به جایگزینی یک صفحه است، سیستمعامل صفحهای که کمترین شمارنده را دارد را انتخاب میکند. بنابراین در یک کامپایلر چند گذری، صفحاتی که در گذر اول به شدت مورد استفاده بودهاند، اما در دومین گذر مورد استفاده نیستند، در مقایسه با صفحاتی که در فاز دوم، هر چند به میزان اندک به آنها نیاز است، بیشتر مورد علاقه خواهند بود.

آخرین مطالب
مقالات مشابه
نظرات کاربرن