操作系统概论-第6章_并发管理
“操作系统概论”习题解答之并发进程

“操作系统概论”习题解答之并发进程第7章习题解答1.什么叫并发进程?答:在多道程序设计系统中,作为单个作业可以同时执行,而每一个作业又需要有多个进程的协作来完成。
因此,系统会同时存在着许多进程,在单处理器的情况下,这些进程轮流的占用处理器,即一个进程的工作没有全部完成之前,另一个进程就开始工作,我们说这些可同时执行的进程具有并发性,并且把可同时执行的进程称为“并发进程”。
2.临界区是怎样定义?对临界区的管理应符合哪些要求?答:并发进程中与共享变量有关的程序段称为“临界区”。
对若干个并发进程共享某一变量的相关临界区得管理有三点要求:①一次至多一个进程能够进入临界区,当有进程在临界区执行时,其他想进入临界区执行的进程必须等待。
②不能让一个进程无限制的在临界区执行,即任何一个进入临界区的进程必须有限的时间内退出临界区。
③不能强迫一个进程无限期等待键入它的临界区,即有进程退出临界区时应让一个等待进入临界区的进程进入它的临界区执行。
3.采用PV操作作为同步机构时,假定与某共享变量相关的信号量S的值可在[-1,l]之间,问S的初值是哪个值?当S=-1,S=0,S=l时它们各自的物理含义是什么?答:S的初值是 1.S=-l,表示有一个进程在等待进入临界区执行。
S=0,表示已有一个进程在临界区执行,这时若有进程想进入临界区则必须等待。
S=l,表示无进程在临界区执行,若有进程想进入临界区则可以立即进入。
4.A、B两个火车站之间是单轨连接的,现有许多列车同时到A站,须经A再到达B站,列车出B站后又可分路行驶(如图7-2)为保证行车安全,请你当调度时,你将如何调度列车?请你用PV操作为工具设计一个能实现你的调度方案的自动调度系统。
答:当A、B两站之间无列车停驶时,可让到达A站的一列车进人A、B站之间行驶。
当A石站之间有列车在行驶时,则到达A站者必须在站外等待。
当有列车到达B站后,让等在A站外的一列车进入。
用一个信号量S来控制到达A站的列车能否进入单轨道行驶,S的初始值为l.列车到达A站后,先执行P(S),若无列车在A、B站之间行驶,则执行P(S)后立即进人单轨道行驶,到达B站后,执行V(S),可释放一个等待进入的列车进入行驶。
操作系统原理第六章课件

设备驱动程序概念
设备驱动程序是操作系统中与硬件设备直接交互的软件,负责与硬件设备进行通信和控制 。
设备驱动程序功能
设备驱动程序的主要功能包括初始化设备、配置设备、控制设备的操作和响应设备的请求 等。
设备驱动程序与操作系统的关系
设备驱动程序是操作系统的一部分,通常由操作系统提供,用于支持各种硬件设备的操作 和管理。
进程阻塞与唤醒
进程因等待某个条件成立而阻 塞,等待条件成立后被唤醒。
进程切换
当一个进程的时间片用完时, 系统保存该进程的状态,恢复 下一个就绪态的进程的状态并
执行。
进程同步与互斥
临界区
同一时间只允许一个进程访问的资源或代码 段。
同步
协调多个进程的执行顺序,使得它们能按一 定的规则和条件执行。
互斥
两个或多个进程不能同时进入临界区。
通道控制方式下,硬件设备和通道之间建 立数据传输的通道,通道负责数据的传输 和管理。
设备分配与回收
01
设备分配策略
设备分配策略是指根据一定的规则和优先级,将设备分配 给请求设备的进程的过程。常见的设备分配策略包括先来 先服务、最短作业优先、优先级调度等。
02 03
死锁与活锁
在设备分配过程中,可能会出现死锁和活锁的情况。死锁 是指多个进程互相等待对方释放资源,导致所有进程都无 法继续执行。活锁是指进程在不断切换占用和释放资源的 过程中,始终无法满足自己的需求,导致进程无法继续执 行。
内存管理的主要目标是提高内存利用率,并确保 所有程序都能得到足够的内存空间。
内存管理需要处理内存的分配、回收、共享、保 护和扩充等问题。
内存分区管理
内存分区管理是一种将内存划分为若干个固定大小的分区,每个分区只能被一个进程使用的内存管理 方式。
02323 操作系统概论 第六章 并发进程

第6章并发进程一、进程的并发性1.进程的顺序性是指进程在顺序处理器上的执行是严格按序的,即按照程序规定的操作顺序,只有在前一个操作结束后才能开始后继操作。
当一个进程独占处理器顺序执行时,具有两个特性:封闭性和可再现性。
2.进程的并发性在多道程序设计的系统中,若干个作业可以同时执行,而每一个作业又需要有多个进程协作完成。
因此,系统中会同时存在着许多进程,在单处理器的情况下,这些进程流地占用处理器,即一个进程的工作没有全部完成之前,另一个进程就可开始工作,我们说这些可同时执行的进程具有并发性,并且把可同时执行的进程称为“并发进程”。
并发进程相互间可能无关,也可能相互间有交往。
进程并发执行时,执行结果与其执行的相对速度有关,进程的并发执行会破坏“封闭性”和“可再现性”。
1.造成与时间有关的错误的原因是什么?(概念)一个进程运行时,经常会由于自身或外界的原因而被中断,切断点是不固定的。
一个进程被中断后,哪个进程可以运行,被中断的进程什么时候再去占用处理器,这是与进程调度策略。
所以,进程执行的相对速度不能由进程自己来控制,于是,就可能导致并发进程在共享资源时出现错误。
2.进程的执行次序对结果是有影响的,关键是它们涉及到共享变量,若交叉访问了共享变量,导致共享变量的值不同,造成计数值不正确的因素是与进程被打断的时间和能占用处理器的时间有关。
1.我们把并发进程中与共享变量有关的程序段称为临界区。
2.相关临界区是指并发进程中涉及到相同变量的那些临界区。
对若干个并发进程共享某一变量的相关临界区的管理有三个求:1)一次最多一个进程能够进入临界区; 2)任何一个进入临界区的进程必须在有限的时间内退出临界区;3)有进程退出临界区时应让一个等待进入临界区的进程进入它的临界区执行。
3)PV操作PV操作是定义在信号量S的两个操作——P操作和V操作组成。
这两个操作是两个不可中断的过程,它们在屏蔽中信号量的定义是表示资源的实体,1)P、V操作一定仅挨临界区 2)P、V操作一定要成对使用。
操作系统概论自考提纲

操作系统复习提纲第1章引论1.计算机系统组成硬件:中央处理器,存储器(主存和辅存),输入输出控制系统和各种输入输出设备构成软件:系统软件,支撑软件和应用软件。
2.操作系统的功能/本质从资源管理的观点出发,操作系统功能可分为:处理器管理、存储管理、文件管理、设备管理。
此外,操作系统还为用户提供了两类使用接口:程序员接口-“系统功能调用”和操作员接口-“操作控制命令”。
3.按照操作系统提供的服务,大致可以把操作系统分为以下几类:批处理操作系统、分时操作系统、实时操作系统、微机操作系统、嵌入式操作系统、网络操作系统和分布式操作系统。
其中批处理操作系统、分时操作系统、实时操作系统是基本的操作系统。
①批处理操作系统按照用户预先规定好的步骤控制作业的执行,实现计算机操作的自动化。
又可分为批处理单道系统和批处理多道系统。
单道系统每次只有一个作业装入计算机系统的主存储器运行,多个作业可自动、顺序地被装入运行。
批处理多道系统则允许多个作业同时装入主存储器,中央处理器轮流地执行各个作业,各个作业可以同时使用各自所需的外围设备,这样可以充分利用计算机系统的资源,缩短作业时间,提高系统的吞吐率。
②分时操作系统,这种系统中,一个计算机系统与许多终端设备连接,分时系统支持多个终端用户,同时以交互方式使用计算机系统,为用户在测试、修改和控制程序执行方面提供了灵活性。
分时系统的主要特点是同时性、独立性、及时性和交互性。
③实时操作系统能使计算机系统接收到外部信号后及时进行处理,并在严格的规定时间内完成处理,且给出反馈信号。
它是较少有人为干预的监督和控制系统。
实时系统对可靠性和安全性要求极高,不强求系统资源的利用率。
4.Unix,Linux特点Unix:通用的交互式分时操作系统。
特点:①短小精悍。
②具有可装卸的多层次文件系统。
③可移植性好。
④网络通信功能强。
Unix是目前惟一可以安装和运行在从微机、工作站、大型机到巨型机上的操作系统。
《操作系统概念》第六版作业解答1-6章

询 A trap可以用来调用OS的例程或者捕获算术错误
2-cont.
2.5 Which of the following instructions should be privileged?
1-cont.
1.5 In a multiprogramming and time-sharing environment, several users share the system simultaneously. This situation can result in various security problems.
3-cont.
3.5 What is the purpose of the command interpreter? Why is it usually separate from the kernel?
读取命令(从用户或者命令文件)并执行(转化成系统调用) 可能会经常改变
3-cont.
缺点:软硬件更复杂
Chapter 2
2.2 How does the distinction between monitor mode and user mode function as a rudimentary form of protection (security) system?
4-cont.
4.5 What are the benefits an following? Consider both the systems and the programmers’ levels.
操作系统中的并发控制

操作系统中的并发控制随着计算机技术的不断发展,操作系统已成为现代计算机系统中不可或缺的核心组成部分。
在多用户、多任务的环境下,操作系统需要管理和控制资源的分配和调度,以确保系统的高效运行和资源的合理利用。
而其中一个重要的方面就是并发控制。
一、什么是并发控制在操作系统中,所谓并发指的是两个或多个事件在同一时间间隔内同时发生的情况。
而并发控制则是指对多个并发执行的进程或线程进行协调和管理,以避免出现潜在的问题,如资源竞争、死锁等。
二、并发控制的目标并发控制的目标是确保多个进程或线程在并发执行过程中能够正确地共享和访问资源,并且不会发生竞争条件和冲突。
主要包括以下几个方面:1. 互斥访问:确保同一时间内只有一个进程或线程能够访问共享资源,避免数据的不一致性和错误的结果。
2. 死锁避免:通过合理的资源分配和进程调度,防止进程陷入循环等待的状态,造成系统无法正常进行的情况。
3. 同步执行:确保多个进程或线程按照特定的顺序进行执行,避免因执行顺序不确定而导致的问题。
三、并发控制的方法为了实现并发控制,操作系统采用了多种方法和机制,下面介绍其中常见的几种方法。
1. 互斥锁:互斥锁是一种最常见的并发控制机制,通过给共享资源加锁,并在访问资源前先判断锁的状态,以实现临界区的互斥访问。
2. 信号量:信号量是一种用于进程间同步和互斥的机制,通过对共享资源进行计数和操作,实现资源的互斥访问和进程的同步执行。
3. 读写锁:读写锁是一种特殊的互斥锁,允许多个线程同时对共享资源进行读操作,但在有写操作时需要互斥访问。
4. 事件:事件是一种用于线程同步的机制,通过线程之间的信号通知来实现特定操作的协调和同步。
5. 临界区:临界区是一段代码,在多个进程或线程中同时访问时需要进行互斥控制的区域,通过临界区的互斥访问实现并发控制。
四、并发控制的应用并发控制在操作系统中的应用广泛,影响着系统的性能和用户体验。
以下是几个常见的应用场景:1. 数据库管理系统:数据库管理系统需要确保多个用户能够同时对数据库进行读写操作,但又不会导致数据的冲突和不一致。
操作系统概论-第6章_并发管理

2.若用PV操作管理某一组相关临界区,其信号量S 的值在[-1,1] 之间变化,当S=-1,S=0,S =1时它们各自的物理含义是什么? S=-1表示已有一个进程在相关临界区执行,且 有一个进程正在等待进入相关临界区 S=0表示有一个进程正在相关临界区执行,但无 进程等待进入相关临界区 S=1表示无进程在相关临界区执行,也无进程等 待进入相关临界区,若有进程欲进入相关临界区 则可立即进入
例:P111
临界区
例:P113
临界区
3.互斥
定义: 在操作系统中,当某一进程正在访问某临界区时, 就不允许其它进程进入,否则就会发生(后果)无法 估计的错误。我们把进程之间的这种相互制约的关 系称为互斥
• 进入临界区的准则: • (1)每次至多有一个进程处于临界区; • (2) 当有若干个进程欲进入临界区时,应在有 限的时间内使其进入; • (3)进程在临界区内仅逗留有限的时间
信号量mutex的取值范围:-2、-1、0、1
1、由 V 操 作唤醒的进程是否一定能够直接进入运行状态 ?
举例说明之 答:否。一般来说,唤醒是将进程状态由等待状态变成就 绪状态,而就绪进程何时获得处理机则是由系统的处理机 调度策略确定的。如果采用抢占式优先级调度算法,并且 被唤醒的进程是当前系统中优先级最高的进程,那么该进 程将被调度执行,该进程的状态变成运行态。如果该进程 不是系统中优先级最高的进程或系统采用其它调度算法, 那么该进程不会被调度执行,其状态将维持在就绪态
2. 顺序程序的特征
(1)顺序性:处理机的操作严格按照程序规定的顺 序执行,即只有前一操作结束后,才能启动后一操 作的执行
(2)封闭性:程序在封闭的环境下运行,并独占全 机,因此机内的资源的状态只有运行的程序操作才 能改变它,其执行结果不受外界因素的影响 (3)可再现性:只要程序执行时的环境和初始条件 相同,程序经多次运行后所得的结果必然相同
全国计算机等级考试四级网络工程师操作系统原理部分

操作系统原理第一章操作系统概论1.1操作系统的概念操作系统的特征:并发性,共享性,随机性。
研究操作系统的观点:软件的观点,资源管理的观点,进程的观点,虚拟机的观点,服务提供者的观点。
操作系统的功能:1.进程管理:进程控制,进程同步,进程间通信,调度。
2.存储管理:内存分配与回收,存储保护,内存扩充。
3.文件管理:文件存储空间管理,目录管理,文件系统安全性。
4.设备管理5.用户接口UNIX是一个良好的、通用的、多用户、多任务、分时操作系统。
1969年AT&T公司Kenneth L.Thompson 用汇编语言编写了Unix第一个版本V1,之后Unix用C语言编写,因此事可移植的。
1.3操作系统分类1.批处理操作系统:优点是作业流程自动化较高,资源利用率较高,作业吞吐量大,从而提高了整个系统的效率。
缺点是用户不能直接与计算机交互,不适合调试程序。
2.分时系统:特点是多路性,交互性,独占性,及时性。
3.实时操作系统4.嵌入式操作系统5.个人计算机操作系统6.网络操作系统7.分布式操作系统8.智能卡操作系统1.4操作系统结构1.整体式结构2.层次结构3.微内核(客户机/服务器)结构:①可靠,②灵活(便于操作系统增加新的服务功能),③适宜分布式处理的计算机环境第二章操作系统运行机制2.1中央处理器寄存器:用户可见寄存器:数据寄存器(通用寄存器),地址寄存器,条件码寄存器。
控制和状态寄存器:程序计数器,指令寄存器,程序状态字。
目态到管态的转换唯一途径是通过终端和异常。
管态到目态的转换可以通过设置PSW指令(修改程序状态字)实现。
PSW包括:①CPU的工作状态代码②条件码③中断屏蔽码2.2存储体系存储器设计:容量,速度,成本存储保护:①界地址寄存器(界限寄存器):产生程序中断-越界中断或存储保护中断②存储键2.3中断与异常机制分类:中断:时钟中断,输入输出(I/O)中断,控制台中断,硬件故障中断异常:程序性中断,访管指令异常2.4系统调用系统调用程序被看成是一个低级的过程,只能由汇编语言直接访问。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例:P111
临界区
例:P113
临界区
3.互斥
定义: 在操作系统中,当某一进程正在访问某临界区时, 就不允许其它进程进入,否则就会发生(后果)无法 估计的错误。我们把进程之间的这种相互制约的关 系称为互斥
• 进入临界区的准则: • (1)每次至多有一个进程处于临界区; • (2) 当有若干个进程欲进入临界区时,应在有 限的时间内使其进入; • (3)进程在临界区内仅逗留有限的时间
信号量mutex的取值范围:-2、-1、0、1
1、由 V 操 作唤醒的进程是否一定能够直接进入运行状态 ?
举例说明之 答:否。一般来说,唤醒是将进程状态由等待状态变成就 绪状态,而就绪进程何时获得处理机则是由系统的处理机 调度策略确定的。如果采用抢占式优先级调度算法,并且 被唤醒的进程是当前系统中优先级最高的进程,那么该进 程将被调度执行,该进程的状态变成运行态。如果该进程 不是系统中优先级最高的进程或系统采用其它调度算法, 那么该进程不会被调度执行,其状态将维持在就绪态
程被置成等待信号量s的状态 */
end; procedure V(var s:semaphore); begin s := s + 1; /* 把信号量加1 */ if s <= 0 then R(s); /* 若信号量小于等于0,则释放
一个等待信号量s的进程 */
end;
p、v操作
(1) p操作 对信号量s的 p操作记为 p(s)。p(s)是一个不可分割的原语 操作,即取信号灯值减1,若相减结果为负,则调用p(s)的进程 被阻,并插入到该信号量的等待队列中,否则可以继续执行
2.若用PV操作管理某一组相关临界区,其信号量S 的值在[-1,1] 之间变化,当S=-1,S=0,S =1时它们各自的物理含义是什么? S=-1表示已有一个进程在相关临界区执行,且 有一个进程正在等待进入相关临界区 S=0表示有一个进程正在相关临界区执行,但无 进程等待进入相关临界区 S=1表示无进程在相关临界区执行,也无进程等 待进入相关临界区,若有进程欲进入相关临界区 则可立即进入
操作系统概论
6.1 6.2 6.3 6.4 6.5 6.6
进程的并发性 与时间有关的错误 临界区与PV操作 进程的互斥与同步 进程通信 死锁
重点:分析与时间有关的错误;用 PV 操作 实现进程的互斥与同步;解决死锁问题的 方法
6.1
程序的顺序执行与并发执行
一. 程序的顺序执行与特征
1. 什么是程序的顺序执行 一个程序由若干个程序段组成,而这些程序段的执 行必须是顺序的,这种程序执行的方式就称为程序的顺 序执行。 例如:
6.2 与时间有关的错误
1. 什么是与时间有关的错误 执行结果与并发程序执行的相对速度相关 2. 为什么会发生与时间有关的错误 当两个或多个程序有共同的临界资源时,由于程 序执行的速度不同,则会发生与时间有关的错误
例:P111
例:P113
并发程序的特征
1. 失去程序的封闭性和可再现性 如果程序执行的结果是一个与时间无关的函数,即具有 封闭性。 若一个程序的执行可改变另一个程序的变量,程序执行 的结果不仅依赖于程序的初始条件,还依赖于程序执行时的 相对速度,在这种情况下就失去了程序的封闭性。 在并发环境中,机内资源状态将由多个程序来改变,因 此使程序的运行失去了封闭性。
(2)v操作 对信号量s的 v操作记为 v(s)。v(s)是一个不可分割的原语 操作,即取信号量值加1,若相加结果大于零,进程继续执行, 否则,要帮助唤醒在信号量等待队列上的一个进程
6.4.1 进程的互斥 6.4.2 进程的同步
6.4 进程的互斥与同步 设:mutex为互斥信号灯,初值为1
main ( ) { int mutex=1; cobegin pa( ); pb( ); pc( ); coend } } { : p(mutex); CSa; v(mutex); : } pa ( ) { : p(mutex); CSb; v(mutex); : } pb ( ) { : p(mutex); CSc; v(mutex); : pc ( )
二. 程序的并发执行
1. 什么是程序的并发执行 若干个程序段同时在系统中运行,这些程序段 的执行在时间上是重叠的,一个程序段的执行尚未 结束,另一个程序段的执行已经开始,即使这种重 叠是很小的一部分,也称这几个程序段是并发执行 的。 例:三个并发执行的程序段。
P Q R
用下图说明在多道批处理系统中,大量操作执 行的先后次序。 讨论:
type semaphore = record value:integer; queue: list of process; End procedure P(var s:semaphore); begin s := s – 1; /* 把信号量减去1 */ if s < 0 then W(s);/* 若信号量小于0,则调用P(s)的进
•
某些进程为完成同一任务需要 分工协作 进程的同步是解决进程间协作 关系(直接制约关系)的手段
•
•
进程同步指两个以上进程基于某个 条件来协调它们的活动。一个进程 的执行依赖于协作进程的消息或信 号,当一个进程没有得到来自于协 作进程的消息或信号时需等待,直 到消息或信号到达才被唤醒
进程互斥关系是一种特殊的进程 同步关系,即逐次使用互斥共享 资源,是对进程使用资源次序上 的一种协调
2. 顺序程序的特征
(1)顺序性:处理机的操作严格按照程序规定的顺 序执行,即只有前一操作结束后,才能启动后一操 作的执行
(2)封闭性:程序在封闭的环境下运行,并独占全 机,因此机内的资源的状态只有运行的程序操作才 能改变它,其执行结果不受外界因素的影响 (3)可再现性:只要程序执行时的环境和初始条件 相同,程序经多次运行后所得的结果必然相同
在并发环境下
CPU利用率=89% DEV1并发环境下利用=33% DEV2并发环境下利用=66%
在单CPU系统中,系统调度在某一时刻只能让一 个线程(进程)运行,虽然这种调度机制有多种形 式(大多数是时间片轮巡为主),但无论如何,要 通过不断切换需要运行的线程让其运行的方式就 叫并发(concurrent)。 而在多CPU系统中,可以让两个以上的线程(进 程)同时运行,这种可以同时让两个以上线程同时 运行的方式叫做并行(parallel) 多道程序设计和并发的关系
进程的相互制约关系 并发进程分类:无关的,交互的
无关的并发进程:一组并发进程分 别在不同的变量集合上操作,一个 进程的执行与其他并发进程的进展 无关
并发进程的无关性是进程的执 行与时间无关的一个充分条件
交互的并发进程:一组并发进程共享 某些变量,或者一组进程相互合作;一 个进程的执行可能影响其他并发进程 的结果 与时间有关的错误 执行的相对速度无法相互控制 表现形式: 结果不唯一 例:P111,P113 永远等待 例:死锁
6.3.1 临界区 6.3.2 PV操作
6.3
引例: 宿舍电话的使用 打印机的使用
临界区和PV操作
1. 临界资源:一次仅允许一个进程使用的资源称为临 界资源 引例中的电话和打印机都属于临界资源。除此之外 ,还有内存变量、指针、数组等等也是临界资源
2、临界区: 每个进程中访问临界资 源的那段程序段称为临 界区(临界段)
2.程序与计算不再一一对应 一个程序的一次执行称为一个计算 在并发的环境下,一个程序可对应多个计算。
在程序顺序执行时,一个程序总是对应一个具体 的计算,但在程序的并发执行时,可能有多用户共享 使用同一个程序,但处理(计算)的对象却是不同的, 例如,在多用户环境下,可能同时有多个用户调用C语 言的编译程序,这就是典型的一个程序对应多个用户 源程序的情况。
I1
C I2
1
(1) 哪些程序段的执 行必须是顺序的?为 什么?
P1
I3
C
2
(2) 哪些程序段的执 行是并行的?为什么?
I4
C
3
P2
2. 表示方法
s0; cobegin s1; s2; …… sn; coend sn+1;
s 0
s 1
s 2
……
s n
Sn+1
在顺序环境下:先A,后B
CPU利用率= 40/80 = 50% DEV1利用率=18.75% DEV2利用率= 31.25%
信号量的物理含义:
S>0表示有S个资源可用; S=0表示无资源可用; S<0则| S |表示S等待队列中的进程个数。
二. 用信号量实现进程的同步
1. 合作进程的执行次序 例1:
main ( ) { pa ( ) { int S=0; : pb ( ) { p(S);
s
Pa
cobegin
:
v(S); } }
:
:
Pb
f }
pa( ); pb( ); coend
例2:
s
Pa
Pb
f
Pc
main ( ) { {
pa ( ) {
pc ( )
int Sac=0;
int Sbc=0; cobegin pa( ); pb( ); : :
:
: : :
:
:
p(Sac);
p(Sbc); : : :
v(Sac);
v(Sbc);
pc( );
coend }
}
}
}
2. 共享缓冲区的合作进程的同步 例1:
cp
iop
缓冲区buf
例 : 生 产 者 与 消 费 者 问 题
3.程序并发执行的相互制约 在多道程序设计的环境下,程序是并发执行的。 即系统中有多道程序在“同时”执行,这些程序之间 要共享系统的资源,程序之间有合作(通信)的关系。 合作与竞争产生一系列的矛盾,这些矛盾实际上是一 种相互制约,有直接的,也有间接。 (1)资源共享 (2)进程合作 (间接制约关系) (直接制约关系)