第四章 操作系统
4.1 操作系统分类及特点
1. 批处理操作系统
1. 单道批操作系统
指一次只有一个作业装入内存执行,当一个结束后,才会调入第二个
2. 多道批操作系统
允许多个作业装入内存执行,在任意时刻作业都处于开始点和终止点之间。每当运行中的一个作业因I / O操作停止时,CPU就会交给另一个等待运行的作业,从而将主机与外设之间的工作由串行改为并行,提高执行效率。
特点:
- 多道
- 宏观并行
- 微观串行
2. 分时操作系统
将CPU划分成很多很短的时间片,轮流为各个终端用户服务,如UNIX
3. 实时操作系统
要求计算机能对外来信息以足够快的速度处理,并且能够在对象允许的时间之内做出反应
分为两类:
- 实时控制系统:主要用于生产过程的自动控制
- 实时信息处理系统::主要用于实时信息处理
4.2 进程管理
1. 基本概念
1. 进程与程序
进程是程序的一次执行,该程序可以和其他程序并发执行,由程序、数据、PCB(进程控制块)构成
- PCB是进程存在的唯一标识,包含进程的描述信息和控制信息
- 程序描述了进程需要完成的功能
- 数据则是包含了进程所需的数据及工作区
2. 进程的状态及其状态间的切换
1. 三态模型
包含运行、就绪和阻塞状态
- 运行
- 就绪:该进程获得了除处理机以外的所有资源,一旦得到就可以运行
- 阻塞:该进程正在等待某事件的发生,如IO
2. 五态模型
三态模型加上新建和终止模型
新建:进程刚刚被创建而没有被提交的状态,并等待系统创建进程的所有必要条件。创建分为两个子状态
为该进程创建必要的管理信息
让该进程进入就绪状态
终止
- 等待操作系统进行善后处理
- 释放主存
3. 具有挂起状态的进程状态及转换
- 活跃就绪:进程在主存且处于可被调度的状态
- 静止就绪:在辅存
- 活跃阻塞:在主存,等待事件产生就进入活跃就绪
- 静止阻塞:辅存
2. 进程的控制
进程的控制是由操作系统内核中的原语实现的。
内核是计算机系统硬件的首次延伸,它是基于硬件的第一层软件扩充。
原语是若干条机器指令组成的,他是原子操作,要么都做,要么不做
3. 进程的通信
1. 同步与互斥
- 同步指一些需要相互合作、协同工作的进程
- 互斥指多个进程争抢临界资源而互斥执行
2. 信号量机制
信号量分为:
- 公用信号量:实现进程间的互斥,初值为1或资源数目
- 私用信号量:实现进程间的同步,初值为0或某各正整数
P、V操作
- P操作:S -= 1,若S >= 0 则继续执行,否则将该进程设置为阻塞状态并插入阻塞队列
- V操作:S += 1,若S > 0 则继续执行,否则从阻塞队列唤醒一个进程,插入就绪队列
利用PV进行互斥:将信号量设置为1,进入P退出V
利用PV进行同步:信号量为0表示信息未产生,非0则是表示该消息已存在
3 进程调度
1. 调度方式
指当有更高优先级的进程到来时应该如何分配CPU
调度分为可剥夺式和不可剥夺式:
- 可剥夺式:当有更高优先级进程到来时,强行将正在运行的进程所占用的CPU分配给更高优先级
- 不可剥夺式:当有更高级进程到来时,必须等待正在运行的进程自动释放CPU,才能分配给更高级的进程