Windows如何自主設計虛擬內存

1.概念

虛擬內存是計算機系統內存管理的一種技術。 它使得應用程序認爲它擁有連續的可用的內存(一個連續完整的地址空間),而實際上,它通常是被分隔成多個物理內存碎片,還有部分暫時存儲在外部磁盤存儲器上,在需要時進行數據交換。目前,大多數操作系統都使用了虛擬內存,如Windows家族的“虛擬內存”;Linux的“交換空間”等。
Virtual memory – separation of user logical memory from physical memory.
放張圖有利於理解:
在這裏插入圖片描述

2.工作原理和性能

Demand Paging按需調頁

當調用的程序段沒有在內存中時,引發page fault陷入內核。
執行步驟如下:
在這裏插入圖片描述

  1. 檢查進程的內部頁表,以確定該引用是合法還是非法的地址訪問。
  2. 如果非法,則終止進程。如果引用合法但是尚未調入頁面,那麼現在應該調入。
  3. 找到一個空閒幀
  4. 調度一個磁盤操作,以便將所需要的頁調入剛分配的幀
  5. 當磁盤讀操作完成後,寫該進程的內部表和頁表,以表示該頁已在內存中
  6. 重新開始因陷阱(page fault)中斷的指令。進程現在能訪問所需的頁,就好像她似乎總在內存中。

按需調頁的性能

Page Fault Rate頁錯誤率
EAT有效訪問時間

設Page Fault Rate 0 <= p <= 1.0

Effective Access Time (EAT)
EAT = (1 – p) x memory access
+ p (page fault overhead
+ swap page out
+ swap page in
+ restart overhead)
=(1-p)x(內存訪問時間)+px(頁錯誤時間)
相比於內存訪問時間,頁錯誤時間會大好幾個數量級,因爲涉及到i/o操作。所以頁錯誤率必須十分接進於0,否則該技術沒有意義。

3.windows中的虛擬內存

Windows中運用了虛擬內存技術,即勻出一部分硬盤空間來充當內存使用。當內存耗盡時,電腦就會自動調用硬盤來充當內存,以緩解內存的緊張。若計算機運行程序或操作所需的隨機存儲器(RAM)不足時,則 Windows 會用虛擬存儲器進行補償。它將計算機的RAM和硬盤上的臨時空間組合。當RAM運行速率緩慢時,它便將數據從RAM移動到稱爲“分頁文件”的空間中。將數據移入分頁文件可釋放RAM,以便完成工作。 一般而言,計算機的RAM容量越大,程序運行得越快。若計算機的速率由於RAM可用空間匱乏而減緩,則可嘗試通過增加虛擬內存來進行補償。
虛擬內存是Windows 爲作爲內存使用的一部分硬盤空間。虛擬內存在硬盤上其實就是爲一個碩大無比的文件,文件名是PageFile.Sys,通常狀態下是看不到的。必須關閉資源管理器對系統文件的保護功能才能看到這個文件。虛擬內存有時候也被稱爲是“頁面文件”就是從這個文件的文件名中來的。

自定義Windows下的虛擬內存的大小

1.右擊計算機,單擊屬性

在這裏插入圖片描述

2.單擊高級系統設置

在這裏插入圖片描述

3.單擊高級,單擊設置

在這裏插入圖片描述

4.單擊高級,單擊更改

在這裏插入圖片描述

5.按照自己的意願設置

1)取消自動管理2)選擇自定義大小
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章