3.1 多道程序设计
吞吐率:衡量一个系统效率的一个指标
采用多道程序设计可以显著提高吞吐率:
但是,并不是内存程序数量越多越好,下面有三点否定:
- 内存的容量限制了系统可同时处理程序的数目
- 设备数量有限
- 程序道数过多会影响系统的响应速度,同时会产生过多系统开销
3.2 进程的概念
3.2.1 前驱图和程序执行
前驱图:反映和研究系统内所发生事件之间的一种关系。
3.2.2 进程的描述
1. 进程的定义🥇
进程是程序在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立单位。
2. 进程和程序的区别🥈
- 进程强调动态的执行过程,程序是静态的有序指令集;
- 进程具有并行特征,而程序没有;
- 进程的特征:动态性,并行性,独立性,异步性和结构性。
3.3 进程控制块 PCB
简单来说,就是内存核心区的一部分,专门存放进程的相关信息。
3.3.2 进程的状态及其转换
老师是先讲三状态,再到五,最后补充为七状态。
三状态分别是就绪、运行和阻塞,这可以是一个单向循环的过程(就绪→运行→阻塞→就绪),只有运行可以转过头来回到就绪。在这中间,就绪是指一个进程已经得到了系统分配的资源,准备好开始计算了,如果一个就绪的进程被调度,那就意味着它开始运行了,运行就是上面所说的计算,运行好了以后,作为一个进程,它有时候是指程序中的一小段,可能是要你用键盘进行输入,也可能是需要用屏幕进行输出,这些动作都需要I/O设备,所以统称为I/O,当一个进程运行完了以后,不能进行I/O,那就需要等待I/O,也就是等待事件发生,如果事件发生了,那就说明进程I/O完了,这时候就又回到就绪状态,等待下一次调度。上面还提到了从运行到就绪,那就是因为这个进程它被分配给的时间片到了,时间片一到,就需要把自己占用的CPU让给下一个时间片的进程,此时这个进程就又回到就绪状态。
在三状态的基础上加上另外两个,新建和完成。