计算机操作系统
一.操作系统引论
1.操作系统的目标和功能
- 目标
- 方便性
- 有效性
- 提高系统资源利用率
- 提高系统吞吐量
- 可扩充性
- 开放性
- 作用
未配置操作系统的计算机系统
人工操作方式
用户独占全机 CPU等待人工操作 严重降低了计算机资源的利用率
脱机输入/输出(Off–Line I/O)方式
减少了CPU的空闲时间 提高了I/O速度 效率仍然不理想
单道批处理系统
- 多道批处理系统
1.资源利用率高
2.系统吞吐量大
3.平均周转时间长
4.无交互能力
- (宏观并行,微观串行)
- 分时系统
特征:
1.多路性
2.独立性
3.及时性
4.交互性
实时系统
- 集群系统–超算~云计算
- 微机操作系统的发展
3.操作系统的基本特征
1.并发concurrence
区别并行和并发
并行性是指两个或多个事件在同一时刻发生→宏观并行,微观并行
并发性是指两个或多个事件在同一时间间隔内发生→宏观并行,微观串行
- 并发是进程宏观一起运行,微观上交替运行,而并行是指同时运行
- 引入进程
进程是指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令,数据和堆栈等组成的,是一个能独立运行的活动实体
2.共享sharing
- 1.互斥共享方式
- 2.同时访问方式
- 并发和共享是多用户(多任务)OS的两个最基本的特征。它们又是互为存在的条件
- 3.虚拟virtual
- 时分复用技术
- 空分复用技术
- 4.异步asynchronism
4.操作系统的主要功能
- 1.处理机管理功能
- 进程控制
- 进程同步
- 进程互斥方式
- 进程同步方式(协同)
- 进程通信
- 调度
- 作业调度
- 进程调度
- 2.存储器管理功能
- 内存分配
- 静态分配
- 动态分配
- 内存保护
- 地址映射
- 内存扩充
- 内存分配
- 3.设备管理功能
- 缓冲管理
- 设备分配
- 设备处理
- 设备处理程序又称设备驱动程序
- 4.文件管理功能
- 文件存储空间的管理
- 目录管理
- 文件的读写管理和保护
- 5.操作系统与用户之间的接口
- 用户接口
- 程序接口
- 6.现代操作系统的新功能
- 传统操作系统结构
- 无结构操作系统
- 模块化OS
- 分层式结构OS
- 微内核os结构
- 程序的并发执行
- 程序并发执行时的特征
- 进程的定义
- 进程是程序的一次执行
- 进程是一个程序及其数据在处理机上顺序执行时所发生的活动
- 进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位
- 进程的组成
- PCB(进程存在的唯一标识)
- 进程描述信息
- 进程控制和管理信息
- 资源分配清单
- 处理机相关信息
- 程序段
- 程序的代码(指令序列)
- 数据段
- 运行过程中产生的各种数据
- PCB(进程存在的唯一标识)
- 进程的特征
- 动态性(进程的最基本特性)
- 并发性
- 独立性(进程是能够独立运行、独立获取资源、独立接受调度的基本单位)
- 异步性
- 结构性
- 从操作系统角度分类
- 系统进程
- 用户进程
- 进程和程序的区别
- 进程是动态概念,而程序则是静态概念
- 程序是指令的有序集合,永远存在;进程强调是程序在数据集上的一次执行,有创建有撤销,存在是暂时的;
- 进程具有并发性,而程序没有
- 进程可创建其他进程,而程序并不能形成新的程序
- 进程是竞争计算机资源的基本单位,程序不是
- 进程和程序的联系
- 进程是程序在数据集上的一次执行
- 程序是构成进程的组成部分,一个程序可对应多个进程,一个进程可包括多个程序
- 进程的运行目标是执行所对应的程序
- 从静态看,进程由程序、数据和进程控制块(PCB)组成
进程的基本状态及转换
进程的三种基本状态【重点】
运行状态(Running)CPU
其他所需资源```√``` 1
* 就绪状态(Ready)CPU```×``` 其他所需资源```√
阻塞状态(Waiting/Blocked,又称等待态)CPU
×其他所需资源×
- 三种基本状态的转换【重点】
- 就绪态-》运行态(进程被调度)
- 运行态-》就绪态(时间片到,或CPU被其他高优先级进程抢占)
- 运行态-》阻塞态(等待资源系统分配,或等待某事件发生主动行为)
- 阻塞态-》就绪态(资源分配到位,等待的事件发生被动行为)
- 创建状态和终止状态
- 五状态进程模型
- 创建态-就绪态-运行态-阻塞态-终止态
- 五状态进程模型
- 注意
- 阻塞态->运行态和就绪态->阻塞态这二种状态转换不可能发生
- 进程PCB中,会有一个变量statue来标识进程的当前状态
- 挂起操作和进程状态的转换
- 挂起和阻塞的区别
- 挂起操作的目的
- 终端用户的需要: 修改、检查进程
- 父进程的需要:修改、协调子进程
- 对换的需要:缓和内存
- 负荷调节的需要:保证实时任务的执行
- 关键图
- 进程管理中的数据结构
- 操作系统内核
- 两大功能
- 支撑功能
- 中断管理
- 时钟管理
- 原语操作
- 进程的管理,由若干原语(primitive)来执行
- 资源管理功能
- 进程管理
- 存储器管理
- 设备管理
- 支撑功能
- 状态
- 系统态,管态,内核态
- 用户态,目态
- 两大功能
- 进程的创建
- 进程的层次结构
- 父进程
- 子进程
- 引起创建进程的事件
- 用户登录
- 作业调度
- 提供服务
- 应用请求
- 进程的创建过程
- 1.申请空白PCB
- 2.为新进程分配其运行所需的资源
- 3.初始化进程块PCB
- 4.如果进程就绪队列能够接纳新进程,便将新进程插入就绪队列
- 进程的终止
- 引起进程终止的事件
- 1.正常结束
- 2.异常结束
- 3.外界干预
- 进程的终止过程
- 1.根据被终止进程的标识符
- 引起进程终止的事件
- 进程的阻塞与唤醒
- 引起进程阻塞和唤醒的事件
- 请求系统服务而未满足
- 启动某种操作而阻塞当前进程
- 新数据尚未到达
- 无新工作可做:系统进程
- 进程阻塞过程(自己阻塞自己)
- 进程唤醒过程(系统或其他进程唤醒自己)
- 引起进程阻塞和唤醒的事件
- 进程的挂起与激活
- suspend
- active
- 进程的层次结构
- 进程同步
- 基本概念
- 两种形式的制约关系
- 间接相互制约关系
- 互斥——竞争
- 直接相互制约关系
- 同步——协作
- 间接相互制约关系
- 临界资源
- 分区
- 进入区enter section
- 临界区critical section
- 退出区exit section
- 剩余区remainder section
- 同步机制应遵循的规则
- 1.空闲让进
- 2.忙则等待
- 3.有限等待
- 4.让权等待
- 两种形式的制约关系
- 进程同步机制
- 软件同步机制:都没有解决让权等待,而且部分方法还会产生死锁的情况
- 硬件同步机制
- 关中断
- 利用Test-and-Set指令实现互斥
- 利用swap指令实现进程互斥
- 信号量机制
- 整型信号量
- 记录型信号量
- 由于整型信号量没有遵循让权等待原则,记录型允许负数,即阻塞链表
- AND型信号量
- 信号量集
- 理解:AND型号量的wait和signal仅能对信号施以加1或减1操作,意味着每次只能对某类临界资源进行一个单位的申请或释放。当一次需要N个单位时,便要进行N次wait操作,这显然是低效的,甚至会增加死锁的概率。此外,在有些情况下,为确保系统的安全性,当所申请的资源数量低于某一下限值时,还必须进行管制,不予以分配。因此,当进程申请某类临界资源时,在每次分配前,都必须测试资源数量,判断是否大于可分配的下限值,决定是否予以分配
- 操作
- Swait(S1,t1,d1…Sn,tn,dn)
- Ssignal(S1,d1…Sn,dn)
- 特殊情况
- 经典进程的同步问题
- 基本概念
- 进程通信是指进程之间的信息交换,又称低级进程通信
- 进程通信的类型
- 共享存储器系统
- 基于共享数据结构的通信方式
- 生产者和消费者
- 基于共享存储区的通信方式
- 高级通信
- 基于共享数据结构的通信方式
- 管道通信系统(pipe)
- 高级通信
- 消息传递系统
- 高级通信
- 方式分类
- 直接通信
- 间接通信
- 客服机–服务器系统
- 共享存储器系统
- 消息传递通信的实现方式
- 直接消息传递系统
- 信箱通信