操作系统进程互斥 - 硬件解决方案
最编程
2024-04-03 08:59:40
...
文章目录
- 1、关中断
- 2、上锁与开锁
- 3、测试并设置指令
- 4、对换指令
1、关中断
原则:进程进入临界区时关中断,退出临界区时开中断。
为什么要采用关中断?
关中断是指在此中断处理完成前,不处理其它中断,这样就可以保证进程不被中断,从而保证了互斥性(不允许两个以上的共享该资源的并发进程同时进入临界区称为互斥),因此采用关中断。
缺点?
①将禁止一切中断的权利赋予普通用户,若用户没有开放中断,系统的正常运行将受到影响。
②不适合于多处理机系统,因为一个进程只能禁止本CPU的中断,其它CPU上的进程仍然会使用互斥资源。
2、上锁与开锁
一个进程使用某个临界资源之前必须完成下列操作:
1.考察锁位的值
2.若原来的值是为“0”,将锁位置为“1”(占用该资源)
若原来值是为“1”,该资源已被别人占用,则转到第1步
3.当进程使用完资源后,将锁位置为“0 ” ,称为开锁操作
3、测试并设置指令
bool TS(bool &x)
{
if(x)
{
x = false;//true表示当前资源可用,于是占用,并置x为false
retrun true;
}
else
{
retrun false;
}
}
bool s = true;
process Pi()
{
while(!TS(i));//上锁(持续检测直到x为true)
s = true;//开锁
}
4、对换指令
void SWAP(bool &a,bool &b)
{
bool temp = a;
a = b;
b = temp;
}
bool lock false;//false表示当前资源可用
process Pi()
{
bool keyi = true;
do{
SWAP(keyi,lock);//上锁(持续检测直到keyi为false,说明已经交换,占位成功)
}while(keyi);
SWAP(keyi,lock);//开锁
}
推荐阅读
-
openEuler郑州用户组成立!openEuler与hyperfusion携手共建河南地区用户生态 - 开幕致辞 超融合操作系统业务总经理、openEuler委员会成员蒋振华先生为本次活动致辞。 在本次活动的致辞中,他提到,作为openEuler社区早期的成员,超融合见证了openEuler从成立到在各行业商业落地,再到跨越生态拐点的过程,感谢openEuler提供了一个全产业链共同创新的平台,共同推动创新技术的商业落地。 同时,本次活动得到了郑州市郑东新区大数据管理局、郑州中原科技城投资服务局的大力支持。 郑东新区大数据管理局曹光远 在活动致辞中表示,openEuler的应用和*应用设施的深度优化,为郑东新区数字化转型提供了安全、可靠、高性能的技术基础;郑州中原科技城招商服务局王林表示,郑东新区欢迎所有openEuler生态相关企业扎根当地,围绕openEuler社区共同发展,形成合力。 openEuler社区及运维功能介绍 openEuler技术委员会委员胡峰 openEuler技术委员会委员胡峰先生在本次活动中介绍了openEuler社区目前发展的整体情况,并重点从技术层面介绍了openEuler的运维功能。 openEuler 晚会 胡峰先生介绍智能运维工具 A-Ops 和 openEuler gala、 阿波罗 Apollo、智能漏洞管理解决方案等新功能,以及涵盖各种运维场景的精品运维组件。在*交流环节,许多用户就目前使用的 openEuler 在*交流环节,许多用户就自己在使用openEuler过程中遇到的一些问题与胡峰先生进行了进一步的交流。 软硬结合,构建多样化算力操作系统 Hyperfusion 基于 openEuler 的基础上,结合自身软硬件技术积累,推出了富讯服务器操作系统 FusionOS FusionOS. FusionOS 首席架构师张海亮 分享了 FusionOS FusionOS首席架构师张海亮分享了FusionOS的软硬件协同优势、卓越的性能和可靠性,以及FusionOS在金融、运营商、*、互联网等行业的实践案例,引起了众多用户的兴趣,分享结束后,不少参会者就FusionOS的特点向讲师提问并进行了交流。
-
操作系统 第 2 章 进程描述与控制_进程同步与互斥的区别
-
进程互斥的软件实现、硬件实现和互斥锁-1。
-
操作系统进程互斥 - 硬件解决方案
-
操作系统学习笔记-6:进程同步与进程互斥(III):经典问题
-
进程互斥的硬件实现
-
操作系统的进程管理(下),同步互斥死锁问题,看操作系统如何解决
-
操作系统 - 进程互斥的硬件和软件实现
-
有多少种方法可以实现多线程同步和互斥?什么是同步和互斥,操作系统如何实现同步和互斥,进程和线程之间的关系是什么,进程比线程的开销是多少?
-
操作系统 - 进程互斥的硬件和软件实现(IV)