操作系统原理与实例分析25043

操作系统原理与实例分析25043

ID:38327090

大小:177.00 KB

页数:72页

时间:2019-06-10

操作系统原理与实例分析25043_第1页
操作系统原理与实例分析25043_第2页
操作系统原理与实例分析25043_第3页
操作系统原理与实例分析25043_第4页
操作系统原理与实例分析25043_第5页
资源描述:

《操作系统原理与实例分析25043》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、3.5虚拟存储管理技术简单存储:要求将一个进程所需的程序和数据全部装入内存方可执行。这样的系统存在两个很严重的问题。—其一,对于大进程,如果其所需内存空间超过了内存的最大容量,则无法运行。—其二,对于多道程序系统,由于每一个进程需要全部装入内存,使同时驻留内存的进程数量受到限制。虽然也可以通过提高内存容量来解决,但是代价太高。如果能将一部分价格较低的外存空间当作内存使用,从逻辑上扩充内存容量。那么,将获得更高的性价比。虚拟存储技术的理论依据程序执行的局部性原理:程序的执行总是呈现局部性。即,在一个较短的时间段内,程序的执行仅限于某个部分;相应的,它所访问的存储空

2、间也局限于某个区域。因此,只要保证进程执行所需的部分程序和数据驻留在内存,一段时间内进程都能顺利执行。实现虚拟存储的一般过程进程运行之前,仅需要将一部分页面或段装入内存,便可启动运行,其余部分暂时保留在磁盘上。进程运行时,如果它所需要访问的页面(段)已经装入内存,则可以继续执行下去;如果其所需要访问的页面(段)尚未装入内存,则发生缺页(段)中断,进程阻塞。此时,系统将启动请求调页(段)功能,将进程所需的页(段)装入内存。实现虚拟存储的一般过程如果当前内存已满,无法装入新的页(段),则还需要利用页(段)置换功能,将内存中暂时不用的页(段)交换到磁盘上,以腾出足够的

3、内存空间。再将进程所需的页(段)装入内存,唤醒阻塞的进程,使之重新参与调度执行。从外存装入页/段更新页/段表交换页/段内存满?是否缺页/段中断页/段在内存是否进程执行图3.28实现虚拟存储的典型过程?什么是虚拟存储通过系统提供的缺页/段中断功能和交换技术,动态装入进程的程序代码和数据,使得一个大的用户程序能在一个相对较小的内存空间中运行,也使得有限的内存能同时容纳更多的进程。习惯上,人们把这种用户感觉上的、由实际内存和部分外存共同构成的存储空间称为虚拟存储器虚拟存储技术的技术支持首先,必须有相应的硬件支持,用以实现虚拟分页或虚拟分段存储管理。其次,操作系统必须提

4、供相应的软件支持,管理页或段在内存和外存之间的移动。虚拟存储的基本数据结构由于虚拟存储系统中,进程的程序代码和数据只有一部分在内存,另一部分保存在外存。在页/段表项中增加一个“存在”字段,其值为0或1。增加一个“修改”字段,表明对应页/段自进入内存以来是否被修改过。只有被修改过的页/段才需要保存到外存,若需要将未修改过的页/段换出内存,只需要将新装入的页/段直接覆盖其存储区域,而不必将其内容保存到外存。图3.29虚拟分页、分段及段页式存储系统的数据结构页号页框号存在修改其他控制(a)虚拟存储页表项段号段长存在修改其他控制(b)虚拟存储段表项段基址长(c)虚拟存储

5、段页式系统的段表项和页表项段号其他控制页表长度页表基址段表项页号页框号存在修改其他控制页表项虚拟存储的好处第一,可以运行大程序,包括超过内存实际容量的大程序。第二,可以在有限的物理内存中运行更多的程序。多道程序系统的度不再受到物理内存空间的限制。虚拟存储的典型问题抖动(thrashing)当进程要求装入新的页面或程序段时,如果当前没有足够的空闲空间,需要交换一些页面或段到外存。如果被交换出去的页面或段很快将被进程使用,则又需要将其换入内存。如果系统花费大量的时间把程序和数据频繁地装入和移出内存而不是执行用户指令,那么,称系统出现了抖动。出现抖动现象时,系统显得非

6、常繁忙,但是吞吐量很低,甚至产出为零。根本原因:选择的页面或段不恰当。虚拟存储分页技术建立在简单分页存储管理系统之上,是目前常用的一种虚拟存储管理技术。地址变换基于简单存储分页系统增加了某些功能,如产生和处理缺页中断,以及从内存中换出页面等。进程执行时,首先通过根据逻辑地址中的页号,查找快表中是否存在对应的页表项。若快表中不存在该页表项,则再查找页表。检查对应的页面是否在内存中存在。若该页面不在内存,启动缺页中断处理例程,装入需要的页面,并更新页表和快表。若该页面已经在内存中,将对应的页表项插入快表中,更新快表。若快表中存在该表项,则直接取出其中的页框号,加上页

7、内偏移量,计算出物理地址。访问页表图3.30虚拟存储分页系统地址变换过程物理地址页框号偏移量更新快表页号偏移量逻辑地址检索快表是否是否换出页面处理机处理中断是否处理机从外存取该页将该页装入内存更新页表缺页中断处理?命中?内存满?页在内存缺页中断处理过程(1)操作系统接收到进程产生的缺页中断信号,启动中断处理例程,保留处理机现场;(2)操作系统通知处理机从外存读取指定的页面;(3)处理机激活I/O设备;(4)检查内存有无足够的空闲空间装入该页面?若有,转(6),否则,执行(5);(5)利用页面置换算法,选择内存中的某个页面,换出内存;(6)将指定页面从外存装入内存

8、;(7)更新该进程的页表

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。