جدول حافظه
یک جدول حافظه (به انگلیسی: Page Table)، یک ساختار داده است که مورد استفاده یک سیستم حافظه مجازی در یک سیستمعامل رایانه به منظور ذخیره کردن آدرسهای مجازی حافظه، منطبق بر آدرسهای فیزیکی حافظه قرار میگیرد. آدرسهای مجازی (Virtual Address) آن آدرسهایی هستند که برای هر فرایند یکتا و بینظیر هستند اما آدرسهای فیزیکی (به انگلیسی:Physical Address) آن آدرسهایی هستند که برای سختافزار و حافظه اصلی (RAM) یکتا و بینظیر هستند.[۱]
پیادهسازی [ویرایش]
قبل از آنکه سیستمعامل، پردازنده را به یک فرایند یا پردازش تحویل دهد، یک جدول حافظه را تنظیم مینماید بصورتیکه آن پردازش در سطح دسترسی پایینتری به حافظه قرار داده میشود و آدرس حافظهای که در کد پردازش مورد نظر قرار میگیرد بعداً توسط پردازنده به آدرس اصلی و فیزیکی حافظه RAM که در جدول حافظه تنظیم شده در قبل، دکر شده است ترجمه گردد. بنابراین آدرسهای حافظهای که در هر یک از کدهای پردازش توسط سیستمعامل قرار میگیرند آدرسهای مجازی هستند نه آدرسهای حقیقی.
این تطابق آدرسهای مجازی به آدرسهای حقیقی در قطعاتی که به آنها صفحه یا Page گفته میشوند انجام میشود. در معماری سیستمهای x86 امروزی معمولاً اندازه این صفحه ۴کیلوبایت میباشد.
زمانی که یک پردازش از آدرسی در یک صفحه که به آن پردازش تطابق داده نشده است استفاده نماید، باعث ایجاد یک خطای استثناء سختافزاری میگردد که به آن Pagefault گفته میشود.
وقتی که یک صفحه مورد استفاده قرار نگیرد، سیستمعامل میتواند آنرا به دیسک سخت انتقال دهد. و وقتی که آن صفحه توسط یک پردازش مورد تقاضا قرار گرفت دوباره به حافظه اصلی RAM بازخواهد گشت.[۲]
بیشتر بدانیم [ویرایش]
- حافظه
- حافظه فقط خواندنی
- حافظه خواندنی-نوشتنی
- حافظه فَرّار
- حافظه دسترسی تصادفی (به انگلیسی: 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، http://codeschool.org.
|
||||||||||||||||||||||||||