操作系统课程课件10.ppt_第1页
操作系统课程课件10.ppt_第2页
操作系统课程课件10.ppt_第3页
操作系统课程课件10.ppt_第4页
操作系统课程课件10.ppt_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

1、作业系统概念,第10章:虚拟记忆体,2,本章的主要内容,产生背景要求页面排程程序页面交换框架配置系统冲突其他考量,3,10.1背景,虚拟记忆体将记忆体抽象为大型统一储存阵列,使使用者看到的逻辑记忆体与实体记忆体分离。只要需要将某些程序放在内存中,程序执行逻辑地址空间就可能大于物理地址空间。允许多个进程共享地址空间允许更多进程创建虚拟内存。基于请求页的调度请求段调度,4,虚拟内存大于物理内存的示意图,5,10.2请求页调度,仅在需要页面时将页面加载到内存需要较少的输入输出。更少的内存响应更快的用户,6,分页内存与相邻磁盘空间之间的传递(1表示页面在内存中,0表示不在内存中),有效位最初为0。当进

2、程尝试访问尚未传递到内存的页面时,如果访问无效页面,page-fault trap,8,当某些页面不在内存中时,page table,9,如果页面错误引用无效,则终止进程。如果引用有效,但尚未转入页面,则必须现在转入。查找可用帧(可用帧链表中的一个)并调度磁盘操作,以便将所需页导入到刚刚分配的帧中。磁盘读取操作完成后,修改进程的内部表和页面表,以指示页面已在内存中。重新启动因非法地址陷阱而中断的命令。进程现在可以访问所需的页面,就像它始终在内存中一样。10,处理页面错误的步骤,11,没有空闲帧时如何处理?在页面替换内存中查找和替换未使用的页面。算法性能:我想查找导致最小页面错误的算法。某些页面

3、可以多次加载到内存中。12、基于页面的调度请求性能,如果将p设置为页面错误的概率(0P 1) p为0,则没有页面错误。在以下情况下,每个访问的页面错误有效访问时间(1P)内存访问时间P页面错误时间内存访问时间设置如下如果平均错误页面处理为25毫秒,则EAT=(1-P)100n sp25 ms=100 24999900 P NS,13,10.3创建进程,虚拟内存在创建进程时写入时复制内存映射文件这些页面在写入时标记为复制。也就是说,如果任何进程需要对页面进行写操作,请创建孔刘页面的副本。Copy-on-write技术使生成过程更加高效,因为仅复制由该过程修改的页面。写入时复制所需的空闲页来自空闲

4、缓冲池。此缓冲池中的页面在分配前填充0,以清除上一页的内容。15,内存映射文件,内存映射文件I/o文件I/O将文件I/O访问常规内存,允许某些虚拟内存根据常规请求页调度进行与文件逻辑相关联的文件访问。出现页面错误。此操作会将一个页面大小的某些文件从文件系统读取到物理页面,以后读取和写入文件将被视为常规内存访问。通过使用内存文件而不是系统调用read和write,简化了文件的访问和使用。可以通过多个进程将同一文件映射到每个虚拟内存,以允许数据共享。16,替换内存映射文件,17,10.4页,向现有页面错误服务程序添加页面替换,以避免内存过度分配。使用修正位(脏位)减少页面传输开销。只有修改过的页面

5、才会写回磁盘。页面交换将物理内存与逻辑内存分开,使用此机制,小物理内存可以为程序员提供巨大的虚拟内存。,18,如果需要页面置换,19,页面置换的默认方法,查找磁盘上所需页面位置如果有可用帧,则使用此方法。如果没有可用帧,请使用页面置换算法选择“牺牲”帧。将“牺牲”帧的内容写入磁盘。变更页面和框架表格。将所需页面读取到(新的)空闲框架中。变更页面表格和框架表格以重新启动使用者程序。20,页面替换,21,页面替换算法,寻求最低页面错误率特殊字符串(参考字符串,参考字符串)检查算法,计算特定参考字符串和页面转换算法的页面错误率,确定页面错误数,还需要知道可用帧数。为了讨论页面转换算法,使用了以下参考

6、字符串,其可用帧数为3 7,0,1,2,0,3,0,4,2,3,3,0,3,2,2因为字符串的未来知识,26,替换LRU页面,用与过去最近的未来近似值替换最久未使用的页面。27,LRU实现,计数器将使用期限连接到每个页面表项目,并将逻辑时钟或计数器添加到CPU。对于每个记忆体参考,计数器均会增加。每次引用内存时,时钟寄存器的内容都会复制到与该页面对应的页面表项目的使用时间字段中。更换具有最短时间的页面。页码堆栈每次引用一个页面时,会从堆栈中删除该页面,并将其放在顶部。这样,堆栈顶部始终是最近使用的页面,堆栈底部始终是LRU页面。28,记录堆栈最近使用的页面,29,LRU近似页面置换算法,附加参

7、考位算法每页的参考位连接,在参考初始零页时,选择将此位设置为1的参考位设置为0的页面(如果有)第二机会算法页面时,确认参考位。值0表示直接替换页面。如果此参考位为1,则给页面第二次机会,然后选择下一个FIFO页面。在一页上获得第二次机会后,其参考位为0,到达时间设置为当前时间。30,二次机会(时钟)页面替换算法,31,基于计数的页面替换算法,保存记录每个页面的引用次数的计数器。最不常用的最常使用的页替换算法(lfu)最常用的页替换算法(most frequently used page-replacement algorithm)每个进程需要的最少页数例如,IBM 370至少需要6页来处理SS

8、 MOVE命令。这是一个6字节命令,可移动2页的文字块和要移动到目标的区域中可能存在跨页。两个主要分配方案固定分配优先级分配,33,固定分配,平均分配:100帧,5个流程,每个流程20帧速率分配当多个程序级别增加时,每个流程都会失去一些帧以供新流程使用。相反,最初分配给出发流程的帧可以分配给其馀流程。高优先级进程和低优先级进程在这种分配方法上没有区别。34、分配优先级,基于优先级百分比(而不是流程大小),在分配流程Pi中发生页面错误的情况下,在自己的帧中,选择要在低于替换选择本身优先级的流程中替换的帧。35、全局分配和局部分配、全局置换允许一个进程从另一个进程导入帧。局部置换要求每个进程仅在各

9、自指定的帧上选择。36,10.6系统崩溃,如果一个进程没有足够的页面,页面错误率将很高。这可能会降低CPU使用率。此时,OS认为需要提高多个程序的水平,因此向系统中添加了新流程。凹凸:进程忙着替换页面。37,辽东,38,如何防止辽东?必须提供流程所需的足够框架以避免冲突。但是,如何知道进程需要多少帧呢?工作集策略检查过程实际需要的帧数。此方法定义进程执行的“局部模型”(locality model)。流程运行时,从一部分移动到另一部分。部分是常用页面的集合。程序通常由徐璐的其他几个部分组成,可能会重叠。39,内存引用模式下的本地,40,工作集模型,工作集窗口:最近的页面引用最近引用的页面集合由

10、工作集(工作集)进程Pi中的工作集(WSSi)=最近引用的所有页面的总数(时间值不同)D WSSi使用总框架要求D通过41、工作集模型、42、工作集跟踪(困难)、固定计时器中断和参考位,可能类似于工作集模型的示例。例如,假设10,000个参考每5000个产生预定中断。发生预定中断时,复制并清除所有页面的引用位。因此,在发生页面错误的情况下,可以检查当前引用位和内存中的两个位,以确定在以前的10000到15000个引用之间是否引用了页面。如果未参考,则所有这三位数字均为0,仅一位为1,可以将其视为在工作集中。这个计算不准确。因为我不知道5,000个引用出现在哪里。通过增加历史位的位数和中断频率,

11、可以减少这种不确定性。43,页面错误频率,设置可接受的页面错误率错误率如果错误率太低,流程可能会有太多帧,需要丢弃一些帧。如果错误率太高,请为进程分配更多的帧。44,10.7其他考量,排程预订页面会尝试阻止处理开始时发生的许多页面错误。当进程运行或重新启动时,将所需页面一起导入内存。选择页面大小(影响页面大小的因素很多)碎片较小的页面表大小需要较大的页面I/O开销需要较大的页面本地较小的页面?较大的页面?(矛盾)由于较小的页面应用程序,较小的I/O和总分配内存减少,因此需要较大的页面以减少页面错误数。TLB范围:可通过TLB访问的内存量TLB Reach=(TLB Size) (Page Size)理想情况下,进程中的所有工作集都必须在TBL中。否则,页面错误率会提高,TLB范围增加的两种方法会导致TBL Size增加页面大小,从而增加碎片,提供不同的页面大小。46,假定程序结构、页面大小为1024个单词,分配给进程的帧int A=new int10241024每行都是程序1 for(j=0);J A.lengthj)for(I=0;I A.lengthI) Ai,j=0;共1024

温馨提示

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

评论

0/150

提交评论