那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

虛擬存儲器的工作原理 應用程序如何使用和管理虛擬存儲器

西西 ? 來源: Chinaunix ? 作者:windhawkgyang ? 2020-10-07 17:46 ? 次閱讀

進程是系統中運行的程序的一個實例,比如我們可以同時運行多個QQ程序,同時用Office打開多個文檔等等,而系統展現給我們的多進程界面其實是多個進程交替共享CPU和主存資源。但是,共享會帶來直接的問題,比如:如果有很多進程同時運行所要求的存儲容量可能會超過我們的物理存儲器,導致其中某些運行錯誤;或者進程修改了其他進程的存儲器,也會導致直接的運行錯誤。所以,為了更好地管理存儲器,現代系統引入了虛擬存儲器,以作為實際主存的上一層抽象,使得所有進程所占用的存儲空間獲得了一致的形式。這個方面主要有兩個主題:1.理解虛擬存儲器是如何工作的;2.應用程序如何使用和管理虛擬存儲器。今天我們先來理解一下虛擬存儲器的工作原理。

*******

物理和虛擬尋址

物理尋址——計算機系統的主存被組織成一個由M個連續字節組成的數組,可以記為0,1,2,3.。.M-1,每一個都有確定的物理地址(Physical Address,PA),早期的CPU直接發送物理地址給主存獲取數據和指令。

虛擬尋址——現代系統CPU中集成了地址翻譯硬件(MMU),可以將CPU識別的虛擬地址(VA)翻譯為主存對應的PA。

#引入虛擬存儲的一個好處就是,我們可以建立一個{VA}---》{PA}的映射,使得虛擬存儲地址空間可以大于實際的地址空間#

******

虛擬存儲器主要應用——緩存工具

如同我們在CPU和主存間加入高速緩存一樣,系統也在主存和硬盤間加入虛擬存儲來減少數據傳遞的時間。Windows下的虛擬內存就是一種虛擬存儲器。

&頁——虛擬存儲器(VM)與物理存儲器(PM)間數據交換的單位,虛擬頁存儲在磁盤上,物理頁緩存在DRAM(主存)中

&頁表——在物理存儲器中存儲著頁表(數據結構),這張頁表上記錄著虛擬頁到物理頁的映射,每條記錄稱之為頁表條目(Page Table Entry),基本格式為:有效位(1bit)+物理頁號或磁盤地址

系統運行時,CPU發送一個虛擬地址請求,在虛擬存儲器中的虛擬頁表上查找PTE,此時:

若匹配且有效位為“1”,則說明該數據已經緩存在主存中,直接讀取之后的物理頁號獲得數據;

若匹配但有效位為“0”,說明數據在VM上但沒有存到PM上,這時需要替換掉PM上的一個頁,來獲得所要求的頁;

實際中,所有現代系統都采用按需進行頁面調度的方式,即有請求才替換頁。

******

虛擬存儲器主要應用——存儲管理

直接的結果是,由于VM空間一般要大于PM空間,所以會出現共享PM空間地址的情況。比如進程需要使用相同的內核代碼,調用相同的系統函數,C標準庫中的函數。此時就可以多個進程共享一部分地址空間。節省了多進程的存儲空間要求。

******

虛擬存儲器的主要應用——存儲器保護

系統中有太多的數據不允許用戶隨便訪問和更改,比如進程的只讀文本段,比如內核中的代碼和數據,又比如其他進程的私有存儲器。所以現代系統不約而同地為OS提供手段來控制存儲器系統的訪問?,F實中可以在頁表中加入更多的有效位來控制對特殊頁面的讀寫操作,比如:

SUP位:是否只有超級用戶才有權限讀寫

READ:是否有讀權限

WRITE:是否有寫權限

******

地址翻譯

CPU向存儲器發送的是虛擬地址,這允許CPU直接面對的是抽象的一致的存儲器對象。但是這就需要MMU進行地址翻譯的工作。MMU會利用頁表基址寄存器來確定虛擬地址在虛擬頁表中的PTE,而后進行PA的轉換。主要步驟如下:

1.CPU生成一個虛擬地址發送給MMU

2.MMU生成PTE地址,并從高速緩存/主存請求得到它

3.高速緩存/主存向MMU返回PTE(記錄)

4.判斷:

若PTE有效位為真,則MMU讀取PTE中的物理地址,并發送給高速緩存/主存

5.高速緩存/主存返回所請求的數據給CPU

若判斷PTE有效位為假或失效,

6.MMU觸發一次異常,控制轉交給CPU異常控制處理程序

7.缺頁處理程序確定出PM中的犧牲頁,如果該頁已經被修改,則寫回磁盤

8.將缺頁處理程序調入新的頁面,并更新存儲器中的PTE

9.缺頁處理程序返回---》4

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10902

    瀏覽量

    213006
  • 計算機系統
    +關注

    關注

    0

    文章

    289

    瀏覽量

    24211
  • 虛擬存儲器
    +關注

    關注

    0

    文章

    12

    瀏覽量

    8797
  • 存儲管理
    +關注

    關注

    0

    文章

    31

    瀏覽量

    9221
  • 進程
    +關注

    關注

    0

    文章

    204

    瀏覽量

    13995
收藏 人收藏

    評論

    相關推薦

    虛擬存儲器組成部分

    Linux將虛擬存儲器高端的1/4留給內核,剩下3/4全留給用戶進程。虛擬存儲器上中的程序主要由以下幾個重要組成部分:
    發表于 08-07 07:00

    存儲器工作原理

    單片機內部結構分析存儲器工作原理
    發表于 02-04 07:46

    存儲器工作原理

    單片機內部結構分析存儲器工作原理
    發表于 02-04 07:51

    虛擬存儲器具有哪些功能和特征呢

    虛擬存儲器具有哪些功能呢?虛擬存儲器的特征有哪些呢?
    發表于 12-23 09:04

    聊聊存儲器的相關知識

    虛擬地址物理地址等眾多地址及MMU相關知識先聊聊存儲器STM32單片機存儲器關于編譯生成的文件數據在存儲器上的
    發表于 02-11 07:51

    鐵電存儲器工作原理和器件結構

    鐵電存儲器工作原理和器件結構 ? 1 鐵電存儲器簡介 隨著IT技術的不斷發展,對于非易失性存儲器的需求越來越大,讀寫速度
    發表于 10-25 09:59 ?1.1w次閱讀
    鐵電<b class='flag-5'>存儲器</b><b class='flag-5'>工作原理</b>和器件結構

    虛擬存儲器部件原理解析

    虛擬存儲器部件原理解析
    發表于 04-15 14:25 ?3149次閱讀

    存儲器虛擬化的不同形式解析

    ,都可以找到存儲器虛擬化技術的身影。另外,存儲器虛擬化也可以在應用程序服務或操作系統、基于網絡
    發表于 07-20 09:47 ?931次閱讀

    一文知道虛擬存儲器的特征

    虛擬存儲器(Virtual Memory)是用戶能作為可編址內存對待的虛擬存儲空間,它使用戶邏輯存儲器與物理
    的頭像 發表于 11-15 10:09 ?4819次閱讀

    什么是虛擬存儲器,虛擬存儲器的特征

    虛擬存儲器存儲管理中一個特別重要的概念,你要認真掌握虛存的定義和特征。此外,你還要知道為何要引入虛存、實現虛存技術的物質基礎、虛存容量受到哪兩方面的限制。
    發表于 11-25 16:37 ?1.6w次閱讀

    存儲器工作原理及如何選擇存儲器品牌

    存儲器是用來存儲程序和各種數據信息的記憶部件,更通俗地說,存儲器就是用來存放數據的地方。存儲器可分為主
    的頭像 發表于 10-11 16:58 ?4018次閱讀

    虛擬存儲器簡述

    虛擬存儲器(Virtual Memory)的基本思想是對于程序來說,它的程序(code)、數據(data)、堆棧(stack)的總大小可以超過實際物理內存(Physical Memor
    發表于 06-29 14:10 ?2663次閱讀
    <b class='flag-5'>虛擬</b><b class='flag-5'>存儲器</b>簡述

    存儲器工作原理、分類及結構

    存儲器是計算機中的重要組成部分,用于存儲程序、數據和控制信息等。根據存儲信息的介質和訪問方式的不同,存儲器可以分為隨機
    發表于 09-09 16:18 ?6352次閱讀

    存儲器工作原理及基本結構

    在計算機系統中,存儲器是不可或缺的組成部分,負責存儲程序和數據以供處理器使用。隨著計算機技術的不斷發展,存儲器的種類和性能也在不斷提升。本文將詳細探討
    的頭像 發表于 05-12 17:05 ?2443次閱讀

    虛擬存儲器的概念和特征

    隨著計算機技術的飛速發展,存儲器的容量和速度成為了影響計算機性能的關鍵因素。在解決內存容量不足和速度瓶頸的過程中,虛擬存儲器(Virtual Memory)技術應運而生。虛擬
    的頭像 發表于 05-24 17:23 ?2178次閱讀
    名人百家乐官网的玩法技巧和规则| 大发888官网吧| 百家乐官网心术| 什么是百家乐平注法| 顶尖百家乐官网学习| 大三巴百家乐的玩法技巧和规则| 百家乐官网8点直赢| 大发888娱乐城游戏lm0| E世博百家乐官网的玩法技巧和规则 | 澳门百家乐注册| 888百家乐官网的玩法技巧和规则 大发百家乐官网的玩法技巧和规则 | 澳门百家乐官网打法百家乐官网破解方法 | E乐博| 澳门百家乐海星王娱乐城| 永利百家乐娱乐网| 威尼斯人娱乐城活动lm0| 大发888官网客户端| 治县。| 百家乐最新赌王| 真人百家乐蓝盾娱乐场| 太阳城集团| 全讯网| 代理百家乐官网免费试玩| 中骏百家乐官网的玩法技巧和规则 | 香港百家乐赌场娱乐网规则| 百家乐官网园百利宫娱乐城信誉好...| 妈祖棋牌迷| 真人百家乐好不好玩| 盈禾娱乐城| 运城百家乐的玩法技巧和规则 | 百家乐官网平玩法几副牌| 网页百家乐官网| 大发888爱好| 博彩百家乐在线| 百家乐官网斗地主下载| 百家乐官网筹码素材| 大发888游戏注册送98| 百家乐赢家打法| 百家乐官网免费改| 娱乐城百家乐官网送白菜| 网上百家乐官网可靠|