ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

处理机管理——进程互斥的软件实现

2022-04-27 00:32:15  阅读:179  来源: 互联网

标签:处理机 访问 算法 互斥 临界 进入 检查法 进程 软件



单标记法:
算法思想:两个进程在访问临界区后会把使用临界区的权限转交给另一个进程。也就是说每个进程进入临界区的权限只能被另一个进程赋予
只有当前允许进入临界区的进程在访问了临界区之后,才会修改当前允许进入临界区的进程号的值。也就是说,对于临界区的访问是轮流访问。这种必须“轮流访问”带来的问题是,如果此时允许进入临界区的进程一直不访问临界区,那么虽然此时临界区空闲,但是并不允许其他进程访问。因此,单标志法存在的主要问题是:违背“空闲让进”原则。

双标志先检查法:
算法思想:设置一个能表示各进程想进入临界区的意愿的标记,意味着某进程现在想要进入临界区。每个进程在进入临界区之前先检查当前有没有别的进程想进入临界区,如果没有,则把自身对应的标志设为进入,之后开始访问临界区。
双标志先检查法的主要问题是:违反“忙则等待”原则。原因在于,进入区的“检查”和“上锁”两个处理不是一气呵成的。“检查”后“上锁”前可能发生进程切换。

双标志后检查法:
算法思想:先“上锁”后“检查”的方法(双标志先检查法的改版。前一个算法的问题是先“检查”后“上锁”,但是这两个操作又无法一气呵成,因此导致了两个进程同时进入临界区的问题)
双标志后检查法虽然解决了“忙则等待”的问题,但是又违背了“空闲让进”和“有限等待”原则,会因各进程都长期无法访问临界资而产生“饥饿”现象。
两个进程都争着想进入临界区,但是谁也不让谁,最后谁都无法进入临界区。

Peterson算法
算法思想:在进入区“主动争取一主动谦让一检查对方是否想进、己方是否谦让“
解决了进程互斥问题,遵循了空闲让进、忙则等待、有限等待三个原则,但是
依然未遵循让权等待的原则。会发生“忙等“
忙等状态:当一个进程正处在某临界区内,任何试图进入其临界区的进程都必须进入代码连续循环,陷入忙等状态。连续测试一个变量直到某个值出现为止,称为忙等。(没有进入临界区的正在等待的某进程不断的在测试循环代码段中的变量的值,占着处理机而不释放,这是一种忙等状态) 这个时候应该释放处理机让给其他进程






标签:处理机,访问,算法,互斥,临界,进入,检查法,进程,软件
来源: https://www.cnblogs.com/LXZYZDCZL/p/16197313.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有