حافظه مجازی یکی ازبخش های متداول در اکثر سیستم های عامل کامپیوترهای شخصی است . سیستم فوق با توجه به مزایای عمده، بسرعت متداول و با استقبال کاربران کامپیوتر مواجه شده است .
اکثر کامپیوترها در حال حاضر از حافظه های محدود با ظرفیت 64 ، 128 و یا 256 مگابایت استفاده می نمایند. حافظه موجود در اکثر کامپیوترها بمنظور اجرای چندین برنامه بصورت همزمان توسط کاربر ، پاسخگو نبوده و با کمبود حافظه مواجه خواهیم شد. مثلا در صورتیکه کاربری بطور همزمان ، سیستم عامل ، یک واژه پرداز ، مرورگر وب و یک برنامه برای ارسال نامه الکترونیکی را فعال نماید ، 32 و یا 64 مگابایت حافظه، ظرفیت قابل قبولی نبوده و کاربران قادر به استفاده از خدمات ارائه شده توسط هر یک از نرم افزارهای فوق نخواهند بود. یکی از راهکارهای غلبه بر مشکل فوق افزایش و ارتقای حافظه موجود است . با ارتقای حافظه و افزایش آن ممکن است مشکل فوق در محدوده ای دیگر مجددا بروز نماید. یکی دیگر از راهکارهای موجود در این زمینه ، استفاده از حافظه مجازی است
در تکنولوژی حافظه مجازی از حافظه های جانبی ارزان قیمت نظیر هارد دیسک استفاده می گردد. در چنین حالتی اطلاعات موجود در حافظه اصلی که کمتر مورد استفاده قرار گرفته اند ، از حافظه خارج و در محلی خاص بر روی هارد دیسک ذخیره می گردند. بدین ترتیب بخش ی از حافظه اصلی آزاد و زمینه استقرار یک برنامه جدید در حافظه فراهم خواهد شد. عملیات ارسال اطلاعات از حافظه اصلی بر روی هارد دیسک بصورت خودکار انجام می گیرد.
[ویرایش] مسئله سرعت
سرعت خواندن و نوشتن اطلاعات بر روی هارد دیسک بمراتب کندتر از حافظه اصلی کامپیوتر است . در صورتیکه سیستم مورد نظر دارای عملیاتی حجیم در رابطه با حافظه مجازی باشد ، کارآئی سیستم بشدت تحت تاثیر قرار خواهد گرفت . در چنین مواردی لازم است که نسبت به افزایش حافظه موجود در سیستم ، اقدام گردد. در مواردی که سیستم عامل مجبور به جابجائی اطلاعات موجود بین حافظه اصلی و حافظه مجازی باشد ( هارد دیسک ) ، باتوجه به تفاوت محسوس سرعت بین آنها ، مدت زمان زیادی صرف عملیات جایگزینی می گردد. در چنین حالتی سرعت سیستم بشدت افت کرده و عملا در برخی حالات غیرقابل استفاده می گردد.
محل نگهداری اطلاعات بر روی هارد دیسک را یک Page file می گویند. در فایل فوق ، صفحات مربوط به حافظه اصلی ذخیره و سیستم عامل در زمان مورد نظر اطلاعات فوق را مجددا به حافظه اصلی منتقل خواهد کرد. در ماشین هائی که از سیستم عامل ویندوز استفاده می نمایند ، فایل فوق دارای انشعاب swp است .
[ویرایش] پیکربندی حافظه مجازی
ویندوز 98 دارای یک برنامه هوشمند برای مدیریت حافظه مجازی است . در زمان نصب ویندوز ، پیکربندی و تنظیمات پیش فرض برای مدیریت حافظه مجازی انجام خواهد شد. تنظیمات انجام شده در اغلب موارد پاسخگو بوده و نیازی به تغییر آنها وجود نخواهد داشت . در برخی موارد لازم است که پیکربندی مدیریت حافظه مجازی بصورت دستی انجام گیرد. برای انجام این کار در ویندوز 98 ، گزینه System را از طریق Control panel انتخاب و در ادامه گزینه Performance را فعال نمائید. در بخش Advanced setting ، گزینه Virtual memory را انتخاب نمائید.
با نمایش پنجره مربوط به Virtual Memory ، گزینه Let me specify my own virtual memory setting را انتخاب تا زمینه مشخص نمودن مکان و طرفیت حداقل و حداکثر فایل مربوط به حافظه مجازی فراهم گردد..در فیلد Hard disk محل ذخیره نمودن فایل و درفیلد های دیگر حداقل و حداکثر ظرفیت فایل را بر حسب مگابایت مشخص نمائید. برای مشخص نمودن حداکثر فضای مورد نیاز حافظه مجازی می توان هر اندازه ای را مشخص نمود . تعریف اندازه ائی به میزان دو برابر حافظه اصلی کامپیوتر برای حداکثر میزان حافظه مجازی توصیه می گردد.
میزان حافظه موجود هارد دیسک که برای حافظه مجازی در نظر گرفته خواهد شد بسیار حائر اهمیت است . در صورتیکه فضای فوق بسیار ناچیز انتخاب گردد ، همواره با پیام خطائی مطابق Out of Memory ، مواجه خواهیم شد. پیشنهاد می گردد نسبت حافظه مجازی به حافظه اصلی دو به یک باشد. یعنی در صورتیکه حافظه اصلی موجود 16 مگابایت باشد ، حداکثر حافظه مجازی را 32 مگابایت در نظر گرفت .
یکی از روش هائی که بمنظور بهبود کارائی حافظه مجاری پیشنهاد شده است ، ( مخصوصا در مواردیکه حجم بالائی از حافظه مجازی مورد نیاز باشد ) در نظر گرفتن ظرفیت یکسان برای حداقل و حداکثر انداره حافظه مجازی است . در چنین حالتی در زمان راه اندازی کامپیوتر، سیستم عامل تمام فضای مورد نیاز را اختصاص و در ادامه نیازی با افزایش آن همزمان با اجرای سایر برنامه ها نخواهد بود. در چنین حالتی کارآئی سیستم بهبود پیدا خواهد کرد .
یکی دیگر از فاکتورهای مهم در کارآئی حافظه مجازی ، محل فایل مربوط به حافظه مجازی است . در صورتیکه سیستم کامپیوتری دارای چندین هارد دیسک فیزیکی باشد ، ( منظور چندین درایو منظقی نیست ) می توان حجم عملیات مربوط به حافظه مجازی را بین هر یک از درایوهای فیزیکی موجود توزیع کرد. روش فوق در مواردیکه از حافظه مجازی در مقیاس بالائی استفاده می گردد ، کارآئی مطلوبی را بدنبال خواهد داشت.
حافظه مجازی یکی ازبخش های متداول در اکثر سیستم های عامل کامپیوترهای شخصی است .