视频地址:https://www.coursera.org/learn/jisuanji-caozuo-xitong

第六章 并发程序设计

在多道程序设计系统中,同一时刻可能有许多进程/线程,它们之间存在两种基本关系:竞争关系和协作关系。并发进程/线程可能需要竞争使用资源,互斥是解决进程/线程间竞争关系的手段,为了避免竞争条件,引入临界区概念以解决进程互斥问题;为完成同一任务,某些进程/线程需要分工协作,同步是解决进程/线程间协作关系的手段,进程同步的主要目的是使协作的并发进程之间能有效地共享资源和相互协同工作,从而,使进程的执行过程具有可再现性和执行结果的惟一性。进程低级通信机制主要有:原子操作、锁机制、信号量和PV操作及管程;进程高级通信机制,如消息传递等。

死锁是系统中一组并发进程/线程因等待其他进程占有的资源而永远不能向前推进的僵化状态,对操作系统十分有害。系统产生死锁有四个必要条件:互斥条件、占有并等待条件、不剥夺条件和循环等待条件,以及解决死锁问题的三种策略和方法:死锁的预防、死锁的避免、死锁的检测和解除。 本章将讲述:并发程序设计的概念、并发进程的制约关系、临界区、临界区管理实现的尝试、临界区管理实现的硬件方式、PV操作与进程互斥、PV操作与进程同步、生产者消费者问题探究、管程概述、霍尔管程、霍尔管程的例、进程通信、高级进程通信机制、死锁的产生、死锁的防止、死锁的避免、死锁的检测。


6-1 并发程序设计的概念9:17

6-2 并发进程的制约关系10:37

6-3 临界区7:28

6-4 临界区管理实现的尝试7:53

6-5 临界区管理实现的硬件方式9:03

6-6 PV操作与进程互斥12:43

6-7 PV操作与进程同步9:50

6-8 生产者消费者问题探究14:55

6-9 管程概述10:46

6-10 霍尔管程8:03

6-11 霍尔管程的例12:12

6-12 进程通信5:46

6-13 高级进程的通信机制6:50

6-14 死锁的产生5:30

6-15 死锁的防止6:29

6-16 死锁的避免7:02

6-17 死锁的检测6:56