欢迎来到天天文库
浏览记录
ID:22105055
大小:316.00 KB
页数:39页
时间:2018-10-22
《操作系统页式存储管理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、6.4页式存储管理6.4.1基本原理6.4.2管理6.4.3硬件支持6.4.4静态页式管理6.4.5请求页式管理6.4.6页式管理的优缺点6.4.1基本思想(工作原理)用户程序划分把用户程序按逻辑页划分成大小相等的部分,称为页。从0开始编制页号,页内地址是相对于0编址逻辑地址页号页内地址内存空间按页的大小划分为大小相等的区域,称为内存块(物理页面)内存分配以页为单位进行分配,并按作业的页数多少来分配。逻辑上相邻的页,物理上不一定相邻6.4.2管理页表:系统为每个进程建立一个页表,页表给出逻辑页号和具体内存块号相应的关
2、系。页号页面号0213286.4.3硬件支持p’页表地址越界l比较P>=lb+页号p页内地址dP’d物理地址页表地址寄存器页表长度寄存器逻辑地址地址映射机制二次访问内存第一次取地址第二次存取数据效率较低p’页表地址越界l比较P>=lpp’...快表b+页号p页内地址dP’d物理地址页表地址寄存器页表长度寄存器逻辑地址地址映射机制高速缓存6.4.4静态页式管理将程序的逻辑地址空间和物理内存划分为固定大小的页或页面(pageorpageframe),程序加载时,分配其所需的所有页,这些页不必连续。1.简单页式管理的数据结
3、构页表:每个进程有一个页表,描述该进程占用的物理页面及逻辑排列顺序;逻辑页号(本进程的地址空间)->物理页面号(实际内存空间);存储页面表:整个系统有一个存储页面表,描述物理内存空间的分配使用状况。数据结构:位示图,空闲页面链表;请求表:整个系统有一个请求表,描述系统内各个进程页表的位置和大小,用于地址转换,也可以结合到各进程的PCB里;2.分配算法请求n个页面存储页面表中有n个空闲页面吗无法分配返回设置请求表,将页表始址,页表长度置入请求表中,置状态已分配搜索存储页面表,分配n个页面,并将页面号填入页表中3.简单页
4、式管理的地址变换指令所给出地址分为两部分:逻辑页号,页内偏移地址->查进程页表,得物理页号->物理地址为缩短查找时间,引入快表,按内容查找(associativemapping),即逻辑页号->物理页号页号页面号021328设每个页面长度为1k,指令LOAD1,2500的虚地址为100,依据左图进行地址变换。首先,需要有一个页表地址寄存器和页表长度寄存器。系统把所调度执行的进程页表始址和长度从请求表中取出置入寄存器然后,找到页表。由虚地址100可知,指令在第0页的第100单元中,对应内存地址为1024*2+100=2
5、148当CPU执行到第2148单元时,需要从虚地址2500中取数据,地址变换机构首先将2500的页号和页内位移求出:2;452由页表可知,对应内存8号,内存地址为1024*8+452=8644以上由硬件地址变换机构自动完成。优点:没有外碎片,每个内碎片不超过页大小。一个程序不必连续存放。便于改变程序占用空间的大小。即随着程序运行而动态生成的数据增多,地址空间可相应增长。缺点:程序全部装入内存,受到内存可用页面数的限制。6.4.5动态(请求)页式管理在进程开始运行之前,不是装入全部页面,而是装入部分页面,之后根据进程运
6、行的需要,动态装入其它页面;当内存空间已满,而又需要装入新的页面时,则根据某种算法淘汰某个页面,以便装入新的页面。请求页式的地址变换与静态页式的相同。但是,由于只让部分页面驻留内存,如何发现那些不在内存的虚页以及如何处理是请求页式必须处理的问题。第一个问题可以通过扩充页表的方法解决;第二个问题当内存没有空闲页面时即是页面置换算法的问题。※页表表项页号、驻留位、内存块号、外存始址、访问位、修改位驻留位(中断位):表示该页是在内存还是在外存访问位:根据访问位来决定淘汰哪页(由不同的算法决定)修改位:查看此页是否在内存中被
7、修改过页号中断位内存块号外存始址访问位修改位※缺页中断处理在地址映射过程中,在页表中发现所要访问的页不在内存,则产生缺页中断。操作系统接到此中断信号后,就调出缺页中断处理程序,根据页表中给出的外存地址,将该页调入内存,使作业继续运行下去如果内存中有空闲块,则分配一页,将新调入页装入内存,并修改页表中相应表项若此时内存中没有空闲块,则要淘汰某页,若该页在内存期间被修改过,则要将其写回外存查快表有登记无登记查页表登记入快表发缺页中断在主存在辅存形成绝对地址继续执行指令重新执行被中断指令恢复现场调整页表和主存分配表装入所需
8、页面主存有空闲块保护现场有选择调出页面未修改已修改把该页写回辅存相应位置硬件完成逻辑地址无该页修改过?※页面置换算法随机置换算法先进先出算法(FIFO)最近最久未使用算法(LRU,LeastRecentlyUsed)时钟页面替换算法(ClockPolicy)最佳置换算法(OPT,optimal)1.先进先出算法(FIFO)选择建立最早的页面被置
此文档下载收益归作者所有