سیستم عامل/حافظه مجازی

ویکی‎کتاب، کتابخانهٔ آزاد
' حافظه مجازی '
سیستم عامل


حافظه مجازی چیست؟[ویرایش]

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

اکثر کامپیوترها در حال حاضر از حافظه‌های محدود با ظرفیت ۶۴، ۱۲۸ و یا ۲۵۶ مگابایت استفاده می‌نمایند. حافظه موجود در اکثر کامپیوترها بمنظور اجرای چندین برنامه بصورت همزمان توسط کاربر، پاسخگو نبوده و با کمبود حافظه مواجه خواهیم شد. مثلا" در صورتیکه کاربری بطور همزمان، سیستم عامل، یک واژه پرداز، مرورگر وب و یک برنامه برای ارسال نامه الکترونیکی را فعال نماید، ۳۲ و یا ۶۴ مگابایت حافظه، ظرفیت قابل قبولی نبوده و کاربران قادر به استفاده از خدمات ارائه شده توسط هر یک از نرم‌افزارهای فوق نخواهند بود. یکی از راهکارهای غلبه بر مشکل فوق افزایش و ارتقای حافظه موجود است. با ارتقای حافظه و افزایش آن ممکن است مشکل فوق در محدوده‌ای دیگر مجددا" بروز نماید. یکی دیگر از راهکارهای موجود در این زمینه، استفاده از حافظه مجازی است

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

مسئله سرعت[ویرایش]

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

محل نگهداری اطلاعات بر روی هارد دیسک را یک Page file می‌گویند. در فایل فوق، صفحات مربوط به حافظه اصلی ذخیره و سیستم عامل در زمان مورد نظر اطلاعات فوق را مجدداً به حافظه اصلی منتقل خواهد کرد. در ماشین هائی که از سیستم عامل ویندوز استفاده می‌نمایند، فایل فوق دارای انشعاب swp است.

پیکربندی حافظه مجازی[ویرایش]

ویندوز ۹۸ دارای یک برنامه هوشمند برای مدیریت حافظه مجازی است. در زمان نصب ویندوز، پیکربندی و تنظیمات پیش فرض برای مدیریت حافظه مجازی انجام خواهد شد. تنظیمات انجام شده در اغلب موارد پاسخگو بوده و نیازی به تغییر آنها وجود نخواهد داشت. در برخی موارد لازم است که پیکربندی مدیریت حافظه مجازی بصورت دستی انجام گیرد. برای انجام این کار در ویندوز ۹۸، گزینه System را از طریق Control panel انتخاب و در ادامه گزینه Performance را فعال نمائید. در بخش Advanced setting، گزینه Virtual memory را انتخاب نمائید.

با نمایش پنجره مربوط به Virtual Memory، گزینه "Let me specify my own virtual memory setting" را انتخاب تا زمینه مشخص نمودن مکان و طرفیت حداقل و حداکثر فایل مربوط به حافظه مجازی فراهم گردد.. در فیلد Hard disk محل ذخیره نمودن فایل و درفیلدهای دیگر حداقل و حداکثر ظرفیت فایل را بر حسب مگابایت مشخص نمائید. برای مشخص نمودن حداکثر فضای مورد نیاز حافظه مجازی می‌توان هر اندازه‌ای را مشخص نمود. تعریف اندازه ائی به میزان دو برابر حافظه اصلی کامپیوتر برای حداکثر میزان حافظه مجازی توصیه می‌گردد.

میزان حافظه موجود هارد دیسک که برای حافظه مجازی در نظر گرفته خواهد شد بسیار حائر اهمیت است. در صورتیکه فضای فوق بسیار ناچیز انتخاب گردد، همواره با پیام خطائی مطابق "Out of Memory"، مواجه خواهیم شد. پیشنهاد می‌گردد نسبت حافظه مجازی به حافظه اصلی دو به یک باشد. یعنی در صورتیکه حافظه اصلی موجود ۱۶ مگابایت باشد، حداکثر حافظه مجازی را ۳۲ مگابایت در نظر گرفت.

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

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