Virtual Memory چیست؟
Virtual Memory ( حافظهٔ مجازی ) یک تکنیک مدیر یاد با مزایای مضاعف است که در بالا برای آسانتر کردن برنامهنویسی تولید شد . فکر کنید در یک رایانه همراه با رم 4 گیگابایتی برنامههای ورد , گوگل کروم و برنامههای دوچندان دیگری گشوده باشند . به طور کلی , برنامههای این رایانه بیشتر از 4 گیگابایت رم به کارگیری میکنند البته همهٔ این برنامهها یا این که مدام فعال نیستند و یا این که نیاز به دسترسی هم زمان به رم ندارند .
سیستمعامل تکههایی از یاد را به اسم Page به برنامهها اختصاص می دهد ; درصورتیکه در رم فضای کافی برای ذخیرهٔ همهٔ پبجها با نیز وجود نداشته باشد , پیجهایی که احتمالاً کمتر مایحتاج قرار میگیرند در یک فضای کندتر ( ولی با حجم بیشتر ) ذخیره میگردند . زمانی که نیاز به دسترسی بهاین پیجهای ذخیره شده باشد , جای آن ها با پیجهایی که در آن زمان در رم کمتر موردنیاز می باشند عوض میگردد کهاین روند Paging اسم دارااست ( قابل ذکر است که اسم پوشه pagefile . sys در ویندوز هم از آن گرفته شدهاست ) .
حافظهٔ مجازی به برنامهها این قابلیت و امکان را می دهد تا حافظهٔ خویش را آسانتر رئیس نمایند و همینطور آن ها را امنتر هم مینماید . لزومی ندارد برنامهها نگران این باشند که بقیه برنامهها دادههای خویش را کجا ذخیره می نمایند و یا این که چقدر از حجم رم مانده است ; تنها می بایست در صورت نیاز از سیستمعامل التماس حافظهٔ بیشتر و یا این که بازگرداندن حافظهٔ بلااستفاده را نمایند . همهٔ آن چیزی که یک برنامه میبیند یک تکه از آدرسهای پشت سر هم خاطر برای استفادهٔ انحصاری است که Virtual Addresse ( نشانی مجازی ) اسم دارا هستند .
وقتی که یک برنامه نیاز به دسترسی به یاد داراست , یک نشانی مجازی به سیستمعامل می دهد ; سیستمعامل با واحد رئیس حافظهٔ CPU ( یا این که به اختصار MMU ) رابطه برقرار مینماید . MMU آدرسهای مجازی را معادلهای فیزیکیشان ترجمه میکند و این داده ها را به سیستمعامل گشوده میگرداند
برچسب ها : ,