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