Cha2 操作系统概述要求掌握
OS的三个目标
简单批处理系统主要为了解决串行处理方式下的什么问题
监控程序的作用是什么
多道程序批处理系统是为了解决什么问题
分时系统和批处理系统的主要区别
进程的组成
存储管理的功能
调度和资源管理的目标
OS层次结构的优点操作系统的目标
方便
– 使计算机更容易使用
有效
– 提高计算机系统资源的使用效率
扩展能力
– 有效地开发和引进新的功能目标 1- OS作为人机接口
程序开发
程序运行
外设访问
文件访问
系统访问
错误检测
统计计算机硬件操作系统实用程序应用程序终端用户 程序员
OS设计者目标 2- OS作为资源管理器计算机系统
OS软件程序数据
CPU
I/O控制器
I/O控制器外设存储器
…… ……
打印机键盘 …
外存储器
OS
程序数据目标 3- OS的易扩展性
硬件升级和新硬件出现
新的用户需求
错误更正
OS的发展
1940’s 串行处理
1950’s 简单批处理系统多道程序批处理系统
1960’s 分时系统串行处理
调度问题
准备时间太长控制台显示灯触发器输入设备打印机 结果程序 编译程序 源程序编译链接目标程序 公共函数可执行程序运行简单批处理系统中断处理设备驱动作业序列
JCL解释器用户程序读作业 1
执行作业 1
读作业 2
执行作业 2
……
内存分布情况 作业的执行过程监控程序常驻监控程序实用程序公共函数常驻监控程序 resident monitor
作业的格式
$JOB
$FTN
……程序
$LOAD
$RUN
……数据
$END
JCL-job control language
作业控制语言编译加载运行监控程序的功能
存储器保护
计时器
特权指令
中断总计 0.0031秒利用率 3.2%
系统利用率从文件中读一条记录 0.0015秒执行 100条处理指令 0.0001秒向文件中写回该记录 0.0015秒单道程序设计 uniprogramming
run wait run wait
P1 P2
……
……
多道程序设计 multiprogramming
run wait run wait
run wait
A
B
run
run
wait run
run
waitA
B
假设系统中有三个作业 …
JOB1 JOB2 JOB3
作业类型 大量计算 大量 I/O 大量 I/O
持续时间 5min 15min 10min
作业大小 50k 100k 80k
需要磁盘 否 否 是需要终端 否 是 否需要打印机 否 否 是执行情况对比
CPU
内存磁盘终端打印机
job1
job2
job3
0%
100%
单道程序设计 多道程序设计
job1 job2 job3
资源利用情况单道程序 多道程序
CPU 22% 43%
内存 30% 67%
磁盘 33% 67%
打印机 33% 67%
总时间 30min 15min
吞吐率 6个 /h 12个 /h
平均响应时间 18min 10min
多道程序系统需要考虑 …
I/O中断
DMA机制
存储器管理
调度算法
……
分时系统 time sharing
批处理多道程序系统 分时系统主要目标 提高 CPU利用率 减小响应时间指令来源 JCL作业中的命令 终端键入的命令第一个分时系统 ---1961,MIT开发的 CTSS
CTSS操作监控程序
JOB1
空闲监控程序
JOB2
空闲监控程序
JOB3
空闲
JOB2
监控程序
JOB1
空闲
JOB2
监控程序
JOB1
空闲
JOB2
JOB4
监控程序
JOB2
空闲
0
5000
32000
CTSS的特征
不需要重定位
减少写出频率
内存保护
文件保护
处理资源争用
OS中的主要概念
进程
存储器管理
信息保护和安全
调度和资源管理
系统结构计算机系统的发展
系统发展主线
–多道批处理系统
–分时系统
–实时事务系统? 产生错误的原因
–同步问题
–互斥问题
–不确定性
–死锁问题进程的概念 process
正在执行的程序
运行程序的一个实例
可以分配给 CPU并执行的一个实体
由执行线程、当前状态、相关资源描述的活动单元
可执行的 程序
程序需要的相关 数据
程序执行的 上下文 环境 context
进程实现方法上下文数据程序上下文数据程序
……
进程表进程 A
进程 B CPU寄存器
i 进程索引
b
h
PC
基址寄存器界限寄存器
… 其他寄存器b
h
i
内存存储器管理
进程隔离
自动分配和管理
支持模块化程序设计
保护和访问控制
长期存储
文件系统
虚拟存储器作业在内存中必须连续存放?
作业 内存虚地址
virtual address
实地址
real address
作业长度不能超过内存?
内存作业 1
作业 3
外存作业 1
作业 4
作业 2
虚拟存储器 virtual memory
允许作业大小 >内存大小作业 3
虚拟存储器 -分页
0
1
2
3
4
5
6
0
1
2
3
A
B
……
A2
A0
B0
A4
A1
B1
…
地址映射虚地址?实地址内存 外存虚拟存储器的寻址
CPU 存储管理部件主存外存虚地址 实地址磁盘地址 进程挂起信息保护和安全
访问控制
信息流控制
认证资源分配和调度策略
公平性
差别响应
有效性调度和资源管理操作系统服务调用处理程序中断处理程序短期调度器长期队列短期队列
I/O队列控制权给进程服务调用进程中断
I/O中断 ……
系统结构层 名称 对象 功能范围
13 Shell 用户程序设计环境外部对象
12 用户进程 用户进程
11 目录 目录
10 设备 外设
9 文件系统 文件
8 通信 管道
7 虚拟存储器 段、页单处理器资源6 本地辅存 数据块、设备通道
5 原始过程 原始过程、信号装置
4 中断 中断处理程序处理器硬件3 过程 过程、调用栈、显示2 指令集合 计算栈、微程序解释器
1 电路 寄存器
OS的三个目标
简单批处理系统主要为了解决串行处理方式下的什么问题
监控程序的作用是什么
多道程序批处理系统是为了解决什么问题
分时系统和批处理系统的主要区别
进程的组成
存储管理的功能
调度和资源管理的目标
OS层次结构的优点操作系统的目标
方便
– 使计算机更容易使用
有效
– 提高计算机系统资源的使用效率
扩展能力
– 有效地开发和引进新的功能目标 1- OS作为人机接口
程序开发
程序运行
外设访问
文件访问
系统访问
错误检测
统计计算机硬件操作系统实用程序应用程序终端用户 程序员
OS设计者目标 2- OS作为资源管理器计算机系统
OS软件程序数据
CPU
I/O控制器
I/O控制器外设存储器
…… ……
打印机键盘 …
外存储器
OS
程序数据目标 3- OS的易扩展性
硬件升级和新硬件出现
新的用户需求
错误更正
OS的发展
1940’s 串行处理
1950’s 简单批处理系统多道程序批处理系统
1960’s 分时系统串行处理
调度问题
准备时间太长控制台显示灯触发器输入设备打印机 结果程序 编译程序 源程序编译链接目标程序 公共函数可执行程序运行简单批处理系统中断处理设备驱动作业序列
JCL解释器用户程序读作业 1
执行作业 1
读作业 2
执行作业 2
……
内存分布情况 作业的执行过程监控程序常驻监控程序实用程序公共函数常驻监控程序 resident monitor
作业的格式
$JOB
$FTN
……程序
$LOAD
$RUN
……数据
$END
JCL-job control language
作业控制语言编译加载运行监控程序的功能
存储器保护
计时器
特权指令
中断总计 0.0031秒利用率 3.2%
系统利用率从文件中读一条记录 0.0015秒执行 100条处理指令 0.0001秒向文件中写回该记录 0.0015秒单道程序设计 uniprogramming
run wait run wait
P1 P2
……
……
多道程序设计 multiprogramming
run wait run wait
run wait
A
B
run
run
wait run
run
waitA
B
假设系统中有三个作业 …
JOB1 JOB2 JOB3
作业类型 大量计算 大量 I/O 大量 I/O
持续时间 5min 15min 10min
作业大小 50k 100k 80k
需要磁盘 否 否 是需要终端 否 是 否需要打印机 否 否 是执行情况对比
CPU
内存磁盘终端打印机
job1
job2
job3
0%
100%
单道程序设计 多道程序设计
job1 job2 job3
资源利用情况单道程序 多道程序
CPU 22% 43%
内存 30% 67%
磁盘 33% 67%
打印机 33% 67%
总时间 30min 15min
吞吐率 6个 /h 12个 /h
平均响应时间 18min 10min
多道程序系统需要考虑 …
I/O中断
DMA机制
存储器管理
调度算法
……
分时系统 time sharing
批处理多道程序系统 分时系统主要目标 提高 CPU利用率 减小响应时间指令来源 JCL作业中的命令 终端键入的命令第一个分时系统 ---1961,MIT开发的 CTSS
CTSS操作监控程序
JOB1
空闲监控程序
JOB2
空闲监控程序
JOB3
空闲
JOB2
监控程序
JOB1
空闲
JOB2
监控程序
JOB1
空闲
JOB2
JOB4
监控程序
JOB2
空闲
0
5000
32000
CTSS的特征
不需要重定位
减少写出频率
内存保护
文件保护
处理资源争用
OS中的主要概念
进程
存储器管理
信息保护和安全
调度和资源管理
系统结构计算机系统的发展
系统发展主线
–多道批处理系统
–分时系统
–实时事务系统? 产生错误的原因
–同步问题
–互斥问题
–不确定性
–死锁问题进程的概念 process
正在执行的程序
运行程序的一个实例
可以分配给 CPU并执行的一个实体
由执行线程、当前状态、相关资源描述的活动单元
可执行的 程序
程序需要的相关 数据
程序执行的 上下文 环境 context
进程实现方法上下文数据程序上下文数据程序
……
进程表进程 A
进程 B CPU寄存器
i 进程索引
b
h
PC
基址寄存器界限寄存器
… 其他寄存器b
h
i
内存存储器管理
进程隔离
自动分配和管理
支持模块化程序设计
保护和访问控制
长期存储
文件系统
虚拟存储器作业在内存中必须连续存放?
作业 内存虚地址
virtual address
实地址
real address
作业长度不能超过内存?
内存作业 1
作业 3
外存作业 1
作业 4
作业 2
虚拟存储器 virtual memory
允许作业大小 >内存大小作业 3
虚拟存储器 -分页
0
1
2
3
4
5
6
0
1
2
3
A
B
……
A2
A0
B0
A4
A1
B1
…
地址映射虚地址?实地址内存 外存虚拟存储器的寻址
CPU 存储管理部件主存外存虚地址 实地址磁盘地址 进程挂起信息保护和安全
访问控制
信息流控制
认证资源分配和调度策略
公平性
差别响应
有效性调度和资源管理操作系统服务调用处理程序中断处理程序短期调度器长期队列短期队列
I/O队列控制权给进程服务调用进程中断
I/O中断 ……
系统结构层 名称 对象 功能范围
13 Shell 用户程序设计环境外部对象
12 用户进程 用户进程
11 目录 目录
10 设备 外设
9 文件系统 文件
8 通信 管道
7 虚拟存储器 段、页单处理器资源6 本地辅存 数据块、设备通道
5 原始过程 原始过程、信号装置
4 中断 中断处理程序处理器硬件3 过程 过程、调用栈、显示2 指令集合 计算栈、微程序解释器
1 电路 寄存器