版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、保護虛擬模式與存儲管理補充知識保護虛擬模式與存儲管理補充知識內(nèi)容提要內(nèi)容提要:1.321.32位位X86X86的內(nèi)部結(jié)構(gòu),原理及基本工作方式。的內(nèi)部結(jié)構(gòu),原理及基本工作方式。2.2.虛擬存儲系統(tǒng)原理,虛擬存儲系統(tǒng)原理,WindowsWindows與與LINUXLINUX存儲管理與多任務(wù)機制存儲管理與多任務(wù)機制寄存器組寄存器組基本結(jié)構(gòu)寄存器基本結(jié)構(gòu)寄存器系統(tǒng)級寄存器系統(tǒng)級寄存器浮點寄存器浮點寄存器調(diào)試測試寄存器調(diào)試測試寄存器1.基本結(jié)構(gòu)寄存器基本結(jié)構(gòu)寄存器AH A3116 15X AL870BH B X BLCH C X CLDH D X DLSIDIBPSPEAXEBXECXEDXESIEDI
2、EBPESPCSSSDSESFSGSIPFLAGS指令指針指令指針I(yè)P標志寄存器標志寄存器EFLAGS通用寄存器通用寄存器段寄存器段寄存器代碼段代碼段堆棧段堆棧段數(shù)據(jù)段數(shù)據(jù)段系統(tǒng)級寄存器系統(tǒng)級寄存器4個控制寄存器個控制寄存器4個系統(tǒng)地址寄存器個系統(tǒng)地址寄存器PGCDNW.AMWP.NE1 TSEMMPPEIntel保留頁故障線性地址寄存器頁目錄值PCDPWT控控制制寄寄存存器器CROCR1CR2CR33124,231816 158 70CR0: PE:保護虛擬地址方式的允許位。保護虛擬地址方式的允許位。PE=1,保護方式;,保護方式;PE=0,實方式,實方式. PG:分頁允許位。分頁允許位。P
3、G=1,允許分頁部件工作(,允許分頁部件工作(PE=1);反之禁止。);反之禁止。 CD:片內(nèi)片內(nèi)CACHE無效位。若無效位。若CD=1,片內(nèi)片內(nèi)CACHE不命中時,則不需將所不命中時,則不需將所 需信息讀入需信息讀入CACHE. NW:片內(nèi)片內(nèi)CACHE非寫直達位。非寫直達位。NW=0,數(shù)據(jù)寫入,數(shù)據(jù)寫入CAHCE的同時也寫入主存,否則只寫入的同時也寫入主存,否則只寫入CACHE.WP:頁寫保護位。頁寫保護位。WP=1,禁止任何特權(quán)級的程序?qū)χ蛔x頁面進行寫入操作。禁止任何特權(quán)級的程序?qū)χ蛔x頁面進行寫入操作。AM:對界檢查控制位。對界檢查控制位。NE:數(shù)據(jù)異常位。:數(shù)據(jù)異常位。TS:任務(wù)切換位
4、;任務(wù)切換位;EM:仿真協(xié)處理器位;:仿真協(xié)處理器位;MP:監(jiān)視協(xié)處理器位:監(jiān)視協(xié)處理器位CR2:保留所檢測到的上一個頁面故障的保留所檢測到的上一個頁面故障的32位線性地址。位線性地址。CR3:12-31位保留著一級頁表(頁目錄)的物理基址。位保留著一級頁表(頁目錄)的物理基址。PWT,PCD可對可對CACHE進行控制。進行控制。4716150線性基地址線性基地址界限界限GDTRIDTRTRLDTR015選擇符選擇符描述符寄存器(不可見)描述符寄存器(不可見)32位基地址位基地址 20位界限位界限 屬性屬性系系統(tǒng)統(tǒng)地地址址寄寄存存器器系統(tǒng)地址寄存器又稱作保護方式寄存器,僅能在保護方式下使用。系
5、統(tǒng)地址寄存器又稱作保護方式寄存器,僅能在保護方式下使用。GDTR:全局描述符表寄存器,全局描述符表寄存器,48位,高位,高32位是全局描述符表的線性基地址,低位是全局描述符表的線性基地址,低16位是界限。位是界限。如:(如:(GDTR)=0800,0000,0FFFH,則全局描述符表的第一個地址為則全局描述符表的第一個地址為0800,0000H,末地址為,末地址為0800,0FFFH,表,表大小為大小為1000H.IDTR:中斷描述符表寄存器,中斷描述符表寄存器,48位,高位,高32位是中斷描述符表的線性基地址,低位是中斷描述符表的線性基地址,低16位是界限。位是界限。LDTR:局部描述符表寄
6、存器,用于存放局部描述符表寄存器,用于存放LDT的線性基地址、界限、屬性和的線性基地址、界限、屬性和16位的選擇符。位的選擇符。 只有只有16位的選擇位的選擇符是可見的,其它的由硬件自動裝入內(nèi)容。符是可見的,其它的由硬件自動裝入內(nèi)容。TR:任務(wù)狀態(tài)寄存器,存放當前正在執(zhí)行的任務(wù)的線性基地址、界限、屬性和任務(wù)狀態(tài)寄存器,存放當前正在執(zhí)行的任務(wù)的線性基地址、界限、屬性和16位的選擇符。只有位的選擇符。只有16位的選位的選擇符是可被訪問。擇符是可被訪問。3.調(diào)試與測試寄存器調(diào)試與測試寄存器8個調(diào)試寄存器個調(diào)試寄存器5個測試寄存器個測試寄存器斷點0線性地址斷點1線性地址斷點2線性地址斷點3線性地址保留
7、保留調(diào)試狀態(tài)寄存器調(diào)試控制寄存器031DR0DR7Cache測試控制Cache測試數(shù)據(jù)Cache測試狀態(tài)TLB測試控制TLB測試狀態(tài)031TR3TR7DR0-DR3用于設(shè)置數(shù)據(jù)存取和代碼執(zhí)行斷點;用于設(shè)置數(shù)據(jù)存取和代碼執(zhí)行斷點;DR7是調(diào)試控制寄存器,用于選擇調(diào)試功能和設(shè)置斷點;是調(diào)試控制寄存器,用于選擇調(diào)試功能和設(shè)置斷點;DR6用于指明斷點的當前狀態(tài)。用于指明斷點的當前狀態(tài)。測試寄存器用于測試自身的片內(nèi)測試寄存器用于測試自身的片內(nèi)CACHE和轉(zhuǎn)換用旁視緩沖區(qū)(和轉(zhuǎn)換用旁視緩沖區(qū)(TLB)。)。微處理器的地址空間微處理器的地址空間1.存儲地址空間存儲地址空間虛擬空間虛擬空間線性空間線性空間物理
8、空間物理空間虛擬空間又稱邏輯空間,是應(yīng)用程序員編寫程序的空間。虛擬空間又稱邏輯空間,是應(yīng)用程序員編寫程序的空間。246(64TB)物理空間又稱主存空間,是存儲器的實際空間。物理空間又稱主存空間,是存儲器的實際空間。232(4GB)存儲器線性地址線性地址分段部件分頁部件虛擬地址虛擬地址物理地址物理地址80486采用采用段頁式段頁式虛擬存儲器。將程序按邏輯結(jié)構(gòu)分段,每段再分為虛擬存儲器。將程序按邏輯結(jié)構(gòu)分段,每段再分為若干大小相同的頁;主存空間也劃分為若干同樣大小的頁。建立相若干大小相同的頁;主存空間也劃分為若干同樣大小的頁。建立相應(yīng)的段表和頁表,分兩級查表實現(xiàn)虛實地址轉(zhuǎn)換。以頁為單位調(diào)進應(yīng)的段表
9、和頁表,分兩級查表實現(xiàn)虛實地址轉(zhuǎn)換。以頁為單位調(diào)進或調(diào)出主存,按段共享與保護程序與數(shù)據(jù)?;蛘{(diào)出主存,按段共享與保護程序與數(shù)據(jù)。80486 段號為段號為16位,段內(nèi)位,段內(nèi)地址為地址為32位,因此最多可將整個虛擬空間分為位,因此最多可將整個虛擬空間分為64K段,每段段,每段4GB。2.輸入輸出(輸入輸出(I/O)空間)空間80486有兩個獨立的物理空間:有兩個獨立的物理空間:儲存空間儲存空間、I/O空間空間4GB64K物理存儲空間物理存儲空間 物理物理I/O空間空間I/O00000000HFFFFFFFFH00000000H0000FFFFH可訪問可訪問不可訪問不可訪問工作模式簡介工作模式簡介實
10、地址模式實地址模式保護虛擬模式保護虛擬模式兩種工作模式:兩種工作模式:2.3.1.實地址模式實地址模式1.存儲空間及實地址模式下的編址存儲空間及實地址模式下的編址實地址模式下的存儲空間為實地址模式下的存儲空間為220,及,及1M字節(jié)。字節(jié)。物理地址的形成方式:段寄存器內(nèi)容左移物理地址的形成方式:段寄存器內(nèi)容左移4位加上有效地址。位加上有效地址。如:如:CS內(nèi)容為內(nèi)容為1000H,IP為為8888H,則實地址模式下的物理地址為:,則實地址模式下的物理地址為: 1000H16+8888H18888H在實地址模式下,有兩個物理存儲空間是需要保留的:在實地址模式下,有兩個物理存儲空間是需要保留的:地址
11、地址0000,0000H-0000,03FFH是中斷向量區(qū),每個中斷向量占用是中斷向量區(qū),每個中斷向量占用4個字節(jié);個字節(jié);地址地址FFFF,FFF0HFFFF,FFFFH為系統(tǒng)初始化區(qū),當加電或復位時,物理地址為系統(tǒng)初始化區(qū),當加電或復位時,物理地址自動置為自動置為FFFF,FFF0H。2.保留的地址空間保留的地址空間保護虛擬地址模式保護虛擬地址模式80486工作在保護虛擬地址模式時,充分發(fā)揮了工作在保護虛擬地址模式時,充分發(fā)揮了80486所具有的存儲管理功所具有的存儲管理功能和硬件支撐的保護機制,為多用戶操作系統(tǒng)的設(shè)計提供有力的支持。同能和硬件支撐的保護機制,為多用戶操作系統(tǒng)的設(shè)計提供有力
12、的支持。同時在保護方式下,時在保護方式下,80486也允許運行已有的也允許運行已有的8086、80286、80386的軟件。的軟件。1.保護概念保護概念 在程序運行過程中,應(yīng)防止應(yīng)用程序破壞系統(tǒng)程序、某一應(yīng)用程序破壞在程序運行過程中,應(yīng)防止應(yīng)用程序破壞系統(tǒng)程序、某一應(yīng)用程序破壞其它應(yīng)用程序、錯誤地把數(shù)據(jù)當作程序運行等情況的出現(xiàn)。為避免出現(xiàn)這其它應(yīng)用程序、錯誤地把數(shù)據(jù)當作程序運行等情況的出現(xiàn)。為避免出現(xiàn)這些情形所采取的措施稱作些情形所采取的措施稱作“保護保護”。操作系統(tǒng)內(nèi)核操作系統(tǒng)內(nèi)核系統(tǒng)服務(wù)及接口系統(tǒng)服務(wù)及接口應(yīng)用程序應(yīng)用程序012380486 4級特權(quán)保護級特權(quán)保護特權(quán)規(guī)則特權(quán)規(guī)則:特權(quán)級:
13、特權(quán)級P存儲在某段上的數(shù)據(jù),只能由不低于存儲在某段上的數(shù)據(jù),只能由不低于P的特權(quán)級訪的特權(quán)級訪問;具有特權(quán)級問;具有特權(quán)級P的的程序或過程只能由不高于的的程序或過程只能由不高于P級上執(zhí)行的任務(wù)調(diào)用。級上執(zhí)行的任務(wù)調(diào)用。 2.存儲空間存儲空間 在保護方式下,在保護方式下,80486可為每個任務(wù)提供可為每個任務(wù)提供232(4GB)字節(jié)的物理空間,并)字節(jié)的物理空間,并允許程序在允許程序在246(64TB)的邏輯空間中運行。)的邏輯空間中運行。3.虛擬虛擬86環(huán)境環(huán)境 80486允許在實方式下和保護方式下執(zhí)行允許在實方式下和保護方式下執(zhí)行8086的應(yīng)用程序。有了虛擬的應(yīng)用程序。有了虛擬86方式,方式
14、,486允許同時執(zhí)行允許同時執(zhí)行8086操作系統(tǒng)和操作系統(tǒng)和8086應(yīng)用程序以及應(yīng)用程序以及486操作系統(tǒng)和操作系統(tǒng)和486應(yīng)用程應(yīng)用程序。序。 在虛擬在虛擬86方式下,還可以與實方式相同的形式使用段寄存器,以形成線性基方式下,還可以與實方式相同的形式使用段寄存器,以形成線性基地址。通過使用分頁功能,就可以將虛擬地址。通過使用分頁功能,就可以將虛擬86方式下的方式下的1M地址空間映象到地址空間映象到486的的4GB的物理空間的任何位置。的物理空間的任何位置。存儲系統(tǒng)存儲系統(tǒng)存儲系統(tǒng)的基本概念存儲系統(tǒng)的基本概念為了解決速度、容量、價格之間的矛盾,人們提出存儲系統(tǒng)的概念,如為了解決速度、容量、價格
15、之間的矛盾,人們提出存儲系統(tǒng)的概念,如圖,圖, M1速度最快,容量最小,每位價格最高;速度最快,容量最小,每位價格最高; Mi速度大于速度大于Mi+1 , Mi容量小于容量小于Mi+1 , Mi每位價格高于每位價格高于Mi+1 ;整個存儲系統(tǒng)訪問速度近似于;整個存儲系統(tǒng)訪問速度近似于M1 ,每位價格近似于,每位價格近似于Mn ,容量不小于,容量不小于Mn.MnCPUM1M2Mi虛擬存儲器是為了增加存儲系統(tǒng)的存儲容量虛擬存儲器是為了增加存儲系統(tǒng)的存儲容量;CACHE是為了提高存儲器的速度。是為了提高存儲器的速度。虛擬存儲器虛擬存儲器 基本概念基本概念由主存儲器和輔助存儲器共同組成。速度接近于主存
16、,每位價格與輔存相近。由主存儲器和輔助存儲器共同組成。速度接近于主存,每位價格與輔存相近。1.地址空間與地址地址空間與地址虛擬存儲器有虛擬存儲器有3種地址空間及對應(yīng)種地址空間及對應(yīng)3種地址。種地址。虛擬地址空間虛擬地址空間是應(yīng)用程序員編寫程序的地址空間。其地址稱為虛地址。是應(yīng)用程序員編寫程序的地址空間。其地址稱為虛地址。主存空間主存空間稱為實存地址空間,是存儲、運行程序的空間,其地址稱為主存稱為實存地址空間,是存儲、運行程序的空間,其地址稱為主存物理地址。物理地址。輔助地址空間輔助地址空間也就是磁盤存儲器的地址空間,是用來存放程序的空間,其也就是磁盤存儲器的地址空間,是用來存放程序的空間,其地
17、址稱輔存地址。地址稱輔存地址。工作原理工作原理邏輯地址地址變換物理地址外地址變換輔存地址替換算法I/O機構(gòu)主存儲器輔助存儲器段式存儲器段式存儲器一個程序由多個模塊組成,特別是在結(jié)構(gòu)化程序設(shè)計思想提出后,程序的模一個程序由多個模塊組成,特別是在結(jié)構(gòu)化程序設(shè)計思想提出后,程序的模塊性就更強了。組成程序的模塊大小可以各不相同,但每個模塊都是一個特塊性就更強了。組成程序的模塊大小可以各不相同,但每個模塊都是一個特定功能的獨立程序段。當某程序段從輔存調(diào)入主存,只要由系統(tǒng)賦予該段一定功能的獨立程序段。當某程序段從輔存調(diào)入主存,只要由系統(tǒng)賦予該段一個基址,就可以把基址和每個單元在段內(nèi)的相對位移量組合在一起,
18、形成這個基址,就可以把基址和每個單元在段內(nèi)的相對位移量組合在一起,形成這些單元在主存中各自的實際地址。些單元在主存中各自的實際地址。1.地址映像與變換地址映像與變換在段式存儲器中,每個程序都有一個段描述符表(段表),段表的一行稱在段式存儲器中,每個程序都有一個段描述符表(段表),段表的一行稱作段描述符,段描述符用來描述模塊的基本狀況,其基本內(nèi)容包括基址、作段描述符,段描述符用來描述模塊的基本狀況,其基本內(nèi)容包括基址、界限和訪問控制等?;肥茄b入模塊的首地址,界限指該段的長度。界限和訪問控制等?;肥茄b入模塊的首地址,界限指該段的長度。模塊3模塊2模塊1模塊03K3K1K0.5K6K2K0K1K
19、01K1.5K3K6K8K程序空間程序空間主存空間主存空間段表段表基址基址界限界限訪問控制訪問控制地址映射地址映射80486的虛地址空間為的虛地址空間為246即即64TB,此空間編程的邏輯地址有,此空間編程的邏輯地址有46個二進制位,個二進制位,其中低其中低32位是偏移量,高位是偏移量,高14位是段寄存器中的位是段寄存器中的215位的內(nèi)容。位的內(nèi)容。二維的虛擬地址必須轉(zhuǎn)換成一維的物理地址,主存中的程序才能執(zhí)行。二維的虛擬地址必須轉(zhuǎn)換成一維的物理地址,主存中的程序才能執(zhí)行。每個任務(wù)都有一個虛擬空間。為了避免多個并行任務(wù)的多個虛擬地址空間每個任務(wù)都有一個虛擬空間。為了避免多個并行任務(wù)的多個虛擬地址
20、空間直接映射到同一個物理地址空間,采用線性地址空間隔離虛擬地址空間和直接映射到同一個物理地址空間,采用線性地址空間隔離虛擬地址空間和物理地址空間。線性空間由一維的線性地址構(gòu)成,線性地址空間和物理地物理地址空間。線性空間由一維的線性地址構(gòu)成,線性地址空間和物理地址空間對等。線性地址空間址空間對等。線性地址空間32位長,位長,4GB。虛擬地址到物理地址的映射函數(shù)在每個任務(wù)任務(wù)中進行定義,隨著任務(wù)的虛擬地址到物理地址的映射函數(shù)在每個任務(wù)任務(wù)中進行定義,隨著任務(wù)的切換,映射函數(shù)也切換。兩個不同的任務(wù),盡管虛擬地址相同,但實際物切換,映射函數(shù)也切換。兩個不同的任務(wù),盡管虛擬地址相同,但實際物理地址可以不
21、同。理地址可以不同。段寄存器152位偏移量.描述符.邏輯地址邏輯地址32位線性地址段表段表物理地址物理地址4532310段描述符與段描述符表段描述符與段描述符表(1)段描述符格式段描述符格式一個段描述符格式由一個段描述符格式由8個字節(jié)組成,是位于主存中的一種數(shù)據(jù)結(jié)構(gòu),由系統(tǒng)個字節(jié)組成,是位于主存中的一種數(shù)據(jù)結(jié)構(gòu),由系統(tǒng)程序創(chuàng)建。程序創(chuàng)建。段界限 70段界限 158基址 70基址158基址2316基址3124PDPLSTYPEGD/BAVL段界限19160D0D707G:為粒度位,用來確定段界限所使用的長度單位。為粒度位,用來確定段界限所使用的長度單位。G=0,以字節(jié)為單位;,以字節(jié)為單位;G=
22、1,以,以4KB(212)為單位。)為單位。P:是存在位,是存在位,P=1表示該段在主存中。表示該段在主存中。AVL:是用戶的操作系統(tǒng)可用位。是用戶的操作系統(tǒng)可用位。D/B:在代碼段,為在代碼段,為D位,位,D=1,采用采用32位操作數(shù)和尋址方式,反之位操作數(shù)和尋址方式,反之16位位在數(shù)據(jù)段,在數(shù)據(jù)段,B=1時,時,PUSH,POP,CALL都使用都使用ESP,反之用,反之用SPS:80486的段可被設(shè)置為系統(tǒng)段的段可被設(shè)置為系統(tǒng)段(S=0)和非系統(tǒng)段。系統(tǒng)段描述有關(guān)操作系統(tǒng)和非系統(tǒng)段。系統(tǒng)段描述有關(guān)操作系統(tǒng)的表格、任務(wù)和選通門等信息,非系統(tǒng)段又細分為代碼段和數(shù)據(jù)段。的表格、任務(wù)和選通門等信息
23、,非系統(tǒng)段又細分為代碼段和數(shù)據(jù)段。DPL:特權(quán)級別特權(quán)級別S=1時,第時,第5字節(jié)又稱訪問權(quán)字節(jié),該字節(jié)中的字節(jié)又稱訪問權(quán)字節(jié),該字節(jié)中的TYPE字段中的各位定義如下:字段中的各位定義如下:PDPLS=1E=0E=1EDCWRAE:可執(zhí)行位??蓤?zhí)行位。E=0,數(shù)據(jù)段;,數(shù)據(jù)段;E=1,代碼段。,代碼段。ED:擴展方向位。擴展方向位。ED=0,向上擴展,即偏移量必須小于等于界限;向上擴展,即偏移量必須小于等于界限;ED=1,向向下擴展。下擴展。W:可寫位??蓪懳?。W=0,不允許寫。不允許寫。R:可讀位??勺x位。R=0,不允許讀,不允許讀A:訪問位。訪問位。A=0,該段尚未被訪問,該段尚未被訪問C
24、:相容位。相容位。C=1,遵循描述符特權(quán)級;,遵循描述符特權(quán)級;C=0,忽略描述符特權(quán)級,忽略描述符特權(quán)級E位將段分為代碼段及數(shù)據(jù)段,代碼段決不允許寫。位將段分為代碼段及數(shù)據(jù)段,代碼段決不允許寫。(2)段描述符表段描述符表段描述符表也是位于主存中的一種數(shù)據(jù)結(jié)構(gòu),由系統(tǒng)程序創(chuàng)建。分為全局段描述符表也是位于主存中的一種數(shù)據(jù)結(jié)構(gòu),由系統(tǒng)程序創(chuàng)建。分為全局描述符表描述符表(GDT)和局局描述符表和局局描述符表(LDT).LDT存放給定任務(wù)有關(guān)的描述符,所以每個任務(wù)都有一個獨立的存放給定任務(wù)有關(guān)的描述符,所以每個任務(wù)都有一個獨立的LDT,其,其中含有自己的代碼段、數(shù)據(jù)段和堆棧段等,任務(wù)切換時中含有自己的
25、代碼段、數(shù)據(jù)段和堆棧段等,任務(wù)切換時LDT也切換;通過也切換;通過LDT可使各任務(wù)的私有段與其它任務(wù)項隔離,達到保護的目的。可使各任務(wù)的私有段與其它任務(wù)項隔離,達到保護的目的。GDT存放系統(tǒng)所有任務(wù)的描述符,如操作系統(tǒng)使用的代碼段和數(shù)據(jù)段、任存放系統(tǒng)所有任務(wù)的描述符,如操作系統(tǒng)使用的代碼段和數(shù)據(jù)段、任務(wù)狀態(tài)段以及各個務(wù)狀態(tài)段以及各個LDT的描述符。整個系統(tǒng)中的描述符。整個系統(tǒng)中GDT只有一張。任務(wù)切換時,只有一張。任務(wù)切換時,不切換不切換GDT.通過通過GDT可使各任務(wù)需要使用的端能被共享??墒垢魅蝿?wù)需要使用的端能被共享。(3)選擇符選擇符LDTR中的中的16位選擇符不直接給定位選擇符不直接給
26、定LDT的位置,而是指向的位置,而是指向GDT中的某個描述中的某個描述符。符。保護模式下,段寄存器中的內(nèi)容也稱為選擇符。保護模式下,段寄存器中的內(nèi)容也稱為選擇符。選擇符不直接確定存儲器地選擇符不直接確定存儲器地址,而是指向一個段描述符址,而是指向一個段描述符。選擇符由請求特權(quán)字段。選擇符由請求特權(quán)字段(RPL)、表指示、表指示(T)和索和索引組成。引組成。索引乘索引乘8就是相對就是相對GDT或或LDT首地址的偏移量首地址的偏移量。索引TRPL選擇符(段寄存器)選擇符選擇符界限界限基址基址界限界限基址基址LDTLDTLDTLDTRGDTGDTRT=1T=0CPU內(nèi)部還設(shè)置了一個段描述符高速緩沖寄
27、存器堆,對程序員是透明的。內(nèi)部還設(shè)置了一個段描述符高速緩沖寄存器堆,對程序員是透明的。當選擇符值裝入寄存器時,處理器會將響應(yīng)的描述符中的內(nèi)容自動裝入其中,當選擇符值裝入寄存器時,處理器會將響應(yīng)的描述符中的內(nèi)容自動裝入其中,以供地址變換時使用,避免在地址變換時需要不斷地訪問主存中的段描述符。以供地址變換時使用,避免在地址變換時需要不斷地訪問主存中的段描述符。選擇符 CSSS DS ES FS GS 段寄存器段描述符高速緩沖寄存器堆(不可見)段描述符高速緩沖寄存器堆(不可見)基址 段界限 段屬性 FS ES DS SS CS GS模塊3模塊2模塊1模塊0選擇符選擇符界限界限基址基址LDTALDTB
28、界限界限基址基址模塊C模塊B模塊A選擇符選擇符界限界限基址基址模塊1模塊B模塊2模塊3模塊A模塊0,CGDTRLDTRLDTRGDTLDTALDTB程序A程序B模塊位置頁式存儲器頁式存儲器頁式存儲器把主存空間和輔存空間都劃分為多個相同尺寸的定長塊,每塊稱頁式存儲器把主存空間和輔存空間都劃分為多個相同尺寸的定長塊,每塊稱作一頁,并按順序編號。作一頁,并按順序編號。80486的頁面尺寸定為的頁面尺寸定為4K(212)虛擬空間中的頁稱虛頁;主存空間中的頁稱實頁。虛擬空間中的頁稱虛頁;主存空間中的頁稱實頁。1.虛擬空間與實存空間虛擬空間與實存空間地址變換就是如何將虛頁號轉(zhuǎn)化為實頁號地址變換就是如何將虛
29、頁號轉(zhuǎn)化為實頁號虛頁號頁內(nèi)偏移實頁號頁內(nèi)偏移虛地址實地址0113212主存空間虛存空間4G1.地址映象與地址變換地址映象與地址變換段式存儲器將虛地址轉(zhuǎn)化為段式存儲器將虛地址轉(zhuǎn)化為32位線性地址,頁式存儲器通過頁轉(zhuǎn)換邏輯將線位線性地址,頁式存儲器通過頁轉(zhuǎn)換邏輯將線性地址轉(zhuǎn)化為物理地址。在性地址轉(zhuǎn)化為物理地址。在80486的頁式存儲器中,虛擬地址就是線性地址,的頁式存儲器中,虛擬地址就是線性地址,由由20位虛頁號和位虛頁號和12位頁內(nèi)偏移地址組成,物理地址由位頁內(nèi)偏移地址組成,物理地址由20位實頁號和位實頁號和12位頁內(nèi)位頁內(nèi)偏移地址組成,但實頁號僅在實際存在的主存儲器的地址范圍內(nèi)選取。偏移地址組
30、成,但實頁號僅在實際存在的主存儲器的地址范圍內(nèi)選取。地址映象與地址變換地址映象與地址變換在頁式存儲器中,每個任務(wù)都有頁表作為虛擬空間映象到物理空間的中介在頁式存儲器中,每個任務(wù)都有頁表作為虛擬空間映象到物理空間的中介3頁2頁1頁0頁3210程序空間頁表主存空間虛頁號 主頁號控制信息位組成頁表的行稱作頁表項,頁表項主要由頁面基址和控制信息位組成頁表的行稱作頁表項,頁表項主要由頁面基址和控制信息位組成,主頁號指明頁面的基址,由于頁面號是順序編制,虛頁號組成,主頁號指明頁面的基址,由于頁面號是順序編制,虛頁號可省略。頁式存儲器通過頁表項對頁面進行管理。頁表本身也是可省略。頁式存儲器通過頁表項對頁面進
31、行管理。頁表本身也是一頁。存儲在主存中。一頁。存儲在主存中。80486的頁表項由的頁表項由4字節(jié)組成,頁表尺寸為字節(jié)組成,頁表尺寸為212,一個頁表只有,一個頁表只有1024個頁表項,只能管理個頁表項,只能管理1024個頁面。個頁面。80486頁式存儲器的頁式存儲器的4GB的虛擬的虛擬空間被分為空間被分為220個頁面,需要個頁面,需要220個頁表項對其進行管理。一張頁表個頁表項對其進行管理。一張頁表無法容納這么多的頁表項。無法容納這么多的頁表項。X86采用二級頁表方法進行管理,第一級頁表稱為頁表目錄,采用二級頁表方法進行管理,第一級頁表稱為頁表目錄,頁表目錄的頁表項指明第二級頁表中各項的基址。
32、這樣,虛頁頁表目錄的頁表項指明第二級頁表中各項的基址。這樣,虛頁號分為頁表目錄和頁表。號分為頁表目錄和頁表。頁目錄索引頁表索引頁內(nèi)偏移實頁號 頁內(nèi)偏移實地址頁表0頁表1頁表目錄表CR3虛地址線性地址虛頁號頁表目錄和頁表都存放在主存中,頁表目錄表的基址由控制寄頁表目錄和頁表都存放在主存中,頁表目錄表的基址由控制寄存器存器CR3的高的高20位位*212指定。指定。3.頁表項及其控制作用頁表項及其控制作用頁表項格式如圖頁表項格式如圖頁面基址AV AI L00APCDPWTU/SR/S P頁表項由頁表項由32位組成,高位組成,高20位是頁面基址,頁表中該字段就是實頁號,在頁目位是頁面基址,頁表中該字段
33、就是實頁號,在頁目錄表中,頁面基址錄表中,頁面基址 212相應(yīng)頁表的首址;低相應(yīng)頁表的首址;低12位用來說明頁(頁表)的位用來說明頁(頁表)的控制狀態(tài)信息??刂茽顟B(tài)信息。P:存在位,存在位,P=1,表示該頁在主存中。在地址變換過程中,若發(fā)現(xiàn),表示該頁在主存中。在地址變換過程中,若發(fā)現(xiàn)P=0,則表,則表示需立即訪問的頁不在主存,這種情形稱作頁面失效示需立即訪問的頁不在主存,這種情形稱作頁面失效(頁面故障頁面故障),此時系統(tǒng),此時系統(tǒng)會作如下處理:會作如下處理:1)若主存還有空間,操作系統(tǒng)將要訪問的頁調(diào)入主存,且將)若主存還有空間,操作系統(tǒng)將要訪問的頁調(diào)入主存,且將P置置12)如果主存沒有空間,就
34、根據(jù)一定的替換算法將主存中的某頁調(diào)入輔存,)如果主存沒有空間,就根據(jù)一定的替換算法將主存中的某頁調(diào)入輔存,再將要訪問的頁調(diào)入主存。再將要訪問的頁調(diào)入主存。D:修改位,該位只在頁表中起作用,修改位,該位只在頁表中起作用,D=1,表示內(nèi)容被修改。,表示內(nèi)容被修改。A:訪問位,若該頁被訪問過,訪問位,若該頁被訪問過,A=1。D和和A為替換算法和多機系統(tǒng)的實現(xiàn)提供為替換算法和多機系統(tǒng)的實現(xiàn)提供了方便。了方便。U/S,R/W分別是分別是“用戶用戶/系統(tǒng)系統(tǒng)”位和位和“讀讀/寫寫”位。這兩位與標志寄存器中的位。這兩位與標志寄存器中的WP位配合使用,實行頁面級保護。位配合使用,實行頁面級保護。PCD和和PW
35、T是對是對CACHE的控制方式位。的控制方式位。AV,AI,L允許系統(tǒng)程序任意使用。允許系統(tǒng)程序任意使用。2.轉(zhuǎn)換用旁視緩沖區(qū)轉(zhuǎn)換用旁視緩沖區(qū)(TLB)80486設(shè)置了一個設(shè)置了一個TLB,可容納,可容納32個頁表項的高速緩存,自動將最個頁表項的高速緩存,自動將最近被訪問的頁面所對應(yīng)的頁表項保存起來。又稱快表,存于主存中近被訪問的頁面所對應(yīng)的頁表項保存起來。又稱快表,存于主存中的頁表稱慢表。的頁表稱慢表。X86的段頁式存儲器的段頁式存儲器段式存儲器的特點是模塊性好,但主存利用率不高,且對輔存的管理比較困段式存儲器的特點是模塊性好,但主存利用率不高,且對輔存的管理比較困難;難;頁式存儲器的特點是
36、主存利用率高,且對輔存的管理容易,但模塊性差。頁式存儲器的特點是主存利用率高,且對輔存的管理容易,但模塊性差。段頁式存儲器把主存空間分成固定尺寸的頁面,程序按模塊分段,每個段按段頁式存儲器把主存空間分成固定尺寸的頁面,程序按模塊分段,每個段按主存的頁面尺寸分成若干頁面。主存的頁面尺寸分成若干頁面。段頁式存儲器對多用戶系統(tǒng)非常有用,邏輯結(jié)構(gòu)特別清楚。每個用戶都有一段頁式存儲器對多用戶系統(tǒng)非常有用,邏輯結(jié)構(gòu)特別清楚。每個用戶都有一個邏輯名(用戶號),程序可按程序段編寫,每個程序段又可分為頁而存入個邏輯名(用戶號),程序可按程序段編寫,每個程序段又可分為頁而存入內(nèi)存。內(nèi)存。用戶號段號頁目錄索引頁表索
37、引頁內(nèi)偏移實頁號 頁內(nèi)偏移實地址頁表目錄頁表段描述符表WINDOWS95 及及WINNT進程地址空間的劃分進程地址空間的劃分0FFFFFFFFH0C0000000H0BFFFFFFFH080000000H07FFFFFFFH00400000H003FFFFFH00001000H000000FFH00000000HVXD;內(nèi)存管理器,文件系統(tǒng)使用的1GB,WIN32所有進程共享,可讀寫內(nèi)存映射文件使用的1GB,有WIN32 DLL,16位應(yīng)用程序和內(nèi)存分配使用,可讀寫WIN32 進程私有空間DOS和16位WINDOWS使用DOS和16位WINDOWS使用0FFFFFFFFH08000000H07FFFFFFFH07FFF0000H07FFEFFFFH000010000H0000FFFFH00000000H操作系統(tǒng)使用2GB,不可存取非法指針指向的64KB,不可存取WIN32進程私有NULL指針使用的64KB3.4 Linux在在X86上的虛擬內(nèi)存管理上的虛擬內(nèi)存管
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Unit 2 Language and Culture Reading B說課稿-2024-2025學年高中英語上外版必修第一冊
- 變更稅率協(xié)議書范本
- 北京建行商貸合同范本
- 果蔬鮮度管理
- 山西省名校聯(lián)盟2024-2025學年高二上學期期中聯(lián)考語文試卷(含答案)
- 瀘縣五中2024年秋期高一期中考試地理試題
- 廣東省廣州外國語、廣大附中、鐵一中學等三校2024-2025學年高三上學期期中聯(lián)考試題 歷史(含答案)
- 安徽省合肥市第四十二中學2024-2025學年七年級上學期期中綠色評價英語試題(含答案無聽力音頻及原文)
- 頭孢類抗菌藥物行業(yè)相關(guān)投資計劃提議范本
- 聚乙烯(PE)相關(guān)項目投資計劃書
- 防火門窗施工方案
- “雙師教學”在初中數(shù)學課堂中的應(yīng)用
- 戰(zhàn)略合作簽約儀式教育PPT課程課件
- 土方填筑碾壓試驗報告
- 老舊小區(qū)排水部分雨污水改造監(jiān)理細則
- 2022年地殼運動與變化教案與學案
- 上海市單位退工證明退工單(四聯(lián))
- 《建筑起重吊裝工程安全技術(shù)規(guī)程》JGJ276
- 市政道路水穩(wěn)層項目施工合同
- 睿丁英語小紅帽和大灰狼的故事
- 轉(zhuǎn)人教版七年級上期中復習教案
評論
0/150
提交評論