حافظه مجازی: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
Greenstruck (بحث | مشارکت‌ها)
بدون خلاصۀ ویرایش
Greenstruck (بحث | مشارکت‌ها)
بدون خلاصۀ ویرایش
برچسب: افزودن پیوند بیرونی به جای ویکی‌پیوند (AF)
خط ۲:
حافظه مجازی یکی ازبخش‌های متداول در اکثر سیستم‌های عامل کامپیوترهای شخصی است. سیستم فوق با توجه به مزایای عمده، بسرعت متداول و با استقبال کاربران کامپیوتر مواجه شده‌است.
 
در حقیقت حافظه مجازی دارای دو وظیفه اصلی می‌باشد:
اکثر کامپیوترها در حال حاضر از حافظه‌های محدود با ظرفیت ۶۴، ۱۲۸ و یا ۲۵۶ مگابایت استفاده می‌نمایند. حافظه موجود در اکثر کامپیوترها بمنظور اجرای چندین برنامه بصورت هم‌زمان توسط کاربر، پاسخگو نبوده و با کمبود حافظه مواجه خواهیم شد. مثلاً در صورتیکه کاربری بطور هم‌زمان، سیستم‌عامل، یک واژه پرداز، مرورگر وب و یک برنامه برای ارسال نامه الکترونیکی را فعال نماید، ۳۲ و یا ۶۴ مگابایت حافظه، ظرفیت قابل قبولی نبوده و کاربران قادر به استفاده از خدمات ارائه شده توسط هر یک از نرم‌افزارهای فوق نخواهند بود. یکی از راهکارهای غلبه بر مشکل فوق افزایش و ارتقای حافظه موجود است. با ارتقای حافظه و افزایش آن ممکن است مشکل فوق در محدوده‌ای دیگر مجدداً بروز نماید. یکی دیگر از راهکارهای موجود در این زمینه، استفاده از حافظه مجازی است
* به پزدازشها اجازه میدهد بدون نگرانی از دیگر کدهای در حال اجرا از حافظه استفاده نمایند.
* محدود کردن پردازشها از دخالت کردن در استفاده حافظه توسط سیستم‌عامل و دیگر پردازشها. به نوعی تامین امنیت محدوده اشغال شده توسط پردازشهای دیگر
 
 
==دیسک سخت بجای حافظه اصلی==
اکثر کامپیوترها در حال حاضر از حافظه‌های محدود با ظرفیت ۶۴، ۱۲۸ و یا ۲۵۶ مگابایت استفاده می‌نمایند. حافظه موجود در اکثر کامپیوترها بمنظور اجرای چندین برنامه بصورت هم‌زمان توسط کاربر، پاسخگو نبوده و با کمبود حافظه مواجه خواهیم شد. مثلاً در صورتیکه کاربری بطور هم‌زمان، سیستم‌عامل، یک واژه پرداز، مرورگر وب و یک برنامه برای ارسال نامه الکترونیکی را فعال نماید، ۳۲ و یا ۶۴ مگابایت حافظه، ظرفیت قابل قبولی نبوده و کاربران قادر به استفاده از خدمات ارائه شده توسط هر یک از نرم‌افزارهای فوق نخواهند بود. یکی از راهکارهای غلبه بر مشکل فوق افزایش و ارتقای حافظه موجود به صورت فیزیکی است. با ارتقای حافظه و افزایش آن ممکن است مشکل فوق در محدوده‌ای دیگر مجدداً بروز نماید. یکی دیگر از راهکارهای موجود در این زمینه، استفاده از '''حافظه مجازی''' است .
 
در تکنولوژی حافظه مجازی از حافظه‌های جانبی ارزان قیمت نظیر هارد دیسک استفاده می‌گردد. در چنین حالتی اطلاعات موجود در حافظه اصلی که کمتر مورد استفاده قرار گرفته‌اند، از حافظه خارج و در محلی خاص بر روی هارد دیسک ذخیره می‌گردند. بدین ترتیب بخش ی از حافظه اصلی آزاد و زمینه استقرار یک برنامه جدید در حافظه فراهم خواهد شد. عملیات ارسال اطلاعات از حافظه اصلی بر روی هارد دیسک بصورت خودکار انجام می‌گیرد.
 
==ایجاد امنیت دسترسی به حافظه==
قبل از آنکه [[سیستم‌عامل]]، پردازنده را به یک [[فرآیند (رایانه)|فرآیند]] یا پردازش تحویل دهد، یک '''جدول حافظه''' را تنظیم می‌نماید بصورتیکه آن پردازش در سطح دسترسی پایین‌تری به حافظه قرار داده می‌شود و آدرس حافظه‌ای که در کد پردازش مورد نظر قرار میگیرد بعداً توسط پردازنده به آدرس اصلی و فیزیکی حافظه RAM که در ''جدول حافظه'' تنظیم شده در قبل، دکر شده است ترجمه گردد. بنابراین آدرسهای حافظه‌ای که در هر یک از کدهای پردازش توسط سیستم‌عامل قرار میگیرند آدرسهای مجازی هستند نه آدرسهای حقیقی.
 
این تطابق آدرسهای مجازی به آدرسهای حقیقی در قطعاتی که به آنها '''صفحه''' یا Page گفته میشوند انجام میشود. در معماری سیستم‌های x86 امروزی معمولاً اندازه این صفحه ۴کیلوبایت میباشد.
 
زمانی که یک پردازش از آدرسی در یک صفحه که به آن پردازش تطابق داده نشده است استفاده نماید، باعث ایجاد یک [[مدیریت استثنا|خطای استثناء سخت‌افزاری]] میگردد که به آن [http://en.wikipedia.org/wiki/Page_fault Pagefault] گفته میشود.
 
وقتی که یک صفحه مورد استفاده قرار نگیرد، سیستم‌عامل میتواند آنرا به دیسک سخت انتقال دهد. و وقتی که آن صفحه توسط یک پردازش مورد تقاضا قرار گرفت دوباره به حافظه اصلی RAM بازخواهد گشت.
 
== مسئله سرعت ==