保护虚拟模式与存储管理_第1页
保护虚拟模式与存储管理_第2页
保护虚拟模式与存储管理_第3页
保护虚拟模式与存储管理_第4页
保护虚拟模式与存储管理_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、保护虚拟模式与存储管理补充知识保护虚拟模式与存储管理补充知识内容提要内容提要:1.321.32位位X86X86的内部结构,原理及基本工作方式。的内部结构,原理及基本工作方式。2.2.虚拟存储系统原理,虚拟存储系统原理,WindowsWindows与与LINUXLINUX存储管理与多任务机制存储管理与多任务机制寄存器组寄存器组基本结构寄存器基本结构寄存器系统级寄存器系统级寄存器浮点寄存器浮点寄存器调试测试寄存器调试测试寄存器1.基本结构寄存器基本结构寄存器AH A3116 15X AL870BH B X BLCH C X CLDH D X DLSIDIBPSPEAXEBXECXEDXESIEDI

2、EBPESPCSSSDSESFSGSIPFLAGS指令指针指令指针IP标志寄存器标志寄存器EFLAGS通用寄存器通用寄存器段寄存器段寄存器代码段代码段堆栈段堆栈段数据段数据段系统级寄存器系统级寄存器4个控制寄存器个控制寄存器4个系统地址寄存器个系统地址寄存器PGCDNW.AMWP.NE1 TSEMMPPEIntel保留页故障线性地址寄存器页目录值PCDPWT控控制制寄寄存存器器CROCR1CR2CR33124,231816 158 70CR0: PE:保护虚拟地址方式的允许位。保护虚拟地址方式的允许位。PE=1,保护方式;,保护方式;PE=0,实方式,实方式. PG:分页允许位。分页允许位。P

3、G=1,允许分页部件工作(,允许分页部件工作(PE=1);反之禁止。);反之禁止。 CD:片内片内CACHE无效位。若无效位。若CD=1,片内片内CACHE不命中时,则不需将所不命中时,则不需将所 需信息读入需信息读入CACHE. NW:片内片内CACHE非写直达位。非写直达位。NW=0,数据写入,数据写入CAHCE的同时也写入主存,否则只写入的同时也写入主存,否则只写入CACHE.WP:页写保护位。页写保护位。WP=1,禁止任何特权级的程序对只读页面进行写入操作。禁止任何特权级的程序对只读页面进行写入操作。AM:对界检查控制位。对界检查控制位。NE:数据异常位。:数据异常位。TS:任务切换位

4、;任务切换位;EM:仿真协处理器位;:仿真协处理器位;MP:监视协处理器位:监视协处理器位CR2:保留所检测到的上一个页面故障的保留所检测到的上一个页面故障的32位线性地址。位线性地址。CR3:12-31位保留着一级页表(页目录)的物理基址。位保留着一级页表(页目录)的物理基址。PWT,PCD可对可对CACHE进行控制。进行控制。4716150线性基地址线性基地址界限界限GDTRIDTRTRLDTR015选择符选择符描述符寄存器(不可见)描述符寄存器(不可见)32位基地址位基地址 20位界限位界限 属性属性系系统统地地址址寄寄存存器器系统地址寄存器又称作保护方式寄存器,仅能在保护方式下使用。系

5、统地址寄存器又称作保护方式寄存器,仅能在保护方式下使用。GDTR:全局描述符表寄存器,全局描述符表寄存器,48位,高位,高32位是全局描述符表的线性基地址,低位是全局描述符表的线性基地址,低16位是界限。位是界限。如:(如:(GDTR)=0800,0000,0FFFH,则全局描述符表的第一个地址为则全局描述符表的第一个地址为0800,0000H,末地址为,末地址为0800,0FFFH,表,表大小为大小为1000H.IDTR:中断描述符表寄存器,中断描述符表寄存器,48位,高位,高32位是中断描述符表的线性基地址,低位是中断描述符表的线性基地址,低16位是界限。位是界限。LDTR:局部描述符表寄

6、存器,用于存放局部描述符表寄存器,用于存放LDT的线性基地址、界限、属性和的线性基地址、界限、属性和16位的选择符。位的选择符。 只有只有16位的选择位的选择符是可见的,其它的由硬件自动装入内容。符是可见的,其它的由硬件自动装入内容。TR:任务状态寄存器,存放当前正在执行的任务的线性基地址、界限、属性和任务状态寄存器,存放当前正在执行的任务的线性基地址、界限、属性和16位的选择符。只有位的选择符。只有16位的选位的选择符是可被访问。择符是可被访问。3.调试与测试寄存器调试与测试寄存器8个调试寄存器个调试寄存器5个测试寄存器个测试寄存器断点0线性地址断点1线性地址断点2线性地址断点3线性地址保留

7、保留调试状态寄存器调试控制寄存器031DR0DR7Cache测试控制Cache测试数据Cache测试状态TLB测试控制TLB测试状态031TR3TR7DR0-DR3用于设置数据存取和代码执行断点;用于设置数据存取和代码执行断点;DR7是调试控制寄存器,用于选择调试功能和设置断点;是调试控制寄存器,用于选择调试功能和设置断点;DR6用于指明断点的当前状态。用于指明断点的当前状态。测试寄存器用于测试自身的片内测试寄存器用于测试自身的片内CACHE和转换用旁视缓冲区(和转换用旁视缓冲区(TLB)。)。微处理器的地址空间微处理器的地址空间1.存储地址空间存储地址空间虚拟空间虚拟空间线性空间线性空间物理

8、空间物理空间虚拟空间又称逻辑空间,是应用程序员编写程序的空间。虚拟空间又称逻辑空间,是应用程序员编写程序的空间。246(64TB)物理空间又称主存空间,是存储器的实际空间。物理空间又称主存空间,是存储器的实际空间。232(4GB)存储器线性地址线性地址分段部件分页部件虚拟地址虚拟地址物理地址物理地址80486采用采用段页式段页式虚拟存储器。将程序按逻辑结构分段,每段再分为虚拟存储器。将程序按逻辑结构分段,每段再分为若干大小相同的页;主存空间也划分为若干同样大小的页。建立相若干大小相同的页;主存空间也划分为若干同样大小的页。建立相应的段表和页表,分两级查表实现虚实地址转换。以页为单位调进应的段表

9、和页表,分两级查表实现虚实地址转换。以页为单位调进或调出主存,按段共享与保护程序与数据。或调出主存,按段共享与保护程序与数据。80486 段号为段号为16位,段内位,段内地址为地址为32位,因此最多可将整个虚拟空间分为位,因此最多可将整个虚拟空间分为64K段,每段段,每段4GB。2.输入输出(输入输出(I/O)空间)空间80486有两个独立的物理空间:有两个独立的物理空间:储存空间储存空间、I/O空间空间4GB64K物理存储空间物理存储空间 物理物理I/O空间空间I/O00000000HFFFFFFFFH00000000H0000FFFFH可访问可访问不可访问不可访问工作模式简介工作模式简介实

10、地址模式实地址模式保护虚拟模式保护虚拟模式两种工作模式:两种工作模式:2.3.1.实地址模式实地址模式1.存储空间及实地址模式下的编址存储空间及实地址模式下的编址实地址模式下的存储空间为实地址模式下的存储空间为220,及,及1M字节。字节。物理地址的形成方式:段寄存器内容左移物理地址的形成方式:段寄存器内容左移4位加上有效地址。位加上有效地址。如:如:CS内容为内容为1000H,IP为为8888H,则实地址模式下的物理地址为:,则实地址模式下的物理地址为: 1000H16+8888H18888H在实地址模式下,有两个物理存储空间是需要保留的:在实地址模式下,有两个物理存储空间是需要保留的:地址

11、地址0000,0000H-0000,03FFH是中断向量区,每个中断向量占用是中断向量区,每个中断向量占用4个字节;个字节;地址地址FFFF,FFF0HFFFF,FFFFH为系统初始化区,当加电或复位时,物理地址为系统初始化区,当加电或复位时,物理地址自动置为自动置为FFFF,FFF0H。2.保留的地址空间保留的地址空间保护虚拟地址模式保护虚拟地址模式80486工作在保护虚拟地址模式时,充分发挥了工作在保护虚拟地址模式时,充分发挥了80486所具有的存储管理功所具有的存储管理功能和硬件支撑的保护机制,为多用户操作系统的设计提供有力的支持。同能和硬件支撑的保护机制,为多用户操作系统的设计提供有力

12、的支持。同时在保护方式下,时在保护方式下,80486也允许运行已有的也允许运行已有的8086、80286、80386的软件。的软件。1.保护概念保护概念 在程序运行过程中,应防止应用程序破坏系统程序、某一应用程序破坏在程序运行过程中,应防止应用程序破坏系统程序、某一应用程序破坏其它应用程序、错误地把数据当作程序运行等情况的出现。为避免出现这其它应用程序、错误地把数据当作程序运行等情况的出现。为避免出现这些情形所采取的措施称作些情形所采取的措施称作“保护保护”。操作系统内核操作系统内核系统服务及接口系统服务及接口应用程序应用程序012380486 4级特权保护级特权保护特权规则特权规则:特权级:

13、特权级P存储在某段上的数据,只能由不低于存储在某段上的数据,只能由不低于P的特权级访的特权级访问;具有特权级问;具有特权级P的的程序或过程只能由不高于的的程序或过程只能由不高于P级上执行的任务调用。级上执行的任务调用。 2.存储空间存储空间 在保护方式下,在保护方式下,80486可为每个任务提供可为每个任务提供232(4GB)字节的物理空间,并)字节的物理空间,并允许程序在允许程序在246(64TB)的逻辑空间中运行。)的逻辑空间中运行。3.虚拟虚拟86环境环境 80486允许在实方式下和保护方式下执行允许在实方式下和保护方式下执行8086的应用程序。有了虚拟的应用程序。有了虚拟86方式,方式

14、,486允许同时执行允许同时执行8086操作系统和操作系统和8086应用程序以及应用程序以及486操作系统和操作系统和486应用程应用程序。序。 在虚拟在虚拟86方式下,还可以与实方式相同的形式使用段寄存器,以形成线性基方式下,还可以与实方式相同的形式使用段寄存器,以形成线性基地址。通过使用分页功能,就可以将虚拟地址。通过使用分页功能,就可以将虚拟86方式下的方式下的1M地址空间映象到地址空间映象到486的的4GB的物理空间的任何位置。的物理空间的任何位置。存储系统存储系统存储系统的基本概念存储系统的基本概念为了解决速度、容量、价格之间的矛盾,人们提出存储系统的概念,如为了解决速度、容量、价格

15、之间的矛盾,人们提出存储系统的概念,如图,图, M1速度最快,容量最小,每位价格最高;速度最快,容量最小,每位价格最高; Mi速度大于速度大于Mi+1 , Mi容量小于容量小于Mi+1 , Mi每位价格高于每位价格高于Mi+1 ;整个存储系统访问速度近似于;整个存储系统访问速度近似于M1 ,每位价格近似于,每位价格近似于Mn ,容量不小于,容量不小于Mn.MnCPUM1M2Mi虚拟存储器是为了增加存储系统的存储容量虚拟存储器是为了增加存储系统的存储容量;CACHE是为了提高存储器的速度。是为了提高存储器的速度。虚拟存储器虚拟存储器 基本概念基本概念由主存储器和辅助存储器共同组成。速度接近于主存

16、,每位价格与辅存相近。由主存储器和辅助存储器共同组成。速度接近于主存,每位价格与辅存相近。1.地址空间与地址地址空间与地址虚拟存储器有虚拟存储器有3种地址空间及对应种地址空间及对应3种地址。种地址。虚拟地址空间虚拟地址空间是应用程序员编写程序的地址空间。其地址称为虚地址。是应用程序员编写程序的地址空间。其地址称为虚地址。主存空间主存空间称为实存地址空间,是存储、运行程序的空间,其地址称为主存称为实存地址空间,是存储、运行程序的空间,其地址称为主存物理地址。物理地址。辅助地址空间辅助地址空间也就是磁盘存储器的地址空间,是用来存放程序的空间,其也就是磁盘存储器的地址空间,是用来存放程序的空间,其地

17、址称辅存地址。地址称辅存地址。工作原理工作原理逻辑地址地址变换物理地址外地址变换辅存地址替换算法I/O机构主存储器辅助存储器段式存储器段式存储器一个程序由多个模块组成,特别是在结构化程序设计思想提出后,程序的模一个程序由多个模块组成,特别是在结构化程序设计思想提出后,程序的模块性就更强了。组成程序的模块大小可以各不相同,但每个模块都是一个特块性就更强了。组成程序的模块大小可以各不相同,但每个模块都是一个特定功能的独立程序段。当某程序段从辅存调入主存,只要由系统赋予该段一定功能的独立程序段。当某程序段从辅存调入主存,只要由系统赋予该段一个基址,就可以把基址和每个单元在段内的相对位移量组合在一起,

18、形成这个基址,就可以把基址和每个单元在段内的相对位移量组合在一起,形成这些单元在主存中各自的实际地址。些单元在主存中各自的实际地址。1.地址映像与变换地址映像与变换在段式存储器中,每个程序都有一个段描述符表(段表),段表的一行称在段式存储器中,每个程序都有一个段描述符表(段表),段表的一行称作段描述符,段描述符用来描述模块的基本状况,其基本内容包括基址、作段描述符,段描述符用来描述模块的基本状况,其基本内容包括基址、界限和访问控制等。基址是装入模块的首地址,界限指该段的长度。界限和访问控制等。基址是装入模块的首地址,界限指该段的长度。模块3模块2模块1模块03K3K1K0.5K6K2K0K1K

19、01K1.5K3K6K8K程序空间程序空间主存空间主存空间段表段表基址基址界限界限访问控制访问控制地址映射地址映射80486的虚地址空间为的虚地址空间为246即即64TB,此空间编程的逻辑地址有,此空间编程的逻辑地址有46个二进制位,个二进制位,其中低其中低32位是偏移量,高位是偏移量,高14位是段寄存器中的位是段寄存器中的215位的内容。位的内容。二维的虚拟地址必须转换成一维的物理地址,主存中的程序才能执行。二维的虚拟地址必须转换成一维的物理地址,主存中的程序才能执行。每个任务都有一个虚拟空间。为了避免多个并行任务的多个虚拟地址空间每个任务都有一个虚拟空间。为了避免多个并行任务的多个虚拟地址

20、空间直接映射到同一个物理地址空间,采用线性地址空间隔离虚拟地址空间和直接映射到同一个物理地址空间,采用线性地址空间隔离虚拟地址空间和物理地址空间。线性空间由一维的线性地址构成,线性地址空间和物理地物理地址空间。线性空间由一维的线性地址构成,线性地址空间和物理地址空间对等。线性地址空间址空间对等。线性地址空间32位长,位长,4GB。虚拟地址到物理地址的映射函数在每个任务任务中进行定义,随着任务的虚拟地址到物理地址的映射函数在每个任务任务中进行定义,随着任务的切换,映射函数也切换。两个不同的任务,尽管虚拟地址相同,但实际物切换,映射函数也切换。两个不同的任务,尽管虚拟地址相同,但实际物理地址可以不

21、同。理地址可以不同。段寄存器152位偏移量.描述符.逻辑地址逻辑地址32位线性地址段表段表物理地址物理地址4532310段描述符与段描述符表段描述符与段描述符表(1)段描述符格式段描述符格式一个段描述符格式由一个段描述符格式由8个字节组成,是位于主存中的一种数据结构,由系统个字节组成,是位于主存中的一种数据结构,由系统程序创建。程序创建。段界限 70段界限 158基址 70基址158基址2316基址3124PDPLSTYPEGD/BAVL段界限19160D0D707G:为粒度位,用来确定段界限所使用的长度单位。为粒度位,用来确定段界限所使用的长度单位。G=0,以字节为单位;,以字节为单位;G=

22、1,以,以4KB(212)为单位。)为单位。P:是存在位,是存在位,P=1表示该段在主存中。表示该段在主存中。AVL:是用户的操作系统可用位。是用户的操作系统可用位。D/B:在代码段,为在代码段,为D位,位,D=1,采用采用32位操作数和寻址方式,反之位操作数和寻址方式,反之16位位在数据段,在数据段,B=1时,时,PUSH,POP,CALL都使用都使用ESP,反之用,反之用SPS:80486的段可被设置为系统段的段可被设置为系统段(S=0)和非系统段。系统段描述有关操作系统和非系统段。系统段描述有关操作系统的表格、任务和选通门等信息,非系统段又细分为代码段和数据段。的表格、任务和选通门等信息

23、,非系统段又细分为代码段和数据段。DPL:特权级别特权级别S=1时,第时,第5字节又称访问权字节,该字节中的字节又称访问权字节,该字节中的TYPE字段中的各位定义如下:字段中的各位定义如下:PDPLS=1E=0E=1EDCWRAE:可执行位。可执行位。E=0,数据段;,数据段;E=1,代码段。,代码段。ED:扩展方向位。扩展方向位。ED=0,向上扩展,即偏移量必须小于等于界限;向上扩展,即偏移量必须小于等于界限;ED=1,向向下扩展。下扩展。W:可写位。可写位。W=0,不允许写。不允许写。R:可读位。可读位。R=0,不允许读,不允许读A:访问位。访问位。A=0,该段尚未被访问,该段尚未被访问C

24、:相容位。相容位。C=1,遵循描述符特权级;,遵循描述符特权级;C=0,忽略描述符特权级,忽略描述符特权级E位将段分为代码段及数据段,代码段决不允许写。位将段分为代码段及数据段,代码段决不允许写。(2)段描述符表段描述符表段描述符表也是位于主存中的一种数据结构,由系统程序创建。分为全局段描述符表也是位于主存中的一种数据结构,由系统程序创建。分为全局描述符表描述符表(GDT)和局局描述符表和局局描述符表(LDT).LDT存放给定任务有关的描述符,所以每个任务都有一个独立的存放给定任务有关的描述符,所以每个任务都有一个独立的LDT,其,其中含有自己的代码段、数据段和堆栈段等,任务切换时中含有自己的

25、代码段、数据段和堆栈段等,任务切换时LDT也切换;通过也切换;通过LDT可使各任务的私有段与其它任务项隔离,达到保护的目的。可使各任务的私有段与其它任务项隔离,达到保护的目的。GDT存放系统所有任务的描述符,如操作系统使用的代码段和数据段、任存放系统所有任务的描述符,如操作系统使用的代码段和数据段、任务状态段以及各个务状态段以及各个LDT的描述符。整个系统中的描述符。整个系统中GDT只有一张。任务切换时,只有一张。任务切换时,不切换不切换GDT.通过通过GDT可使各任务需要使用的端能被共享。可使各任务需要使用的端能被共享。(3)选择符选择符LDTR中的中的16位选择符不直接给定位选择符不直接给

26、定LDT的位置,而是指向的位置,而是指向GDT中的某个描述中的某个描述符。符。保护模式下,段寄存器中的内容也称为选择符。保护模式下,段寄存器中的内容也称为选择符。选择符不直接确定存储器地选择符不直接确定存储器地址,而是指向一个段描述符址,而是指向一个段描述符。选择符由请求特权字段。选择符由请求特权字段(RPL)、表指示、表指示(T)和索和索引组成。引组成。索引乘索引乘8就是相对就是相对GDT或或LDT首地址的偏移量首地址的偏移量。索引TRPL选择符(段寄存器)选择符选择符界限界限基址基址界限界限基址基址LDTLDTLDTLDTRGDTGDTRT=1T=0CPU内部还设置了一个段描述符高速缓冲寄

27、存器堆,对程序员是透明的。内部还设置了一个段描述符高速缓冲寄存器堆,对程序员是透明的。当选择符值装入寄存器时,处理器会将响应的描述符中的内容自动装入其中,当选择符值装入寄存器时,处理器会将响应的描述符中的内容自动装入其中,以供地址变换时使用,避免在地址变换时需要不断地访问主存中的段描述符。以供地址变换时使用,避免在地址变换时需要不断地访问主存中的段描述符。选择符 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.虚拟空间与实存空间虚拟空间与实存空间地址变换就是如何将虚页号转化为实页号地址变换就是如何将虚

29、页号转化为实页号虚页号页内偏移实页号页内偏移虚地址实地址0113212主存空间虚存空间4G1.地址映象与地址变换地址映象与地址变换段式存储器将虚地址转化为段式存储器将虚地址转化为32位线性地址,页式存储器通过页转换逻辑将线位线性地址,页式存储器通过页转换逻辑将线性地址转化为物理地址。在性地址转化为物理地址。在80486的页式存储器中,虚拟地址就是线性地址,的页式存储器中,虚拟地址就是线性地址,由由20位虚页号和位虚页号和12位页内偏移地址组成,物理地址由位页内偏移地址组成,物理地址由20位实页号和位实页号和12位页内位页内偏移地址组成,但实页号仅在实际存在的主存储器的地址范围内选取。偏移地址组

30、成,但实页号仅在实际存在的主存储器的地址范围内选取。地址映象与地址变换地址映象与地址变换在页式存储器中,每个任务都有页表作为虚拟空间映象到物理空间的中介在页式存储器中,每个任务都有页表作为虚拟空间映象到物理空间的中介3页2页1页0页3210程序空间页表主存空间虚页号 主页号控制信息位组成页表的行称作页表项,页表项主要由页面基址和控制信息位组成页表的行称作页表项,页表项主要由页面基址和控制信息位组成,主页号指明页面的基址,由于页面号是顺序编制,虚页号组成,主页号指明页面的基址,由于页面号是顺序编制,虚页号可省略。页式存储器通过页表项对页面进行管理。页表本身也是可省略。页式存储器通过页表项对页面进

31、行管理。页表本身也是一页。存储在主存中。一页。存储在主存中。80486的页表项由的页表项由4字节组成,页表尺寸为字节组成,页表尺寸为212,一个页表只有,一个页表只有1024个页表项,只能管理个页表项,只能管理1024个页面。个页面。80486页式存储器的页式存储器的4GB的虚拟的虚拟空间被分为空间被分为220个页面,需要个页面,需要220个页表项对其进行管理。一张页表个页表项对其进行管理。一张页表无法容纳这么多的页表项。无法容纳这么多的页表项。X86采用二级页表方法进行管理,第一级页表称为页表目录,采用二级页表方法进行管理,第一级页表称为页表目录,页表目录的页表项指明第二级页表中各项的基址。

32、这样,虚页页表目录的页表项指明第二级页表中各项的基址。这样,虚页号分为页表目录和页表。号分为页表目录和页表。页目录索引页表索引页内偏移实页号 页内偏移实地址页表0页表1页表目录表CR3虚地址线性地址虚页号页表目录和页表都存放在主存中,页表目录表的基址由控制寄页表目录和页表都存放在主存中,页表目录表的基址由控制寄存器存器CR3的高的高20位位*212指定。指定。3.页表项及其控制作用页表项及其控制作用页表项格式如图页表项格式如图页面基址AV AI L00APCDPWTU/SR/S P页表项由页表项由32位组成,高位组成,高20位是页面基址,页表中该字段就是实页号,在页目位是页面基址,页表中该字段

33、就是实页号,在页目录表中,页面基址录表中,页面基址 212相应页表的首址;低相应页表的首址;低12位用来说明页(页表)的位用来说明页(页表)的控制状态信息。控制状态信息。P:存在位,存在位,P=1,表示该页在主存中。在地址变换过程中,若发现,表示该页在主存中。在地址变换过程中,若发现P=0,则表,则表示需立即访问的页不在主存,这种情形称作页面失效示需立即访问的页不在主存,这种情形称作页面失效(页面故障页面故障),此时系统,此时系统会作如下处理:会作如下处理:1)若主存还有空间,操作系统将要访问的页调入主存,且将)若主存还有空间,操作系统将要访问的页调入主存,且将P置置12)如果主存没有空间,就

34、根据一定的替换算法将主存中的某页调入辅存,)如果主存没有空间,就根据一定的替换算法将主存中的某页调入辅存,再将要访问的页调入主存。再将要访问的页调入主存。D:修改位,该位只在页表中起作用,修改位,该位只在页表中起作用,D=1,表示内容被修改。,表示内容被修改。A:访问位,若该页被访问过,访问位,若该页被访问过,A=1。D和和A为替换算法和多机系统的实现提供为替换算法和多机系统的实现提供了方便。了方便。U/S,R/W分别是分别是“用户用户/系统系统”位和位和“读读/写写”位。这两位与标志寄存器中的位。这两位与标志寄存器中的WP位配合使用,实行页面级保护。位配合使用,实行页面级保护。PCD和和PW

35、T是对是对CACHE的控制方式位。的控制方式位。AV,AI,L允许系统程序任意使用。允许系统程序任意使用。2.转换用旁视缓冲区转换用旁视缓冲区(TLB)80486设置了一个设置了一个TLB,可容纳,可容纳32个页表项的高速缓存,自动将最个页表项的高速缓存,自动将最近被访问的页面所对应的页表项保存起来。又称快表,存于主存中近被访问的页面所对应的页表项保存起来。又称快表,存于主存中的页表称慢表。的页表称慢表。X86的段页式存储器的段页式存储器段式存储器的特点是模块性好,但主存利用率不高,且对辅存的管理比较困段式存储器的特点是模块性好,但主存利用率不高,且对辅存的管理比较困难;难;页式存储器的特点是

36、主存利用率高,且对辅存的管理容易,但模块性差。页式存储器的特点是主存利用率高,且对辅存的管理容易,但模块性差。段页式存储器把主存空间分成固定尺寸的页面,程序按模块分段,每个段按段页式存储器把主存空间分成固定尺寸的页面,程序按模块分段,每个段按主存的页面尺寸分成若干页面。主存的页面尺寸分成若干页面。段页式存储器对多用户系统非常有用,逻辑结构特别清楚。每个用户都有一段页式存储器对多用户系统非常有用,逻辑结构特别清楚。每个用户都有一个逻辑名(用户号),程序可按程序段编写,每个程序段又可分为页而存入个逻辑名(用户号),程序可按程序段编写,每个程序段又可分为页而存入内存。内存。用户号段号页目录索引页表索

37、引页内偏移实页号 页内偏移实地址页表目录页表段描述符表WINDOWS95 及及WINNT进程地址空间的划分进程地址空间的划分0FFFFFFFFH0C0000000H0BFFFFFFFH080000000H07FFFFFFFH00400000H003FFFFFH00001000H000000FFH00000000HVXD;内存管理器,文件系统使用的1GB,WIN32所有进程共享,可读写内存映射文件使用的1GB,有WIN32 DLL,16位应用程序和内存分配使用,可读写WIN32 进程私有空间DOS和16位WINDOWS使用DOS和16位WINDOWS使用0FFFFFFFFH08000000H07FFFFFFFH07FFF0000H07FFEFFFFH000010000H0000FFFFH00000000H操作系统使用2GB,不可存取非法指针指向的64KB,不可存取WIN32进程私有NULL指针使用的64KB3.4 Linux在在X86上的虚拟内存管理上的虚拟内存管

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论