所用教材为:操作系统教程(第5版) 费翔林 骆斌编著
分段存储管理
引入分段存储管理的原因:
(1)方便编程
(2)信息共享
(3)信息保护
(4)动态增长
(5)动态链接
模块化程序设计的分段结构
分段存储管理基本原理
逻辑地址
段号:段内地址
段表
段表记录各段在内存中的情况
指出内存中个分段的段号、段起始地址和段长度
地址变换机构
分段存储管理的地址转换和存储保护
(1)多对基址/限长寄存器
(2)段的共享是通过不同的作业段表中的项指向同一个段基址来实现
(3)几道作业共享的例行程序就可放在一个段中,只要让各道作业的共享部分有相同的基址/限长值
(4)对共享段的信息必须进行保护,保护胃用来对共享段实施保护,如禁写,禁修改等。
分段和分页的比较
(1)划分目的不同
(a)页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率。分页仅仅是由于系统管理的需要而不是用户的需要
(b)段是信息的逻辑单位,它含有一组其意义相对完整地信息。分段的目的是为了能更好地满足用户的需要
(2)大小和属性不同
(a)页的大小固定,由系统决定,是由机器硬件实现的,在一个系统中只能有一种大小的页面
(b)段的长度不固定,决定于用户所编写的程序,通常由编译程序在对源程序进行编译时,根据信息的性质来划分。
(3)描述方式不同
(a)分页的作业地址空间是一维的,即单一的线性地址空间,程序员只需利用一个记忆符,即可表示一个地址
(b)分段的作业地址空间则是二维的,程序员在表示一个地址时,既需给出段名,又需给出段内地址
连续分配与离散分配的性能比较
虚拟存储管理
虚拟存储器概念
(一)引入原因
传统存储器存在的问题:
(1)作业很大,其所求的内存空间超过了内存的部容量
(2)内存容量不足,难以容纳较大量需要运行的作业
解决途径——
物理上增加内存容量
逻辑上扩充内存容量——>虚拟存储器
(二)虚拟存储器定义
所谓虚拟存储器,是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统
在具有层次结构存储器的计算机系统中,采用自动实现部分装入和部分对换功能,为用户提供一个比物理内存容量大得多的,可寻址的一种“内存储器”
(三)虚拟存储器的特点
(1)从用户角度看,系统所具有的内存容量比实际内存容量大得多,但物理上,并非如此
(2)
逻辑容量是由内存容量和外存容量之和所决定的,其运行速度接近于内存速度,而每位的成本又接近于外存
最大容量由地址结构决定
(3)仅把作业一部分装入内存变能运行
(四)虚拟存储器的特征
离散性
多次性
对换性
虚拟性
(五)虚拟存储器的基本条件
(1)内存作业采用段(页)式原理
(2)具有请求调段(页)功能
(3)具有段(页)置换功能
(六)虚拟存储器管理实现技术
实现虚拟存储器续解决的问题
(1)内存外存统一管理问题
(2)逻辑地址到物理地址的转换问题
(3)部分装入和部分对换问题
请求分页虚拟存储管理
外页表:
•页面与磁盘物理地址的对应表,由操作系统管理,进程
启动运行前系统为其建立外页表,并把进程程序页面装入外存。
•该表按进程页号的顺序排列,为节省内存,外页表可存放在磁盘中,
当发生缺页中断需要查用时才被调入。
缺页异常处理过程
最小(页面)物理块的确定
(1)能保证进程正常运行所需的最小物理块数。
(2)进程应获得的最少物理块数与计算机的硬件结构有关,取决于指令的格式、 功能和寻址方式。
页面的分配策略
分配策略:固定分配和可变分配
置换策略:全局置换和局部置换
(1)固定分配局部置换
(2)可变分配全局置换
(3)可变分配局部置换页面替换策略
局部替换和全局替换
调页策略和清除/写回策略
缺页中断率
计算
影响因素
(1)内存页框数
(2)页面大小
(3)页面替换算法
(4)程序特性:局部性原理
页面替换算法
调入一页而必须淘汰一个旧页时,所淘汰的页应该是以后不再访问的页或距现在最长时间后再访问的页
通常可保证获得最低的缺页率
(2)先进先出页面替换算法FIFO
算法淘汰最先调入内存的页,或者说在内存中驻留时间最长的页
(3)最近最少用页面替换算法LRU
算法淘汰的页面是在最近一段时间里较久未被访问的那页
(4)时钟页面替换算法Clock
缺页中断率对有效访问时间的影响
抖动
概念:
刚被淘汰的页面立即又要调用,而调入不久随即被淘汰,淘汰不久再被调入,如此反复,使得整个系统的页面调度非常频繁,以致大部分时间都浪费在来回调度页面上,而不是执行计算任务,这种现象叫做抖动或颠簸
产生原因:
内存中同时运行的进程太多,而分配给每个进程的页框少,不能满足它们正常运行的需要
防抖动:三方面入手:
(1)增加分配给进程的页框数
(2)挑选页面替换算法
(3)改进应用程序结构
请求段页式虚存管理
虚地址、实地址、逻辑地址
逻辑地址的形式
存储器管理方案及虚存页面替换
存储管理方案小结
虚存页面置换算法小结