در هر کامپیوتر از مجموعه ای منابع سخت افزاری و نرم افزاری استفاده می گردد که هر یک دارای جایگاه مختص به خود می باشند . سیستم عامل ، مسئولیت مدیریت منابع موجود در یک کامپیوتر را برعهده دارد . مجموعه پتانسیل های سخت افزاری و نرم افزاری موجود و نحوه مدیریت آنان توسط سیستم عامل ، میزان مفید بودن و کارآئی یک کامپیوتر را مشخص می نماید.
حافظه اصلی ( RAM ) یکی از مهمترین منابع سخت افزاری موجود در کامپیوتر است که با توجه به نقش محوری آن در اجرای برنامه های کامپیوتری ، همواره در معرض پرسش های فراوانی از جانب کاربران کامپیوتر است. به عنوان نمونه ، شاید این سوال برای شما نیز مطرح شده باشد که تاثیر افزایش حافظه اصلی بر سرعت کامپیوتر چیست و در صورت افزایش حافظه اصلی ، آیا کارائی سیستم نیز به همان میزان افزایش خواهد یافت ؟
در این مطلب به بررسی این موضوع خواهیم پرداخت که چرا حافظه اصلی دارای یک نقش مهم و غیرقابل انکار در کارائی سیستم است . ادامه بحث را با در نظر گرفتن دو فرضیه دنبال می نمائیم . اول این که بر روی کامپیوتر از یکی از نسخه های سیستم عامل ویندوز 2000 ، XP و یا 2003 سی و دو بیتی استفاده می گردد و دوم این که از یک کامیپوتر مدل جدید با پتانسیل های سخت افزاری مناسب ، استفاده می شود .
هر سیستم عامل از یک مدل خاص برای مدیریت منبع ارزشمند حافظه اصلی استفاده می نماید . نحوه مدیریت حافظه توسط سیستم عامل ، یکی از شاخص های مهم ارزیابی موفقیت یک سیستم عامل محسوب می گردد . ویندوز نیز به عنوان یک سیستم عامل از این قاعده مستثنی نمی باشد.
ویندوز و مدیریت حافظه
زمانی که اولین نسخه ویندوز ارائه شده بود ، امکان مدیریت حافظه اندکی توسط آن وجود داشت . در آن زمان ، حافظه گران بود و حتی در صورتی که استفاده کنندگان توان مالی تهیه آن را داشتند ، کامپیوترهای آن دوره قادر به استفاده از آن نبودند . این وضعیت تا اواسط دهه 90 میلادی ادامه داشت و بسیاری از افرادی که دارای کامپیوتر بودند ، صرفا" از 8 مگابایت حافظه اصلی استفاده می کردند که امکان ارتقاء آن به حداکثر 64 مگابایت وجود داشت .
قیمت بالا و ظرفیت بردهای اصلی سیستم ( مادر برد ) ، از جمله محدودیت های اساسی کامپیوترها در گذشته ای نه چندان دور است که قطعا" هم اینک این وضعیت بهبود یافته است و استفاده کنندگان کامپیوتر از این بایت کمتر دچار مشکل می گردند.
در اکثر نسخه های ویندوز امکان استفاده از حافظه مجازی وجود دارد . با توجه به این که قیمت حافظه هارد دیسک نسبت به حافظه اصلی بمراتب کمتر است ، ویندوز از فضای ذخیره سازی هارد دیسک به منظور جبران کمبود حافظه اصلی سیستم استفاده می نماید .
حافظه مجازی ، یک راه حل مناسب به منظور غلبه بر محدودیت حافظه اصلی است که دارای چالش های مختص به خود نیز می باشد :
کند بودن سرعت هارد دیسک نسبت به حافظه اصلی : هارد دیسک دارای سرعتی بمراتب پائین تر ( کندتر ) نسبت به حافظه اصلی است . دستیابی به حافظه اصلی بر اساس نانوثانیه و سرعت هارد دیسک بر اساس میلی ثانیه اندازه گیری می شود .
عدم امکان استفاده مستقیم از حافظه مجازی : یکی دیگر از مسائل در ارتباط با حافظه مجازی ، عدم امکان استفاده مستقیم از آن است . مثلا" فرض کنید که یک صفحه اطلاعات از حافظه اصلی بر روی هارد دیسک ( حافظه مجازی ) نوشته گردد . در صورتی که در ادامه به اطلاعات موجود در این صفحه نیاز باشد ، کامپیوتر نمی تواند مستقیما" به آن دستیابی داشته باشد . در چنین مواردی ، می بایست قبل از این که کامپیوتر بتواند از داده استفاده نماید ، داده درون حافظه اصلی مستقر گردد . به فرآیند فوق paging گفته می شود .
Paging باعث کند شدن یک سیستم می گردد چراکه کامپیوتر مجبور است در زمانی که داده از هارد دیسک به درون حافظه اصلی منتقل می گردد ، عملیات جاری خود را متوقف و منتظر بماند . در واقع ، علت اصلی استفاده از حافظه مجازی نیاز کامپیوتر به حافظه و عدم وجود ظرفیت لازم برای تامین خواسته های سیستم عامل است . در صورتی که حافظه سیستم تکمیل شده باشد ، کامپیوتر نمی تواند یک نسخه از صفحه داده را از هارد دیسک به درون حافظه اصلی منتقل نماید . در چنین مواردی فضائی برای استقرار داده در حافظه اصلی وجود نداشته و سیستم عامل می بایست یک صفحه داده موجود در حافظه اصلی را به حافظه مجازی منتقل نماید تا فضای لازم برای داده ئی که به وجود آن نیاز است ، ایجاد گردد . ( داده ئی که می بایست از هارد دیسک به درون حافظه اصلی کامپیوتر منتقل شود )
paging ، فرآیندی است که می بایست مدیریت گردد . کامپیوتر می بایست از مکانی در حافظه اصلی به منظور ثبت وضعیت استفاده از حافظه استفاده نماید . بنابراین ، سیستم می بایست قسمتی از حافظه خود را برای ثبت وضعیت صفحات و این که کدام صفحه در حافظه اصلی و کدام صفحه در حافظه مجازی است ، در نظر بگیرد. علاوه بر این ، سیستم از سیکل های متعدد پردازنده ( CPU ) به منظور انتقال داده بین حافظه اصلی و حافظه مجازی استفاده می نماید . در صورتی که نگرانی خاصی در رابطه با Paging وجود نداشته باشد ، کامپیوتر به سرعت وظایف خود را انجام خواهد داد .
حافظه بیشتر، کاهش وابستگی ویندوز به حافظه مجازی ، عدم استفاده از زمان پردازنده و منابع دیگری نظیر هارد دیسک را به دنبال خواهد داشت .
شاید بهترین گزینه این باشد که به اندازه ای حافظه به سیستم اضافه گردد تا درصد استفاده از حافظه مجازی به حداقل مقدار ممکن کاهش یابد . با این که گزینه فوق ممکن است به عنوان یک راه حل عملی باشد ، ولی نمی توان زمینه استفاده از حافظه مجازی را از ویندوز سلب نمود . ویندوز بگونه ای طراحی شده است که بتواند از حافظه مجازی استفاده نماید و سیستم عامل این انتظار را دارد که حافظه مجازی موجود و برای وی در دسترس باشد . هر اندازه که به سیستم حافظه فیزیکی اضافه گردد ، وابستگی آن به حافظه مجازی کمتر خواهد شد.