14 虛擬內存概述

傳統存儲管理方式的特征

常規存儲管理方式具有以下共同的特征:

1) 一次性

作業必須一次性全部裝入內存后,方能開始運行。這會導致兩種情況發生:

  • 當作業很大,不能全部被裝入內存時,將使該作業無法運行;
  • 當大量作業要求運行時,由于內存不足以容納所有作業,只能使少數作業先運行,導致多道程序度的下降。

由于內存成本很高,針對以上問題,較為有效的解決方案是從邏輯上擴充內存容量,也就是虛擬存儲技術需要解決的問題。

2) 駐留性
  • 作業被裝入內存后,就一直駐留在內存中,其任何部分都不會被換出,直至作業運行結束。運行中的進程,會因等待I/O而被阻塞,可能處于長期等待狀態。

許多在程序運行中不用或暫時不用的程序(數據)占據了大量的內存空間,而一些需要運行的作業又無法裝入運行,顯然浪費了寶貴的內存資源。

局部性原理

要真正理解虛擬內存技術的思想,首先必須了解計算機中著名的局部性原理。髙速緩存技術極大地影響了計算機系統的設計。

局部性原理表現在以下兩個方面:

1) 時間局部性

如果程序中的某條指令一旦執行,不久以后該指令可能再次執行;如果某數據被訪問過,不久以后該數據可能再次被訪問。產生時間局部性的典型原因,是由于在程序中存在著大量的循環操作。

2) 空間局部性

一旦程序訪問了某個存儲單元,在不久之后,其附近的存儲單元也將被訪問,即程序在一段時間內所訪問的地址,可能集中在一定的范圍之內,這是因為指令通常是順序存放、順序執行的,數據也一般是以向量、數組、表等形式簇聚存儲的。

時間局部性是通過將近來使用的指令和數據保存到高速緩存存儲器中,并使用高速緩存的層次結構實現。空間局部性通常是使用較大的高速緩存,并將預取機制集成到高速緩存控制邏輯中實現。虛擬內存技術實際上就是建立了 “內存一外存”的兩級存儲器的結構,利用局部性原理實現髙速緩存。

虛擬存儲器的定義和特征

基于局部性原理,在程序裝入時,可將程序的一部分裝入內存,而將其余部分留在外存,即可啟動程序執行。在程序執行過程中,當所訪問的信息不在內存時,由操作系統將所需要的部分調入內存,然后繼續執行程序。

另一方面,操作系統將內存中暫時不使用的內容換出到外存上,從而騰出空間存放將要調入內存的信息。這樣,系統好像為用戶提供了一個比實際內存大得多的存儲器,稱為虛擬存儲器。

之所以將其稱為虛擬存儲器,是因為這種存儲器實際上并不存在,只是由于系統提供了部分裝入、請求調入和置換功能后(對用戶完全透明),給用戶的感覺是好像存在一個比實際物理內存大得多的存儲器。虛擬存儲器的最大容量為:min(內存+外存,2^n) 。n為計算機的地址總線位數。

虛擬存儲器有以下三個主要特征:

  • 多次性,是指無需在作業運行時一次性地全部裝入內存,而是允許被分成多次調入內存運行。
  • 對換性,是指無需在作業運行時一直常駐內存,而是允許在作業的運行過程中,進行換進和換出。
  • 虛擬性,是指從邏輯上擴充內存的容量,使用戶所看到的內存容量,遠大于實際的內存容量。

虛擬內存技術的實現

虛擬內存中,允許將一個作業分多次調入內存。釆用連續分配方式時,會使相當一部分內存空間都處于暫時或“永久”的空閑狀態,造成內存資源的嚴重浪費,而且也無法從邏輯上擴大內存容量。因此,虛擬內存的實需要建立在離散分配的內存管理方式的基礎上。虛擬內存的實現有以下三種方式:

  • 請求分頁存儲管理
  • 請求分段存儲管理
  • 請求段頁式存儲管理

不管哪種方式,都需要有一定的硬件支持。一般需要的支持有以下幾個方面:

  • 一定容量的內存和外存。
  • 頁表機制(或段表機制),作為主要的數據結構。
  • 中斷機構,當用戶程序要訪問的部分尚未調入內存,則產生中斷。
  • 地址變換機構,邏輯地址到物理地址的變換。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 繼續來學習內存管理之虛擬內存管理 傳統存儲管理方式同時將多個進程保存在內存中以便允許多道程序設計。 一次性作業必須...
    KevinCool閱讀 1,613評論 0 1
  • 8.1虛擬存儲的需求背景 虛擬內存是非連續內存分配的一個延續,非連續內存分配在存儲空間內可以連續也可以不連續。虛擬...
    龜龜51閱讀 5,903評論 2 6
  • word直接復制來了,格式就不改了。至于這門課怎么復習,只要平時實驗都認真完成、報告認真寫,平時分都很高;考試的話...
    Jozhn閱讀 4,620評論 0 8
  • 存儲器管理 存儲器的層次結構 存儲器的層次結構:寄存器-高速緩存-主存-磁盤緩存-磁盤-可移動存儲介質 可執行存儲...
    顏洛濱閱讀 940評論 0 2
  • 掀起蚊帳,我視眼空曠,我的世界色彩斑斕,可成群的蚊總能輕而易舉的讓我遍體鱗傷。扎好蚊帳,我視眼狹隘,我的世界寂靜無...
    岑子辛閱讀 151評論 0 0