第3章并发控制—互斥与同步 本章知识点: 3.1并发原理 32互斥—软件解决方法 33互斥—硬件解决方法 34信号量 35管程 ·3.6*消息传递 3,7*读者/者问题 38系统举例(略)
1 第3章 并发控制——互斥与同步 本章知识点: • 3.1 并发原理 • 3.2 互斥——软件解决方法 • 3.3 互斥——硬件解决方法 • 3.4 信号量 • 3.5 管程 • 3.6 *消息传递 • 3.7 *读者/写者问题 • 3.8 系统举例(略)
31并发原理 在单处理机多道程序的系统中,进程的 并发执行方式是插入执行,表面看起来 进程如同是同时执行的。在多处理机系 统中并发执行方式有插入执行和重叠执 行。并发的存在要求操作系统必须能跟 踪大量活跃进程,必须为每一活跃进程分 配瓷源,必须保护每二进程的数据和物 理资源不被其他进程侵犯,并且进程执 的结果与其他并发进程执行时的相对 速度无关
2 3.1 并发原理 在单处理机多道程序的系统中,进程的 并发执行方式是插入执行,表面看起来 进程如同是同时执行的。在多处理机系 统中并发执行方式有插入执行和重叠执 行。并发的存在要求操作系统必须能跟 踪大量活跃进程,必须为每一活跃进程分 配资源,必须保护每一进程的数据和物 理资源不被其他进程侵犯,并且进程执 行的结果与其他并发进程执行时的相对 速度无关
31.1进程间的相互作用 进程之间常常相互作用,存在某种彼此 依赖或相互制约的关系:同步和互斥关系 根据进程意识到其他进程的存在程度不同, 可将进程间的相互作用划分为:进程互不 觉察、进程间接觉察、进程直接觉察
3 3.1.1 进程间的相互作用 进程之间常常相互作用,存在某种彼此 依赖或相互制约的关系:同步和互斥关系。 根据进程意识到其他进程的存在程度不同, 可将进程间的相互作用划分为:进程互不 觉察、进程间接觉察、进程直接觉察
312进程间的相互竞争 并发进程在竞争使用同一资源时将产生冲突。 进程间的竞争面临3个控制问题: 互斥 ·死锁 ·饥饿 竞争的控制不可避免地涉及到操作系统,因为 是操作系统分配资源,另外,进程自身也必须 能以某种方式表达互斥的要求
4 3.1.2 进程间的相互竞争 并发进程在竞争使用同一资源时将产生冲突。 进程间的竞争面临3个控制问题: • 互斥 • 死锁 • 饥饿 竞争的控制不可避免地涉及到操作系统,因为 是操作系统分配资源,另外,进程自身也必须 能以某种方式表达互斥的要求
312进程间的相互竞争 临界资源 在同一时刻只允许一个进程访问的资源 称为临界资源。 临界区(段)访问临界资源的那一部分程 序称为临界区(段)
5 3.1.2 进程间的相互竞争 • 临界资源: • 在同一时刻只允许一个进程访问的资源 称为临界资源。 • 临界区(段):访问临界资源的那一部分程 序称为临界区(段)