段段页式存储管理

(23页)

'段段页式存储管理'
第十二讲 段/段页式存储管理、虚存目的与要求:了解段/段页式管理,掌握虚存管理.重点与难点:虚存管理系统内存访问过程作业:17, 34 5.2.2 段式管理页式管理:对用户而言不自然 程 0 序 1 段 2 数 3 据 4 段 5 作业1 作业2 主程序 0 0 主程序 1 1 SIN 2 2 SIN段式管理的特点:按作业的自然段将其逻辑空间分成若干段,作业以段为单位分配内存。一、空间安排? 用户作业逻辑空间为二维空间,由若干自然段组成。? 逻辑地址:段号.段内偏移,记作S,d。编译及装配时把所有地址记成(S,d)的形式。? 物理内存空间管理:与多道可变划分法一样,系统以段为单位分配物理内存。 OS 主程序 子程序2 子程序1 子程序2 主程序 栈 栈 数据逻辑空间 子程序1 数据 物理空间二、动态地址转换段表:由如下格式的段表项组成,作业每段由一个段表项表示. 保护码 段长 本段内存始地段表放于系统空间,进程PCB表中存有段表始地址、段表长度。段表始地址寄存器、段表长度寄存器 地址转换过程 LA S d 段号 保护码 段长 段内存始址段表长度 ≥ 越界 ... ... ... ...段表始址 + 联想存储器保护码 段长 段内存始址 ... ... ... + PA5.2.3段页式管理特点:将作业分成若干段,每段用页式管理实现内存分配。一、空间安排? 对于用户而言,段页式管理与段式相同,用户逻辑地址只涉及段号与段内位移。? 对于物理内存管理而言,它与页式系统相同。系统内的逻辑地址:段号 · 段内位移 --> 段号·页号·页内位移。记作:S,P,d.作业空间的内部表示 页表 主存 段表 OS 保护码 长度 页表始地 作业 主程序 子程序 数据 段表+页表 二、动态地址转换 S p d段表长度 ≥ 越界 段号页号 保护码 页帧号段表始址 + ... ... ... ... 段表 页表 + f f d等效访问时间:设访存时间为750ns,搜索联想存储器的时间为50ns,命中率为95%,则95% *(50+750) + 5% *(50+750+750+750) = 875ns三、保护与共享保护与段式管理相同。共享则可以以页为单位,也可以共享页表。 作业1主程序 段表 主存子程序 数据 OS 页表 作业2主程序 段表子程序 数据总结“放”? 连续存放 ? 单道连续划分 ? 多道连续固定划分 ? 多道连续可变划分? 不连续存放 ? 页式存储 ? 段式存储 ? 段页式存储5.3 虚存管理目的:提供用户进程一个巨大的虚拟存储空间.手段:利用外存(磁盘)实现此虚空间.5.7.1虚存的基本思想系统为进程提供一个比物理内存大得多的虚拟存储空间,虚拟空间大小不受物理内存大小的限制。虚拟空间的容量由系统的有效地址长度决定。假设地址长度为32,按字节寻址,则虚拟存储空间大小为232个字节。实现页式虚空间的基本方法是: 在页式管理的基础上,仅将进程的一部分页放于主存。页表项中注明该页是否在主存。程序执行时,如果访问的页不存主存,根据页表项的指示,将其从外存调入主存,如果此时无可用的内存空间,则先淘汰若干页帧。页式虚存示意 外存执行文件 内存 进程虚存 (进程页表表示)外存交换区交换区(SWAP):进程刚建立时,进程页面所在辅存即程序文件所在的辅存位置。但程序文件中一般包含有程序的二进制目标码及数据初始值和初值为0的工作区。后两者在回写时不能写入程序文件,因此引入了交换区,在需要让其让出内存时将内存原数据写入交换区中。5.7.2 页式虚存管理一、页表项结构:合法位 修改位页类型保护码外存块号页帧号合法位:置上表示该页在内存.修改位:置上表示该页被修改过,在释放或淘汰 时应写回外存。页类型:零页时:表示该页在分配物理页帧时应 清0页帧空间;回写swap区页时:表示回 写swap区。保护码:R、W、E保护说明。外存块号:该页所在外存的块号。页 帧 号:当合法位置上时代表该页所在内存的 页帧号。二、页表建立在进程创建时建立页表,页表项在初始时,合法位、修改位及页帧号都未置上.初始化页表方法:①部分复制父进程页表 (如UNIX的fork())? 分配pid给子进程,分配PCB空间;? 初始化PCB(进程标识,调度信息);? 分配子进程页表空间;? 拷贝父进程的程序区页表项,使程序共享;? 复制父进程的数据区和栈区,为数据区 和栈区分配swap空间,复制并修改数据 区和栈区页表项内容;? 继承父进程对其他资源的访问现场;? 用父进程PCB中现场区初始化子进程的 现场区,且保证子进程恢复现场运行从 fork()返回处开始,且fork()返回值 为零;? 将子进程挂到就绪队列;? 返回子进程pid给父进程.②用一个可执行的文件来初始化页表。? 为执行程序页面建页表项,保护码为可执行, 外存块号即该页所在的文件的外存块号。(不 必回写)? 为所有初始数据页建页表项,保护码为可读写, 页类型说明成回写swap页,外存块号即该页所 在文件的物理块号,待该页回写时,再分配 swap区空间,改外存块号栏并清0页类型。? 为所有临时数据页建页表项,保护码为可读写, 页类型说明成零页,外存块号栏空,当第一次 访问该页时,分配页帧并清0页帧,回写时,再 分配swap区空间,填外存块号栏并清0页类型。三、硬件动态地址转换 在执行虚存访问指令时,由硬件合成物理地址。首先若能在联想存储器中获得该虚页的物理页帧号,则访问之。若要查当前进程页表,须先检查该页页表项的合法位,若置上,则从页表项中获得页帧号,否则要发一个页故障(page fault)或叫缺页中断(例外),当缺页中断处理完后,重新执行访存指令.联想存储器中的页表项都是合法页的页表项.四、缺页处理当硬件执行访存指令产生一个缺页中断时进入缺页中断处理程序:1、根据发生页故障的虚地址得到页表项;2、申请一个可用的页帧(根据所采用的替换 策略可能需要引起淘汰某一页);3、检查页类型,若为零页,则将页帧清0, 将页帧号填入页表项的页帧号一栏,置 合法位为1。若非零页,则调用I/O子系 统将外存块号所指的数据读到可用页帧, 将页帧号填入页表项中,合法位置1,结 束.五、页淘汰 页淘汰可以发生在申请页帧时,而现代OS一般都定时进行页淘汰。如何选取被淘汰的页是由页面替换策略决定的,若已决定淘汰页P,则淘汰一页的主要工作有:1、查P页表项的修改位,若未修改,则 清0合法位,将页帧送回空闲页帧队列。2、若已修改,则检查类型栏。3、若是零页或回写swap区页,则申请 一块swap区空间,将P的外存块号置上并 清0页类型。4、调用I/0子系统将页帧上的数据写到 外存块号所指的外存空间。清0合法位, 将页帧送回空闲页帧队列。第十二讲 段/段页式存储管理、虚存目的与要求:了解段/段页式管理,掌握虚存管理.重点与难点:虚存管理系统内存访问过程作业:17, 34 5.2.2 段式管理页式管理:对用户而言不自然 程 0 序 1 段 2 数 3 据 4 段 5 作业1 作业2 主程序 0 0 主程序 1 1 SIN 2 2 SIN段式管理的特点:按作业的自然段将其逻辑空间分成若干段,作业以段为单位分配内存。一、空间安排? 用户作业逻辑空间为二维空间,由若干自然段组成。? 逻辑地址:段号.段内偏移,记作S,d。编译及装配时把所有地址记成(S,d)
关 键 词:
段段页式存储管理 ppt、pptx格式 免费阅读 下载 天天文库
 天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:段段页式存储管理
链接地址: https://www.wenku365.com/p-44789279.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服点击这里,给天天文库发消息,QQ:1290478887 - 联系我们

本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有【成交的100%(原创)】。本站是网络服务平台方,若您的权利被侵害,侵权客服QQ:1290478887 欢迎举报。

1290478887@qq.com 2017-2027 https://www.wenku365.com 网站版权所有

粤ICP备19057495号 

收起
展开