保護(hù)虛擬模式與存儲(chǔ)管理_第1頁(yè)
保護(hù)虛擬模式與存儲(chǔ)管理_第2頁(yè)
保護(hù)虛擬模式與存儲(chǔ)管理_第3頁(yè)
保護(hù)虛擬模式與存儲(chǔ)管理_第4頁(yè)
保護(hù)虛擬模式與存儲(chǔ)管理_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、保護(hù)虛擬模式與存儲(chǔ)管理補(bǔ)充知識(shí)保護(hù)虛擬模式與存儲(chǔ)管理補(bǔ)充知識(shí)內(nèi)容提要內(nèi)容提要:1.321.32位位X86X86的內(nèi)部結(jié)構(gòu),原理及基本工作方式。的內(nèi)部結(jié)構(gòu),原理及基本工作方式。2.2.虛擬存儲(chǔ)系統(tǒng)原理,虛擬存儲(chǔ)系統(tǒng)原理,WindowsWindows與與LINUXLINUX存儲(chǔ)管理與多任務(wù)機(jī)制存儲(chǔ)管理與多任務(wù)機(jī)制寄存器組寄存器組基本結(jié)構(gòu)寄存器基本結(jié)構(gòu)寄存器系統(tǒng)級(jí)寄存器系統(tǒng)級(jí)寄存器浮點(diǎn)寄存器浮點(diǎn)寄存器調(diào)試測(cè)試寄存器調(diào)試測(cè)試寄存器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標(biāo)志寄存器標(biāo)志寄存器EFLAGS通用寄存器通用寄存器段寄存器段寄存器代碼段代碼段堆棧段堆棧段數(shù)據(jù)段數(shù)據(jù)段系統(tǒng)級(jí)寄存器系統(tǒng)級(jí)寄存器4個(gè)控制寄存器個(gè)控制寄存器4個(gè)系統(tǒng)地址寄存器個(gè)系統(tǒng)地址寄存器PGCDNW.AMWP.NE1 TSEMMPPEIntel保留頁(yè)故障線性地址寄存器頁(yè)目錄值PCDPWT控控制制寄寄存存器器CROCR1CR2CR33124,231816 158 70CR0: PE:保護(hù)虛擬地址方式的允許位。保護(hù)虛擬地址方式的允許位。PE=1,保護(hù)方式;,保護(hù)方式;PE=0,實(shí)方式,實(shí)方式. PG:分頁(yè)允許位。分頁(yè)允許位。P

3、G=1,允許分頁(yè)部件工作(,允許分頁(yè)部件工作(PE=1);反之禁止。);反之禁止。 CD:片內(nèi)片內(nèi)CACHE無效位。若無效位。若CD=1,片內(nèi)片內(nèi)CACHE不命中時(shí),則不需將所不命中時(shí),則不需將所 需信息讀入需信息讀入CACHE. NW:片內(nèi)片內(nèi)CACHE非寫直達(dá)位。非寫直達(dá)位。NW=0,數(shù)據(jù)寫入,數(shù)據(jù)寫入CAHCE的同時(shí)也寫入主存,否則只寫入的同時(shí)也寫入主存,否則只寫入CACHE.WP:頁(yè)寫保護(hù)位。頁(yè)寫保護(hù)位。WP=1,禁止任何特權(quán)級(jí)的程序?qū)χ蛔x頁(yè)面進(jìn)行寫入操作。禁止任何特權(quán)級(jí)的程序?qū)χ蛔x頁(yè)面進(jìn)行寫入操作。AM:對(duì)界檢查控制位。對(duì)界檢查控制位。NE:數(shù)據(jù)異常位。:數(shù)據(jù)異常位。TS:任務(wù)切換位

4、;任務(wù)切換位;EM:仿真協(xié)處理器位;:仿真協(xié)處理器位;MP:監(jiān)視協(xié)處理器位:監(jiān)視協(xié)處理器位CR2:保留所檢測(cè)到的上一個(gè)頁(yè)面故障的保留所檢測(cè)到的上一個(gè)頁(yè)面故障的32位線性地址。位線性地址。CR3:12-31位保留著一級(jí)頁(yè)表(頁(yè)目錄)的物理基址。位保留著一級(jí)頁(yè)表(頁(yè)目錄)的物理基址。PWT,PCD可對(duì)可對(duì)CACHE進(jìn)行控制。進(jìn)行控制。4716150線性基地址線性基地址界限界限GDTRIDTRTRLDTR015選擇符選擇符描述符寄存器(不可見)描述符寄存器(不可見)32位基地址位基地址 20位界限位界限 屬性屬性系系統(tǒng)統(tǒng)地地址址寄寄存存器器系統(tǒng)地址寄存器又稱作保護(hù)方式寄存器,僅能在保護(hù)方式下使用。系

5、統(tǒng)地址寄存器又稱作保護(hù)方式寄存器,僅能在保護(hù)方式下使用。GDTR:全局描述符表寄存器,全局描述符表寄存器,48位,高位,高32位是全局描述符表的線性基地址,低位是全局描述符表的線性基地址,低16位是界限。位是界限。如:(如:(GDTR)=0800,0000,0FFFH,則全局描述符表的第一個(gè)地址為則全局描述符表的第一個(gè)地址為0800,0000H,末地址為,末地址為0800,0FFFH,表,表大小為大小為1000H.IDTR:中斷描述符表寄存器,中斷描述符表寄存器,48位,高位,高32位是中斷描述符表的線性基地址,低位是中斷描述符表的線性基地址,低16位是界限。位是界限。LDTR:局部描述符表寄

6、存器,用于存放局部描述符表寄存器,用于存放LDT的線性基地址、界限、屬性和的線性基地址、界限、屬性和16位的選擇符。位的選擇符。 只有只有16位的選擇位的選擇符是可見的,其它的由硬件自動(dòng)裝入內(nèi)容。符是可見的,其它的由硬件自動(dòng)裝入內(nèi)容。TR:任務(wù)狀態(tài)寄存器,存放當(dāng)前正在執(zhí)行的任務(wù)的線性基地址、界限、屬性和任務(wù)狀態(tài)寄存器,存放當(dāng)前正在執(zhí)行的任務(wù)的線性基地址、界限、屬性和16位的選擇符。只有位的選擇符。只有16位的選位的選擇符是可被訪問。擇符是可被訪問。3.調(diào)試與測(cè)試寄存器調(diào)試與測(cè)試寄存器8個(gè)調(diào)試寄存器個(gè)調(diào)試寄存器5個(gè)測(cè)試寄存器個(gè)測(cè)試寄存器斷點(diǎn)0線性地址斷點(diǎn)1線性地址斷點(diǎn)2線性地址斷點(diǎn)3線性地址保留

7、保留調(diào)試狀態(tài)寄存器調(diào)試控制寄存器031DR0DR7Cache測(cè)試控制Cache測(cè)試數(shù)據(jù)Cache測(cè)試狀態(tài)TLB測(cè)試控制TLB測(cè)試狀態(tài)031TR3TR7DR0-DR3用于設(shè)置數(shù)據(jù)存取和代碼執(zhí)行斷點(diǎn);用于設(shè)置數(shù)據(jù)存取和代碼執(zhí)行斷點(diǎn);DR7是調(diào)試控制寄存器,用于選擇調(diào)試功能和設(shè)置斷點(diǎn);是調(diào)試控制寄存器,用于選擇調(diào)試功能和設(shè)置斷點(diǎn);DR6用于指明斷點(diǎn)的當(dāng)前狀態(tài)。用于指明斷點(diǎn)的當(dāng)前狀態(tài)。測(cè)試寄存器用于測(cè)試自身的片內(nèi)測(cè)試寄存器用于測(cè)試自身的片內(nèi)CACHE和轉(zhuǎn)換用旁視緩沖區(qū)(和轉(zhuǎn)換用旁視緩沖區(qū)(TLB)。)。微處理器的地址空間微處理器的地址空間1.存儲(chǔ)地址空間存儲(chǔ)地址空間虛擬空間虛擬空間線性空間線性空間物理

8、空間物理空間虛擬空間又稱邏輯空間,是應(yīng)用程序員編寫程序的空間。虛擬空間又稱邏輯空間,是應(yīng)用程序員編寫程序的空間。246(64TB)物理空間又稱主存空間,是存儲(chǔ)器的實(shí)際空間。物理空間又稱主存空間,是存儲(chǔ)器的實(shí)際空間。232(4GB)存儲(chǔ)器線性地址線性地址分段部件分頁(yè)部件虛擬地址虛擬地址物理地址物理地址80486采用采用段頁(yè)式段頁(yè)式虛擬存儲(chǔ)器。將程序按邏輯結(jié)構(gòu)分段,每段再分為虛擬存儲(chǔ)器。將程序按邏輯結(jié)構(gòu)分段,每段再分為若干大小相同的頁(yè);主存空間也劃分為若干同樣大小的頁(yè)。建立相若干大小相同的頁(yè);主存空間也劃分為若干同樣大小的頁(yè)。建立相應(yīng)的段表和頁(yè)表,分兩級(jí)查表實(shí)現(xiàn)虛實(shí)地址轉(zhuǎn)換。以頁(yè)為單位調(diào)進(jìn)應(yīng)的段表

9、和頁(yè)表,分兩級(jí)查表實(shí)現(xiàn)虛實(shí)地址轉(zhuǎn)換。以頁(yè)為單位調(diào)進(jìn)或調(diào)出主存,按段共享與保護(hù)程序與數(shù)據(jù)。或調(diào)出主存,按段共享與保護(hù)程序與數(shù)據(jù)。80486 段號(hào)為段號(hào)為16位,段內(nèi)位,段內(nèi)地址為地址為32位,因此最多可將整個(gè)虛擬空間分為位,因此最多可將整個(gè)虛擬空間分為64K段,每段段,每段4GB。2.輸入輸出(輸入輸出(I/O)空間)空間80486有兩個(gè)獨(dú)立的物理空間:有兩個(gè)獨(dú)立的物理空間:儲(chǔ)存空間儲(chǔ)存空間、I/O空間空間4GB64K物理存儲(chǔ)空間物理存儲(chǔ)空間 物理物理I/O空間空間I/O00000000HFFFFFFFFH00000000H0000FFFFH可訪問可訪問不可訪問不可訪問工作模式簡(jiǎn)介工作模式簡(jiǎn)介實(shí)

10、地址模式實(shí)地址模式保護(hù)虛擬模式保護(hù)虛擬模式兩種工作模式:兩種工作模式:2.3.1.實(shí)地址模式實(shí)地址模式1.存儲(chǔ)空間及實(shí)地址模式下的編址存儲(chǔ)空間及實(shí)地址模式下的編址實(shí)地址模式下的存儲(chǔ)空間為實(shí)地址模式下的存儲(chǔ)空間為220,及,及1M字節(jié)。字節(jié)。物理地址的形成方式:段寄存器內(nèi)容左移物理地址的形成方式:段寄存器內(nèi)容左移4位加上有效地址。位加上有效地址。如:如:CS內(nèi)容為內(nèi)容為1000H,IP為為8888H,則實(shí)地址模式下的物理地址為:,則實(shí)地址模式下的物理地址為: 1000H16+8888H18888H在實(shí)地址模式下,有兩個(gè)物理存儲(chǔ)空間是需要保留的:在實(shí)地址模式下,有兩個(gè)物理存儲(chǔ)空間是需要保留的:地址

11、地址0000,0000H-0000,03FFH是中斷向量區(qū),每個(gè)中斷向量占用是中斷向量區(qū),每個(gè)中斷向量占用4個(gè)字節(jié);個(gè)字節(jié);地址地址FFFF,FFF0HFFFF,FFFFH為系統(tǒng)初始化區(qū),當(dāng)加電或復(fù)位時(shí),物理地址為系統(tǒng)初始化區(qū),當(dāng)加電或復(fù)位時(shí),物理地址自動(dòng)置為自動(dòng)置為FFFF,FFF0H。2.保留的地址空間保留的地址空間保護(hù)虛擬地址模式保護(hù)虛擬地址模式80486工作在保護(hù)虛擬地址模式時(shí),充分發(fā)揮了工作在保護(hù)虛擬地址模式時(shí),充分發(fā)揮了80486所具有的存儲(chǔ)管理功所具有的存儲(chǔ)管理功能和硬件支撐的保護(hù)機(jī)制,為多用戶操作系統(tǒng)的設(shè)計(jì)提供有力的支持。同能和硬件支撐的保護(hù)機(jī)制,為多用戶操作系統(tǒng)的設(shè)計(jì)提供有力

12、的支持。同時(shí)在保護(hù)方式下,時(shí)在保護(hù)方式下,80486也允許運(yùn)行已有的也允許運(yùn)行已有的8086、80286、80386的軟件。的軟件。1.保護(hù)概念保護(hù)概念 在程序運(yùn)行過程中,應(yīng)防止應(yīng)用程序破壞系統(tǒng)程序、某一應(yīng)用程序破壞在程序運(yùn)行過程中,應(yīng)防止應(yīng)用程序破壞系統(tǒng)程序、某一應(yīng)用程序破壞其它應(yīng)用程序、錯(cuò)誤地把數(shù)據(jù)當(dāng)作程序運(yùn)行等情況的出現(xiàn)。為避免出現(xiàn)這其它應(yīng)用程序、錯(cuò)誤地把數(shù)據(jù)當(dāng)作程序運(yùn)行等情況的出現(xiàn)。為避免出現(xiàn)這些情形所采取的措施稱作些情形所采取的措施稱作“保護(hù)保護(hù)”。操作系統(tǒng)內(nèi)核操作系統(tǒng)內(nèi)核系統(tǒng)服務(wù)及接口系統(tǒng)服務(wù)及接口應(yīng)用程序應(yīng)用程序012380486 4級(jí)特權(quán)保護(hù)級(jí)特權(quán)保護(hù)特權(quán)規(guī)則特權(quán)規(guī)則:特權(quán)級(jí):

13、特權(quán)級(jí)P存儲(chǔ)在某段上的數(shù)據(jù),只能由不低于存儲(chǔ)在某段上的數(shù)據(jù),只能由不低于P的特權(quán)級(jí)訪的特權(quán)級(jí)訪問;具有特權(quán)級(jí)問;具有特權(quán)級(jí)P的的程序或過程只能由不高于的的程序或過程只能由不高于P級(jí)上執(zhí)行的任務(wù)調(diào)用。級(jí)上執(zhí)行的任務(wù)調(diào)用。 2.存儲(chǔ)空間存儲(chǔ)空間 在保護(hù)方式下,在保護(hù)方式下,80486可為每個(gè)任務(wù)提供可為每個(gè)任務(wù)提供232(4GB)字節(jié)的物理空間,并)字節(jié)的物理空間,并允許程序在允許程序在246(64TB)的邏輯空間中運(yùn)行。)的邏輯空間中運(yùn)行。3.虛擬虛擬86環(huán)境環(huán)境 80486允許在實(shí)方式下和保護(hù)方式下執(zhí)行允許在實(shí)方式下和保護(hù)方式下執(zhí)行8086的應(yīng)用程序。有了虛擬的應(yīng)用程序。有了虛擬86方式,方式

14、,486允許同時(shí)執(zhí)行允許同時(shí)執(zhí)行8086操作系統(tǒng)和操作系統(tǒng)和8086應(yīng)用程序以及應(yīng)用程序以及486操作系統(tǒng)和操作系統(tǒng)和486應(yīng)用程應(yīng)用程序。序。 在虛擬在虛擬86方式下,還可以與實(shí)方式相同的形式使用段寄存器,以形成線性基方式下,還可以與實(shí)方式相同的形式使用段寄存器,以形成線性基地址。通過使用分頁(yè)功能,就可以將虛擬地址。通過使用分頁(yè)功能,就可以將虛擬86方式下的方式下的1M地址空間映象到地址空間映象到486的的4GB的物理空間的任何位置。的物理空間的任何位置。存儲(chǔ)系統(tǒng)存儲(chǔ)系統(tǒng)存儲(chǔ)系統(tǒng)的基本概念存儲(chǔ)系統(tǒng)的基本概念為了解決速度、容量、價(jià)格之間的矛盾,人們提出存儲(chǔ)系統(tǒng)的概念,如為了解決速度、容量、價(jià)格

15、之間的矛盾,人們提出存儲(chǔ)系統(tǒng)的概念,如圖,圖, M1速度最快,容量最小,每位價(jià)格最高;速度最快,容量最小,每位價(jià)格最高; Mi速度大于速度大于Mi+1 , Mi容量小于容量小于Mi+1 , Mi每位價(jià)格高于每位價(jià)格高于Mi+1 ;整個(gè)存儲(chǔ)系統(tǒng)訪問速度近似于;整個(gè)存儲(chǔ)系統(tǒng)訪問速度近似于M1 ,每位價(jià)格近似于,每位價(jià)格近似于Mn ,容量不小于,容量不小于Mn.MnCPUM1M2Mi虛擬存儲(chǔ)器是為了增加存儲(chǔ)系統(tǒng)的存儲(chǔ)容量虛擬存儲(chǔ)器是為了增加存儲(chǔ)系統(tǒng)的存儲(chǔ)容量;CACHE是為了提高存儲(chǔ)器的速度。是為了提高存儲(chǔ)器的速度。虛擬存儲(chǔ)器虛擬存儲(chǔ)器 基本概念基本概念由主存儲(chǔ)器和輔助存儲(chǔ)器共同組成。速度接近于主存

16、,每位價(jià)格與輔存相近。由主存儲(chǔ)器和輔助存儲(chǔ)器共同組成。速度接近于主存,每位價(jià)格與輔存相近。1.地址空間與地址地址空間與地址虛擬存儲(chǔ)器有虛擬存儲(chǔ)器有3種地址空間及對(duì)應(yīng)種地址空間及對(duì)應(yīng)3種地址。種地址。虛擬地址空間虛擬地址空間是應(yīng)用程序員編寫程序的地址空間。其地址稱為虛地址。是應(yīng)用程序員編寫程序的地址空間。其地址稱為虛地址。主存空間主存空間稱為實(shí)存地址空間,是存儲(chǔ)、運(yùn)行程序的空間,其地址稱為主存稱為實(shí)存地址空間,是存儲(chǔ)、運(yùn)行程序的空間,其地址稱為主存物理地址。物理地址。輔助地址空間輔助地址空間也就是磁盤存儲(chǔ)器的地址空間,是用來存放程序的空間,其也就是磁盤存儲(chǔ)器的地址空間,是用來存放程序的空間,其地

17、址稱輔存地址。地址稱輔存地址。工作原理工作原理邏輯地址地址變換物理地址外地址變換輔存地址替換算法I/O機(jī)構(gòu)主存儲(chǔ)器輔助存儲(chǔ)器段式存儲(chǔ)器段式存儲(chǔ)器一個(gè)程序由多個(gè)模塊組成,特別是在結(jié)構(gòu)化程序設(shè)計(jì)思想提出后,程序的模一個(gè)程序由多個(gè)模塊組成,特別是在結(jié)構(gòu)化程序設(shè)計(jì)思想提出后,程序的模塊性就更強(qiáng)了。組成程序的模塊大小可以各不相同,但每個(gè)模塊都是一個(gè)特塊性就更強(qiáng)了。組成程序的模塊大小可以各不相同,但每個(gè)模塊都是一個(gè)特定功能的獨(dú)立程序段。當(dāng)某程序段從輔存調(diào)入主存,只要由系統(tǒng)賦予該段一定功能的獨(dú)立程序段。當(dāng)某程序段從輔存調(diào)入主存,只要由系統(tǒng)賦予該段一個(gè)基址,就可以把基址和每個(gè)單元在段內(nèi)的相對(duì)位移量組合在一起,

18、形成這個(gè)基址,就可以把基址和每個(gè)單元在段內(nèi)的相對(duì)位移量組合在一起,形成這些單元在主存中各自的實(shí)際地址。些單元在主存中各自的實(shí)際地址。1.地址映像與變換地址映像與變換在段式存儲(chǔ)器中,每個(gè)程序都有一個(gè)段描述符表(段表),段表的一行稱在段式存儲(chǔ)器中,每個(gè)程序都有一個(gè)段描述符表(段表),段表的一行稱作段描述符,段描述符用來描述模塊的基本狀況,其基本內(nèi)容包括基址、作段描述符,段描述符用來描述模塊的基本狀況,其基本內(nèi)容包括基址、界限和訪問控制等。基址是裝入模塊的首地址,界限指該段的長(zhǎng)度。界限和訪問控制等。基址是裝入模塊的首地址,界限指該段的長(zhǎng)度。模塊3模塊2模塊1模塊03K3K1K0.5K6K2K0K1K

19、01K1.5K3K6K8K程序空間程序空間主存空間主存空間段表段表基址基址界限界限訪問控制訪問控制地址映射地址映射80486的虛地址空間為的虛地址空間為246即即64TB,此空間編程的邏輯地址有,此空間編程的邏輯地址有46個(gè)二進(jìn)制位,個(gè)二進(jìn)制位,其中低其中低32位是偏移量,高位是偏移量,高14位是段寄存器中的位是段寄存器中的215位的內(nèi)容。位的內(nèi)容。二維的虛擬地址必須轉(zhuǎn)換成一維的物理地址,主存中的程序才能執(zhí)行。二維的虛擬地址必須轉(zhuǎn)換成一維的物理地址,主存中的程序才能執(zhí)行。每個(gè)任務(wù)都有一個(gè)虛擬空間。為了避免多個(gè)并行任務(wù)的多個(gè)虛擬地址空間每個(gè)任務(wù)都有一個(gè)虛擬空間。為了避免多個(gè)并行任務(wù)的多個(gè)虛擬地址

20、空間直接映射到同一個(gè)物理地址空間,采用線性地址空間隔離虛擬地址空間和直接映射到同一個(gè)物理地址空間,采用線性地址空間隔離虛擬地址空間和物理地址空間。線性空間由一維的線性地址構(gòu)成,線性地址空間和物理地物理地址空間。線性空間由一維的線性地址構(gòu)成,線性地址空間和物理地址空間對(duì)等。線性地址空間址空間對(duì)等。線性地址空間32位長(zhǎng),位長(zhǎng),4GB。虛擬地址到物理地址的映射函數(shù)在每個(gè)任務(wù)任務(wù)中進(jìn)行定義,隨著任務(wù)的虛擬地址到物理地址的映射函數(shù)在每個(gè)任務(wù)任務(wù)中進(jìn)行定義,隨著任務(wù)的切換,映射函數(shù)也切換。兩個(gè)不同的任務(wù),盡管虛擬地址相同,但實(shí)際物切換,映射函數(shù)也切換。兩個(gè)不同的任務(wù),盡管虛擬地址相同,但實(shí)際物理地址可以不

21、同。理地址可以不同。段寄存器152位偏移量.描述符.邏輯地址邏輯地址32位線性地址段表段表物理地址物理地址4532310段描述符與段描述符表段描述符與段描述符表(1)段描述符格式段描述符格式一個(gè)段描述符格式由一個(gè)段描述符格式由8個(gè)字節(jié)組成,是位于主存中的一種數(shù)據(jù)結(jié)構(gòu),由系統(tǒng)個(gè)字節(jié)組成,是位于主存中的一種數(shù)據(jù)結(jié)構(gòu),由系統(tǒng)程序創(chuàng)建。程序創(chuàng)建。段界限 70段界限 158基址 70基址158基址2316基址3124PDPLSTYPEGD/BAVL段界限19160D0D707G:為粒度位,用來確定段界限所使用的長(zhǎng)度單位。為粒度位,用來確定段界限所使用的長(zhǎng)度單位。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時(shí),時(shí),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)段又細(xì)分為代碼段和數(shù)據(jù)段。的表格、任務(wù)和選通門等信息

23、,非系統(tǒng)段又細(xì)分為代碼段和數(shù)據(jù)段。DPL:特權(quán)級(jí)別特權(quán)級(jí)別S=1時(shí),第時(shí),第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:擴(kuò)展方向位。擴(kuò)展方向位。ED=0,向上擴(kuò)展,即偏移量必須小于等于界限;向上擴(kuò)展,即偏移量必須小于等于界限;ED=1,向向下擴(kuò)展。下擴(kuò)展。W:可寫位??蓪懳弧=0,不允許寫。不允許寫。R:可讀位??勺x位。R=0,不允許讀,不允許讀A:訪問位。訪問位。A=0,該段尚未被訪問,該段尚未被訪問C

24、:相容位。相容位。C=1,遵循描述符特權(quán)級(jí);,遵循描述符特權(quán)級(jí);C=0,忽略描述符特權(quán)級(jí),忽略描述符特權(quán)級(jí)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)的描述符,所以每個(gè)任務(wù)都有一個(gè)獨(dú)立的存放給定任務(wù)有關(guān)的描述符,所以每個(gè)任務(wù)都有一個(gè)獨(dú)立的LDT,其,其中含有自己的代碼段、數(shù)據(jù)段和堆棧段等,任務(wù)切換時(shí)中含有自己的

25、代碼段、數(shù)據(jù)段和堆棧段等,任務(wù)切換時(shí)LDT也切換;通過也切換;通過LDT可使各任務(wù)的私有段與其它任務(wù)項(xiàng)隔離,達(dá)到保護(hù)的目的??墒垢魅蝿?wù)的私有段與其它任務(wù)項(xiàng)隔離,達(dá)到保護(hù)的目的。GDT存放系統(tǒng)所有任務(wù)的描述符,如操作系統(tǒng)使用的代碼段和數(shù)據(jù)段、任存放系統(tǒng)所有任務(wù)的描述符,如操作系統(tǒng)使用的代碼段和數(shù)據(jù)段、任務(wù)狀態(tài)段以及各個(gè)務(wù)狀態(tài)段以及各個(gè)LDT的描述符。整個(gè)系統(tǒng)中的描述符。整個(gè)系統(tǒng)中GDT只有一張。任務(wù)切換時(shí),只有一張。任務(wù)切換時(shí),不切換不切換GDT.通過通過GDT可使各任務(wù)需要使用的端能被共享??墒垢魅蝿?wù)需要使用的端能被共享。(3)選擇符選擇符LDTR中的中的16位選擇符不直接給定位選擇符不直接給

26、定LDT的位置,而是指向的位置,而是指向GDT中的某個(gè)描述中的某個(gè)描述符。符。保護(hù)模式下,段寄存器中的內(nèi)容也稱為選擇符。保護(hù)模式下,段寄存器中的內(nèi)容也稱為選擇符。選擇符不直接確定存儲(chǔ)器地選擇符不直接確定存儲(chǔ)器地址,而是指向一個(gè)段描述符址,而是指向一個(gè)段描述符。選擇符由請(qǐng)求特權(quán)字段。選擇符由請(qǐng)求特權(quán)字段(RPL)、表指示、表指示(T)和索和索引組成。引組成。索引乘索引乘8就是相對(duì)就是相對(duì)GDT或或LDT首地址的偏移量首地址的偏移量。索引TRPL選擇符(段寄存器)選擇符選擇符界限界限基址基址界限界限基址基址LDTLDTLDTLDTRGDTGDTRT=1T=0CPU內(nèi)部還設(shè)置了一個(gè)段描述符高速緩沖寄

27、存器堆,對(duì)程序員是透明的。內(nèi)部還設(shè)置了一個(gè)段描述符高速緩沖寄存器堆,對(duì)程序員是透明的。當(dāng)選擇符值裝入寄存器時(shí),處理器會(huì)將響應(yīng)的描述符中的內(nèi)容自動(dòng)裝入其中,當(dāng)選擇符值裝入寄存器時(shí),處理器會(huì)將響應(yīng)的描述符中的內(nèi)容自動(dòng)裝入其中,以供地址變換時(shí)使用,避免在地址變換時(shí)需要不斷地訪問主存中的段描述符。以供地址變換時(shí)使用,避免在地址變換時(shí)需要不斷地訪問主存中的段描述符。選擇符 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模塊位置頁(yè)式存儲(chǔ)器頁(yè)式存儲(chǔ)器頁(yè)式存儲(chǔ)器把主存空間和輔存空間都劃分為多個(gè)相同尺寸的定長(zhǎng)塊,每塊稱頁(yè)式存儲(chǔ)器把主存空間和輔存空間都劃分為多個(gè)相同尺寸的定長(zhǎng)塊,每塊稱作一頁(yè),并按順序編號(hào)。作一頁(yè),并按順序編號(hào)。80486的頁(yè)面尺寸定為的頁(yè)面尺寸定為4K(212)虛擬空間中的頁(yè)稱虛頁(yè);主存空間中的頁(yè)稱實(shí)頁(yè)。虛擬空間中的頁(yè)稱虛頁(yè);主存空間中的頁(yè)稱實(shí)頁(yè)。1.虛擬空間與實(shí)存空間虛擬空間與實(shí)存空間地址變換就是如何將虛頁(yè)號(hào)轉(zhuǎn)化為實(shí)頁(yè)號(hào)地址變換就是如何將虛

29、頁(yè)號(hào)轉(zhuǎn)化為實(shí)頁(yè)號(hào)虛頁(yè)號(hào)頁(yè)內(nèi)偏移實(shí)頁(yè)號(hào)頁(yè)內(nèi)偏移虛地址實(shí)地址0113212主存空間虛存空間4G1.地址映象與地址變換地址映象與地址變換段式存儲(chǔ)器將虛地址轉(zhuǎn)化為段式存儲(chǔ)器將虛地址轉(zhuǎn)化為32位線性地址,頁(yè)式存儲(chǔ)器通過頁(yè)轉(zhuǎn)換邏輯將線位線性地址,頁(yè)式存儲(chǔ)器通過頁(yè)轉(zhuǎn)換邏輯將線性地址轉(zhuǎn)化為物理地址。在性地址轉(zhuǎn)化為物理地址。在80486的頁(yè)式存儲(chǔ)器中,虛擬地址就是線性地址,的頁(yè)式存儲(chǔ)器中,虛擬地址就是線性地址,由由20位虛頁(yè)號(hào)和位虛頁(yè)號(hào)和12位頁(yè)內(nèi)偏移地址組成,物理地址由位頁(yè)內(nèi)偏移地址組成,物理地址由20位實(shí)頁(yè)號(hào)和位實(shí)頁(yè)號(hào)和12位頁(yè)內(nèi)位頁(yè)內(nèi)偏移地址組成,但實(shí)頁(yè)號(hào)僅在實(shí)際存在的主存儲(chǔ)器的地址范圍內(nèi)選取。偏移地址組

30、成,但實(shí)頁(yè)號(hào)僅在實(shí)際存在的主存儲(chǔ)器的地址范圍內(nèi)選取。地址映象與地址變換地址映象與地址變換在頁(yè)式存儲(chǔ)器中,每個(gè)任務(wù)都有頁(yè)表作為虛擬空間映象到物理空間的中介在頁(yè)式存儲(chǔ)器中,每個(gè)任務(wù)都有頁(yè)表作為虛擬空間映象到物理空間的中介3頁(yè)2頁(yè)1頁(yè)0頁(yè)3210程序空間頁(yè)表主存空間虛頁(yè)號(hào) 主頁(yè)號(hào)控制信息位組成頁(yè)表的行稱作頁(yè)表項(xiàng),頁(yè)表項(xiàng)主要由頁(yè)面基址和控制信息位組成頁(yè)表的行稱作頁(yè)表項(xiàng),頁(yè)表項(xiàng)主要由頁(yè)面基址和控制信息位組成,主頁(yè)號(hào)指明頁(yè)面的基址,由于頁(yè)面號(hào)是順序編制,虛頁(yè)號(hào)組成,主頁(yè)號(hào)指明頁(yè)面的基址,由于頁(yè)面號(hào)是順序編制,虛頁(yè)號(hào)可省略。頁(yè)式存儲(chǔ)器通過頁(yè)表項(xiàng)對(duì)頁(yè)面進(jìn)行管理。頁(yè)表本身也是可省略。頁(yè)式存儲(chǔ)器通過頁(yè)表項(xiàng)對(duì)頁(yè)面進(jìn)

31、行管理。頁(yè)表本身也是一頁(yè)。存儲(chǔ)在主存中。一頁(yè)。存儲(chǔ)在主存中。80486的頁(yè)表項(xiàng)由的頁(yè)表項(xiàng)由4字節(jié)組成,頁(yè)表尺寸為字節(jié)組成,頁(yè)表尺寸為212,一個(gè)頁(yè)表只有,一個(gè)頁(yè)表只有1024個(gè)頁(yè)表項(xiàng),只能管理個(gè)頁(yè)表項(xiàng),只能管理1024個(gè)頁(yè)面。個(gè)頁(yè)面。80486頁(yè)式存儲(chǔ)器的頁(yè)式存儲(chǔ)器的4GB的虛擬的虛擬空間被分為空間被分為220個(gè)頁(yè)面,需要個(gè)頁(yè)面,需要220個(gè)頁(yè)表項(xiàng)對(duì)其進(jìn)行管理。一張頁(yè)表個(gè)頁(yè)表項(xiàng)對(duì)其進(jìn)行管理。一張頁(yè)表無法容納這么多的頁(yè)表項(xiàng)。無法容納這么多的頁(yè)表項(xiàng)。X86采用二級(jí)頁(yè)表方法進(jìn)行管理,第一級(jí)頁(yè)表稱為頁(yè)表目錄,采用二級(jí)頁(yè)表方法進(jìn)行管理,第一級(jí)頁(yè)表稱為頁(yè)表目錄,頁(yè)表目錄的頁(yè)表項(xiàng)指明第二級(jí)頁(yè)表中各項(xiàng)的基址。

32、這樣,虛頁(yè)頁(yè)表目錄的頁(yè)表項(xiàng)指明第二級(jí)頁(yè)表中各項(xiàng)的基址。這樣,虛頁(yè)號(hào)分為頁(yè)表目錄和頁(yè)表。號(hào)分為頁(yè)表目錄和頁(yè)表。頁(yè)目錄索引頁(yè)表索引頁(yè)內(nèi)偏移實(shí)頁(yè)號(hào) 頁(yè)內(nèi)偏移實(shí)地址頁(yè)表0頁(yè)表1頁(yè)表目錄表CR3虛地址線性地址虛頁(yè)號(hào)頁(yè)表目錄和頁(yè)表都存放在主存中,頁(yè)表目錄表的基址由控制寄頁(yè)表目錄和頁(yè)表都存放在主存中,頁(yè)表目錄表的基址由控制寄存器存器CR3的高的高20位位*212指定。指定。3.頁(yè)表項(xiàng)及其控制作用頁(yè)表項(xiàng)及其控制作用頁(yè)表項(xiàng)格式如圖頁(yè)表項(xiàng)格式如圖頁(yè)面基址AV AI L00APCDPWTU/SR/S P頁(yè)表項(xiàng)由頁(yè)表項(xiàng)由32位組成,高位組成,高20位是頁(yè)面基址,頁(yè)表中該字段就是實(shí)頁(yè)號(hào),在頁(yè)目位是頁(yè)面基址,頁(yè)表中該字段

33、就是實(shí)頁(yè)號(hào),在頁(yè)目錄表中,頁(yè)面基址錄表中,頁(yè)面基址 212相應(yīng)頁(yè)表的首址;低相應(yīng)頁(yè)表的首址;低12位用來說明頁(yè)(頁(yè)表)的位用來說明頁(yè)(頁(yè)表)的控制狀態(tài)信息。控制狀態(tài)信息。P:存在位,存在位,P=1,表示該頁(yè)在主存中。在地址變換過程中,若發(fā)現(xiàn),表示該頁(yè)在主存中。在地址變換過程中,若發(fā)現(xiàn)P=0,則表,則表示需立即訪問的頁(yè)不在主存,這種情形稱作頁(yè)面失效示需立即訪問的頁(yè)不在主存,這種情形稱作頁(yè)面失效(頁(yè)面故障頁(yè)面故障),此時(shí)系統(tǒng),此時(shí)系統(tǒng)會(huì)作如下處理:會(huì)作如下處理:1)若主存還有空間,操作系統(tǒng)將要訪問的頁(yè)調(diào)入主存,且將)若主存還有空間,操作系統(tǒng)將要訪問的頁(yè)調(diào)入主存,且將P置置12)如果主存沒有空間,就

34、根據(jù)一定的替換算法將主存中的某頁(yè)調(diào)入輔存,)如果主存沒有空間,就根據(jù)一定的替換算法將主存中的某頁(yè)調(diào)入輔存,再將要訪問的頁(yè)調(diào)入主存。再將要訪問的頁(yè)調(diào)入主存。D:修改位,該位只在頁(yè)表中起作用,修改位,該位只在頁(yè)表中起作用,D=1,表示內(nèi)容被修改。,表示內(nèi)容被修改。A:訪問位,若該頁(yè)被訪問過,訪問位,若該頁(yè)被訪問過,A=1。D和和A為替換算法和多機(jī)系統(tǒng)的實(shí)現(xiàn)提供為替換算法和多機(jī)系統(tǒng)的實(shí)現(xiàn)提供了方便。了方便。U/S,R/W分別是分別是“用戶用戶/系統(tǒng)系統(tǒng)”位和位和“讀讀/寫寫”位。這兩位與標(biāo)志寄存器中的位。這兩位與標(biāo)志寄存器中的WP位配合使用,實(shí)行頁(yè)面級(jí)保護(hù)。位配合使用,實(shí)行頁(yè)面級(jí)保護(hù)。PCD和和PW

35、T是對(duì)是對(duì)CACHE的控制方式位。的控制方式位。AV,AI,L允許系統(tǒng)程序任意使用。允許系統(tǒng)程序任意使用。2.轉(zhuǎn)換用旁視緩沖區(qū)轉(zhuǎn)換用旁視緩沖區(qū)(TLB)80486設(shè)置了一個(gè)設(shè)置了一個(gè)TLB,可容納,可容納32個(gè)頁(yè)表項(xiàng)的高速緩存,自動(dòng)將最個(gè)頁(yè)表項(xiàng)的高速緩存,自動(dòng)將最近被訪問的頁(yè)面所對(duì)應(yīng)的頁(yè)表項(xiàng)保存起來。又稱快表,存于主存中近被訪問的頁(yè)面所對(duì)應(yīng)的頁(yè)表項(xiàng)保存起來。又稱快表,存于主存中的頁(yè)表稱慢表。的頁(yè)表稱慢表。X86的段頁(yè)式存儲(chǔ)器的段頁(yè)式存儲(chǔ)器段式存儲(chǔ)器的特點(diǎn)是模塊性好,但主存利用率不高,且對(duì)輔存的管理比較困段式存儲(chǔ)器的特點(diǎn)是模塊性好,但主存利用率不高,且對(duì)輔存的管理比較困難;難;頁(yè)式存儲(chǔ)器的特點(diǎn)是

36、主存利用率高,且對(duì)輔存的管理容易,但模塊性差。頁(yè)式存儲(chǔ)器的特點(diǎn)是主存利用率高,且對(duì)輔存的管理容易,但模塊性差。段頁(yè)式存儲(chǔ)器把主存空間分成固定尺寸的頁(yè)面,程序按模塊分段,每個(gè)段按段頁(yè)式存儲(chǔ)器把主存空間分成固定尺寸的頁(yè)面,程序按模塊分段,每個(gè)段按主存的頁(yè)面尺寸分成若干頁(yè)面。主存的頁(yè)面尺寸分成若干頁(yè)面。段頁(yè)式存儲(chǔ)器對(duì)多用戶系統(tǒng)非常有用,邏輯結(jié)構(gòu)特別清楚。每個(gè)用戶都有一段頁(yè)式存儲(chǔ)器對(duì)多用戶系統(tǒng)非常有用,邏輯結(jié)構(gòu)特別清楚。每個(gè)用戶都有一個(gè)邏輯名(用戶號(hào)),程序可按程序段編寫,每個(gè)程序段又可分為頁(yè)而存入個(gè)邏輯名(用戶號(hào)),程序可按程序段編寫,每個(gè)程序段又可分為頁(yè)而存入內(nèi)存。內(nèi)存。用戶號(hào)段號(hào)頁(yè)目錄索引頁(yè)表索

37、引頁(yè)內(nèi)偏移實(shí)頁(yè)號(hào) 頁(yè)內(nèi)偏移實(shí)地址頁(yè)表目錄頁(yè)表段描述符表WINDOWS95 及及WINNT進(jìn)程地址空間的劃分進(jìn)程地址空間的劃分0FFFFFFFFH0C0000000H0BFFFFFFFH080000000H07FFFFFFFH00400000H003FFFFFH00001000H000000FFH00000000HVXD;內(nèi)存管理器,文件系統(tǒng)使用的1GB,WIN32所有進(jìn)程共享,可讀寫內(nèi)存映射文件使用的1GB,有WIN32 DLL,16位應(yīng)用程序和內(nèi)存分配使用,可讀寫WIN32 進(jìn)程私有空間DOS和16位WINDOWS使用DOS和16位WINDOWS使用0FFFFFFFFH08000000H07FFFFFFFH07FFF0000H07FFEFFFFH000010000H0000FFFFH00000000H操作系統(tǒng)使用2GB,不可存取非法指針指向的64KB,不可存取WIN32進(jìn)程私有NULL指針使用的64KB3.4 Linux在在X86上的虛擬內(nèi)存管理上的虛擬內(nèi)存管

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論