جدول صفحه
این مقاله دقیق، کامل و صحیح ترجمه نشده و نیازمند ترجمه به فارسی است. کل یا بخشی از این مقاله به زبانی بهجز زبان فارسی نوشته شدهاست. اگر مقصود ارائهٔ مقاله برای مخاطبان آن زبان است، باید در نسخهای از ویکیپدیا به همان زبان نوشته شود (فهرست ویکیپدیاها را ببینید). در غیر این صورت، خواهشمند است ترجمهٔ این مقاله را با توجه به متن اصلی و با رعایت سیاست ویرایش، دستور خط فارسی و برابر سازی به زبان فارسی بهبود دهید و سپس این الگو را از بالای صفحه بردارید. همچنین برای بحثهای مرتبط، مدخل این مقاله در فهرست صفحههای نیازمند ترجمه به فارسی را ببینید. اگر این مقاله به زبان فارسی بازنویسی نشود، تا دو هفتهٔ دیگر نامزد حذف میشود و/یا به نسخهٔ زبانی مرتبط ویکیپدیا منتقل خواهد شد. اگر شما اخیراً این مقاله را بهعنوان صفحهٔ نیازمند ترجمه برچسب زدهاید، لطفاً عبارت {{جا:هبک-ترجمه به فارسی|1=جدول صفحه}} ~~~~ را نیز در صفحهٔ بحث نگارنده قرار دهید. |
این مقاله نیازمند تمیزکاری است. لطفاً تا جای امکان آنرا از نظر املا، انشا، چیدمان و درستی بهتر کنید، سپس این برچسب را بردارید. محتویات این مقاله ممکن است غیر قابل اعتماد و نادرست یا جانبدارانه باشد یا قوانین حقوق پدیدآورندگان را نقض کرده باشد. |
جدول صفحه (به انگلیسی: Page table)، یک ساختار داده است که مورد استفاده یک سیستم حافظه مجازی در یک سیستمعامل رایانه به منظور ذخیره کردن آدرسهای مجازی حافظه، منطبق بر آدرسهای فیزیکی حافظه قرار میگیرد. آدرسهای مجازی (Virtual address) آن آدرسهایی هستند که برای هر فرایند یکتا و بینظیر هستند اما آدرسهای فیزیکی (Physical address) آن آدرسهایی هستند که برای سختافزار و حافظه اصلی (RAM) یکتا و بینظیر هستند.[۱]
نقش جدول صفحه
ویرایشاز دیدگاه سیستم عاملهایی که از حافظه مجازی استفاده میکنند، هر پردازش دارای حسی است که در حال کار با قسمتی بزرگ و پیویسته و مختص به خود در حافظه فیزیکی است ولی در واقعیت حافظه تخصیص یافته به یک پردازش دارای بخشهای وفضاهای گسسته از هم در حافظه فیزکی یا به صورت پشتیبان در حافظه ثانویه است که توسط جدول حافظه به صورت واحد به یک پردازش تخصیص میابد. در حالت کلی وظیفه جدول حافظه این است که نقشهای از حافظه مجازی به حافظه فیزیکی پدید آورد تا سیستم عامل بتواند از آن برای یافتن حافظه فیزیکی اصلی برای اجرای دستور عمل پردازشهای خود استفاده کند.
مراحل ترجمه
ویرایشواحد مدیریت حافظه یک پردازشگر دارای مخزنی برای ذخیره آخرین آدرسهای استفاده شده از جدول صفحه است وقتی یک پردازش درخواست یک آدرس از جدول صفحه میکند ابتدا این مخزن جستجو میشود اگر موردی یافت شد آدرس مورد نظر از مخزنگاه آن خارج به واحد مدیریت حافظه برگردانده میشود در غیر اینصورت جدول صفحه جستجو میشود و آدرس مورد نظر بعد از یافته شدن در مخزنگاه آن نوشته میشود و دستور عملهای مربوط به خطای صفحه از دوباره آغاز میشود. حالا آدرس حافظه در مخزنگاه واحد مدیریت حافظه موجود است و دستور عملهای مربوطه اجرا خواهد شد.
پیادهسازی
ویرایشقبل از آنکه سیستمعامل، پردازنده را به یک فرایند یا پردازش تحویل دهد، یک جدول حافظه را تنظیم مینماید بصورتیکه آن پردازش در سطح دسترسی پایینتری به حافظه قرار داده میشود و آدرس حافظهای که در کد پردازش مورد نظر قرار میگیرد بعداً توسط پردازنده به آدرس اصلی و فیزیکی حافظه RAM که در جدول حافظه تنظیم شده در قبل، دکر شدهاست ترجمه گردد. بنابراین آدرسهای حافظهای که در هر یک از کدهای پردازش توسط سیستمعامل قرار میگیرند آدرسهای مجازی هستند نه آدرسهای حقیقی.
این تطابق آدرسهای مجازی به آدرسهای حقیقی در قطعاتی که به آنها صفحه یا Page گفته میشوند انجام میشود. در معماری سیستمهای x86 امروزی معمولاً اندازه این صفحه ۴کیلوبایت میباشد.
زمانی که یک پردازش از آدرسی در یک صفحه که به آن پردازش تطابق داده نشدهاست استفاده نماید، باعث ایجاد یک خطای استثناء سختافزاری میگردد که به آن Pagefault گفته میشود.
وقتی که یک صفحه مورد استفاده قرار نگیرد، سیستمعامل میتواند آن را به دیسک سخت انتقال دهد. و وقتی که آن صفحه توسط یک پردازش مورد تقاضا قرار گرفت دوباره به حافظه اصلی RAM بازخواهد گشت.[۲]
بیشتر بدانیم
ویرایش- حافظه
- حافظه تداعیگر (به انگلیسی: Associative memory)
- حافظه فقط خواندنی (به انگلیسی: Read only Memory)
- حافظه خواندنی-نوشتنی (به انگلیسی: Read-write memory)
- حافظه فَرّار (به انگلیسی: Volatile memory)
- حافظه دسترسی تصادفی (به انگلیسی: Random-Access Memory یا RAM)
- حافظه پنهان (به انگلیسی: Cache)
- ثبات (به انگلیسی: Register)
- حافظه مجازی (به انگلیسی: Virtual Memory)
- حافظه فلش (به انگلیسی: Flash Memory)
- تقسیم حافظه (به انگلیسی: Memory Segmentation)
- حفاظت از حافظه (به انگلیسی: Memory Protection)
منابع
ویرایش- ↑ Wikipedia contributors, "Page table,"، December 20, 2012.
- ↑ hardware and operating system basics بایگانیشده در ۱۲ ژانویه ۲۰۱۳ توسط Wayback Machine، http://codeschool.org بایگانیشده در ۶ ژانویه ۲۰۱۳ توسط Wayback Machine.