现化操作系统的两个主 33并发进程 要特征是多道程序设计 和分布处理,而并发是 这两个特征的基础,也 进程的并发性 是操作系统的设计基础 二进程的互斥和同步 三信号量 四进程间的通信 ●五进程的死锁
3.3 并发进程 ⚫ 一.进程的并发性 ⚫ 二.进程的互斥和同步 ⚫ 三.信号量 ⚫ 四.进程间的通信 ⚫ 五.进程的死锁 现化操作系统的两个主 要特征是多道程序设计 和分布处理,而并发是 这两个特征的基础,也 是操作系统的设计基础
这里主要针对单处 进程的并发性而言,而处 ●进程在执行过程中,不同运行阶段进程 使用不同的系统资源,有着交替、重叠 执行的可能性。正是因为多道程序系统 中进程的相对执行速度不可预测,给系 统也就带来了一些困难
一 .进程的并发性 ⚫ 进程在执行过程中,不同运行阶段进程 使用不同的系统资源,有着交替、重叠 执行的可能性。正是因为多道程序系统 中进程的相对执行速度不可预测,给系 统也就带来了一些困难。 这里主要针对单处 理器而言,而多处 理的情况比复杂
1、并发的存在给系统带来的要求 ●1)操作系统必须记下诸进程 ●2)操作系统必须为每个进程分配和释放各类 资源 ●3)操作系统必须保护每个进程的数据和物 理资源,避免其他进程的无意干涉 4)操作系统的结果必须与执行速度无关, 即不会出现与时间有关的错误
1、并发的存在给系统带来的要求 ⚫ 1)操作系统必须记下诸进程 ⚫ 2)操作系统必须为每个进程分配和释放各类 资源 ⚫ 3)操作系统必须保护每个进程的数据和物 理资源,避免其他进程的无意干涉 ⚫ 4)操作系统的结果必须与执行速度无关, 即不会出现与时间有关的错误
2、进程间的相互制约关系 ●基于进程间相互知道对方是否存在的程 度分三种可能: ●1)、进程之间不知道对方 2)、进程间接知道对方 °3)、进程直接知道对方
2、进程间的相互制约关系 ⚫ 基于进程间相互知道对方是否存在的程 度分三种可能: ⚫ 1)、进程之间不知道对方 ⚫ 2)、进程间接知道对方 ⚫ 3)、进程直接知道对方
3、进程中的资源竞争 ●当并发进程竞争使用同一个资源时,它们相互之间会发 生冲突,而竞争进程间没有任何信息交换,却可能影响 到竞争进程的一些行为。 饿死:因得不到运行所需的资源,而处于长期等待 ●临界资源:对一个不可共享的资源;在执行过程中,每 个需要使用此资源时都要给其发命令,接收状态信息, 发送数据和接收数据的资源 ●临界区:使用临界资源的那段程序就称为程序的临界区 注:对临界资源的访问必须满足互斥要求
3、进程中的资源竞争 ⚫ 当并发进程竞争使用同一个资源时,它们相互之间会发 生冲突,而竞争进程间没有任何信息交换,却可能影响 到竞争进程的一些行为。 ⚫ 饿死:因得不到运行所需的资源,而处于长期等待, ⚫ 临界资源:对一个不可共享的资源;在执行过程中,每 个需要使用此资源时都要给其发命令,接收状态信息, 发送数据和接收数据的资源 ⚫ 临界区:使用临界资源的那段程序就称为程序的临界区。 ⚫ 注:对临界资源的访问必须满足互斥要求
4、进程间通过共享的合作 ●通过共享进行合作的进程间相互不确切 知道对方的情况下进行交互。如诸进程 可能访问同一个共享的变量、文件或数 据库,进程在使用修改这些数据时,并 不涉及到其他进程,但是它们知道其他 进程也可能访问同一数据。 ●因此系统的控制机制必须要能确保共享 数据的完整性
4、进程间通过共享的合作 ⚫ 通过共享进行合作的进程间相互不确切 知道对方的情况下进行交互。如诸进程 可能访问同一个共享的变量、文件或数 据库,进程在使用修改这些数据时,并 不涉及到其他进程,但是它们知道其他 进程也可能访问同一数据。 ⚫ 因此系统的控制机制必须要能确保共享 数据的完整性
5、进程间通过通信合作 ●当进程通过通信进行合作时,各个进程 都参与其他进程的连接,而通信就是给 其提供同步和协调各种活动的方法。 通常通信可以被描述成由各种类型的消 息组成
5、进程间通过通信合作 ⚫ 当进程通过通信进行合作时,各个进程 都参与其他进程的连接,而通信就是给 其提供同步和协调各种活动的方法。 ⚫ 通常通信可以被描述成由各种类型的消 息组成