在多道程序批处理系统和分时系统中,有多个并发执行的程序。此时用程序这个静态的概念已经不能描述系统中程序动态变化的过程,所以引入了进程这个概念。
进程是资源分配和独立运行的基本单位。研究操作系统的进程,本质上是研究系统中诸进程之间的并发特性以及进程之间的相互制约性。
1. 基本概念
三个节点的前趋图
一个较大的程序通常都是由若干个程序段组成。程序在执行时,各程序段必须按照先后次序逐个执行。程序各程序段先后执行的次序关系可用前趋图表示。
程序顺序执行的三个特征
程序并发执行的前趋图
程序并发执行的三个特征
进程的组成
PCB的内容
进程的三态模型
运行:当一个经常在处理机上运行时,则称该进程处于运行状态。
就绪:一个进程获得了除处理机外的一切所需资源,一旦得到处理机即可运行,则称此进程处于就绪状态。
阻塞:等待或睡眠状态。一个进程正在等待某一事件发生(如等待I/O完成等)而暂时停止运行,这时即使把处理机分配给进程也无法进行。
五态模型
细分进程状态及其转换
由于进程的不断创建,系统资源特别是主存资源已不能满足所有进程的运行要求。这时,就必须将某些进程挂起,放到磁盘对换区,暂时不参加调度,以平衡系统负载。进程挂起的原因可能是系统出现故障,用户调试程序,也可能是需要检查问题。
2. 进程的控制
进程的控制就是对系统中所有进程从创建到消亡的全过程实施有效的控制。这意味着不仅要控制正在运行的进程,而且还要能创建新的进程,撤销已完成的进程。
3. 进程间的通信
进程间的同步
进程间的互斥
同步是进程间的直接制约问题,互斥是进程间的间接制约问题。
临界区管理的四个原则
临界区(critical section,CS)是进程中对临界资源实施操作的那段程序。
4. 管程
管程(monitor)的基本思路是采用资源集中管理的方法,将系统中的资源用某种数据结构抽象地表示出来。由于临界区是访问共享资源的代码段,可建立一个管程管理进程提出的访问请求。
5. 进程调度
高中低三级调度
调度方式:
可剥夺式:更高优先级的进程可强行占用正在运行进程CPU
不可剥夺式:更高优先级的进程必须等待正在运行的进程自动释放占用的CPU
常用的4种进程调度的算法
6. 死锁
何为死锁
7. 线程
比进程更小的能独立运行的基本单位。目的是提高系统内程序并发执行的程度,从而可进一步提高系统的吞吐量。
比较方面
线程
进程
调度
调度和分配的基本单位
拥有资源的基本单位
并发性
一个进程的多个线程可并发执行
进程之间可并发执行
拥有资源
不拥有系统资源,但可访问隶属于进程的资源
拥有资源的一个独立单位
系统开销
开销小
创建和撤销进程时都要为之分配和回收资源,系统开销大
进程都是与内核有关的,是在内核支持下进行切换的。
还没有评论,来说两句吧...