1. <samp id="gyrh5"></samp>
    2. 日本黄色免费,97超碰人人,午夜一区二区三区,亚洲激情av在线,亚洲V色,国产美女一区,日本www色,亚洲AV无码一二区三区在线播放

      您好!歡迎光臨烜芯微科技品牌官網(wǎng)!

      深圳市烜芯微科技有限公司

      ShenZhen XuanXinWei Technoligy Co.,Ltd
      二極管、三極管、MOS管、橋堆

      全國服務熱線:18923864027

    3. 熱門關鍵詞:
    4. 橋堆
    5. 場效應管
    6. 三極管
    7. 二極管
    8. 虛擬存儲器的實現(xiàn)方法介紹
      • 發(fā)布時間:2022-03-01 17:44:46
      • 來源:
      • 閱讀次數(shù):
      虛擬存儲器的實現(xiàn)方法介紹
      虛擬存儲器機制與高速緩存Cache機制很類似,高速緩存Cache是緩存了內(nèi)存中的數(shù)據(jù),虛擬存儲器是在內(nèi)存中緩存了磁盤的數(shù)據(jù)。如果虛擬存儲器中數(shù)據(jù)不存在,那么需要從磁盤上讀取數(shù)據(jù),然后放入內(nèi)存。由于磁盤的速度要比內(nèi)存慢10萬倍,所以除了必要的情況,應盡量少的從磁盤反復讀取數(shù)據(jù)。虛擬存儲器采用全相聯(lián)映射方式,所以每個虛擬地址可以映射到內(nèi)存的任何一個空閑位置,因此與Cache類似,虛擬存儲器必須有一種方法確定每個進程虛擬地址對應內(nèi)存的位置或磁盤位置,其的映射方式有3種:分頁式、分段式和段頁式,下面一起來看看:
      1.分頁式虛擬存儲器
      分頁式存儲器把內(nèi)存和虛擬地址空間都劃分成大小相等的頁面,磁盤和內(nèi)存按頁面為單位交換信息。通常把虛擬地址空間的頁面成為虛擬頁/邏輯頁(VP),內(nèi)存中的頁面成為頁框/物理頁(PP)。
      1.1頁表
      操作系統(tǒng)在內(nèi)存中給每個進程生成一個頁表,頁表中對應每個虛擬頁都有一個表項,表項內(nèi)容包括存放位置字段、裝入位、修改位、替換控制位、存取權限位、禁止緩存位。它們的作用分別如下:
      ①存放位置字段:用來建立虛擬頁和物理頁之間的映射,用于虛擬地址到物理地址的轉換
      ②裝入位:也稱有效位或存在位,為1表示磁盤數(shù)據(jù)已調入內(nèi)存,位置字段指向物理頁號。為0表示磁盤數(shù)據(jù)沒有被調入內(nèi)存,若位置字段為null則說明此位置空閑,若不為null則說明等待磁盤數(shù)據(jù)調入內(nèi)存
      ③修改位:標識頁面是否被修改過,在執(zhí)行回寫策略時根據(jù)此字段判斷是否需要把數(shù)據(jù)寫回磁盤
      ④替換控制位:標識頁面使用情況,配合替換策略設置
      ⑤訪問權限位:標識頁面是可讀可寫、只讀、只可執(zhí)行,用于存儲保護
      ⑥禁止緩存位:標識頁面是否可以裝入Cache,保證磁盤、內(nèi)存、Cache數(shù)據(jù)一致性
      頁表、內(nèi)存、磁盤的映射示意圖如圖1所示:
      虛擬存儲器
      圖1 映射示意圖
      例如,CPU執(zhí)行一條指令需要訪問數(shù)據(jù),該數(shù)據(jù)正好在虛擬頁VP1中,查詢頁表可知,VP1裝入位為1,對應的物理頁PP0,這時就可以通過地址轉換部件把將虛擬地址轉換為物理地址,然后訪問PP0的數(shù)據(jù)。
      如果數(shù)據(jù)在VP6中,VP6對應的裝入位為0,表示頁面缺失,發(fā)生“缺頁”異常,需要操作系統(tǒng)進行“缺頁”異常處理程序處理。“缺頁”異常處理程序根據(jù)頁表中VP6對應的存放位置字段,從磁盤中將數(shù)據(jù)讀出,然后找一個空閑的物理頁框存放,若內(nèi)存中沒有空閑的頁框,則選擇一個頁面替換到磁盤上。
      因為采用寫回策略,所以頁面淘汰時,需要根據(jù)修改位確定是否要寫回磁盤。缺頁處理過程中需要對頁表進行相應的更新。缺頁異常處理結束后,程序回到原來發(fā)生缺頁的指令繼續(xù)執(zhí)行。
      對于VP0和VP4,隨著進程的動態(tài)執(zhí)行,這些頁面可能就會有了具體的數(shù)據(jù)。例如,當調用malloc函數(shù)時,堆區(qū)增長,新增的堆區(qū)正好與VP4對應,則操作系統(tǒng)就在磁盤上分配一個存儲空間給VP4,同時把VP4頁表項中的存放位置字段填上,對應的就是磁盤上的起始地址。之后便等待訪問到這頁數(shù)據(jù)時,再次執(zhí)行上面的缺頁異常流程,讀取數(shù)據(jù)。
      1.2地址轉換
      上面說完了頁表、內(nèi)存、磁盤的映射關系和數(shù)據(jù)讀取流程,其中有個環(huán)節(jié)是需要把虛擬地址轉換為真正的物理地址,轉換工作由CPU中的存儲器管理部件(MMU)完成,具體做法如下:
      ①虛擬地址分為兩部分:高位為虛擬頁號,低位為頁內(nèi)偏移地址
      ②物理地址也分為兩部分:高位是物理頁號,低位為頁內(nèi)便宜地址
      ③每個進程都有一個頁表基址寄存器,存放該進程頁表首地址
      ④根據(jù)頁表基址寄存器找到對應的頁表,由虛擬地址高位部分的虛擬頁號為索引,找到頁表項
      ⑤若裝入位為1,則取出對應的物理頁號,然后和虛擬頁內(nèi)地址拼接,得到司機的物理地址
      ⑥如裝入位為0,則交給操作系統(tǒng)執(zhí)行“缺頁”處理
      執(zhí)行流程如圖2所示:
      虛擬存儲器
      圖2 執(zhí)行流程
      1.3快表
      從上述過程可以看出,每次訪問內(nèi)存都需要先查頁表,然后根據(jù)規(guī)則找出物理地址,然后再訪問實際的物理地址對應的數(shù)據(jù)。如果發(fā)生缺頁,還要進行頁表替換、頁表修改等操作,訪問內(nèi)存的次數(shù)就更多。采用虛擬存儲器,訪問內(nèi)存的次數(shù)增加了很多。那有沒有什么辦法減少訪問次數(shù),還能達到同樣的效果呢?
      答案是可以的,我們可以把頁表中最活躍的幾個頁表項復制到高速緩存Cache中,這種高速緩存Cache中的頁表項組成的頁表稱為快表(TLB)。
      這樣在進行地址轉換時,先查看快表中是否命中,如果命中,則無需訪問內(nèi)存中的頁表即可。通過這種方式可大大降低內(nèi)存訪問的次數(shù),提升效率。
      到此可以總結一下CPU訪問數(shù)據(jù)的完整過程,如圖3所示:
      虛擬存儲器
      圖3 CPU訪問數(shù)據(jù)的完整過程
      2.分段式虛擬存儲器
      分頁方式的虛擬存儲器優(yōu)點是頁長固定,易管理,不存在碎片。但缺點是頁長與程序的邏輯大小無關。例如,某個時刻一段代碼有一部分在內(nèi)存中,另外一部分則在磁盤上,不利于編程時的獨立性,且給存儲保護和存儲共享造成了麻煩。所以又提出了分段式的存儲器。把一段程序按照類別劃分為段,例如方法、操作數(shù)、常數(shù)劃分到不同的段中,每個段都是一組相對完整的邏輯信息。這樣做的好處是可以按不同類型進行存儲管理,也利于多個程序組合時,對同一段邏輯可以組合復用提供了便利。
      分段的方式具體如下:
      ①虛擬地址由段號和段內(nèi)地址組成
      ②內(nèi)存按程序中的段劃分,每個段在內(nèi)存中的位置記錄在段表中
      ③每個進程都有一個段表,每個段在段表中有一個段表項,標識段的位置、長度、訪問權限、使用和裝入情況
      分段存儲器把虛擬地址轉換為物理地址流程如圖4所示:
      虛擬存儲器
      圖4 虛擬地址與物理地址的轉換
      2.1分段式虛擬存儲器優(yōu)點
      ①段的劃分與程序的自然分界相對應
      ②段的易于編譯、管理、修改和保護,也便于多道程序共享
      ③段具有動態(tài)可變長度,允許自由調度以便利用內(nèi)存空間
      2.2分段式虛擬存儲器缺點
      ①段的長度不相同,起點和終點不固定,給內(nèi)存分配帶來麻煩
      ②容易在內(nèi)存中留下零碎空間,導致空間浪費
      3.段頁式虛擬存儲器
      段頁式虛擬存儲器是結合了分頁式和分段式的優(yōu)點,具體方式如下:
      ①程序按模塊分段,段內(nèi)再分頁,用段表和頁表進行兩級定位管理
      ②段表中每個表項對應一個段,每個段表中包含一個指向該段頁表起始位置以及控制信息和保護信息
      ③頁表指明該段各頁在內(nèi)存中的位置和是否裝入、修改等狀態(tài)信息
      ④程序數(shù)據(jù)調入調出按頁進行,又可以按段實現(xiàn)共享和保護。
      缺點是地址映射過程需要多次查表。
      每個用戶進程有一個基號,標識用戶進程,進程的段表起始地址存放在各自對應的基地寄存器中,格式如圖5所示:
      用戶進程格式
      圖5 用戶進程格式
      邏輯地址到物理地址的轉換過程如圖6所示:
      虛擬存儲器
      圖6 邏輯地址與物理地址的轉換
      4.存儲保護
      為了避免多個程序運行時互相干擾,或者某個程序不合法地訪問了其他程序的數(shù)據(jù),應該對每個程序進行存儲保護,保護的對象包括操作系統(tǒng)和用戶程序。
      (1)對操作系統(tǒng)存儲保護主要是硬件提供支持:
      ①支持至少2種運行模式:管理模式、用戶模式,操作系統(tǒng)在管理模式下管理各種功能,用戶進程運行在用戶模式下
      ②部分CPU狀態(tài)只能由系統(tǒng)進程寫,用戶進程只能讀:例如段表、頁表首地址、TLB內(nèi)容等
      ③提供讓CPU在管理模式和用戶模式之間切換的機制:通過“異常”處理讓CPU從用戶模式切換到管理模式,異常處理完成后通過“返回”指令讓CPU回到用戶模式
      (2)對于用戶進程的保護主要分為訪問方式保護和存儲區(qū)域保護:
      ①訪問方式保護:檢查“訪問越權”,通過段表或頁表的訪問權限位控制,例如共享區(qū)域只可讀不可寫,程序段只可執(zhí)行或只讀,未授權區(qū)域不可訪問等
      ②存儲區(qū)域保護:檢查“地址越界”,通過段頁的起始地址和終止地址控制
      總結
      以上就是虛擬存儲器的實現(xiàn)方法介紹了。虛擬存儲器是為了給用戶提供更大的隨機存取空間而采用的一種存儲技術。它將內(nèi)存與外存結合使用,好像有一個容量極大的內(nèi)存儲器,工作速度接近于主存,每位成本又與輔存相近,在整機形成多層次存儲系統(tǒng)。目前已成為計算機系統(tǒng)中非常重要的部分。
      〈烜芯微/XXW〉專業(yè)制造二極管,三極管,MOS管,橋堆等,20年,工廠直銷省20%,上萬家電路電器生產(chǎn)企業(yè)選用,專業(yè)的工程師幫您穩(wěn)定好每一批產(chǎn)品,如果您有遇到什么需要幫助解決的,可以直接聯(lián)系下方的聯(lián)系號碼或加QQ/微信,由我們的銷售經(jīng)理給您精準的報價以及產(chǎn)品介紹
       
      電話:18923864027(同微信)
      QQ:709211280

      相關閱讀
      主站蜘蛛池模板: 亚洲无码avav| 中文字幕在线亚洲二区| 在线 亚洲 国产 欧美| 加勒比中文无码久久综合色| 天天综合在线观看| 美女毛片一区二区三区四区| 日本成熟少妇激情视频免费看| 久久亚洲精品中文字幕波多野结衣| 亚洲精品无码av中文字幕| 国精品91人妻无码一区二区三区 | 在线看片免费人成视频无毒| 无码国产成人午夜视频在线播放| 国产一区精品在线免费看| 日本乱码在线| 国产成人高清亚洲综合| 99JK无码免费| 国产哺乳奶水91在线播放| 少妇人妻中文字幕污| 欧美中文一区| 综合色综合色综合色综合| AV无码不卡| 欧美、另类亚洲日本一区二区| 亚洲精品亚洲人成在线观看下载| 精品无码一区二区三区| 中文字幕一区二区三区乱码| AV最新高清无码专区| 无码色偷偷亚洲国内自拍| 亚洲va久久久噜噜噜久久男同| 亚洲最大av一区二区| 福利姬Jk丝袜-91Porn| 99久久无码私人网站| 国产精品国产三级国AV麻豆| 网友自拍视频精品区| 人人爽久久久噜噜噜婷婷| 亚洲熟妇av午夜无码不卡| 精品婷婷色一区二区三区蜜桃| 国产对白老熟女正在播放| 99久久婷婷国产综合精品| 18禁超污无遮挡无码免费游戏| 久香草视频在线观看| 国产成人美女视频网站|