资源描述:
《《虚拟存储器》PPT课件(I)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、4.6虚拟存储器的基本概念4.6.虚拟存储器的引入1.问题的提出程序大于总内存多道程序要运行内存只能容纳部分作业要解决上述问题必须改变常规存储器管理方式中作业一次性装入和运行时的驻留性。OS把程序当前使用的部分代码和数据保留在内存中,而把其它部分存在磁盘上,需要时在内存和磁盘之间动态对换,以解决上述问题;这就是虚拟存储器的基本思想。2.程序局部性原理在一段时间内一个程序的执行往往呈现出高度的局部性,顺序执行的多,过程调用,循环结构,对数组操作等等。表现为:时间局部性:一条指令被执行了,则在不久的将来它可能再被执行。空间局部性:若某
2、一存储单元被使用,则在一定时间内,与该存储单元附近的单元可能被使用。3.虚拟存储技术以CPU时间和外存空间换取昂贵内存空间,这是操作系统中的资源转换技术。实现思想:当进程运行时,先将一部分程序装入内存,另一部分暂时留在外存,当要执行的指令不在内存时,由系统自动将它们从外存调换到内存。即具有请求调入和置换功能。虚拟存储器定义:具有请求调入和置换功能,对内存容量扩充,得到一个逻辑容量等于内存与外存容量之和的“虚内存”。页号P页内位移量W311104.虚拟地址结构页的大小=?页的多少=?虚存的大小=?CPUMMU内存磁盘控制器总线CPU
3、把虚地址送给MMUMMU把物理地址送给存储器4.6.2虚拟存储器的实现方式请求分页方式分段请求方式硬件支持:请求分页(段)的页(段)表机构缺页(段)中断机构请求分页(段)的地址变换机构4.6.3虚拟存储器的特征离散性:是实现虚拟存储器的基础多次性:多次将部分调入内存,每当运行到不在内存那部分程序时,再将它调入交换性:暂时不执行允许换出,需要时再换入虚拟性:逻辑(虚)上扩充了内存物理(实)容量虚拟性以多次性和交换性为基础,多次性和交换性又必须建立在离散分配的基础之上。4.7请求分页式存储管理在进程开始运行之前,不是装入全部页面,而是
4、装入一个或零个页面,之后根据进程运行的需要,动态装入其它页面;当内存空间已满,而又需要装入新的页面时,则根据某种算法淘汰某个页面,以便装入新页面。4.7.1硬件支持及工作过程1、页表机制状态位P:表示该页是在内存还是在外存访问位:记录该页在一段时间内被访问的次数修改位:查看此页是否在内存中被修改过内存块号状态位访问位修改位外存地址页号...44KX40KX36K532KX28KX24K320K416K012KX8K14K20K虚地址空间物理地址空间}虚页页框20K16K12K8K4K0K...24K2、缺页中断机构在地址映射过程中
5、,在页表中发现所要访问的页不在内存,则产生缺页中断。操作系统接到此中断信号后,就调出缺页中断处理程序,根据页表中给出的外存地址,将该页调入内存,使进程继续运行下去。如果内存中有空闲块,则分配一页将新调入页装入内存,并修改页表中相应页表项目的驻留位及相应的内存块号。若此时内存中没有空闲块,则要淘汰某页,若该页在内存期间被修改过,则要将其写回外存。保留CPU现场从外存找到缺页内存满?修改过?选择一页换出将该页写回外存发命令从外存读缺页启动I/O硬件将一页从外存换入修改页表页越界?检索快表命中?访问页表修改快表在内存?修改访问位修改位形
6、成物理地址开始N继续Y中断NY越界中断NYNY缺页中断Y影响缺页次数的因素(1)分配给进程的物理页面数(2)页面本身的大小(3)程序的编制方法(4)页面淘汰算法4.7.2页面分配与置换请求调页中操作系统提供的支持请求调页时,把所需的页从外存调入内存置换时,将内存的某些页调至外存问题:进程正常运行所需的最少物理块是多少?每个进程分配的物理块数是固定的吗?每个进程分配的物理块数依据是什么?1.最小物理块数的确定最小物理块数与硬件结构、指令格式、寻址方式有关。直接寻址方式最少块数为2间接寻址方式最少块数为3功能较强的机器最少块数为62.
7、页面分配和置换策略(固定分配、可变分配)1)固定分配局部置换系统中驻留的进程数与分配给进程的页数是什么关系?(正比?反比?)块数太多会出现什么问题?块数太少会出现什么问题?2)可变分配全局置换空闲物理块由谁管理?(OS?进程?)缺页中断时从何处获得空闲页?调入调出什么时候发生(空闲页用完还是给进程分配的页用完?)3)可变分配局部置换为每个进程所分配的物理块数相对固定从每个进程所分配的页面中进行换入换出。从全局的角度动态调整每个进程所分配的页面3.分配算法(固定分配策略)平均分配算法驻留内存的进程平均分配,貌似公平,实际不公平,长进
8、程缺页率高按比例分配算法按驻留内存的进程的大小比例分配,较公平考虑优先权的分配算法整个内存分为两部分,一部分按比例分配,另一部分按优先权分配,照顾到重要紧迫的进程尽快完成4.7.3页面调入策略什么时候调入?从何处调入?怎么调入?1.什么时候调入预调