计算机资源
软件 | 程序+文档 |
硬件 | CPU,I/O,存储 |
一、操作系统 最基本的系统软件,对硬件的首次扩充
1、作用:控制、管理系统资源,规定接口。
- 处理机管理 计算机硬件的核心
- 存储器管理 对内存储器分配
- 设备管理 输入输出
- 文件管理 对外存储器访问和控制
- 作业管理
2、发展过程
1)手工操作
2)成批处理系统 减少人工干预 脱机
3)执行程序系统 输入、输出控制程序和中断处理
输入输出缓冲区,启动通道开始传输,传输完毕发送中断请求->执行中断处理程序
4)多道程序系统 微观交替运行(串行),宏观并行
3、 分类
1)多道批处理系统
批处理(脱机):外存中存入大量后备作业
特点:用户不能直接控制作业的运行,充分发挥资源的利用率
2)分时处理系统 一个计算机,多个终端 e.g.UNIX
时间片:每个程序对CPU的时间分享单位。
平均响应时间:时间片*用户数
特点:可以干预作业的运行,便于开发和调试程序
3)实时操作系统
实时过程控制系统、实时信息处理系统
特点:严格的时间限制
4)通用操作系统 以上的组合,前台和后台作业
5)多窗口系统 友好的操作界面,尽可能减少键盘操作 e.g.Windows
特点:弹出式菜单(菜单驱动);命令对话框
二、程序和进程
1、程序
特点 | |
顺序程序 | 1)顺序性 上一个动作结束才能开始 2)封闭性 程序开始执行,外界因素无法影响 3)可再现性 计算结果与运行速度无关,相同的初始条件,结果相同(可预测) |
并发程序 | 1)没有封闭性 结果有不确定性,与时间有关 2)程序与执行过程不是一一对应 一个(共享)程序可以有多个执行过程 3)程序的并发执行时可以相互制约(e.g.同步,互斥) |
2、进程
程序 | 进程 | |
定义 | 可以并发执行的程序的执行过程 数据+程序+进程控制块 | |
静态 | 动态 | |
生命期 | 无 (一种软件资源) | 有 |
一个程序可以对应多个进程 | 一个进程可以包含多个程序 |
3、死锁 进程的相对运行速度 与时间有关,不可再现
1)必要条件:
- 1)资源的独占使用 一个进程用完了,其他的才能用
- 2)资源的非抢占分配 同上,其他进程不能抢正在被另一进程使用的资源
- 3)资源的部分分配 进程每次只申请所需的部分资源
- 4)对资源的循环等待
2)
- 预防:资源的静态分配
- 避免:资源顺序分配发生时:发现,抽掉若干作业,将系统从死锁状态中解脱
- 银行家算法