Advertisement

FreeRTOS系列——信号量管理

阅读量:

在操作系统领域中,信号量扮演着关键角色。它们通常用于实现资源分配与任务协调。FreeRTOS中的 signaled标示器类型包括二元状态标记器、计数值标记器、互斥标记器以及递归互斥标记器四种类型。每种类型的标记器具有特定的应用场景。

1.信号量简介

在操作系统设计中常用计数器来实现对共享资源的控制和任务同步功能。举个常见的例子来说,在某个停车场里共有100个停车位可供车辆停放使用。从这个角度来看,在这种情况下大家都可以自由地占用这些停车位资源。假设停车场目前处于正常运营状态,在这种情况下你希望将车子停放在这个停车场之前首先要查看当前已经有多少辆车进入了停车场?还有剩余多少个停车位?此时可用的数量就是所谓的计数器数值;一旦当前停车位的数量达到100就意味着停车场已经饱和了。
那么在停车场饱和的情况下你可以稍作等待观察是否有车辆离开车位前往其他地方驾驶离开之后此时可用停车位的数量就会减少一个也就是计数器数值减一随后你就可以顺利地将车子停放在那个车位上进入之后则会增加一个停车位即计数器数值加一这就是一种典型的基于计数器实现共享资源管理的操作流程在这个流程中所使用的正是计数器型同步机制。
再来看另一个案例:比如我们在日常生活中使用的公共电话系统大家都知道一次只能有一个人占用同一个电话机因此在这种情况下公共电话的状态要么是被占用要么就是空闲着的状态这时我们将这两个状态作为同步机制变

全部评论 (0)

还没有任何评论哟~