互斥算法几个基本概念
计算机软件技术基础知识点总结

《计算机软件技术基础》第一章算法1.1算法的基本概念算法:指解题方案的准确而完整的描述算法的基本特征:能行性(算法中的每一个步骤必须能够实现;算法执行的结果要能够达到预期的目的)确定性(算法中的每一个步骤都必须是有明确定义的,不能摸棱两可,也不能有多义性)有穷性(算法必须能在执行有限个步骤之后终止)拥有足够的情报(算法执行的结果总是与输入的初始数据有关。
不同输入对应不同输出)算法:是一组严谨地定义运算顺序的规则,并且每一个规则都是有效的、明确的,此顺序将在有限的次数下终止。
算法的基本要素:1.算法中对数据的运算和操作(算术运算、逻辑运算、关系运算、数据传输【赋值、输入、输出】)2.算法的控制结构(算法中各操作之间的执行顺序)1.2算法描述语言C语言描述和简单的算法描述语言(1)符号与表达式:符号主要用以表述变量名、数组名等(2)赋值语句(3)控制转移语句:无条件转移语句形式:GOTO 标号条件转移语句形式IF C THEN SIF C THEN S1ELSE S2(4)循环语句WHILE语句:WHILE C DO SFOR语句:FOR i=init TO limit BY step DO S(5)其他语句EXIT语句:退出某个循环,使控制转到包含EXIT语句的最内层的WHILE或FOR循环后面的一个语句去执行RETURN语句:结束算法的执行(允许使用用引号括起来的注释信息)READ(INPUT)和WRITE(PRINT/OUTPUT)语句:用于输入输出(6)算法中的注释总是用一对方括号【】括起来;复合语句用一对花括号{}括起来1.3算法设计基本方法1.列举法【例1.1】基本思想:根据提出的问题,列举所有可能的情况,并用问题中给定的条件检验哪些是需要的,哪些是不需要的(通常解决“是否存在”“有多少种可能”类型问题)特点:算法比较简单,但列举情况较多时,工作量将很大寻找路径、查找、搜索等问题采用列举法有效2.归纳法基本思想:通过列举少量的特殊情况,经过分析,最后找出一般的关系3.递推法(数学例题)指从已知的初始条件出发,逐次推出所要求的各中间结果和最后结果(本质属于归纳法)4.递归基本思想:将问题逐层分解的过程,实际上并没有对问题进行求解,而只是当解决了最后那些简单的问题后,再沿着原来分解的逆过程逐步进行综合【例1.3】自己调用自己的过程称为递归调用过程递归分为直接递归:一个算法P显式地调用自己间接递归:算法P调用另一个算法Q,而算法Q又调用算法P5.减半递推技术(分治法)减半:将问题的规模减半,而问题的性质不变递推:重复“减半”的过程【例1.4】6.回溯法通过对问题的分析,找出一个解决问题的线索;然后沿着这个线索逐步试探。
操作系统(软件)第二章作业答案

1、什么是中断?给出系统总体上的中断处理过程。
【解答】:所谓中断是指CPU在正常执行程序的过程中,由于某个外部或内部事件的作用,强迫CPU停止当前正在执行的程序,转去为该事件服务(称为中断服务),待服务结束后,又能自动返回到被中断的程序中继续执行。
CPU每执行完一条指令就去扫描中断寄存器,检查是否有中断发生,若没有中断就继续执行下条指令;若有中断发生就转去执行相应的中断处理程序。
中断处理过程可粗略的分为以下四个过程:①保护当前正在运行程序的现场;②分析是何种中断,以便转去执行相应的中断处理程序;③执行相应的中断处理程序;④恢复被中断程序的现场。
2、请给出进程与程序它们的区别和联系。
【解答】:1、进程是动态的程序是静态的。
程序是一组有序的指令集合,是一个静态的概念;进程则是程序及其数据在计算机上的一次执行是一个动态的集合。
2、一个进程可以执行多个程序;一个程序可被多个进程执行;3、程序可以长期保存,进程有从被创建到消亡的生命周期。
4、进程具有并发性,而程序具有顺序性;5、进程具有独立性,是资源分配调度的基本单位,而程序无此特性。
3、试说明进程在三个基本状态之间转换的典型原因.【解答】a. 处于就绪状态的进程,当进程调度程序为之分配了处理机后,该进程便由就绪状态变为执行状态.b. 当前进程因发生某事件而无法执行,如访问已被占用的临界资源,就会使进程由执行状态转变为阻塞状态.c. 当前进程因时间片用完而被暂停执行,该进程便由执行状态转变为就绪状态.4、什么是临界资源和临界区?【解答】:临界资源是一次仅允许一个进程访问的资源,例如打印机,共享的变量。
进程中访问临界资源的那段代码段称为临界区。
5、进程的互斥和同步有什么异同点?进程同步机制应遵循哪四个基本准则?【解答】:进程同步机制应遵循如下四个基本准则:空闲让进,以提高临界资源利用率,忙则等待,以保证临界资源互斥使用;让权等待,以提高cpu的利用率;有限等待,以免相关进程陷入“死等”。
互斥算法几个基本概念

互斥算法几个基本概念互斥算法是一种用于多线程或并发环境下解决资源竞争问题的算法。
当多个线程或进程同时访问共享资源时,资源竞争可能会导致数据不一致或其他运行时错误。
为了解决这个问题,互斥算法被设计出来,用于保证共享资源的正确访问。
以下是互斥算法的几个基本概念:1.临界区:临界区是指多个线程或进程同时访问共享资源的代码段。
在进入临界区之前,线程需要获取互斥锁。
只有一个线程可以进入临界区,其他线程需要等待。
2.互斥锁:互斥锁是一种同步原语,用于实现线程对临界区的互斥访问。
当一个线程获得互斥锁时,其他线程需要等待。
只有当持有锁的线程释放锁后,其他线程才能获取锁并进入临界区。
互斥锁是保证共享资源安全访问的核心。
3.死锁:死锁是指多个线程或进程在等待其他线程或进程释放资源时互相阻塞。
简单来说,就是互相僵持不前的状态。
死锁是一个非常重要的问题,因为它会导致整个系统停机或无响应。
4.饥饿:饥饿是指一些线程永远无法获取资源的情况。
当有多个线程竞争同一个临界区资源时,一些线程可能会一直没有机会进入临界区,导致饥饿。
饥饿问题需要特别关注,因为它会使一些线程无法正常工作,影响系统的性能。
5.优先级倒置:优先级倒置是指低优先级的线程持有了一个高优先级线程需要的资源,导致高优先级线程被挂起。
这种情况会导致整个系统的性能下降。
为了避免优先级倒置问题,可以使用优先级继承或者优先级反转等技术。
6.信号量:信号量是一种用于控制并发访问的同步原语。
它是一个计数器,用于记录可用资源的数量。
线程在访问共享资源之前需要获取信号量,只有当信号量的值大于0时,线程才能获取信号量并进入临界区。
线程完成对共享资源的访问后需要释放信号量,增加信号量的值。
7.读写锁:读写锁是一种特殊的互斥机制,用于平衡并发读取和写入操作。
它允许多个线程同时进行读操作,但只允许一个线程进行写操作。
读写锁可以提高并发性能,但需要注意写操作的互斥性。
以上是互斥算法的几个基本概念。
同步与互斥实现方法

同步与互斥实现方法一、同步与互斥的概念同步是指多个线程或进程之间按照一定的顺序执行,以达到其中一种约定或要求。
在同步的过程中,程序等待其他线程或进程完成一些操作后再继续执行。
互斥是指多个线程或进程之间访问共享资源时,要互相排斥,避免冲突和竞争。
互斥的目的是保证多个线程或进程对共享资源的操作是互斥的,即同一时刻只有一个线程或进程可以访问共享资源。
二、实现同步的方法1. 互斥锁(Mutex)互斥锁是一种最常用的同步机制,通过对一些代码块或函数的访问加上互斥锁的操作,可以保证只有一个线程能够执行该代码块或函数。
当一些线程获得互斥锁时,其他线程在获得该锁之前会被阻塞。
2. 信号量(Semaphore)信号量是一种更为复杂的同步机制,用于实现一些资源的访问控制。
一个信号量有一个整型值和两个原子操作:P和V。
P操作(也称为wait或down)会使信号量的值减1,如果值小于0,当前线程或进程就会被阻塞。
V操作(也称为signal或up)会使信号量的值加1,如果值小于等于0,就会唤醒等待的线程或进程。
信号量可以用于解决生产者-消费者问题、读者-写者问题等并发编程中的资源竞争问题。
3. 条件变量(Condition Variable)条件变量是一种同步机制,用于在多个线程或进程之间同步共享资源的状态。
条件变量对应一个条件,并提供了等待和通知的机制。
等待操作可以使一个线程或进程等待一些条件成立,直到其他线程或进程通知条件变量,使得等待的线程或进程被唤醒。
通知操作可以使等待中的线程或进程被唤醒,继续执行。
条件变量常和互斥锁一起使用,互斥锁用于保护共享资源,条件变量用于同步共享资源的状态。
三、实现互斥的方法1. Peterson算法Peterson算法是一种经典的软件方法,用于解决两个进程之间的互斥访问问题。
该算法使用了两个布尔型变量flag和turn,通过交替使用这两个变量,实现了两个进程之间的互斥。
2. 印章(Semaphores)信号量也可以用于实现互斥操作。
05进程管理三互斥和同步一

23
记录型信号量和wait、signal原语
• 信号量是一个确定的二元组(value, L), value 是一个具有非负初值的整型变量,L 是 一个初始状态为空的队列。 • value代表资源的实体。在实际应用中应准确地说
明s的意义和初值,每个信号量都有一个队列,其初 始状态为空。 – 初始化指定一个非负整数值,表示空闲资源总数 (又称为"资源信号量")--若为非负值表示当前 的空闲资源数,若为负值其绝对值表示当前等待 临界区的进程数
17
2.3.2 信号量(semaphore)
二、利用整型信号量实现互斥
Begin Repeat … wait(mutex); Critical section Signal(mutex) Remainder section Until false; end
while mutex≤0 do no-op mutex:=mutex-1. mutex:=mutex+1
20
a S2
d S4 S5
S1 b S3
c
g f e S6
21
利用信号量来描述前趋关系---例2 var a,b,c,d,e,f,g:semaphore:=0,0,0,0,0,0; begin prabegin begim s1;signal(a);signal(b);end; begin wait(a);s2;signal(c);signal(d);end; begin wait(b);s3;signal(g);end; begin wait(c);s4;signal(e);end; begin wait(d);s5;signal(f);end; begin wait(e); wait(f); wait(g);s6;end. parend end.
信号量 p、v操作,利用信号量实现互斥的方法-概述说明以及解释

信号量p、v操作,利用信号量实现互斥的方法-概述说明以及解释1.引言1.1 概述信号量(Semaphore)是一种重要的同步工具,在并发编程中起到了关键的作用。
它是由荷兰计算机科学家艾兹赫尔·迪科斯彻兹于1965年提出的。
信号量可以用于控制对共享资源的访问,实现进程或线程之间的互斥和同步。
在计算机系统中,多个进程或线程可能需要同时访问某个共享资源,这时就会引发竞争条件(Race Condition)问题。
竞争条件会导致数据不一致性和程序错误,为了解决这个问题,需要引入互斥机制来保证共享资源在任意时刻只能被一个进程或线程访问。
信号量的引入能够有效地解决互斥问题。
它通过一个计数器来控制对共享资源的访问。
这个计数器被称为信号量的值,其可以是一个非负整数。
当信号量的值大于等于0时,表示共享资源可用,进程可以继续访问。
当信号量的值小于0时,表示共享资源不可用,进程需要等待其他进程释放该资源后才能继续访问。
信号量的实现依赖于两个操作:P(Proberen)和V(Verhogen)。
P操作用于申请共享资源,即进程想要对共享资源进行访问时,必须先进行P操作。
如果信号量的值大于等于1,即资源可用,那么P操作会将信号量的值减1,并允许进程继续访问共享资源。
如果信号量的值小于1,即资源不可用,那么进程就需要等待。
V操作用于释放共享资源,即进程访问完共享资源后,必须进行V操作,将信号量的值加1,以便其他进程可以访问该资源。
利用信号量实现互斥的方法,就是通过对共享资源进行P和V操作,来控制对资源的访问。
在访问共享资源之前,进程需要先执行P操作锁定资源,访问完毕后再执行V操作释放资源。
这样就能够保证在任意时刻只有一个进程能够访问共享资源,实现了互斥。
总结起来,信号量是一种重要的同步工具,通过P和V操作可以实现对共享资源的互斥访问。
利用信号量实现互斥的方法可以有效地解决竞争条件问题,保证数据的一致性和程序的正确性。
进程互斥的概念

进程互斥的概念
进程互斥是指多个进程在访问共享资源时,通过采用某种机制来确保每个时刻只有一个进程能够访问共享资源的特性。
这是为了避免并发访问共享资源时可能引发的数据不一致或冲突的问题。
进程互斥的概念涉及以下要点:
1.共享资源:多个进程需要访问的资源,如共享内存、文件、打印机等。
这些资源是被多个进程所共享的,因此需要确保在某个时刻只有一个进程能够访问。
2.临界区:每个进程访问共享资源的代码段被称为临界区。
在进入临界区之前和之后,进程需要执行一些特定的操作来确保互斥。
3.互斥锁:为了实现进程互斥,可以使用互斥锁(Mutex)机制。
互斥锁是一种同步机制,用于保护临界区的访问,只允许一个进程持有该锁。
当一个进程进入临界区时,它会尝试获取互斥锁,如果锁已被其他进程持有,则该进程会被阻塞,直到锁被释放。
4.互斥算法:互斥算法是一种实现进程互斥的具体策略。
常见的互斥算法包括Peterson算法、临界区互斥算法、信号量机制等。
这些算法的目标是确保在任何时刻只有一个进程能够进入临界区。
通过实现进程互斥,可以有效解决并发访问共享资源可能引发的问题,确保数据的一致性和正确性。
在设计和编写多进程或多线程程序时,考虑进程互斥是至关重要的,以避免竞争条件和数据竞争等并发问题的发生。
1/ 1。
分布式互斥算法

分布式互斥算法一、引言在分布式系统中,多个节点并行地执行任务时,需要保证各个节点之间的互斥访问,以避免数据不一致和冲突。
分布式互斥算法就是为了实现这一目标而设计的。
本文将介绍分布式互斥算法的基本原理和常用的实现方法。
二、基本原理分布式互斥算法的基本原理是通过协调各个节点之间的操作,使得在任意时刻只有一个节点可以访问共享资源。
为了实现这一目标,需要满足以下要求:1. 互斥性:在任意时刻,只有一个节点可以访问共享资源。
2. 正确性:任意节点都有机会访问共享资源,而不会出现饥饿现象。
3. 容错性:即使在节点故障或网络异常的情况下,系统仍能正常运行。
三、常用的分布式互斥算法1. 令牌环算法令牌环算法是一种常见且简单的分布式互斥算法。
它基于一个环形的令牌,只有拥有令牌的节点才能访问共享资源。
当一个节点完成访问后,将令牌传递给下一个节点。
这样,系统中只有一个节点可以拥有令牌,从而实现互斥访问。
2. 选举算法选举算法是另一种常见的分布式互斥算法。
它通过选举一个主节点来实现互斥访问。
节点之间通过消息传递进行选举,每个节点都有一个优先级,优先级最高的节点成为主节点,其他节点成为从节点。
只有主节点才能访问共享资源,其他节点需要等待主节点释放资源后才能访问。
3. 基于时间戳的算法基于时间戳的算法是一种基于逻辑时钟的分布式互斥算法。
每个节点都有一个时间戳,当节点要访问共享资源时,需要先获取全局最小时间戳。
只有获得最小时间戳的节点才能访问共享资源,其他节点需要等待。
四、分布式互斥算法的应用场景1. 分布式数据库在分布式数据库系统中,不同节点需要对数据库进行读写操作。
分布式互斥算法可以保证同时只有一个节点可以对数据库进行写操作,避免数据的不一致性。
2. 分布式文件系统在分布式文件系统中,多个节点需要同时访问共享文件。
分布式互斥算法可以保证在任意时刻只有一个节点可以访问文件,避免冲突和数据丢失。
3. 分布式计算在分布式计算系统中,多个节点同时执行计算任务。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(由最低级的系统发出选举消息) : ?
东南大学 28
投标
• 这是选举过程的一种特殊实现:每个竞争者 (进程)从一个给定的集合中随机选取一个投 标值(而不是使用固定的进程ID)来参与竞 争(选举),从而增加进程当选的公平性。
• 要求
– 竞争者只能通过交换消息来相互通信 – 通信是无错的 – 每个竞争者都将在最后期限前发出它的投标值 – 竞争者不能发送相互冲突的信息给不同的竞争者
队列为空,则将资源状态改为可用,否则从队列中 选择一个请求发送应答。
东南大学 13
Maekawa算法的实现
• 理想的请求集
– 任何两个子集均恰有一 个公共进程
– 各子集应尽可能等长 n = k(k-1) + 1
• 死锁问题
– 需要在等待中作进一步 的消息交换,然后依据 时戳等参数来解除死锁 (要求优先级低的放弃 请求)
5
自稳定
• 在一般意义下的分布式系统没有一个能 随时掌控全局状态的“中央”节点,自稳 定的意义在于系统中对等的各分系统可 以以任何初态开始工作,并能在一个确 定的时间(片)后,确保系统是稳定 的,并进入正常的工作状态。
– 如果收到应答,则P设置一个计时器并等待当选者宣布自己的ID; – 如果计时器满时还没有收到当选者的消息,则P重新开始选举过程。
• 当进程Pi收到进程Pj发来的选举消息时
– 向所有优先级比自己高的进程广播选举消息来开始一个选举过程, 并向Pi返回一个应答;
– 如果自己有最高优先级,则立即宣布自己当选;
• 权标的实现可有多样性
– 状态位 – 数据记录
东南大学 17
Ricart和Agrawala的第二个算法
• 算法
– 初始时权标被赋予任意一个进程,希望访问资源的进程 通过向其它所有进程广播一个带时标的消息来请求权
标,请求的时标最小者优先获得权标。
–
当前拥有权标的进 i+1,i+2,……,n
,程,Pi若1,不2再,需…要…使,用i-1资的源顺,序则搜按索其照
东南大学 14
作业
• 13个进程共享一个资源,用Maekawa算 法来支持互斥,请划分进程请求子集
• 本次作业12月13日交
基于权标的分布式互斥算法
东南大学 15
东南大学 16
权标的概念
• 应答消息是一次性的授权,再次使用资源 时需要重新申请;而权标是固定的授权, 拥有方可以反复使用这个授权,直至授权 方收回(例如通过一个请求消息)。
id(1) = 1;id(2) = 2;
1
id(3) = 3;id(4) = 4。
4
2
共需 n×n×2 +((n- 1)+1)×(n-1)/2 = 5n×n/2-n/2次 消息传递
3
东南大学 23
优化的单向环算法
• 对并行发起的选举操作,通过为每个进程Pi引 入一个布尔量participanti(初值为F)来减少 不必要的消息传输,以提供效率。
3
东南大学 25
Garcia-Molina的占领算法
• 要求系统中每个进程都知道其它所有进程的优先级
• 当进程P通过超时机制发现当前的协调者不再工作时,要向 所有优先级比它高的进程广播选举消息以开始一个选举过程
– 如果在规定时间内没有应答,则P向所有优先级比自己低的进程发送 自己的ID,宣布自己当选;
第四章 互斥与选举算法
东南大学 1
互斥算法--几个基本概念
• 互斥算法的目的是解决对共享资源的访问冲 突问题
• 算法的控制机制
– 基于权标的算法:通过权标拥有权来控制对共享 资源的访问
– 非基于权标的算法:通过进程之间的消息交换来 协商决定对共享资源的访问
• 算法的适应性
– 静态互斥算法:算法的行为独立于系统的状态 – 动态互斥算法:算法的行为依赖于系统的状态
Pt1=T 2-2->3 -2->4 -2->1 stop
Pt1=F Pt2=F Pt3=F Pt4=F
Pt2=T 3-3->4 -3->1 stop
Pt3=T 4-4->1 stop Pt4=T
id(1) = 1;id(2) = 2; id(3) = 3;id(4) = 4
1
4
2
∴ 共需 n + 1 + …… + n = (n+3)n/2次消息传递
它进程,找到第一个需要权标的Pj,并将权标传递给 它。
– 各进程对权标的使用被记录在权标中,因此进程Pi在释 放权标时可以根据自己的请求队列和权标的记录来确定 下一个拥有者。
• 权标的传递与请求的时标无关,但由于沿一个固
定的方向传递,因此算法仍然是公平的,不会有
饥饿现象发生。
东南大学 18
3
基于权标环的简单算法
使用
东南大学 7
改进的Lamport互斥算法
P1 使用
P2 使用
P3
• 当进程Pj在发出自己的请求后收到一个来自进程Pi的时戳更小的 请求,则Pj向Pi的应答可用省略。
• 交换的消息数量可少于3(n-1)个
东南大学 8
Ricart和Agrawala的第一个算法
• 当进程Pi需要占用公区时,它向分布式系统中所有进程 (从概念上讲包括它自己)广播一个三元组(公区名,进 程号,时标)作为请求。 – 回如一果个接收OK者给PPj没i。有占用该公区且也没有申请使用它,返 – 如果Pj正在该公区中,则不应答并暂存这个请求。 – 如果Pj正在申请使用这个公区,则需要将收到的时标与 使自用己,申则请P的j返时回标一进个行O比K较并,暂时存标自小己者的优请先求。;如否果则P不i优应先 答并暂存这个请求。
• 实现方法
– 各Pi在发起选举时将participanti置为T – 在收到大于自己id的选举消息且自己的participanti
为T时终止这个选举(即不再转发) – 在选举结束(被选中进程通知结果)时,收到通知
的Pi同时将自己的participanti置为F。
东南大学 24
4
1-1->2 -1->3 -1->4 -1-> 1, 1-1-> 2 -1-> 3 -1-> 4 -1->1 STOP
东南大学 5
Lamport互斥算法
• 为了请求资源,进程Pi发送带时标的消息r给系统中的所有进 程,包括它自己;
• 任意进程Pj收到请求资源的消息时,将该消息按时标顺序放 在自己的局部请求队列中并发回一个带时标的应答;
• 进程Pi获得资源访问权的条件是
– 它已收到从其它所有进程发来的应答 – 它的请求r在它的请求队列的顶部 – 它从所有其它进程处收到的消息的时标均比r的时标大;
• just go around
• 适合于高负荷的环境,低负荷导致权标低效移 动,造成资源浪费。
P (i:0 .. n-1) ::= [ receive token from P ((i – 1) mod n); Consume the resource if needed; send token to P ((i + 1) mod n)
• 通常基于全局优先级,又称为极值查找算法
东南大学 21
针对单向环的选举算法- Chang和Roberts
• n个进程按任意顺序排列在一个环上
• 进程的ID不同,值越小的优先级越高
• 当任意进程Pi收到一个选举消息时,需要将其中 的ID与自己的ID相比,并将较小者放入选举消息 中向环的下游发送;
• 当任意进程Pi收到包含自己ID的选举消息时,可 确认自己当选,这时它需要将这个消息通知所有 其它的进程。
R1:{P1,P3,P4} R2:{P2,P4,P5} R3:{P3,P5,P6} R4:{P4,P6,P7} R5:{P5,P7,P1} R6:{P6,P1,P2} R7:{P7,P2,P3}
P1、P6和P7同时申请资源,并且 P1得到P4的应答,等待P3的应答 P6得到P2的应答,等待P1的应答 P7得到P3的应答,等待P2的应答
东南大学 11
Maekawa算法
• 基本思想
– 将进程分成多个请求子集,要求这些集合两 两相交。进程Pi只要得到所属集合中其它进 程的应答即可访问共享资源。由于这些交集 构成了集合间相互的访问制约关系,因此可 以达到互斥控制的目的。
东南大学 12
2
Maekawa算法
• 具体算法
– 出进请程求Pi在消请息求;访问资源时,向自己的请求子集Ri发 – 放R应态i中入答为的自。可己进如用的程果,请PP则jj在求记将队收录该列到的记(资请录时源求该标状后为取态,占请为如有求占果,到有P并j达记则向的录将P时i的返这间资回个)源一请;状求个 – 源P息i只,。有在这在访些问进得程结到在束Ri收后中到要所释向有放R进i中消程的息的所后应有,答进如后程果才发自能送己访释的问请放资求消
调度能力) – 反应时间:进程发出访问请求到执行完访问操作的
时间间隔(依赖于系统的负载和调度的合理性)
东南大学 3
一些假设
• 进程内部是顺序的 • 进程之间通过消息传递通信 • 通信对象是直接可达的 • 无传输错误 • 通信是异步的,传输延迟有限但不可预测 • 通信采用FIFO方式
东南大学 4
非基于权标的分布式互斥算法
东南大学 2
互斥算法--条件和性能参数
• 互斥算法必须满足
– 无死锁-当资源可用时进程不应该永远等待 – 无饥饿现象-每个对资源的访问请求最终都应能得
到满足 – 公平性-进程对资源访问权的获得应是相对公平的
• 衡量互斥算法性能的参数包括
– 每个请求的消息数 – 同步延迟:共享资源的有效访问间隔(更有效的