صفحه‌بندی (رایانه)

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

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

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

  • تعیین کند که اطلاعات در کدام قسمت از حافظه ثانویه قرار دارند.
  • یک قاب صفحه خالی در حافظه RAM بوجود بیاورد تا بتواند از آن به عنوان ظرفی برای قرار دادن اطلاعات استفاده کند
  • اطلاعات خواسته شده را از حافظه کمکی به حافظه RAM آورده و در قاب صفحه مورد نظر قرار دهد.
  • جدول صفحه را بروز رسانی کند تا نشان دهد که اطلاعات جدیدی به حافظه آورده شده است.
  • کنترل را مجددا به برنامه برگرداند و سعی کند مجددا دستورالعملی که باعث ایجاد نقص صفحه شده بود را اجرا کند.

اگر در حافظه اصلی به اندازه کافی فضای خالی وجود داشته باشد، پیدا کردن یک قاب صفحه خالی به راحتی امکان پذیر است و نیازی نیست یکی از صفحات موجود در حافظه به بیرون از حافظه برده شود. اما اگر تمام قاب‌های حافظه پر شده باشند و هیچ قاب خالی در حافظه وجود نداشته باشد، به ناچار باید یکی از صفحات موجود در حافظه به بیرون برده شود تا فضا برای بدست آوردن قاب خالی فراهم شود. این که کدام صفحه باید به بیرون برده شود خود مسئله مهمی است و سیستم‌عامل از الگوریتم‌هایی برای انتخاب این صفحه استفاده می‌کند. بعد از اینکه سیستم‌عامل صفحه‌ای را برای بیرون بردن انتخاب کرد، اگر اطلاعات موجود در آن صفحه، از وقتی که به حافظه آورده شده تغییر کرده باشند (کثیف شده باشند)، سیستم‌عامل مجبور است ابتدا صفحه مورد نظر را به حافظه ثانویه منتقل کند تا اطلاعات آن حفظ شود و از بین نروند، سپس آن قاب صفحه را آزاد کند. در غیر این صورت، اطلاعات موجود در آن صفحه مشابه اطلاعات موجود بر روی دیسک بوده و قاب صفحه مورد نظر می‌تواند براحتی آزاد شود. هر صفحه یک بیت به نام بیت M (یعنی Modify) دارد. هر وقت که اطلاعات آن صفحه در حافظه تغییر می‌کند، این بیت «۱» می‌شود و بدین ترتیب سیستم‌عامل متوجه تغییر اطلاعات می‌شود.

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

سیستم‌عامل میتواند با استفاده از روش‌هایی پیش‌بینی کند که کدام صفحات به زودی مورد نیاز خواهد بود، بنابراین می‌تواند قبل اینکه برنامه آن صفحه را درخواست دهد، صفحه مورد نظر را به حافظه بیاورد تا سرعت کار بیش از پیش افزایش یابد.

صفحه بندی نیازی[ویرایش]

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

جستارهای وابسته[ویرایش]

منابع[ویرایش]

مشارکت‌کنندگان ویکی‌پدیا، «Paging»، ویکی‌پدیای انگلیسی، دانشنامهٔ آزاد.