زندگی

   نرم افزار

 حافظه مجازی

 

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

اکثر کامپيوترها در حال حاضر از حافظه های محدود با ظرفيت 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 مگابايت در نظر گرفت .

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

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