9.5.2 信号量传递信息
Linux系统有大量的资源,内核在使用这些资源时会发生竞争,在内核开发的时候为避免竞争的发生,通常用信号量来解决。Linux信号量(semaphore)是一种互斥机制。即对某个互斥资源的访问会收到信号量的保护,在访问之前需要获得信号量。在操作完共享资源后,需释放信号量,以便另外的进程来获得资源。获得和释放应该成对出现。PC104+的用户空间和内核空间的程序之间通过信号量完成信息的传递,下面的表9-2、图9-9和后面的部分程序是完成该部分信息传递的实例。
表9-2 RTAI下常用的信号量处理函数

(https://www.daowen.com)

图9-9 基于信号量的信息传递

