关于Linux信号量的理解和探讨(别说看不懂,耐心看完,你会恍然大悟~)

本文介绍了在Linux环境下,如何利用信号量实现进程间的资源独占,以确保串口设备的有序使用。信号量作为同步机制,源于Dijkstra的理论,用于协调进程间共享内存的通信。文中给出了P(V)操作的解释,以及如何通过`ipcs`命令查看信号量状态。同时,提供了一个简单的信号量测试程序,并提出了在何时释放信号量的问题,期待读者的解答。
摘要由CSDN通过智能技术生成
工作环境(蓝色粗体字为特别注意内容)

1,实验环境:Linux2.6

2,参考文献:https://www.cnblogs.com/LZYY/p/3453582.html

最近在操作设备文件的时候,要求使用独占模式使用串口设备,即一个进程用完之后释放该串口,供其他进程使用。该如何实现该需求呢?自然想到了用信号量来实现。信号量是什么呢?

首先了解一下,信号量机概念是由荷兰科学家Dijkstr引入,值得一提的是,它提出的Dijksrtr算法解决了最短路径问题。
      信号量又称为信号灯,它是用来协调不同进程间的数据对象的,而最主要的应用是共享内存方式的进程间通信。本质上,信号量是一个计数器,它用来记录对某个资源(如共享内存)的存取状况,信号量是一个特殊的变量,并且只有两个操作可以改变其值:等待(wait)与信号(signal)。
因为在Linux与UNIX编程中,"wait"与"signal"已经具有特殊的意义了(暂不知这特殊意义是啥),所以原始概念: 
     用于等待(wait)的P(信号量变量) ; 
     用于信号(signal)的V(信号量变量) ; 
这两字母来自等待(passeren:通过,如同临界区前的检测点)与信号(vrjgeven:指定或释放,如同释放临界区的控制权)的荷兰语。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值