软件基础

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

上一页
停止放映
下一页
第 31 页
固定分区示意图
操作系统
作业A 作业B
50k
分 区
区号 1 2 3
上一页

起址 状态 20K 已分 30K 已分 50K 已分
20K 30K
第1分区 第2分区 第3分区 未分区
长度 8K 14K 28K
作业C
8源自文库K
4
76K
80K 未分
停止放映
下一页
主存“垃圾”
第 32 页
上一页
停止放映
下一页
第 12 页
静态地址重定位
是指在作业执行之前进行的重定位。地址转 换工作主要靠重定位装入程序来完成。这 种方式简单、容易实现,无需硬件的支持, 是早期计算机采用的一种方式。
缺点是:
–程序一经定位后就不能再在主存中移动; –要求作业分配连续的主存空间,主存资源 利用率低; –难于实现主存的资源共享。
上一页
停止放映
下一页
第 19 页
存储空间的分区保护
在多道程序系统的 主存中,为了保护 系统程序的安全, 系统程序和用户程 序实际使用的区域 是隔开的。 这种分割是靠硬件 实现的。用户程序 只能使用用户区域 的存储空间。 主存空间的分区 保护示意图
系统 区域
上一页
停止放映
下一页
用户 区域
第 20 页
系统区域
硬件隔 离装置
用户区域
上一页
停止放映
下一页
第 21 页
主存空间的扩充
在计算机中,主存总是常数,要想处理 大、多的作业,就要想办法扩充主存的 空间。主导思想是:如何在有限的主存 空间中,处理大于主存的作业。
上一页
“自动覆盖”技术和“虚拟存储”技术 是扩充主存常用的、有效的方法。
停止放映
下一页
int a; float b; char c;
汇编 或 编译
上一页
图3-7 地址变换示意图
停止放映
下一页
第 11 页
地址重定位
将一个作业从它的逻辑地址变换成它要装入 的、或要重定位的主存地址的过程。在多道 程序系统中,为了方便用户的使用,对于每 个作业的主存空间可以看成是由地址0开始的 连续的地址空间,称之为逻辑地址空间。但 作业运行是在主存,因此,要进行地址的转 换;称之为 “地址重定位”(地址映射)。 重定位两种方式:静态重定位和动态重定位。
方法要点:
把主存空间划分为若干个连续的区域,建 立空间分区表进行管理。
硬件支持:
增加新的保护装置——边界寄存器LOW、 UP,限制分块的上、下边界。
上一页
停止放映
下一页
方法分类: 采用“固定分区”和“变长分区”法。
第 30 页
固定分区(多连续分区)
在作业前,把主存划分为几个固定大 小的连续区域; 建立一个分配表,记录每个分区的大 小、区号、起始地址、及占用标志等 信息。 在作业调度时,根据作业表来确定程 序的重定位地址。
第 14 页
作业地址空间
主存空间
•••••• 100
0
100 300 500
INPUT 1,300 1 3 5 7 1 3 5 7 •••••• •••••• 静态 重定位
200 400 600
INPUT 1,400 1 3 5 •••••• •••••• 7
上一页
停止放映
下一页
第 15 页
动态地址重定位
动态地址重定位 是在程序执行过程中进行的重
定位,更确切地说是在每次访问内存单元前才进 行地址变换。它是通过硬件的地址变换机构实现 的。 设置一个重定位寄存器(RR),用来存放装入主 存空间时的起始地址。 作业访问主存空间的地址是由有效地址加重定位 寄存器的地址来确定。
上一页
停止放映
下一页
主存实际地址 = 有效地址 + 重定位寄存器内容
第3页
上一页
停止放映
下一页
一、存储器管理
存储器(Memory)能接收数据、保存数据、
而且能根据命令提供这些数据的装置。 存储管理 存储管理是针对内存的。主存是 CPU直接存取指令和数据的设备,所以,它 是系统程序和用户程序共享的重要系统资源。 如何 分配和管理有限的存储资源,是设计 人员甚至用户要研究、考虑的问题。
上一页
停止放映
下一页
第 24 页
固定分区表 编号 长度 始址 状态 1 2 3 4 8KB 20KB 已分 14K 28K 76K 30K 50K 80K 已分 已分 未分 80KB 主存“垃圾” 上一页 50KB 20KB 30KB
操作系统区 进程A(8KB) 进程B(14KB)
进程C(28KB)
停止放映
下一页
第 25 页
存储管理方法
常用的存储管理方法有: –单一连续区分配法 –多连续区分配法 –分页管理法 –分段管理法
上一页
停止放映
下一页
第 26 页
单一连续区分配法
方法要点:
把主存分为两个固定的存储区域;一个固定 地分配给OS,另一个分配给用户程序。
硬件支持: 引入“篱笆(Fence)寄存器” ,将OS和用
起始地址
状态 操作系统 20K 28K 作业2 44K 可用分区1 可用分区1 作业1
特点:
上一页
停止放映
下一页
作为优点来说,主存“零头”较小(但还有); 作为缺点来说: –选择剩下的空白区较小,无法使用; –寻找一个较大的空白区费时(从头找起); –归并主存“零头”,回收时费时。
第 34 页
多连续区分配法示意图
已 分 配 分 区 表 P 未 分 配 分 区 表 F
区号 长度 1 2 3 4 5 8K 16K ——124K •••• ••
上一页
停止放映
下一页
自由空间
第 28 页
单一连续区分配法示意图
定位寄存器
2000
1500(逻辑地址))
主存空间
2000 操作系统
CPU
上一页
+
3500 (绝对地址)
用 户 区 域
停止放映
下一页
自由空间 说明: 绝对地址=基地址+逻辑地址 基地址不同产生的绝对地址就不同。
第 29 页
多连续区分配法
第9页
上一页
停止放映
下一页
存储空间的地址变换
用户在程序中使用的是符号名,编译系统在产生的目标程 序中使用的是逻辑地址(相对地址),而可执行程序在计算 机中运行时使用的是物理地址(绝对地址)。由程序的符号 名空间到运行时真正使用的物理地址空间转换叫“地址转 换”,也称为程序的重定位。 int a; float b; char c;
外存储器
第8页
存储分配方式
直接分配 在源程序中直接使用主存的物理地
址。对用户要求高、使用不方便、易出错。早 期计算机系统中使用。 静态分配 在作业装入前,由程序一次性说明 作业所包含的地址空间。确定后在整个程序执 行过程中不再改变。简单、利用率低、难于实 现多道程序对资源的共享。 动态分配 在作业被装入主存或在执行过程中, 才确定其存储分配。管理复杂、但利用率高, 容易实现主存的资源共享。在现代多道程序系 统中,主要采用动态分配方式。
第 22 页
自动覆盖技术
这种方法的主要作法是将大的程序划分 为主存中可以容纳的独立的逻辑处理段。 每次只调入其中的一段进行处理。早期 程序设计中,经常采用类似的方法处理 大的问题。例如,求解大型线性方程组, 就是采用“分块”算法将大的系数矩阵 分为小块矩阵求解的。
上一页
停止放映
下一页
第 23 页
虚拟存储器(Virtual Storage)
第 16 页
动态地址重定位示意图
0 100 300
I 1,300 1357
重定位寄存器
1000 •••••• 0
1100 I 1,300
600
作业A 地址空间
上一页
有效地址
300 +
1300 1 3 5 7 1600
••••••
停止放映
下一页
主存空间
第 17 页
0 100
300 500
重定位寄存器 Load 1,[300] 1357 有效地址 300 作业A 地址空间 1000
它的基本思想是把作业的地址空间和物理地址 空间视为两个不同的概念,采用内、外存结合 的办法,把部分外存作为主存使用,以此为用 户提供了足够大的地址空间——虚存空间。用 户可以在这个地址空间内编程,而完全不考虑 主存的大小。 虚拟存储器技术是在硬件和软件的共同支持下 实现的。硬件负责虚实地址的转换;软件负责 实存(主存)和虚存(外存)之间的信息调度 管理。
第6页
上一页
停止放映
下一页
存储空间的分配和释放
在计算机中,无论是系统程序、还是用户程序, 无论是数据、还是文件,凡要处理必须装入主 存。如何管理分配存储空间? 需要考虑和解决的问题: 在多层次存储结构中,如何确定存储位置? 系统程序和用户程序如何管理? 大于主存的程序能否运行? 多道程序处理系统如何管理各个程序的存储空 间? 如何分配存储器?采用何种分配策略?
固定分区法特点
优点:
管理调度简单、分区策略适合于工作 负荷比较确定的系统。
缺点: 主存”零头”太多,浪费严重;由 此而产生 ”垃圾”回收问题。
上一页
停止放映
下一页
第 33 页
变长分区(多连续分区)
方法要点:
根据需要装入作业的实际大小划分区域,且分 区个数也可以调整;建立两张表:已分配分区 表P和未分配分区表F,来管理主存空间。
第7页
上一页
停止放映
下一页
多存储层次结构示意图
CPU 寄存器 高速缓冲存储器 主存储器
上一页
靠近CPU的存储器,存取速度快。 由触发器组成;存放一个Byte ( Bit、Word)
存放主存中程序的副本,再调用 该程序时,从高速缓存读取。
内存储器 用于内、外存之间交换暂存。
停止放映
下一页
后援存储器 磁盘
上一页
a的逻辑地址 b的逻辑地址 c的逻辑地址
0
a的绝对地址
2FF0
b的绝对地址
3EC0
停止放映
下一页
c的绝对地址4DAA 源程序符号空间 X 目标程序地址空间 进程的存储空间
第 10 页
符号名空间
地址空间 a的逻辑地址 0 b的逻辑地址 链接 c的逻辑地址 装配 500
存储空间 a的绝对地址 2FF0 b的绝对地址 3EC0 c的绝对地址 4DAA
上一页
停止放映
下一页
第4页
存储器管理的目的
尽量方便用户 提高主存的利用率
上一页
停止放映
下一页
第5页
存储管理的主要功能
存储分配 主存的分配和回收。为管理主存而
设置的相应的组织机制,记录主存的状态信息、 已分配、未分配块、分配策略等。 存储容量 当用户所需存储空间大于可用主存 容量时,系统采用存储器的多级机制、虚拟存 储、自动覆盖等技术。 地址变换 程序语言的符号地址空间到进程的 物理地址的转换。 存储保护 在多道程序系统中,系统进程和用 户进程间、用户和用户进程间的存储空间的保 护。
••••••
1000 1100
load 1,[300]
1300
1357
••••••
+
1500
上一页
停止放映
下一页
第 18 页
动态地址重定位的特点
目标模块装入主存时无需任何修改,因而装 入之后再移动也不会影响其正确运行,这对 存储管理时解决碎块问题极为有利; 若一个模块由若干个相对独立的目标模块组 成,每个分别装入互不相邻的内存区域,只 要各模块有自己对应的重定位寄存器。这样 便于内存的充分利用和资源的共享。 但是需要附加硬件的支持,增加了系统的开 销。
上一页
停止放映
下一页
第 13 页
静态重定位示意图
作业A的地址空间
0 100 INPUT 1,300
300 1 3 5 7 •••••• 500
上一页
主存空间
••••••
100 200 400 600
INPUT 1,400
1 3 5 7 •••••• ••••••
停止放映
下一页
作业的逻辑地址100处是一个输入语句,从逻辑地 址300处,读1个记录。重定位到主存空间后,因为 作业从物理地址100处被装入,输入语句的地址按 序被定位在200处,被读记录在400处。
户的使用区域分开。
上一页
用户程序定位(地址转换)方法: 采用“静态”法和“动态”法;前者是在程序
装入前,一次性定位,之后不再改变。后者是 采用硬件的定位寄存器,在程序执行过程中实 现动态定位。
第 27 页
停止放映
下一页
单一连续区分配法示意图
特点:
定位容易,使用简单 但在多道程序处理 情况下,主存资源 利用率低,浪费大。 已分配空间 用户 区域 OS 区域
第9单元 存储器与设备管理
软件基础
The Fundamentality Of Software
下一页
主讲:刘志强
西安交通大学 计算机教学实验中心
教学目标
了解存储器与设备管理的 概念、任务及采用的方法和技术
上一页
停止放映
下一页
第2页
学习要求
通过本单元的学习,了解、弄清、掌握: – 存储器与设备管理的概念、目的、任务 – 功能、存储分配、地址重定位、虚拟存储器 – 存储器与设备管理的常用方法和技术 – 单一连续区、多连续区、页式、段式等管理 方法 – I/O设备的分类及用途 – I/O设备与CPU的通信方式 – 循环测试、中断、DMA、通道方式 – 设备分配、管理的常用方法和技术 – SDT、DCT、COCT、CHCT表在设备管理机 制中的作用
相关文档
最新文档