互斥资源的使用论文

互斥资源的使用论文

ID:43784002

大小:103.37 KB

页数:6页

时间:2019-10-14

互斥资源的使用论文_第1页
互斥资源的使用论文_第2页
互斥资源的使用论文_第3页
互斥资源的使用论文_第4页
互斥资源的使用论文_第5页
资源描述:

《互斥资源的使用论文》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、集中式与分布式互斥资源的使用摘要:木文对集中式操作系统与分布式操作系统中的同步互斥机制进行深一步的探讨。无论是集中式述是分布式系统中,为了实现多进程有效共享系统中的各类资源,都需要用同步机构进行互斥控制系统进行资源的调度和管理。在淡季集屮式系统屮通常使用信号灯以及P・v操作进行同步控制并实现互斥算法,而在分布式系统中使用报文进行通信以实现互斥控制。由于集中式和分布式系统所采用的同步机构不同,因此要求也不同。本文通过介绍儿种集中式与分布式系统的互斥资源使用算法,来了解集中式与分布式系统互斥资源使用算法的区别。关键词:集中式系统;分布式系统;互斥;令牌;临界资源1•

2、系统中的同步集中式系统中的同步集中式系统中同步的软件实现方法通常是采用信号量机制。最简单的是整形信号量机制,通过两个标准的P、V操作实现资源的互斥使用。为了使得多个同类资源能够有效的互斥使用,在信号量机制的概念中引入记录型信号量加以实现。采用AND型信号量可以有效的避免多个进程同时要求多种共享资源时发生死锁的问题。为了让进程能够一次使用多个同类资源而口不用进行多次等待(P操作),又使用信号量机制进行控制。1.2分布式系统中的同步在分布式系统中由于没有共享的主存,因此主要使用报文进行通信以实现同步。总的来说,分布式操作系统中的同步系统其木质就是使得各种使用共享资源

3、的操作或活动形成一个有序序列,或者说同步机构的目的就是给使用资源的多个进程提供某种方法和手段使分布式系统保持一个一致的状态,如多副本文件系统的一致性等。分布式系统中实现硬件同步的方法一般是采用物理吋钟、事件计数器、顺序器等。物理时钟方法中,时钟服务器从WWV或GEOS处获得UTC,根据系统和用户的需要以集中式物理时钟的方式或分布式物理时钟的方式实现同步控制。分布式系统中实现互斥同步控制的最简单的方法是在并发执行的各个进程中选定一个进程作为协调者。当任一个进程想进入临界区时,首先要向协调者进程发送请求报文申请临界区进入许可。协调者进程根据目前临界区中的进程情况或者

4、同意或者拒绝请求者进程进入临界区。这样的过程是通过报文的传递进行的。如果目前临界区内已有进程的话协调者或者拒绝或者不回答请求的进程。无论是哪种方式,系统都要设置一个缓冲队列用来存放被阻塞的请求进程。当临界区被退出后,由退出进程向协调者进程发送一个释放报文,协调者进程将进入临界区许可报文发送给相应的被阻塞队列中的第一个进程,使其退出等待队列进入临界区。显然该算法的实现机制保证不会击现饿死和死锁现象。该方法实际上是在分布式系统中模仿单机集中式系统的实现方式,存在同样的问题即性能效率低,可靠性差。2•集中式互斥算法和分布式互斥算法2.1集中式互斥算法集中式算法采用协调

5、者的方法实现互斥,只有获得协调者许可的进程才可以进入临界区。算法要点如下:(1)选一个进程为协调者。(2)每个要求进入临界区的进程向协调者发出请求,协调者对所有的请求进行排队和授予许可。若临界区中已有一个进程,协调者便不能同意新的请求。(3)当占有临界区的进程从临界区退出时,向协调者发送释放临界区消息,允许其它进程进入临界区。集中式算法保证了互斥的实现一一协调者在某一时刻只能让某一进程进入临界区。但是,协调者显然是算法的瓶颈所在。如图1.1所示协调者2.2分布式互斥算法2.2.1基于令牌传递的分布式互斥算法该方法的主要思想是,利用一条特定格式的消息,通常将该消息

6、称为令牌,遍历系统所有进程。任意时刻,拥有令牌的进程才被允许进入临界区。由于令牌的唯一性,系统能够很好的实现互斥。如图2.2所示:lamport算法:(b)如图(a)所示,进程没有固定的顺序,可以用软件构造岀一个逻辑环,环中为每个进程都分配了一个位置,如图(b)所示。环的位置可以按照网络地址或以其他方式来分配。顺序不重要,重要的是知道谁在他的下一个位置。该算法的正确性显而易见。在任何时刻都只有一个进程有令牌,所以实际只有一个进程能进入临界区。而且令牌以固定的顺序在进程间循环传递,所以不会发生饿死现象。如果一个进程想进入临界区,最差的情况是等待其他所有进程都进入临

7、界区后再从中退出后再进去。缺点是,如果令牌丢失,那么需要重新生成令牌,但是检测令牌丢失十分困难,即使很长时间没有发现令牌,也不意味着令牌丢失,可能某个进程正在使用。2.2.2基于非令牌传递的分布式互斥算法当一个进程想进入一个临界区时,它构造一个消息,其中包括他要进入的临界区的名字、他的进程号和当前吋间。然后将该消息发送给所有其他进程。当进程接收到请求消息是,会根据自己与消息中的临界区相关的状态来决定采取的动作,可以分为三种情况:(1)入接收者不在临界区也不想进去临界区,他就向发送者发送一个0K消息。(2)如接收者已经在临界区内,它不进行应答,而是将请求放入队列中

8、(3)如果接收者想进入临

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。