در هر كامپيوتر از مجموعه ای منابع سخت افزاری و نرم افزاری استفاده می گردد كه هر يك دارای جايگاه مختص به خود می باشند . سيستم عامل ،‌ مسئوليت مديريت منابع موجود در يك كامپيوتر را برعهده دارد . مجموعه پتانسيل های سخت افزاری و نرم افزاری موجود و نحوه مديريت آنان توسط سيستم عامل ، ميزان مفيد بودن و كارآئی يك كامپيوتر را مشخص می نمايد.
حافظه اصلی ( RAM ) يكی از مهمترين منابع سخت افزاری موجود در كامپيوتر است كه با توجه به نقش محوری آن در اجرای برنامه های كامپيوتری ، همواره در معرض پرسش های فراوانی از جانب كاربران كامپيوتر است. به عنوان نمونه ، شايد اين سوال برای شما نيز مطرح شده باشد كه تاثير افزايش حافظه اصلی بر سرعت كامپيوتر چيست و در صورت افزايش حافظه اصلی ، آيا كارائی سيستم نيز به همان ميزان افزايش خواهد يافت ؟
در اين مطلب به بررسی اين موضوع خواهيم پرداخت كه چرا حافظه اصلی دارای يك نقش مهم و غيرقابل انكار در كارائی سيستم است . ادامه بحث را با در نظر گرفتن دو فرضيه دنبال می نمائيم . اول اين كه بر روی كامپيوتر از يكی از نسخه های سيستم عامل ويندوز 2000 ، XP و يا 2003 سی و دو بيتی استفاده می گردد و دوم اين كه از يك كاميپوتر مدل جديد با پتانسيل های سخت افزاری مناسب ، استفاده می شود .
هر سيستم عامل از يك مدل خاص برای مديريت منبع ارزشمند حافظه اصلی استفاده می نمايد . نحوه مديريت حافظه توسط سيستم عامل ، يكی از شاخص های مهم ارزيابی موفقيت يك سيستم عامل محسوب می گردد . ويندوز نيز به عنوان يك سيستم عامل از اين قاعده مستثنی نمی باشد.

ويندوز و مديريت حافظه

زمانی كه اولين نسخه ويندوز ارائه شده بود ،‌ امكان مديريت حافظه اندكی توسط آن وجود داشت . در آن زمان ، حافظه گران بود و حتی در صورتی كه استفاده كنندگان توان مالی تهيه آن را داشتند ، كامپيوترهای آن دوره قادر به استفاده از آن نبودند . اين وضعيت تا اواسط دهه 90 ميلادی ادامه داشت و بسياری از افرادی كه دارای كامپيوتر بودند ،‌ صرفا" از 8 مگابايت حافظه اصلی استفاده می كردند كه امكان ارتقاء آن به حداكثر 64 مگابايت وجود داشت .
قيمت بالا و ظرفيت بردهای اصلی سيستم ( مادر برد ) ، از جمله محدوديت های اساسی كامپيوترها در گذشته ای نه چندان دور است كه قطعا" هم اينك اين وضعيت بهبود يافته است و استفاده كنندگان كامپيوتر از اين بايت كمتر دچار مشكل می گردند.
در اكثر نسخه های ويندوز امكان استفاده از حافظه مجازی وجود دارد . با توجه به اين كه قيمت حافظه هارد ديسك نسبت به حافظه اصلی بمراتب كمتر است ، ويندوز از فضای ذخيره سازی هارد ديسك به منظور جبران كمبود حافظه اصلی سيستم استفاده می نمايد .
حافظه مجازی ، يك راه حل مناسب به منظور غلبه بر محدوديت حافظه اصلی است كه دارای چالش های مختص به خود نيز می باشد :
كند بودن سرعت هارد ديسك نسبت به حافظه اصلی : هارد ديسك دارای سرعتی بمراتب پائين تر ( كندتر ) نسبت به حافظه اصلی است . دستيابی به حافظه اصلی بر اساس نانوثانيه و سرعت هارد ديسك بر اساس ميلی ثانيه اندازه گيری می شود . عدم امكان استفاده مستقيم از حافظه مجازی : يكی ديگر از مسائل در ارتباط با حافظه مجازی ، عدم امكان استفاده مستقيم از آن است . مثلا" فرض كنيد كه يك صفحه اطلاعات از حافظه اصلی بر روی هارد ديسك ( حافظه مجازی ) نوشته گردد . در صورتی كه در ادامه به اطلاعات موجود در اين صفحه نياز باشد ، كامپيوتر نمی تواند مستقيما" به آن دستيابی داشته باشد . در چنين مواردی ، می بايست قبل از اين كه كامپيوتر بتواند از داده استفاده نمايد ، داده درون حافظه اصلی مستقر گردد . به فرآيند فوق paging گفته می شود .
Paging باعث كند شدن يك سيستم می گردد چراكه كامپيوتر مجبور است در زمانی كه داده از هارد ديسك به درون حافظه اصلی منتقل می گردد ، عمليات جاری خود را متوقف و منتظر بماند . در واقع ، علت اصلی استفاده از حافظه مجازی نياز كامپيوتر به حافظه و عدم وجود ظرفيت لازم برای تامين خواسته های سيستم عامل است . در صورتی كه حافظه سيستم تكميل شده باشد ، كامپيوتر نمی تواند يك نسخه از صفحه داده را از هارد ديسك به درون حافظه اصلی منتقل نمايد . در چنين مواردی فضائی برای استقرار داده در حافظه اصلی وجود نداشته و سيستم عامل می بايست يك صفحه داده موجود در حافظه اصلی را به حافظه مجازی منتقل نمايد تا فضای لازم برای داده ئی كه به وجود آن نياز است ، ايجاد گردد . ( داده ئی كه می بايست از هارد ديسك به درون حافظه اصلی كامپيوتر منتقل شود )
paging ، فرآيندی است كه می بايست مديريت گردد . كامپيوتر می بايست از مكانی در حافظه اصلی به منظور ثبت وضعيت استفاده از حافظه استفاده نمايد . بنابراين ، سيستم می بايست قسمتی از حافظه خود را برای ثبت وضعيت صفحات و اين كه كدام صفحه در حافظه اصلی و كدام صفحه در حافظه مجازی است ، در نظر بگيرد. علاوه بر اين ، سيستم از سيكل های متعدد پردازنده ( CPU ) به منظور انتقال داده بين حافظه اصلی و حافظه مجازی استفاده می نمايد . در صورتی كه نگرانی خاصی در رابطه با Paging وجود نداشته باشد ، كامپيوتر به سرعت وظايف خود را انجام خواهد داد .
حافظه بيشتر، كاهش وابستگی ويندوز به حافظه مجازی ، عدم استفاده از زمان پردازنده و منابع ديگری نظير هارد ديسك را به دنبال خواهد داشت .
شايد بهترين گزينه اين باشد كه به اندازه ای حافظه به سيستم اضافه گردد تا درصد استفاده از حافظه مجازی به حداقل مقدار ممكن كاهش يابد . با اين كه گزينه فوق ممكن است به عنوان يك راه حل عملی باشد ، ولی نمی توان زمينه استفاده از حافظه مجازی را از ويندوز سلب نمود . ويندوز بگونه ای طراحی شده است كه بتواند از حافظه مجازی استفاده نمايد و سيستم عامل اين انتظار را دارد كه حافظه مجازی موجود و برای وی در دسترس باشد . هر اندازه كه به سيستم حافظه فيزيكی اضافه گردد ، وابستگی آن به حافظه مجازی كمتر خواهد شد.
شايد از بحث فوق اينگونه برداشت شود كه علت اصلی استفاده از حافظه مجازی ، جبران كمبود حافظه اصلی است . برداشت فوق با اين كه درست است ولی بيانگر تمامی ابعاد موضوع نمی باشد و تنها نيمی از حقيقت را شامل می شود .
به عنوان يك قانون ، شركت مايكروسافت توصيه می نمايد كه پيكربندی حافظه مجازی بر اساس ميزان حافظه فيزيكی ( RAM ) نصب شده بر روی ماشين ، انجام شود و حداقل ، حافظه مجازی 5 / 1 برابر حافظه اصلی باشد . اين بدان معنی است كه اگر ماشينی دارای 512 مگابايت حافظه اصلی باشد ، ويندوز انتظار دارد كه بتواند به حداقل 768 مگابايت حافظه مجازی دستيابی داشته باشد . فرض كنيد كه به اين نتيجه رسيده ايد كه 512 مگابايت حافظه اصلی نياز شما را تامين نمی نمايد و تصميم می گيريد حافظه ماشين خود را به يك گيگابايت ارتقاء دهيد.با اين كار شما نياز ويندوز به حافظه مجازی را هم افزايش داده ايد.در چنين شرايطی ويندوز اين انتظار را دارد كه بتواند به حافظه مجازی با ظرفيتی معادل 5 / 1 گيگابايت دستيابی داشته باشد .
عليرغم اين كه ظرفيت Pagefile ماشين ( فايلی كه از آن به عنوان حافظه مجازی استفاده می شود ) افزايش می يابد، اين بدان معنی نخواهد بود كه ماشين از pagefile به سختی استفاده می نمايد . عموما" عكس اين موضوع صادق است . نصب حافظه بيشتر ، باعث می شود كه ويندوز كمتر مجبور به paging گردد . حتی اگر ويندوز همچنان مجبور به استفاده از حافظه مجازی باشد ، حافظه اضافه نصب شده اين اطمينان را ايجاد می نمايد كه page مرتبط با برنامه در حال اجراء ، در حافظه اصلی موجود است و سيستم عامل به دليل كمبود حافظه مجبور نخواهد بود كه آن را بر روی فضای ذخيره سازی حافظه جانبی منتقل نمايد . بدين ترتيب برنامه ها با سرعت بيشتری اجراء شده و در زمانی مطلوب نياز كاربران را تامين و در نهايت كارآئی سيستم افزايش خواهد يافت .

آيا محدوديتی در ارتباط با حافظه وجود دارد ؟


در ابتدای بحث اشاره گرديد كه اطلاعات موجود در اين مقاله صرفا" برای سيستم های 32 بيتی مفيد بوده و در ارتباط با سيستم های 64 بيتی نمی باشد . حقيقت اين است كه حتی سيستم های 64 بيتی نيز در ارتباط با حافظه مجازی می باشند ولی نسخه های 32 بيتی و 64 بيتی بطور كامل از مدل های حافظه مختلفی استفاده می نمايند . سيستم های 32 بيتی صرفا" دارای 32 بيت بوده و می توانند حداكثر 4 گيگابايت حافظه اصلی را آدرس دهی نمايند . يك سيستم 64 بيتی از لحاظ تئوری قادر به آدرس دهی 16 اگزابايت ( بيش از 16،000،000 گيگابايت حافظه RAM ) می باشد. توليد يك ماشين كه بتواند از اين ميزان حافظه حمايت نمايد در حال حاضر هزينه بالائی داشته و مقرون به صرفه نمی باشد . اكثر سيستم های 64 بيتی موجود ميزان حافظه اصلی را محدود بين 8 گيگابايت و 256 ترابايت نموده اند .
محدوديت فضای آدرس دهی 4 گيگابايتی برای ماشين های 32 بيتی كه برروی آنان ويندوز نصب شده است ، چه پيامدهائی را به دنبال دارد ؟ ويندوز بگونه ای طراحی شده است تا بتواند بطور كامل 4 گيگابايت حافظه را آدرس دهی نمايد . ويندوز فضای چهار گيگابايتی را به دو بخش مساوی تقسيم می نمايد . يكی از بخش ها توسط سيستم عامل و از بخش ديگر به منظور User mode ( يا برنامه ها ) استفاده می گردد .
در صورت نياز می توان پيكربندی پيش فرض فوق را تغيير داد . بدين منظور از فايل Boot.ini استفاده می گردد . به عنوان نمونه می توان در فايل فوق از سوئيچ 3GB / استفاده نمود . بدين ترتيب ويندوز پيكربندی پيش فرض خود را تغيير و از يك فضای يك گيگابايتی برای خود و از يك فضای 3 گيگاباتيی برای user mode استفاده می نمايد . بدين ترتيب ويندوز می تواند مديريت بهتری را به منظور تامين خواسته برنامه های بزرگی نظير Exchange server انجام دهد(هر گز از سوئيچ اشاره شده بر روی Small Business Server و يا يك كنترل كننده domain استفاده نگردد) .

برگرفته از :


كد - لینک:
:: راسخون ::

گردآونده:طه-Borna66