خوش آموز درخت تو گر بار دانش بگیرد، به زیر آوری چرخ نیلوفری را


تفاوت Virtual memory با Cache memory چیست

تفاوت Virtual memory با Cache memory چیست
Memory یک دیوایس سخت افزاری است که برای ذخیره اطلاعات به صورت موقت یا دائمی استفاده می شود. در این مقاله، من در مورد تفاوت بین virtual memory و cache memory بحث کنم. Cache memory یک حافظه با سرعت بالا است که برای کاهش زمان دسترسی به داده ها استفاده می شود. در سوی دیگر، virtual memory را داریم که دقیقا یک حافظه فیزیکی نیست، بلکه تکنیکی است که ظرفیت حافظه اصلی را فراتر از حد خود گسترش می دهد.

نرم افزار سامانه مودیان راهکار
تفاوت اصلی بین virtual memory و cache memory در این است که virtual memory به کاربران امکان اجرای برنامه هایی که حجم آنها بزرگتر از حجم حافظه اصلی(RAM) را میدهد و در مقابل cache memory به کاربران دسترسی سریع تر به اطلاعاتی که اخیرا استفاده شده را می دهد. در شکل زیر این تفاوت را می توانید مشاهده کنید.



Virtual Vs Cache Memory


تفاوت Virtual memory با Cache memory چیست . آموزشگاه رایگان خوش آموز

با توجه به تصویر فوق، برخی تفاوتهای memory و cache memory را بررسی می کنیم. Virtual memory ظرفیت حافظه اصلی را برای استفاده کاربر گسترش داده و بیشتر می کند و Cache memory سرعت دسترسی اطلاعات را بالاتر می برد. Virtual memory در واقع یک تکنیک و فن است و Cache memory چیزیست که ذخیره می شود. Virtual memory به کاربران اجازه اجرای برنامه با ظرفیت بزرگتر از حافظه اصلی را می دهند و Cache memory یک کپی از دیتای اصلی را ذخیره می کند تا سرعت دسترسی را بیشتر کند. Virtual memory توسط سیستم عامل مدیریت شده و Cache memory بطور کامل توسط سخت افزار مدیریت می شود. Virtual memory بسیار بزرگتر از cached memory است و اندازه Cache memory محدود است. Virtual memory نیاز به ساختار map کردن به منظور MAP کردن virtual address به physical address دارد و در cache memory چنین چیزی نیاز نیست.

Definition of Virtual Memory

Virtual memory دقیقا حافظه فیزیکی در کامپیوتر نیست ولی اجازه و امکان اجرای برنامه های بزرگ را که در حافظه اصلی جا نمی شوند را می دهد. خب، همین مورد باعث می شود که برنامه نویسان برنامه هایی را طراحی کنند که حجم آنها بزرگتر از حجم حافظه اصلی باشد. حالا اجازه دهید که ببینیم طرز کار virtual memory چگونه است.
یک برنامه دارای virtual memory address خودش است که به page هایی تقسیم می شود. حافظه اصلی نیز به تعدادی از page تقسیم می شود. حالا همانطور که میبینیم یک برنامه virtual address یک برنامه بزرگتر از memory اصلی است. بنابراین memory map برای map کردن virtual address به حافظه اصلی استفاده می شود.

تفاوت Virtual memory با Cache memory چیست . آموزشگاه رایگان خوش آموز

Page 0, 1, 2 در حافظه اصلی map شده و حافظه اصلی پر می شود و حال وقتی که page 3 درخواست فضا از حافظه اصلی را می کند، page های قدیمی تر مانند page 0 به را Virtual memory منتقل کرده و جا را برای page 3 خالی می کند. این روند در حافظه اصلی به همین منوال ادامه می یابد. در صورتی page 0 دوباره مورد نیاز باشد، قدیمی ترین page به Virtual memory انتقال داده می شود و جا برای page 0 خالی می شود.

تفاوت Virtual memory با Cache memory چیست . آموزشگاه رایگان خوش آموز

اگر دو برنامه به داده های مشابه نیاز دارند، ای داده در حافظه اصلی جای می گیرد و memory mapping unit به هر دو برنامه اجازه می دهد یک فضای آدرس مشابه را در حافظه اصلی که در آن داده های مشترک ذخیره می شود، به اشتراک بگذارند.

تفاوت Virtual memory با Cache memory چیست . آموزشگاه رایگان خوش آموز

The benefits of virtual memory are:


مزایای استفاده از Virtual memory:


برنامه ها به دلیل محدودیت های حافظه اصلی، دیگر محدود نمی شوند.
افزایش بهره وری CPU
افزایش یا کاهش Virtual memory
I/O کمتر نیاز بهload یا swap برنامه ها در حافظه دارد

اما نقص هم برای Virtual memory وجود دارد، قرار دادن pages های بیشتر از برنامه ها در روی هارد دیسک(چون Virtual memoryروی هارد ساخته می شوند) باعث کاهش افت performance خواهد شد چرا که دسترسی به اطلاعات از طریق هارد دیسک به سرعت دسترسی اطلاعات از RAM نیست. حتی اگر SSD Drive داشته باشید باز هم سرعت RAM بیشتر از آن است.

Definition of Cache Memory

بر عکس virtual memory، Cache یک دستگاه ذخیره سازی است که در خود پردازنده اجرا می شود. این کپی از داده های اصلی است که اخیرا به آن دسترسی پیدا کرده است. داده های اصلی ممکن است در حافظه اصلی یا یک حافظه ثانویه قرار گیرد و cache memory سرعت دسترسی به اطلاعات را افزایش می دهد، اما چگونه؟ بیایید به این مورد هم نگاهی بیندازیم.

تفاوت Virtual memory با Cache memory چیست . آموزشگاه رایگان خوش آموز

ما می توانیم بگوییم سرعت دسترسی CPU، محدود به سرعت دسترسی حافظه اصلی است. هرگاه یک برنامه توسط پردازنده اجرا شود، در واقع برنامه از طریق حافظه اصلی یا RAM به دست آن رسیده که اجرا شده است. اگر کپی از برنامه در cache وجود داشته باشد این فرایند قادر خواهد بود دسترسی سریعتر به داده ها داشته باشد که باعث می شود اجرای سریعتری هم داشته باشیم.

نتیجه:
Virtual memory یک روش برای گسترش ظرفیت حافظه اصلی است که عملا مناسب برای کاربران است. cache memory یک واحد ذخیره داده است که اطلاعاتی را که اخیرا بدانها دسترسی یافته ذخیره می کند و باعث افزایش سرعت دسترسی cpu می شود.



نمایش دیدگاه ها (1 دیدگاه)

دیدگاه خود را ثبت کنید:

انتخاب تصویر ویرایش حذف
توجه! حداکثر حجم مجاز برای تصویر 500 کیلوبایت می باشد.


دسته بندی مطالب خوش آموز