OS5-存储管理.ppt
文本预览下载声明
康振华制作 第五章 存储管理 §1 存储管理的功能 §2 分区存储管理 §3 页式存储管理 §4 段式与段页式存储管理 §5 局部性原理和抖动问题 §1 存储管理的功能 虚拟存储器:内存扩充 地址变换 内外存数据传输的控制 内存的分配与回收 内存信息的共享与保护 二是: 编译链接程序把用户源程序编译链接到一个以0地址为始地址的线性或多维虚地址空间。每个进程的数据和指令单元都在这个虚空间中拥有确定的地址,把这个地址称为虚拟地址。 由源程序到实际存放该程序指令或数据的内存物理位置的变换过程为: 虚拟地址组成的虚拟空间叫虚拟存储器。其容量是受计算机的地址结构和寻址方式确定。 好处——每个进程不受实际物理存储器限制,但需要相当 大的外部存储器 ?2.地址变换(重定位) 内存地址的集合称为内存空间或物理地址空间。 将虚拟地址映射为内存地址,把这种作法叫做地址重定位 =》静态重定位:是指在程序运行之前由装入程序完成的重定位过程。 作业执行前:实施地址重定位 作业执行中:无须地址重定位。 =》动态重定位:是在程序执行过程中,在CPU访问内存之前,将要访问的程序或数据地址转换成内存地址。 作业执行中、CPU访问内存前:实施地址重定位 动态重定位: 由软件(操作系统)和硬件(地址转换机构)相互配合来实现。 地址变换机构需要一个(或多个)基地址寄存器BR和一个(或多个)虚地址寄存器VR。指令或数据的内存地址MA与虚地址的关系为:MA=(BR)+(VR) 3.内外存数据传输的控制 要实现内存扩充,存在一个问题:在程序执行过程中,内存和外存之间必须经常地交换数据。 =》覆盖(overlay技术) 指同一主存区可以被不同的程序段重复使用。 一个作业由若干个功能上相互独立的程序段组成,作业在一次运行时,也只用到其中的几段,因此可以让那些不会同时执行的程序段共用同一个主存区。把可共享的主存区叫做覆盖区。 主要特点:打破了必须将一个作业的全部信息装入主存后才能运行的限制。一定程度上解决了小主存运行大作业的矛盾。 覆盖的基本原理可用图例说明。 主程序(30k) = 交换(swapping)技术 系统根据需要把主存中暂时不运行(处于等待状态)的某个(或某些)作业部分或全部移到外存,而把外存中的某个(或某些)作业移到相应的主存区,并使其投入运行。也叫对换或滚进滚出。 被换出到外存的程序只是临时被剥夺了对内存的使用权,过一段时间,还必须换入内存运行。因此,交换是一种用时间换空间的技术。 交换的时机通常在以下情况发生: ①作业的进程用完时间片或等待输入输出; ②作业要求扩充存贮而得不到满足时。 同覆盖技术一样,交换技术也是利用外存来逻辑地扩充主存。 主要特点:打破了一个程序一旦进入主存便一直运行到结束的限制。 =》请求调入方式 是在程序执行时,如果所要访问的程序段或数据段不在内存中,则操作系统自动地从外存将有关的程序段和数据段调入内存的一种方式。 =》预调入方式 由操作系统预测在不远的将来会访问到的那些程序段和数据段部分,并在它们被访问之前系统选择适当的时机将它们调入内存的一种数据流控制方式。 4.内存的分配与回收 存储管理模块要为每一个并发执行的进程分配内存空间,当执行结束后,又要及时回收该进程所占用的内存资源(去配) ,以便给其他进程分配空间。 分配和去配时要考虑以下几种策略: 分配结构:登记内存使用情况,供分配程序使用的表格与链表。 放置策略:确定调入内存的程序和数据在内存中的位置。 交换策略:当内存没有足够的空间时,确定把内存中的哪些程序段和数据段调出内存,以便腾出足够的空间。 调入策略:外存中的程序段和数据段什么时间按什么样的控制方式进入内存。 回收策略:回收的时机,回收的内存空闲区和已存在的内存空闲区的调整。 5.内存信息的共享与保护 问题:由于内存中放有多个作业(共享内存),一旦地址越界,会侵扰其它作业或OS。 功能:对多道程序在内存中的地址是否越界进行检查。 方法:存储器管理方法和采用界限寄存器(上、下界寄存器,基址、限长寄存器)。 时间:作业调入内存时,或指令执行时。 6. 存储管理的功能(小结) 虚拟存储器:内存扩充 地址变换 内外存数据传输的控制 内存的分配与回收: 内存信息的共享与保护 §2 分区存储管理 把内存划分成若干个大小不等的区域,除OS占用一个区域外,其余由多道进程共享。 分区管理是实现多道程序设计的一种最简单的存储管
显示全部