前趋图
- 不允许有循环
程序顺序执行
特征:
- 顺序性
- 严格按照程序所规定的顺序执行
- 封闭性
- 在封闭的环境下执行,运行时独占全机资源,资源状态只有本程序能够改变他们,执行结果不受外界的影响
- 可再现性
- 只要程序执行时的环境和初始条件相同,当程序重复执行时,不管怎么执行,执行完后的结果都是相同的
程序并发执行
- 间断性
执行—暂停—执行
- 失去封闭性
- 各种资源共享,资源的状态必然会受到其他程序的影响
- 不可再现性
- 由于失去了封闭性,其计算结果与并发程序的执行速度有关,从而使程序的执行失去了可再现性
进程的描述
-
进程控制块
Process Control Block
来描述进程的基本情况和活动过程,进而控制和管理进程-
作用
- 独立运行基本单位
- 间断性运行方式
- 进程管理所需要的信息
- 进程调度所需要的信息
- 实现与其他进程的同步和通信
-
其中的信息
-
进程标识符
唯一的标识一个进程
- 外部标识符(方便用户或进程对进程的访问)
- 内部标识符(方便系统对进程的使用)
-
处理机状态
- 通用寄存器
- 指令计数器
- 程序状态字PSW
- 条件码
- 执行方式
- 中断屏蔽标志
-
进程调度信息
- 进程状态
- 进程优先级
- 进程调度所需的其他信息
- 事件(由执行状态变为阻塞状态的事件原因)
-
进程控制信息
- 程序和数据的地址
- 进程同步和通信的机制
- 资源清单(除CPU外其他全部资源)
- 链接指针(给出了本进程所在队列的下一个进程的PCB首地址)
-
-
组织方式
- 线性方法
- 链接方式
- 索引方式
-
进程的定义
- 进程是程序的一次执行
- 进程是一个程序及其数据在处理机上顺序执行时所发生的活动
- 进程是具有独立功能的程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位
进程的特征
- 动态性
- 进程的本质是进程实体的执行过程,由创建而产生,由调度而执行,由撤销而消亡
- 并发性
- 多个进程实体同时存在于内存中,且能在一段时间内同时运行
- 独立性
- 进程实体是一个能独立运行、独立获得资源和独立接受调度的基本单位
- 异步性
- 进程是按异步方式运行的,即按各自独立的、不可预知的速度向前推进(产生不可再现性的原因)
进程的基本状态以及转换
就绪状态 | 描述 |
---|---|
就绪状态 | 除下CPU外,其他资源准备完成,只需要CPU执行即可 |
执行状态 | 已获得CPU,其程序正在执行的状态 |
阻塞状态 | 无法继续执行,引起进程调度,把处理机分配给另一个就绪进程,而让受阻进程处于暂停状态。暂停状态即为~ |
其中:时间片完
指的是分配给程序单个时间片已经结束。
除此之外还有创建状态和终止状态
状态 | 描述 |
---|---|
创建状态 | 申请空白PCB,填写管理控制进程的信息,分配资源,这段过程叫做创建状态(之后转入就绪状态并插入就绪队列中。) |
终止状态 | 操作系统对其进行善后处理,把PCB清零,资源返还系统,这段过程称作终止状态。 |
挂起操作和进程状态的转换
挂起操作:
- 终端用户的需要(shell命令挂起)
- 父进程的请求(发现自己创建线程执行不动,主动挂起)
- 操作系统的需要(挂起一些进程,进行资源的检查、记账)
加入挂起后加入的装换:
- 活动就绪(readya) -> 静止就绪(readys)
- 执行
suspend
- 执行
- 活动阻塞(blockeda)->静止阻塞(blockeds)
- 执行
suspend
- 执行
- 静止就绪 -> 活动就绪
- 执行
active
- 执行
- 静止阻塞 -> 活动阻塞
- 执行
active
- 执行
A就绪能转入A阻塞和B就绪
执行的时候,I/O请求进入活动阻塞,挂起进行静止就绪,时间消耗完进行活动就绪