概述分区存储管理页式存储管理段式存储管理段页式存储管理虚拟存储重要性:直接存取要求 内存速度 尽量快到 与
CPU取指速度相匹配,大到能装下当前运行的程序与数据,否则 CPU执行速度就会受到内存速度和容量的影响而得不到充分发挥存储管理重要性
5.1 基本概念存储管理的任务
5.1.1 存储管理的任务
( 1)内存空间的管理、分配与回收
( 2)存储共享
( 3)存储保护防止地址越界 (每个进程都有自己独立的进程空间)
防止操作越权( 即读写保护 )
( 4)内存扩充 (虚拟存储技术)
( 5)地址转换( 地址重定位、地址映射 )
原因,CPU执行指令时,是按物理地址进行的地址映射
Load A 200
3456


1200
物理地址空间
Load A data1
data1 3456
源程序
Load A 200
3456
0
100
200
编译连接逻辑地址空间
BA=1000
基址逻辑空间和物理空间
0
3456..
...
.
LOAD A 200
...
...
0
100
200
300
...
...
...
LOAD A 200
3456
逻辑地址空间
1100
1200
1300
物理地址空间
200
VR
+
1000
BR基址寄存器
静态地址转换
动态地址转换重定位和地址映射分区管理系统把内存用户区划分为若干分区,分区大小可以相等,也可以不等。 一个进程占据一个分区
固定分区
可变分区
5.2 分区存储管理固定分区 管理预先把可分配的内存空间分割成若干个连续区域,每一区域称为 分区每个分区的大小可以相同也可以不同,分区大小固定不变,每个分区装一个且只能装一个作业分区 4
分区 3
分区 2
分区 1
操作系统多个等待队列单个等待队列分区 4
分区 3
分区 2
分区 1
操作系统内存利用率不高固定分区管理可变分区管理
基本思想
作业装入时,根据作业的需求和内存空间的使用情况来决定是否分配
若有足够的空间,则按需要分割一部分分区给该进程;否则令其等待内存空间
用于多道程序系统
0K
15K
38K
48K
68K
80K
110K
120K
空闲区表已分配区表始址 长度 标志
15K 23K 未分配
48K 20K 未分配
80K 30K 未分配空空始址 长度 标志
0K 15K J1
38K 10K J2
68K 12K J3
110K 10K J4
空空可变分区
0K
15K
38K
48K
68K
80K
110K
120K
空闲区表已分配区表始址 长度 标志
15K 23K 未分配
48K 20K 未分配
98K 12K 未分配空空始址 长度 标志
0K 15K J1
38K 10K J2
68K 12K J3
110K 10K J4
80K 5K J5
85K 13K J6
85K
98K
“碎片”问题可变分区管理分页管理基本思想(工作原理)
用户程序划分把 用户程序按逻辑页划分成大小相等 的部分,称为页 。 从 0开始编制页号,页内地址是相对于 0编址
逻辑地址 页号 页内地址
5.3 分页管理一般,一页的大小为 2的整数次幂
..
.
0
1
2
3
4
5
6
0
1
2
3
4
5
6作业的地址空间页框
(物理块)页号页表 主存中页框
(物理块)
..
..
物理块 按页的大小划分逻辑上相邻的页,物理上不一定相邻分页管理
p’
页表地址越界
l
比较
P>=1
p p’
.,,
快表
b
+
页号 p 页内地址 d
P’ d
物理地址页表地址寄存器 页表长度寄存器 逻辑地址分页管理地址映射机制
P’:块号分页管理小结
优点:解决了碎片问题便于管理
缺点:不易实现共享不便于动态连接分段管理
1,基本思想
用户程序划分按程序自身的逻辑关系划分 为若干个程序段,每个程序段都有一个段名,且有一个段号。段号从 0开始,每一段也从 0开始编址,段内地址是连续的
逻辑地址 段号 段内地址
5.4 分段管理
...
0
S
工作区段 [B]
主程序段 [M]
...
...
0
E
P
子程序段 [X]
0
K
...
CALL [X] [E]
...
...
...CALL [Y] [F]
CALL [A] 116
...
...
0
F
L
子程序段 [Y]
0
116
N
数组 [A]
12345
...
分段管理操作系统
.
.
.
.
.
B0S
A0N
Y0L
X0P
M0K
逻辑段号
0
1
2
3
4
作业 1的地址空间
1000
3200
5000
6000
8000
P
K
S
L
N
主存
K 3200
P 1500
L 6000
N 8000
S 5000
长度 段地址
0
1
2
3
4
操作系统分段管理基本思想以段为单位分配内存段 表
ClCb
+
段号 S 段内地址 d
比较比较
b + d
段 表
S>= Cl
快表物理地址段表始址寄存器 段表长度寄存器 逻辑地址
l b,,.
S l b
地址越界
d>= l
d>=l
分段管理地址映射及存储保护机制地址越界地址越界比较
l:段长分段管理小结优点:
便于动态申请内存管理和使用统一化便于共享便于动态链接缺点:产生碎片思考:与可变分区存储管理方案的相同点与不同点?
段页式管理
1、产生背景结合页式段式优点,克服二者的缺点
2、基本思想用户程序划分,按段式划分(对用户来讲,按段的逻辑关系进行划分;对系统讲,按页划分每一段)
逻辑地址,
内存划分,按页式存储管理方案内存分配,以页为单位进行分配段号段内地址页号 页内地址
5.5 段页式分段管理虚拟存储方法的引入
5.6.1 基本概念
1,虚拟存储方法的引入
原有存储管理方法中存在的问题
解决问题的动机
问题产生的原因
解决方法的探索
解决方案的可行性分析
5.6 虚拟存储管理虚拟存储的引入
1)原有存储管理中存在的问题
当作业很大,超过内存剩余时,无法装入
装入的作业对内存利用率不高
99%空间内的指令在短时间内都不会得到执行
2)解决问题的动机
解决装入作业受限
提高内存利用率
提高系统吞吐量短时间内执行的部分虚拟存储的引入
3)问题产生的原因
作业装入的“一次性”
作业装入后的“驻留性”
4)解决方法的探索
不需一次全部装入作业
装入内存的程序可在不需要访问时暂时退出内存虚拟存储的引入
5)解决方案可行性
程序执行的局部性规律
( 1)顺序执行规律
( 2)跳转的局部性
程序的跳转和调用范围不大
( 3)数据访问的局部性
局部性
时间的局部性 在短时间内多次被访问
空间的局部性 在较短程序范围内多次访问虚拟存储器的定义
2,虚拟存储器的定义
虚拟存储指仅把作业的一部分装入内存便可运行的存储管理系统,通过作业各部分的动态调入和置换,
用户所感觉的存储空间比实际空间大,称之为虚空间。
内存程序分页 磁盘对换区0
1
2
3
将暂时不用的第 0页置换出去部分装入后开始执行将暂时不用的第 1页置换出去产生给用户感觉比实际空间大的虚拟空间
0
1
2
3
虚拟存储的特征
3,虚存的特征
离散性
虚拟存储建立在离散内存管理基础上
多次性
程序页面会多次进 /出内存
对换性
在置换页面时需要在外存建立对换区
虚拟性
程序部分装入就可以执行
给用户感觉比实际空间大的虚拟空间虚空间大小
4,虚空间大小
虚空间的逻辑大小 =
虚空间的实际大小 =
例,32位操作系统的可寻址范围是
232=4GByte,Windows98系列系统。
例:在 window系统盘根目录下,有兑换文件
--外存对换区。如 XP系统的 pagefile.sys
文件可寻址范围内存+外存对换区虚拟存储例虚拟存储的外存对换区请求式分页存储管理
5.6.2请求分页式存储管理
以分页存储管理为基础
解决地址空间的映射问题
地址的转换
新的问题:
“不完全调入”
需要的页面是否已装入内存?
当需要访问的页面不在内存中如何处理?
请求式分页方式的实现
1.请求分页方式的实现
1)对页表进行扩充
让系统了解页面装入状态
状态位:
为 0 不在内存中
为 1 在内存中页号 块号 存取控制 状态位 引用位 修改位 外存地址页面是否被访问过页面是否被修改过页面如果不在内存中,记录页面在兑换区的位置请求式分页方式的缺页中断
2)缺页中断(系统发现要访问的页面不在内存中时)
基本思想
当发现将要用到的页面不在主存中时产生缺页中断,由缺页中断来完成页面的调入。
调入过程
(见后)
请求式分页的地址变换机构
3)地址变换机构及过程
请求 式分页系统--按需要请求调入页面相对地址页号 页内地址页表始址 页表大小页表寄存器
( JT内容)
+
块号 块内地址物理地址寄存器有效地址寄存器
> 越界?
页号 块号页表存在位 缺页中断
2 1 50
3 0 601
在分页式地址变换结构上增加 扩展的页表、缺页中断处理请求分页方式的特点
2.请求分页式特点
离散分配:效率高、复杂
虚拟存储管理:部分装入、请求调入、页面置换
缺页中断将耗费系统时间,缺页率是影响系统性能的主要因素
缺页率:需要访问的页面不在内存中次数在总页面访问次数的比率
缺页率与程序实际使用的内存块数量相关请求式分页系统的策略
5.6.3 请求分页系统的策略
分配策略
不必一次装入作业的所有页面,究竟装入时分配多少个内存块?
页面调入策略
不是所有的页面都在内存中,哪些页面应该在内存中?
剩下的页面何时调入?
页面置换策略
当没有空闲内存块,又需要调入新的页面时,
要将已装入内存的页面置换出去,如何选取页面置换?
请求式分页的页面分配策略
1,分配策略
给用户程序分配多少内存块够用?
用户能要求增加吗?
不能:固定分配策略
能:可变分配策略程序内存请求式分页的页面调入策略
2.页面调入策略
什么时候调入程序的页面?
调入程序的哪些页面?
预测调入、群调入
在调入一个需要页面的同时,将其相邻的几个页面的一并调入
按请求调入程序内存请求式分页的页面置换
3 页面置换算法
页面置换:
当需要访问的页面不在内存,有没有多余的空白内存块,这时需要将以装入页面中的一页 置换 到外存对换区,腾出的内存块可以装入需要的页面
页面置换算法
页面置换需要在多个已调入内存中的页面中选择。
页面置换带来的抖动问题
5.6.4 页面置换带来的问题
抖动问题:系统频繁地调进和调出页面,系统吞吐量大大下降。
页面 内存请求式分页的页面置换算法
5.6.5 页面置换算法
( 1)最佳置换策略
被置换的内存页面应是以后永久不再需要或最久不再访问的页面--理想算法
( 2)最简单的算法 ——FIFO
按照页面进入内存的先后顺序置换
( 3)最近最久不用( LRU)
之前最近一段时间最久没有使用过的页面将被置换
( 4)最近最少使用( LFU)
之前最近一段时间最少使用过的页面将被置换例,某程序在内存中分配 m页初始为空,页面走向为 1,2,3,4,1,2,5,1,2,3,4,5。
当 m=3,m=4时缺页中断分别为多少?用 FIFO
算法计算缺页次数
m=3时,缺页中断
m=4时,缺页中断注,FIFO页面淘汰算法会产生异常现象。即:
当分配给进程的物理页面数增加时,缺页次数反而增加页面淘汰算法 例
9次
10次例子,内存分配一页,初始时第一页在内存;页面大小为 128个整数;矩阵 A128X128 按行存放程序编制方法 1:
For j:=1 to 128
For i:=1 to 128
A[i,j]:=0;
程序编制方法 2:
For i:=1 to 128
For j:=1 to 128
A[i,j]:=0;
影响缺页次数的因素(举例)
总共要产生:
( 128- 1)次缺页中断总共产生:
( 128× 128 - 1)
次缺页中断虚存管理系统信息例
利用 Windows优化大师观察到的虚存信息作业
解释,逻辑空间、物理空间、重定位
分页管理、分段管理优缺点
虚拟存储管理的虚拟性体现在什么地方?
在分页式管理方式基础上实现请求式分页管理,需要增加哪些重要技术?
作业
请解释为什么当程序装入内存后要进行地址变换,
可举例说明
设页和块的大小均为 32字节,页表内容如下,请计算逻辑地址 100在内存中的地址,并结合分页式地址转换机构描述地址转换过程页号 块号
0 20
1 55
2 12
3 8
作业
设页和块的大小为 32字节。段表和页表如下,请计算段页式存储管理方式下,data段地址 10和 code段地址 60的单元存放在内存的哪个单元(即物理地址)
段名 段号 页表指针
data 0
code 1
页号 块号
0 3
1 4
2 5
页号 块号
0 1
1 2
2 6
第六章 设备管理
操作系统对外设资源的管理
设备管理任务:
根据各类设备的特点确定相应的分配策略
启动设备完成实际的输入输出操作
向用户提供一个统一的、友好的使用界面
优化设备的调度、提高设备的利用率设备管理的体系结构
设备管理分为两层
第一层:,输入输出控制系统”
与用户进程交互,它完成设备的分配、调度并向程序员提供一个统一的编程接口
第二层:,设备驱动程序”
它直接与设备打交道,控制设备控制器完成具体的输入输出
÷ 3ì
×è è? μ?ó÷ 3ì
é?¤I / Oó
μ?óù?ˉ 3ì Dò
×′ ìì?é
D? μ?ó÷ 3ì
·μ μ?ó÷ 3ì
3? êˉ éè ±·
êù?Y ′í
·μ ê? è? ê? 3μ í3
ê? è? ê? 3μ í3
éè ±·?ù?ˉ 3ì Dò
逻辑设备与物理设备
输入输出控制系统必须把逻辑设备映射到实际的物理设备,系统必须保存一张记录了物理设备信息的表,我们把它称为逻辑设备表逻辑设备号 物理设备号 设备驱动程序入口地址
1 6 20E0 000
2 1 1F C120
… … … … … …
缓冲技术
原因:
CPU与外设、内存与外设、外设与外设之间的处理速度是不匹配的,处理速度极慢的外设频繁地中断 CPU的运行,将会大大降低 CPU的使用效率。
目的:
利用输入输出缓冲器可提高 CPU与输入输出设备之间的并行程度,提高整个系统的运行效率设备的分配与调度
按用户要求合理、公平地进行设备分配
分配时机:
程序创建进程时
进程运行时提出了资源申请时
使用表数据结构记录资源使用情况设备驱动程序设备驱动程序 负责接收和分析从设备分配程序转来的信息以及设备控制表中的信息,结合设备特性,进行信息格式转换,把执行信息转换成设备能够执行的形式,驱动设备进行
I/O操作。
第七章 文件管理
文件系统基本功能:
确定物理存储设备的存储结构
确定文件的组织结构
实现文件的保护和共享文件的结构
ò?
·?
×?
ú
×ú áú êú
ò?
·?


文件的结构:
是文件中信息的组织方式。
字节流式文件记录式文件文件的存取
早期操作系统为顺序存取( Sequential Access)。
进程只能从文件的开始处顺序读取文件中的所有字节或记录,不能跳过某些内容
其后产生随机存取文件( random access file)。
它允许非顺序地读取文件中的字节或记录
在现代操作系统中,所有的文件创建后,自动成为随机存取文件文件的属性下表列出了一些可能的文件属性域域 含义 域 含义保护 访问者及其访问权限 临时标志 0,正常; 1,临时文件口令 访问所需口令 锁标志 0,未加锁; 1,加锁创建者 创建者 ID 记录长度 一条记录的字节数拥有者 当前拥有者 关键字位置 每条记录的关键字位置只读标志 0,读写; 1,只读 关键字长度 关键字域的 长度隐藏标志 0,正常; 1,隐藏 创建时间 文件创建日期和时间系统标志 0,正常; 1,系统文档 修改时间 文件最近修改日期和时间存档标志 0,已备份; 1,未备份 存取时间 文件最近访问时间和日期
A S C I I/ 二进制标志 0,A S C II 文件 1,则否 当前长度 文件字节数随机存取标志 0,顺序; 1,随机 最大长度 文件允许最大长度文件的存取控制
NTF S 文件系统权限权限 文件夹 (就是目录) 文件读 ( R- Re a d ) 查看文件夹、属性、权限 查看文件、属性、权限写 ( W - W r i t e ) 添加文件夹,更改属性、
显示权限更改文件属性、添加或修改文件内容执行 ( X- e Xe c ut e ) 更改文件夹,显示权限属性运行文件,显示属性和权限删除 ( D- De l e t e ) 删除文件夹 删除文件更改权限 ( P - c ha n ge P e r m i s s i on ) 修改文件夹权限 修改文件权限取得所有权 ( O- t a ke Ow ne r s hi p ) 取得文件夹的所有权 取得文件的所有权文件的存储如何管理磁盘存储空间
连续分配,链表方式
索引链表,I-结点,
操作系统的发展
1,健壮性和安全性,
2.多处理器能力,
3.简单方便的系统配置和管理
4.网络配置管理,
5.分布式对象技术,
6.支持 64位计算,
操作系统需要解决的问题
操作系统所管理的各类资源的性质不同,但都需要解决以下几个问题:
有哪些资源,记录资源的使用情况
如何分配资源
如何有效调度,实现资源的共享和提高资源利用率
资源回收
资源的共享