درحال بارگذاری ....
به هایپرتمپ خوش آمدید.وارد یا عضو شوید کاربرگرامی شما اکنون در مسیر زیر قرار دارید : ارتباط افزايش حافظه اصلی با سرعت کامپيوتر

ارتباط افزايش حافظه اصلی با سرعت کامپيوتر

تاریخ ارسال پست:
چهارشنبه 22 مهر 1394
نویسنده:
reyhaneh
تعداد بازدید:
653

ارتباط افزايش حافظه اصلی با سرعت کامپيوتر  

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

افزايش حافظه اصلی کامپيوتر ( RAM ) ، باعث افزايش سرعت برخی عمليات در کامپيوتر می شود (واقعيتی انکار ناپذير) . RAM يکی از مهمترين عناصر سخت افزاری موجود در کامپيوتر است که سيستم های عامل برای مديريت بهينه  آن جايگاهی خاص را در نظر می گيرند . زمانی که يک برنامه کامپيوتری نظير يک واژه پرداز و يا برنامه ای نظير مرورگرهای وب را اجراء می نمائيد ، ريزپردازنده موجود در کامپيوتر ، فايل اجرائی حاوی برنامه را از محل استقرار دائم ( هارد ديسک ) به درون حافظه اصلی کامپيوتر ، مستقر می نمايد( فرآيند معروف Loading ). حجم فايل اجرائی برخی از برنامه ها نظير Word و يا Excel  به پنج مگابايت می رسد. ريزپردازنده ، همچنين در اين زمينه تعداد زيادی فايل های DLL مشترک ( dynamic link libraries ) ( بخش هائی از کدهای به اشتراک گذاشته شده توسط چندين برنامه ) را به درون حافظه منتقل می نمايد  . فايل های DLL ممکن است بين بيست تا سی مگابايت ظرفيت داشته باشند . در ادامه ريزپردازنده فايل های حاوی داده مورد نياز يک برنامه را که ممکن است چندين مگابايت باشند را نيز در حافظه مستقر می نمايد ( ميزان داده مستقر شده در حافظه به نوع برنامه و عملياتی که انجام می دهد ، بستگی دارد ) . با توجه به موارد فوق ، يک برنامه معمولی به فضائی معادل چندين مگابايت ( مثلا" بين ده تا سی مگابايت ) به منظور اجراء نياز خواهد داشت .

فرض کنيد  که نرم افزارهای زير بر روی کامپيوتر شما در حال اجراء می باشند : 

           يک واژه پرداز

           يک صفحه گسترده

           يک برنامه گرافيکی

           سه تا چهار پنجره فعال ويندوز

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

فضای اضافی توسط مدير حافظه مجازی ( VMM )  ايجاد می گردد . VMM با جستجو در حافظه ، محلی را که در آن لحظه مورد نياز نمی باشد را پيدا نموده  و بخش های فوق را در يک فايل Swap  بر روی هارد ديسک ذخيره می نمايد. مثلا" در صورتی که برنامه پست الکترونيکی ( نظير outlook ) فعال شده باشد و به مدت زمان مشخصی (مثلا" 45 دقيقه)  از آن استفاده نمی گردد ، VMM ، تمامی عناصر تشکيل دهنده فايل اجرائی مربوط به برنامه پست الکترونيکی را بهمراه فايل های DLL و داده  بر روی هارد ديسک منتقل می نمايد . به فرآيند فوق،  Swapping out برنامه گفته می شود . در ادامه و زمانی که بر روی برنامه پست الکترونيکی کليک می گردد ، VMM ، مجددا" تمامی اطلاعات مربوط به برنامه را از هارد ديسک خوانده و آنان را با برنامه ديگری که موجود در حافظه می باشد و از آن استفاده نمی گردد ، جايگزين می نمايد . با توجه به اين واقعيت که سرعت هارد ديسک نسبت به RAM کمتر می باشد ، فرآيند  "جايگزينی اطلاعات "  زمان خاص خود را داشته و عموما" اين فرآيند با تاخير انجام می شود .

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

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

 تاثير حافظه اصلی بر كارآئی سيستم

در هر كامپيوتر از مجموعه ای منابع سخت افزاری و  نرم افزاری استفاده می گردد كه هر يك دارای جايگاه مختص به خود می باشند . سيستم عامل ،‌ مسئوليت مديريت منابع موجود در يك كامپيوتر را برعهده دارد . مجموعه پتانسيل های سخت افزاری و نرم افزاری موجود و نحوه مديريت آنان توسط سيستم عامل ، ميزان مفيد بودن و كارآئی يك كامپيوتر را مشخص می نمايد.

حافظه اصلی ( 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 استفاده نگردد) .

 

 

 

کلمات کلیدی

ارتباط افزايش حافظه اصلی با سرعت کامپيوتر

مطالب مرتبط
نظرات این مطلب
کد امنیتی رفرش