操作系统_存储管理
不能由CPU直接读取。
高速缓存
程序和数据可以直接
主存
被CPU访问
外存
程序和数据必须交换到 内存后才能被CPU访问
第三章 操作系统
17
2、存储管理功能 (内存分配、地址转换、存储保护和内存扩充)
1) 内存分配:解决如何合理分配内存空间保证以保 证各作业互不冲突,提高内存的利用率和运行效 率。
4) 内存扩充:当作业的地址空间大于分配到的存储空
间时需采取内存扩充技术。
常采用的内存扩充技术:覆盖、交换、虚拟存储
第三章 操作系统
21
3.2.2 实存储管理
当作业要求调入内存时,存储管理要提供 一个不小于作业地址空间的连续存储空间,当 空间不够时,常采用覆盖或交换技术扩充内存。
几种常用的实存储管理方法:
n
左邻居
右邻居
第三章 操作系统
P-1 P
P+n
30
空间回收例题
在空间分配例题中,当作业P4完成后,应 回收P4分区到空闲块链表中,见图a;当P5作业 完成后,回收使由于其左右邻居均为空闲块, 因此应进行合并,见图b所示。
第三章 操作系统
31
P1 P2 P3
P4
P5
P0
av
1901
3501
0 900
P1 P2 P3
1000 300 600
P4 P5 P0
900 700 1500
图a
第三章 操作系统
28
1
1 1000
P1 1
1001
1 300
P2 1
1301
1 600
P3 1
1901
1
1 900 P4
2801
1 700
P5 1
图b—占用块
av
3501
0 1500 P0
0
图c—空闲块
❖ 空间回收:当作业执行完毕后,系统将空间收回,插 入到空闲块链表中,但插入时还要判断左右相邻块是 否空闲,若是则合并成一个较大的空间,它可通过每一 块中头尾的控制信息区的tag标志来判断。设当前回收 块起始地址为p,大小为n,则应判断它左邻居p-1和右邻 居p+n的tag是否为0,若不为0则将当前回收块插入到 空闲块链表中。若出现有tag为0的相邻块,则应修改 原空闲块的大小,将本回收块和相邻块合并。
作系统需解决各活动之间的切换,控制各活动之间的影 响及同步操作等问题。
➢ 共享性:资源共享。相关问题是如何合理分配资源。
➢ 不确定性:与确定性相互依存,同一程序、相同的数据 要求运行结果是确定的。但系统对发生的不可预测的事 件的响应应该是不确定的,如程序运行中的错误处理及 各种外设的中断申请都应该是不确定的。
第三章 操作系统
8
3.1.2 操作系统的分类
三大类:多道批处理系统、分时系统、实时系统
1. 多道批处理操作系统
多道--内存中可存放多道作业; 批处理--用户与作业之间没有交互作用,用户不能直接控制作
业的运行。 作业--用户要求计算机执行的工作。由作业步组成。
作业被调入系统,先存放在外存缓冲区中,形成 作业队列,系统按照一定的调度原则或根据作业的优 先程度从作业中调出一个或多个作业进入内存运行。
312kB 320kB 352kB 384kB 504kB 1024kB
内存 OS
8kB 32kB 32kB 120kB 520kB
内存状态表
返回
例:某系统使用固定分区分配管理,现有1k、9k、33k、121k 多道作业进入内存,画出占有空间情况,问浪费多大?
20k 28k 60k 124k 256k
可靠性要求比较高。
包 实时过程控制:用于工业生产的自动控制、导弹发射和飞机
括
飞行等控制实验过程控制。
实时信息处理:对信息作及时处理,用于机票预订、银行或
商店的数据处理等
三种操作系统经常组合起来使用, 形成通用操作系统。
第三章 操作系统
11
3.1.3 操作系统的功能和特性
1. 操作系统的功能(5个)
0 1500
P4 0
P0 0
P4 释放
图a
P1 P2 P3
x’ = x +
物理地址 逻辑地址
逻辑地址空间
D
下界地址 物理地址空间
x
上界
L
下界
D
D
x’
L 界地址寄存 器
动态重定位:在程序执行过程中进行,当CPU访问内 存指令时由动态变换机构自动进行地址转换。
3) 存储保护:
在静态重定位系统中,应满足D≤ x’ <L, 执行错误处理程序。
否则
对动态重定位系统的存储保护将结合有关的存储方 式来讨论
1. 分区分配 2. 可重定位分区分配 3. 覆盖技术 4. 交换技术
第三章 操作系统
22
1、分区分配: 适应于小型、微型机上的多道系统
思想:将内存划分为若干个分区,每个分区分配给一个作业, 用静态重定位方式进行地址转换,用硬件措施保证各作业互 不干扰。划分方式上有固定分区和可变分区两种。
1) 固定分区分配:存储器事先被划分为若干个大小不 等的分区,存储管理程序根据调入内存作业的最大 存储量,找出一个足够大的分区分配给它。
• 单道分时:内存中只留一道作业,开销大。
• 前台和后台分时:前台无作业时运行后台作业。
• 多道分时:内存放多道作业,轮流运行,不必调进 调出。
第三章 操作系统
10
3.1.2 操作系统的分类
3. 实时系统:
特点:要求对外部发生的随机事件作出及时响应,
并对它进行及时处理。适用于工业控制系
或事务处理系统。有较强的中断处理机构,
系统为每个分区设置一个目录,说明该分区的大小、 起始位置、分配状况等信息,所有分区目录构成一 个内存状态表。
特点:分区大小固定,状态表的结构可以是顺序表 也可以是链表;分区的分配和回收算法简单。
缺点:内存利用率低,有“碎片”,作业所需空间 和分区大小不一定恰好相等。
第三章 状态 1 8kB 312kB 已分配 2 32kB 320kB 已分配 3 32kB 352kB 未 用 4 120kB 384kB 未 用 5 520kB 504kB 已分配
计算机基础教学课件
第三章 操作系统
--上海大学 通信与信息工程学院 安平
3.1 引论 3.2 存储管理 3.3 处理器管理 3.4 设备管理 3.5 文件管理 3.6 操作系统的用户接口
第三章 操作系统
2
3.1 引论
➢ 3.1.1 什么是操作系统 ➢ 3.1.2 操作系统的分类 ➢ 3.1.3 操作系统的功能和特性
第三章 操作系统
19
❖ 重定位:当用户程序调入内存时,需把相对地址转换为
绝对地址,同时要对程序中与地址相关的指令进行修改, 这一过程称为重定位。
静态重定位:通过CPU中一对界地址寄存器来实现。集中 一次进行地址转换,在执行过程中不再改变。
下界:作业在内存中的起始地址
上界:作业在内存中的终止地址
应用 软件
语言编译软件:C, Basic等
3.1.1 什么是操作系统?
计算机系统中硬件和各种软件构成层次关系,硬 件是核心(裸机)。
最终用户
应用软件 系统实用程序
操作系统 计算机硬件
程序员
操作系统设 计人员
操作系统的发展过程
手工操作阶段早期批处理阶段执行系 统阶段多道程序系统
1. 手工操作阶段:程序的读入、编译、装配和 执行都由操作人员人工控制。速度慢、效 率低。
适用于大型计算机系统,要求对资源的分配及作 业的调度有精心的设计,管理功能强。
3.1.2 操作系统的分类
2. 分时系统:多个用户分享同一台计算机,将CPU在 时间上分割成很小的时间段,称为时间片,系统将 CPU的时间片轮流分配给多个用户,每个用户通过 自己的终端直接控制程序的运行,进行人机交互。 由于时间片分割很小,使每个用户感觉自己独占计 算机一样。(多路性、交互性、独占性)
➢ 处理器管理:解决CPU的分配策略、实施方法, 以及资源的分配和回收等。(进程控制、进程 同步、进程调度、进程通信)
➢ 存储管理:解决多道程序在内存中的分配,当 进程被撤消时回收分配出去的内存,通过对内 外存联合管理来扩大存储空间。(内存分配、 内存保护、内存扩充)
➢ 设备管理:对设备进行分配、调度,为用户使 用I/O设备提供方便的命令和操作界面。
中断技术使系统能暂时中止正在运行的程序,转向 中断处理程序,而被终止的程序在一定条件下又能 重新恢复运行。
各种中断程序及负责输入输出的控制程序统称为执 行系统, 常驻内存。
第三章 操作系统
7
4. 多道程序系统
执行系统中,CPU一次只能执行一个作业。
多道程序是指在一台机器上同时运行若干道程 序。系统按照各个程序在各个时刻对资源的需 求进行时间分配。
➢ 虚拟性:物理上的实体->逻辑上的对应物。
第三章 操作系统
14
3.2 存储管理
➢ 3.2.1 存储管理的功能及有关概念 ➢ 3.2.2 实存储管理 ➢ 3.2.3 虚拟存储管理
第三章 操作系统
15
3.2.1 存储管理的功能及有关概念
存储管理分为两大类: 实存储管理 虚拟存储管理。
第三章 操作系统
26
可变分区分配
占用块 空闲块
图 3.8 P1
P3 P4
P6
P8
L link tag size R link
图 3.9 控制信息区
tag
UP link
第三章 操作系统
27
空间分配例题
设某系统用户区大小为5000字节,地址为1 ~ 5000,初始状态如下图a所示,依次分配给5个作业 P1 ~ P5, 作业占用区大小分别为1000,300,600, 900,700。 P0 为余下的空闲块,各占用块和空闲块 情况如下页图b和c所示。