第五拿并行性:互斥和同步 第5章并行性:互斥和同步 5,1引论 ■5,2临界段 ■53互压 ■5.4信号量 55管程 5.6进程间的通信
第五章 并行性:互斥和同步 第5章 并行性:互斥和同步 ◼ 5.1 引论 ◼ 5.2 临界段 ◼ 5.3 互斥 ◼ 5.4 信号量 ◼ 5.5 管程 ◼ 5.6 进程间的通信
第五拿并行性:互斥和同步 5.1引论 ■多道程序设计的出现对计算机系统产生 了极大的影响,推动了操作系统技术的 发展 ■并行的进程之间由于争用资源、互相通 信、互相制约而产生了互斥、同步和通 信问题是本章解决的重点内容,也是本 课程的重点内容
第五章 并行性:互斥和同步 5.1 引论 ◼ 多道程序设计的出现对计算机系统产生 了极大的影响,推动了操作系统技术的 发展 ◼ 并行的进程之间由于争用资源、互相通 信、互相制约而产生了互斥、同步和通 信问题是本章解决的重点内容,也是本 课程的重点内容
第五拿并行性:互斥和同步 5.1引论 多道程序系统中存在的进程之间有三种典型的 关系: 进程之间相互协作,直接知道对方的存在,直到对 方的名字(如进程之间的调用) ■进程之间通过共享间接知道对方的存在,但并不知 道对方的名字(如共享同一变量或文件) 进程之间晚全部知道对方的存在,但因为竞争资源 而形成制约关系(如争用CPU、内存或硬盘等)
第五章 并行性:互斥和同步 5.1 引论 ◼ 多道程序系统中存在的进程之间有三种典型的 关系: ◼ 进程之间相互协作,直接知道对方的存在,直到对 方的名字(如进程之间的调用) ◼ 进程之间通过共享间接知道对方的存在,但并不知 道对方的名字(如共享同一变量或文件) ◼ 进程之间晚全部知道对方的存在,但因为竞争资源 而形成制约关系(如争用CPU、内存或硬盘等)
第五拿并行性:互斥和同步 进程的交互关系:可以按照相互感知的程度来分类 相互感知的程度交互关系 个进程对其他进程潜在的控制问题 的影响 相互不感知(完全不了竞争 (competition)个进程的操作对其他互斥,死锁(可释放的资 解其它进程的存在) 进程的结果无影响源),饥饿 间接感知(双方都与第通过共享进行协作个进程的结果依赖于互斥,死锁(可释放的资 三方交互,如共享资 从其他进程获得的信息源),饥饿,数据一致性 源) 直接感知(双方直接交通过通信进行协作一个进程的结果依赖于死锁,饥饿 互,如通信) 从其他进程获得的信息 互斥,指多个进程不能同时使用同一个资源; 死锁,指多个进程互不相让,都得不到足够的资源; 饥饿,指一个进程一直得不到资源(其他进程可能轮流占用资源)
第五章 并行性:互斥和同步 进程的交互关系:可以按照相互感知的程度来分类 相互感知的程度 交互关系 一个进程对其他进程 的影响 潜在的控制问题 相互不感知(完全不了 解其它进程的存在) 竞争(competition) 一个进程的操作对其他 进程的结果无影响 互斥,死锁(可释放的资 源),饥饿 间接感知(双方都与第 三方交互,如共享资 源) 通过共享进行协作 一个进程的结果依赖于 从其他进程获得的信息 互斥,死锁(可释放的资 源),饥饿,数据一致性 直接感知(双方直接交 互,如通信) 通过通信进行协作 一个进程的结果依赖于 从其他进程获得的信息 死锁,饥饿 互斥,指多个进程不能同时使用同一个资源; 死锁,指多个进程互不相让,都得不到足够的资源; 饥饿,指一个进程一直得不到资源(其他进程可能轮流占用资源)
第五章并行性:互斥和同步 个飞机订票系统,两个终端,运行T1、T2进 程 ad(刈); Read( x) f X1 then f X1 then x-x-1; write(X) write(X) 共享变量的修改冲突
第五章 并行性:互斥和同步 一个飞机订票系统,两个终端,运行T 1、T 2进 程 T1 : T2: ... ... Read( x) ; Read( x) ; i f x>=1 t hen i f x>=1 t hen x: =x- 1; x: =x- 1; wri t e( x) ; wri t e( x) ; ... ... 共享变量的修改冲突