资源预览内容
第1页 / 共37页
第2页 / 共37页
第3页 / 共37页
第4页 / 共37页
第5页 / 共37页
第6页 / 共37页
第7页 / 共37页
第8页 / 共37页
第9页 / 共37页
第10页 / 共37页
第11页 / 共37页
第12页 / 共37页
第13页 / 共37页
第14页 / 共37页
第15页 / 共37页
第16页 / 共37页
第17页 / 共37页
第18页 / 共37页
第19页 / 共37页
第20页 / 共37页
亲,该文档总共37页,到这儿已超出免费预览范围,如果喜欢就下载吧!
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,操作系统,Operating Systems,WINDOWS,UNIX,LINUX,OS2,VxWorks,Mac OS,4.4,基本分页存储管理方式,为什么要引进分页技术,?,分区管理要求每道程序必须装入到内存连续的存储空间中,,当系统空闲区的长度小于用户要求时就无法分配;,内存利用率不高。,基本分页存储管理(纯分页存储管理),不具备页面对换功能,不支持虚拟存储器的功能,页面与页表,页面,分页存储管理是将一个进程的,逻辑地址空间分成,若干个大小相等的片,称为页面或页,为各页加以编号,从,0,开始,如第,0,页、第,1,页等。,(,物理,),块或页框,(frame),把,内存空间,分成与页面相同大小的若干个存储块,为它们加以编号,如,0#,块、,1#,块等等。,进程,1,逻辑地址空间,内存,由系统而非程序员,分页式存储管理基本原理,以页为单位进行内存分配,并按进程的页数多少来分配。,逻辑上相邻的页,物理上不一定相邻。,“,页内碎片,”,0,1,2,3,m,进程,1,逻辑地址空间,内存,0,1,2,4,页面大小,页面的大小应选择适中,页面大小应是,2,的幂,通常为,512 B,8 KB,。,页面若太小,导致进程的页表过长,占用大量内存;,还会降低页面换进换出的效率。,如果选择的页面较大,会使页内碎片增大,2,地址结构,分页地址中的,由系统分成的逻辑地址结构,如下:,每页的大小为,2,12,=,4 KB,地址空间最多允许有,1 M,页,若给定一个逻辑地址空间中的地址为,A,,页面的大小为,L,,则页号,P,和页内地址,d,可按下式求得:,练习,设一个逻辑地址空间有,8,个页面,每页大小为,1024B,,现将它映像到,32,块物理块的内存上。,试问:,(1),逻辑地址要用多少位表示:,_,(2),物理地址要用多少位表示:,_,2,3,2,10,2,5,3+10,共,13,位,5+10,共,15,位,3,页表,页表是操作系统为,每个进程,建立的,记录了进程页面在主存中对应的物理块号。,练习,一台机器有,48,位虚地址(,逻辑地址,相对地址,)和,32,位物理地址,若页长为,8KB,,问页表共有多少个页表项?,内存可分为页框数(块数)?,答:,逻辑,地址,48,位,-,逻辑,地址空间大小,2,48,,,页长,8KB -,逻辑,地址空间可分为页面数:,2,48,/2,13,=2,35,-,页表共有,2,35,个页表项,32,位物理地址,-,内存空间,2,32,页长,8KB=2,13,-,内存可分为页框数(块数):,2,32,/2,13,=2,19,页面的保护,提供附加的保护措施,对存储在块中的内容加以保护。,通常的办法是在页表中增加一些标志位,用来指出该页的信息可读,/,写、只读、只可执行及不可访问等,,指令执行时进行核对此信息。例如,要想向只读块写入信息则指令停止执行,产生中断信号。,作业,1,的页表,页号,标志,块号,0,E,12,1,E,13,2,W,14,3,R,8,页号,标志,块号,0,E,2,1,W,3,2,R,8,作业,2,的页表,地址变换机构,1,基本的地址变换机构,页表,始址,寄存器,物理地址,逻辑地址,CPU,主存,0,1,p b,页表,p,d,d,b,p,表项在页表中的,位置,=,页表始址,+,页号*页表项长度,+,例:设页面大小为,1KB,,机器的地址长度为,16,位。,作业,2,的进程在,CPU,上运行,执行指令,Mov r1,2500,页表始址寄存器,页号,p,页内位移,d,000010,0111000100,0,9,10,15,2500,(),2,Mov r1,2500,123,0,1KB,2KB,3KB-1,地址空间,(),2,7620,P=2,d=452,Mov r1,2500,123,0,2KB,4KB,7KB,256KB-1,主存,页号 块号,页表,0,1,2,2,4,7,块号,p,页内位移,d,000111,0111000100,0,9,10,15,页地址转换过程,物理地址,逻辑地址,快表的引入,页表是,驻留在内存,的某个固定区域中。,取一个数据或指令至少要访问内存,两次以上,:,一次访问页表以确定所取数据或指令的物理地址,另一次是根据地址取数据或指令,这比通常执行指令的速度慢了一倍。,解决这个问题的一种方法,把页表放在一,个特殊高速缓存中,快表(,“,联想寄存器,”),用以存放当前访问的那些页表项,2,具有快表的地址变换机构,p,页表,地址越界,页表长度,比较,P=1,p,p,.,.,.,快表,页表始址,+,P,d,物理地址,页表寄存器,页号,p,页内位移,d,逻辑地址,两级和多级页表,若,CPU,具有,32,位地址,规定页面,4KB,(,2,12,)时,使用,2,32,逻辑地址空间的分页系统,每个进程的逻辑地址空间有,1,兆,个页组成,2,32,/2,12,=2,20,每个进程页表中的页表项可达,1,兆,若表项占用,1,个字节,则每个进程需要占用,1MB,连续内存空间存放页表。,两级页表,可以采用下述两个方法来解决这一问题:,(1),采用离散分配方式来解决难以找到一块连续的大内存空间的问题;,(2),只将当前需要的部分页表项调入内存,其余的页表项仍驻留在磁盘上,需要时再调入。,页表,0,第,0,块,内存,第,1,块,第,3,块,1,1M,第,0,页,第,1,页,第,1,块,第,3,块,0,1,1023,外层,页表,1,两级页表,第,1011,块,逻辑地址结构,若页表项应有,1,兆个,在采用两级页表结构时,,对页表进行分页,使每页中包含,2,10,(,即,1024),个页表项,最多允许有,2,10,个页表分页;,具有两级页表的地址变换机构,页表,物理地址,外部页表,寄存器,P1,逻辑地址,P2,d,外部页表,b,d,外部页号,外部页内地址,页内地址,4.5,基本分段存储管理方式,分段存储管理方式的引入,1),方便编程,用户程序划分:,按程序自身的逻辑关系划分为若干个程序段,,每个程序段都有一个段名和长度,且有一个段号。,段号从0开始,每一段段内也从0开始编址,段内地址是连续的。,LOAD 1,,,A|D,;,STORE 1,,,B|C,;,分段存储管理方式的引入,2),信息共享,分页系统中的“页”只是存放信息的物理单位,(,块,),并无完整的意义,不便于实现共享;,段却是信息的逻辑单位。,由此可知,为了实现段的共享,希望存储管理能与用户程序分段的组织方式相适应。,3),信息保护,对信息的逻辑单位进行保护,分段存储管理方式的引入,4),动态增长,特别是数据段,在使用过程中会不断地增长,事先又无法确切地知道数据段会增长到多大,与动态分区不同的是:,分段方案中,一个程序可以占据多个分区,这些分区不要求是连续的,5),动态链接,当运行过程中需要调用某段时,才将该段,(,目标程序,),调入内存并进行链接。,动态链接也要求以段作为管理的单位。,分段系统的基本原理,1,分段,作业的地址空间被划分为若干个段,每个段定义了一组逻辑信息。,子程序段,X,数组段,D,call X,(,调用,X,段的入口,E),call Y,(,调用,Y,段的入口,F),load 1,D,(,调用数组段,DG),主程序段,E,:,F,:,子程序段,Y,G,:,栈段,0,30K,0,10K,0,20K,0,15K,逻辑,地址结构,在该地址结构中,允许一个作业最长有,2,16,=64 K,个段,,每个段的最大长度为,64 KB,。,内存分配:,以段为单位分配内存,,每一个段在内存中占据连续空间,内存随机分割,需要多少分配多少,,但各段之间可以不连续存放。,2,段表,段表是操作系统为,每个进程,建立的。,3,地址变换机构,控制寄存器,段表始址 段表长度,2,100,段号 段长 基址,物理地址,8292,越界,?,段表,逻辑地址,0,1,2 500 8K,段号,位移,练习,给定地址为段号和位移:,1)0,430,、,2)2,500,,试求出对应的内存物理地址。,答:,0,430,:,219+430=649,2,500,:越界,段号,段首址,段长,0,219,600,1,2300,14,2,90,100,3,1327,580,4,1952,96,4,分页和分段的主要区别,页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率。,没有外部碎片,页框中有内部碎片,(1),段是信息的逻辑单位,含有一组其意义相对完整的信息。,目的是为了能更好地满足用户的需要。,没有内部碎片,有外部碎片,4,分页和分段的主要区别,(2),页的大小固定且由系统决定,由系统把逻辑地址划分为页号和页内地址两部分,由机器硬件实现的,,在系统中只能有一种大小的页面,(2),段的长度却不固定,决定于用户所编写的程序,通常由编译程序在对源程序进行编译时,根据信息的性质来划分。,4,分页和分段的主要区别,(3),分页的作业地址空间是一维的,单一的线性地址空间,,程序员只需利用一个记忆符,即可表示一个地址;,(3),分段的作业地址空间是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。,作业,1,、某用户空间共,32,个页面,每页,1KB,,主存,16KB,。试问:,(1),逻辑地址的有效位是多少位;物理地址需要多少位,?,(2),假定某时刻系统为用户的第,0,1,2,3,页分别分配的物理块号为,5,10,4,7,,试将逻辑地址,0A5CH,变换为物理地址。,2,、,在一分页存储管理系统中,逻辑地址长度为,16,位,页面大小为,4096,字节,现有一逻辑地址为,2F6AH,,且第,0,、,1,、,2,页依次存在物理块,10,、,12,、,14,号中,问相应的物理地址为多少?,作业,3,、某基本分段存储管理中采用如下表所示的段表。请,计算,1,10,2,500,3,400,4,20,5,100,的内存地址,其中方括号内的第一元素是段号,第二元素是段内地址。,段号,段的长度,内存起始地址,0,660,219,1,14,3330,2,100,90,3,580,1237,4,96,1954,3,虚拟存储器的定义,仅须将那些当前要运行的少数页面(段)先装入内存便可运行。,程序在运行时,如果它所要访问的页,(,段,),已调入内存,便可继续执行下去;,如果程序所要访问的页,(,段,),尚未调入内存,则,利用,请求调页,(,段,),功能,将它们调入内存。,如果此时内存已满,无法再装入新的页,(,段,),,则还须再利用页,(,段,),的,置换,功能。,虚拟存储器的定义,虚拟存储器,是指具有,请求调入功能,和,置换功能,,能从,逻辑上,对内存容量加以扩充的一种存储器系统。,其,逻辑容量,由内存容量和外存容量之和所决定,虚拟存储技术是被广泛地应用于大、中、小型机器和微型机中。,虚拟存储器的实现方法,1,请求分页系统,在分页系统的基础上,增加了请求调页功能和页面置换功能所形成的,页式虚拟存储系统,。,2.,请求分段系统,在分段系统的基础上,增加了请求调段和分段置换功能后所形成的,段式虚拟存储系统,。,3.,段页式虚拟存储管理,虚拟存储器的特征,1,多次性,指一个作业被分成多次调入内存运行,2,对换性,对换性是指允许在作业的运行过程中进行换进、换出,3,虚拟性,虚拟性是指能够从,逻辑上,扩充内存容量,使用户所看到的内存容量远大于实际内存容量,虚拟性,是以,多次性和对换性,为基础的;,多次性和对换性又必须建立在,离散分配,的基础上。,
点击显示更多内容>>

最新DOC

最新PPT

最新RAR

收藏 下载该资源
网站客服QQ:3392350380
装配图网版权所有
苏ICP备12009002号-6