您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 操作系统的存储管理功能
操作系统的存储管理功能陈天楚01129222011.11.03存储管理应当做些什么?•为程序按需分配连续的内存空间•当程序结束运行时,回收被程序占用的内存•提供必要的保护机制,防止程序与程序之间、程序与操作系统之间互相冲突•对物理内存进行逻辑上的扩充,使操作系统能够运行内存需求比物理内存大得多的程序。固定分区存储管理•把内存划分成固定大小的分区•每个分区最多只放一个程序•程序申请内存时,选择一个空闲的区域缺点:•同时运行的程序总数受到限制•不能进行“按需分配”–需要的空间大于分区大小时无法分配–需要的空间小于分区大小时造成浪费动态分区存储管理•不事先建立分区•程序申请内存时,寻找一段连续的空闲内存,并建立分区•程序结束时,删除对应的分区•比固定分区更灵活•提高了内存利用率•存在碎片问题碎片问题?032MB程序1(8MB)程序2(8MB)程序3(8MB)程序4(12MB)存在足够的空间,却无法满足程序的要求如何解决?逻辑地址?•逻辑地址的范围不受内存总容量的限制•逻辑地址和物理内存可以存在对应关系•逻辑上连续的地址,对应的物理内存地址可以不连续•不同的程序,可以拥有不同的逻辑地址空间页式存储管理•把物理分成等长的若干个区域,称为物理页面•把逻辑地址空间分为若干个同样长度的逻辑页面•每个物理页面和逻辑页面都按顺序从0开始进行编号•一个物理/逻辑地址可以表示为物理/逻辑页号+页内的相对地址•为每一个运行中的程序建立一张页表,描述物理页面与逻辑页面之间的对应关系页表逻辑页号物理页号0A11B22A93C0......页式存储管理在程序执行的过程中,会动态进行逻辑地址到物理地址的转换•逻辑地址=逻辑页号+页内地址•页表+逻辑页号=物理页号•物理页号+页内地址=物理地址•用物理地址访问内存页式存储管理•不要求数据在物理内存连续存放,有效地解决了碎片问题•逻辑地址与物理内存没有直接的对应关系,便于实现内存扩充功能•不同的程序之间相同的数据可以在相同的物理页面中存储,节省了内存空间缺点:•需要硬件支持,增加成本•虽然消除了碎片,但是最后一页的数据还是不能得到充分利用存储管理的保护功能•分区式存储管理–设置程序所能访问内存的上下界•页式存储管理–在页表中设置权限(只读,读写,可执行...)页式存储管理的扩充功能•局部性原理:–在几乎所有的程序执行过程中,在一段时间内,CPU总是集中访问内存中的某一部分,而不是对内存中的所有部分具有相等的访问概率•是否可以把目前不需要用到的部分保存在外存中?交换技术•交换技术:–将内存与外存结合起来–当前需要的数据,保留在内存中–其他部分根据需要在内、外存间交换•什么时候交换?如何交换?交换技术•当程序访问一个逻辑地址,而逻辑地址所指向的页面不在内存中时:–处理器暂停程序的运行,进入操作系统的缺页处理程序–寻找物理内存中的一块空闲区域–将所需的页面从外存中调入该区域内–修改页表,恢复程序的运行•内存满时怎么办?页面淘汰•物理内存满时,选择物理内存中的一个页面,将其“淘汰”,写回至外存中•淘汰哪个页面?–随机选择?–先进先出算法(FIFO)–最近最少使用算法(LRU)–最近最不经常使用算法(LFU)思考•分区式存储管理能实现内存扩充功能吗?感谢观看~~
本文标题:操作系统的存储管理功能
链接地址:https://www.777doc.com/doc-3696151 .html