




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、linux操作系统华软软件学院电子系华软软件学院电子系P1P1linux操作系统华软软件学院电子系华软软件学院电子系P2P2linux操作系统华软软件学院电子系华软软件学院电子系P3P3虚拟存储器虚拟存储器虚拟存储器的定义:虚拟存储器的定义:以透明的方式给用户提供一个比实际内存大得多的作业以透明的方式给用户提供一个比实际内存大得多的作业地址空间地址空间它不是实际的物理存储器,是非常大存储器的逻辑模型它不是实际的物理存储器,是非常大存储器的逻辑模型实现虚拟存储器必须具备以下条件:实现虚拟存储器必须具备以下条件:l 实际内存空间实际内存空间l 外存上的内存交换区外存上的内存交换区l 虚拟地址虚拟地
2、址l 换出、换进机制换出、换进机制linux操作系统华软软件学院电子系华软软件学院电子系P4P4分区存储管理中的内存扩充分区存储管理中的内存扩充覆盖技术覆盖技术覆盖,就是指一个作业的若干程序段共享同一段内存空间覆盖,就是指一个作业的若干程序段共享同一段内存空间基于以下思想:基于以下思想:一个程序并不需要一开始就把所有部分都装入内存后再执行一个程序并不需要一开始就把所有部分都装入内存后再执行把程序划分为若干个功能相对独立的程序段,就可以按照程序把程序划分为若干个功能相对独立的程序段,就可以按照程序的逻辑结构让不会同时执行的程序段共享同一块内存的逻辑结构让不会同时执行的程序段共享同一块内存当程序段
3、的先头程序段部分已经执行结束后,再把后续程序段当程序段的先头程序段部分已经执行结束后,再把后续程序段调入内存覆盖前面的程序段调入内存覆盖前面的程序段用户看来,就好像内存扩大了,达到了内存扩充的目的用户看来,就好像内存扩大了,达到了内存扩充的目的linux操作系统华软软件学院电子系华软软件学院电子系P5P5分区存储管理中的内存扩充分区存储管理中的内存扩充如,作业由程序段A和子程序段B、C、D、E、F组成内部调用情况如图覆盖结构如图:采用覆盖技术后,只需要20+50+40=110K作业要求的内存空间是:作业要求的内存空间是:20+50+30+30+20+40=190Klinux操作系统华软软件学院
4、电子系华软软件学院电子系P6P6分区存储管理中的内存扩充分区存储管理中的内存扩充交换技术交换技术在多道程序系统中,内存中的作业有的处于运行或就绪态,有的作在多道程序系统中,内存中的作业有的处于运行或就绪态,有的作业处于阻塞态业处于阻塞态一般处于阻塞态的作业等待的事件相对较长,如果继续驻留在内存一般处于阻塞态的作业等待的事件相对较长,如果继续驻留在内存,将是对内存资源的浪费,将是对内存资源的浪费因此,应该将阻塞态的作业换出内存,将在外存上准备运行的作业因此,应该将阻塞态的作业换出内存,将在外存上准备运行的作业调入内存调入内存这种交换可以使系统资源的利用更为有效这种交换可以使系统资源的利用更为有效
5、交换技术交换的单位是整个作业交换技术交换的单位是整个作业交换技术的特点是,对用户的作业没有特别的要求,交换过程对用交换技术的特点是,对用户的作业没有特别的要求,交换过程对用户是透明的,但需要更多的软件支持户是透明的,但需要更多的软件支持linux操作系统华软软件学院电子系华软软件学院电子系P7P7 页式虚拟存储管理提出问题:提出问题:n页式存储管理要将页式存储管理要将所有的页面一次性调入主存所有的页面一次性调入主存,当主存空间不足或作业太大时,就会限制作,当主存空间不足或作业太大时,就会限制作业进入主存运行业进入主存运行请求分页存储的基本原理:请求分页存储的基本原理:n页式虚拟存储管理是将作业
6、信息的页式虚拟存储管理是将作业信息的副本存放在副本存放在外存上,外存上,当作业被调度运行时,至少要将作业当作业被调度运行时,至少要将作业的的第一页第一页内容装入内存,在执行的过程当中,内容装入内存,在执行的过程当中,访问到不在内存的页时,再把它们调入内存访问到不在内存的页时,再把它们调入内存linux操作系统华软软件学院电子系华软软件学院电子系P8P8 页式虚拟存储管理一个运行中的作业既有在内存的部分,也一个运行中的作业既有在内存的部分,也有在外存的部分,系统为了掌握作业的存放有在外存的部分,系统为了掌握作业的存放情况,必须对页表进行修改。可修改为如下情况,必须对页表进行修改。可修改为如下形式
7、:形式:比较之前的页表比较之前的页表linux操作系统华软软件学院电子系华软软件学院电子系P9P9地址变换:地址变换:n当所访问的页在内存时,其地址变换过程与分页存储管当所访问的页在内存时,其地址变换过程与分页存储管理相同理相同n当所访问的页当所访问的页不在内存时,则应先将该页时,则应先将该页调入内存,再,再按与分页存储管理相同的方式进行地址变换按与分页存储管理相同的方式进行地址变换缺页中断:缺页中断:当被访问的页面不在主存时,就当被访问的页面不在主存时,就产生一个缺页中断,系统调用产生一个缺页中断,系统调用“调页程序调页程序”n从页表项中查出该页在外存的地址从页表项中查出该页在外存的地址n根
8、据该地址将该页调入主存根据该地址将该页调入主存n若主存若主存有空闲存储块,则将调入的页面装入任何一个空,则将调入的页面装入任何一个空闲存储块中,并修改页表相应表项闲存储块中,并修改页表相应表项n若主存若主存没有空闲存储块,则必须,则必须先淘汰主存中的某一页,若被淘汰的页有修改过,则还要将其写回外存,若被淘汰的页有修改过,则还要将其写回外存n流程图见教材流程图见教材P120 P120 图图6-26-2 页式虚拟存储管理linux操作系统华软软件学院电子系华软软件学院电子系P10P10页式虚拟存储管理页式虚拟存储管理淘汰算法淘汰算法缺页中断处理时,如果内存中无空闲块,则需要将内存中的一页调出,称为
9、淘汰缺页中断处理时,如果内存中无空闲块,则需要将内存中的一页调出,称为淘汰如何从多页中选出一页进行淘汰,就要设置相应的淘汰算法如何从多页中选出一页进行淘汰,就要设置相应的淘汰算法最佳算法(OPT)该算法选择该算法选择“在很远的将来才被访问在很远的将来才被访问”的页进行淘汰的页进行淘汰该算法偏理论,实际上比较难实现,很难预计到哪页才是在很远将来才访问该算法偏理论,实际上比较难实现,很难预计到哪页才是在很远将来才访问先进先出算法(FIFO)先进先出算法的实质是,总是选择在内存中驻留时间最长的那一页进行淘汰先进先出算法的实质是,总是选择在内存中驻留时间最长的那一页进行淘汰理由是:最早调入内存的页,不
10、再被使用的可能性最大理由是:最早调入内存的页,不再被使用的可能性最大linux操作系统华软软件学院电子系华软软件学院电子系P11P11页式虚拟存储管理页式虚拟存储管理最近很久未使用算法(最近很久未使用算法(LRU)该算法基于程序执行的局部性原理来考虑,是一种通用的有效算法该算法基于程序执行的局部性原理来考虑,是一种通用的有效算法该算法选择最近一段时间内最长时间未使用的页进行淘汰该算法选择最近一段时间内最长时间未使用的页进行淘汰为比较准确选中最近最少使用的页,可以采用栈来记录在内存中的各页为比较准确选中最近最少使用的页,可以采用栈来记录在内存中的各页使用情况使用情况每访问一页时就调整一次栈,使栈
11、顶总是最近使用的页,栈底总是最近每访问一页时就调整一次栈,使栈顶总是最近使用的页,栈底总是最近很久未使用的页。每次产生缺页中断时总是淘汰在栈底的页很久未使用的页。每次产生缺页中断时总是淘汰在栈底的页linux操作系统华软软件学院电子系华软软件学院电子系P12P12页式虚拟存储管理页式虚拟存储管理最不经常使用算法(最不经常使用算法(LFU)该算法选择被访问次数最少的页进行淘汰该算法选择被访问次数最少的页进行淘汰为实现该算法,需要给每页设置一个访问次数计数器为实现该算法,需要给每页设置一个访问次数计数器每访问一次,该页的访问次数计数器增每访问一次,该页的访问次数计数器增1每隔一段时间,就对所有页的
12、访问次数计数器清每隔一段时间,就对所有页的访问次数计数器清0当发生缺页中断,需要淘汰在内存中的页时,则选择访问次当发生缺页中断,需要淘汰在内存中的页时,则选择访问次数计数器的值最小的页进行淘汰数计数器的值最小的页进行淘汰这种算法实现起来不难,但给每页都设置一个计数器的代价这种算法实现起来不难,但给每页都设置一个计数器的代价比较高,不建议使用比较高,不建议使用linux操作系统华软软件学院电子系华软软件学院电子系P13P13段式虚拟存储管理段式虚拟存储管理基本原理基本原理n作业都存放在外存中,当调入运行时,首先把该作业当前作业都存放在外存中,当调入运行时,首先把该作业当前需要的若干段调入主存,执
13、行中访问到不在内存的段时,需要的若干段调入主存,执行中访问到不在内存的段时,再随时把它们装入内存再随时把它们装入内存n段式虚拟存储器为了管理作业在内存与外存上的段,也需段式虚拟存储器为了管理作业在内存与外存上的段,也需要对段表进行扩充,扩充后的格式如下:要对段表进行扩充,扩充后的格式如下:比较之前的段表比较之前的段表linux操作系统华软软件学院电子系华软软件学院电子系P14P14段式虚拟存储管理段式虚拟存储管理段的动态连接段的动态连接一个作业由主程序、若干子程序、数据组成一个作业由主程序、若干子程序、数据组成作业运行前,都要经过连接装配,将作业中所有的程序和数据作业运行前,都要经过连接装配,
14、将作业中所有的程序和数据连接装配为一个目标模块连接装配为一个目标模块这种作业运行前就已完成连接装配的连接方式称为这种作业运行前就已完成连接装配的连接方式称为静态连接静态连接段式存储管理的作业不一定要求进行静态连接,可以使用段式存储管理的作业不一定要求进行静态连接,可以使用动态动态连接连接在程序运行开始时,只将主程序段装配好并调入内存,其他各在程序运行开始时,只将主程序段装配好并调入内存,其他各段的装配是在主程序段运行中逐步进行的。每当需要调用一段的装配是在主程序段运行中逐步进行的。每当需要调用一个新段时,再将这个段装配好,并与主程序段连接个新段时,再将这个段装配好,并与主程序段连接linux操
15、作系统华软软件学院电子系华软软件学院电子系P15P15段式虚拟存储管理段式虚拟存储管理首先需要区分直接寻址和间接寻址首先需要区分直接寻址和间接寻址假定假定100号单元存放数据号单元存放数据800,800号单元存放数据号单元存放数据1000若直接寻址,则指令若直接寻址,则指令ADD 100表示取出表示取出100号单元的数据号单元的数据800作为操作数作为操作数若间接寻址,则指令若间接寻址,则指令ADDADD* * 100 100表示取出表示取出100100号单元的数据号单元的数据800800作为地址,然后作为地址,然后取出取出800800号单元的数据号单元的数据10001000作为操作数作为操作
16、数采用间接寻址时,指令中的间接地址所指示的单元的内容称为间接字采用间接寻址时,指令中的间接地址所指示的单元的内容称为间接字段式虚拟存储管理中,间接字格式如下:段式虚拟存储管理中,间接字格式如下:其中,其中,L称为连接标志位。当称为连接标志位。当L=1时,表示该段尚未连接;时,表示该段尚未连接;L=0表示已连接表示已连接linux操作系统华软软件学院电子系华软软件学院电子系P16P16段式虚拟存储管理段式虚拟存储管理假设分段假设分段3要对另一段要对另一段X产生符号形式的调用产生符号形式的调用CALL X|在编译时就产生一个间接编址的指令在编译时就产生一个间接编址的指令CALL* X|连接标志位连
17、接标志位L置为置为1地址域指向本段的一个单元地址域指向本段的一个单元3|108该单元存放代表被调用段的段名该单元存放代表被调用段的段名即段内地址的字符串即段内地址的字符串7 “X|”当分段当分段3执行指令执行指令CALL* 3|100时时由于由于L=1,需要进行动态连接,产生中断,需要进行动态连接,产生中断操作系统负责完成对被调用段的查找操作系统负责完成对被调用段的查找若该段不在内存中,必须将其调入内存,并给其分配段号若该段不在内存中,必须将其调入内存,并给其分配段号然后用其段号和段内地址来修改主调段中的连接间接字地址域然后用其段号和段内地址来修改主调段中的连接间接字地址域并将标志位清并将标志
18、位清0linux操作系统华软软件学院电子系华软软件学院电子系P17P17段式虚拟存储管理段式虚拟存储管理段的共享与保护段的共享与保护把段作为共享和保护的基本单位不仅有实际意义,而且易把段作为共享和保护的基本单位不仅有实际意义,而且易于实现于实现可以把几个作业的段表中的某一项都指向主存的同一地址可以把几个作业的段表中的某一项都指向主存的同一地址则主存中以该地址为起始地址的那一段便被共享了则主存中以该地址为起始地址的那一段便被共享了对于同一个共享段,在不同的作业中可以有不同的段号对于同一个共享段,在不同的作业中可以有不同的段号linux操作系统华软软件学院电子系华软软件学院电子系P18P18段式虚
19、拟存储管理段式虚拟存储管理作业作业1和作业和作业2都使用了都使用了cos子程序子程序但内存中只存放了一个但内存中只存放了一个cos段的副本段的副本Cos在作业在作业1中的段号是中的段号是5,在作业,在作业2中的段号是中的段号是4但这两个段表项的内存起始地址是同但这两个段表项的内存起始地址是同一个物理地址一个物理地址linux操作系统华软软件学院电子系华软软件学院电子系P19P19段页式虚拟存储管理段页式虚拟存储管理基本原理基本原理n段页式虚拟存储管理仍是将用户的作业按逻辑意段页式虚拟存储管理仍是将用户的作业按逻辑意义划分为段,每个段再划分为大小相同的页。段义划分为段,每个段再划分为大小相同的页
20、。段页式虚拟地址由三部分组成:页式虚拟地址由三部分组成:假设地址寄存器的长度是假设地址寄存器的长度是32位,则:位,则:段号段号S为为10位,说明可允许位,说明可允许1024段;段;页号为页号为10位,说明每段允许位,说明每段允许1024页;页;页内偏移页内偏移W为为12位,说明页的大小为位,说明页的大小为4Klinux操作系统华软软件学院电子系华软软件学院电子系P20P20段页式虚拟存储管理段页式虚拟存储管理段表、页表和地址变换段表、页表和地址变换为实现段页式管理,系统必须为每一个作业建立一张为实现段页式管理,系统必须为每一个作业建立一张段表段表由于一个段又被分成若干页,所以每个段又必须建立
21、一张由于一个段又被分成若干页,所以每个段又必须建立一张页表页表这样可以把段中的页变换为内存中的块这样可以把段中的页变换为内存中的块页表中也应该有相应的实现缺页中断等功能的表项页表中也应该有相应的实现缺页中断等功能的表项但是在段页式管理中,页表不再属于作业而是属于作业的某个段但是在段页式管理中,页表不再属于作业而是属于作业的某个段段表中的段表起始地址指向的应该是属于该段的页表起始地址段表中的段表起始地址指向的应该是属于该段的页表起始地址段表中的长度项应该是属于该段的页表的长度段表中的长度项应该是属于该段的页表的长度页表长度在页的大小确定后由段长决定页表长度在页的大小确定后由段长决定linux操作
22、系统华软软件学院电子系华软软件学院电子系P21P21段页式虚拟存储管理段页式虚拟存储管理段页式管理中段表、页表、内存的关系如图段页式管理中段表、页表、内存的关系如图使用段表和页表来实现虚拟地址到物理地址的变换使用段表和页表来实现虚拟地址到物理地址的变换地址变换时,根据虚拟地址中的段号查段表,得到相应段的页表起始地址地址变换时,根据虚拟地址中的段号查段表,得到相应段的页表起始地址然后根据页号查页表得到内存块号然后根据页号查页表得到内存块号由块号和页内偏移形成内存物理地址由块号和页内偏移形成内存物理地址linux操作系统华软软件学院电子系华软软件学院电子系P22P22段页式虚拟存储管理段页式虚拟存储管理在段页式管理中,要对内存单元进行存取,至少要访问内存在段页式管理中,要对内存单元进行存取,至少要访问内存3次次第第1次,由段表控制寄存器得到段表起始地址后访问段表,由此次,由段表控制寄存器得到段表起始地址后访问段表,由此取出该段的页表在内存中的起始地址取出该段的页表在内存中的起始地址第第2次,访问页表得到所要访问的内存单元的物理地址次,访问页表得到所要访问的内存单元的物理地址第第3次,访问真正需要访问的内存单元次,访问真正需要访问的内存单元注意:这
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国开电大专科《建筑力学》在线形考(形成性作业1至4)试题及答案
- 广西贺州市本年度(2025)小学一年级数学统编版专题练习(上学期)试卷及答案
- 2025-2030年中国数据采集盘点机行业发展战略规划及投资潜力研究报告
- 江西省萍乡市重点中学2025届高三下学期第六次检测英语试卷含解析
- 电气类专业学业水平考试题及答案
- 职业技术学院2024级建筑工程技术专业人才培养方案
- 航标器材智能制造考核试卷
- 毛织品行业市场多元化战略调整优化调整考核试卷
- 石灰在复合材料中的应用考核试卷
- 服务机器人行业人机交互体验设计考核试卷
- 三联图书馆管理系统2013压缩版常见问题与解答
- 48V100A-储能-BMS规格书(带RS232 RS485 CAN通讯)
- 小学英语课程与教学论(小学教育专业)PPT完整全套教学课件
- 中药养护记录表
- 实验室安全自查表样表
- 哈弗H5汽车说明书
- 《机械设计基础》复习备考题库(含答案)
- 安全生产责任书安全制度
- xk5036数控立式铣床总体及横向进给传动机构设计论文大学本科毕业论文
- 小学五六年级青春期女生健康心理讲座PPT
- 空冷岛空冷机组管束更换施工方案
评论
0/150
提交评论