信号量管理.ppt

上传人:sccc 文档编号:5945413 上传时间:2023-09-07 格式:PPT 页数:14 大小:861.01KB
返回 下载 相关 举报
信号量管理.ppt_第1页
第1页 / 共14页
信号量管理.ppt_第2页
第2页 / 共14页
信号量管理.ppt_第3页
第3页 / 共14页
信号量管理.ppt_第4页
第4页 / 共14页
信号量管理.ppt_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《信号量管理.ppt》由会员分享,可在线阅读,更多相关《信号量管理.ppt(14页珍藏版)》请在三一办公上搜索。

1、信号量管理,os_sem.cLzp,什么是信号量?,信号量可以用来保护两个或多个关键代码段,这些关键代码段不能并发调用。在进入一个关键代码段之前,线程必须获取一个信号量。只有获取了信号量才能进入代码临界段ucosii信号量由两部分组成:一个16位的无符号整型数;一个由等待该信号量的任务组成的任务等待表,Ucosii提供的基本操作,OSSemCreate-创建一个信号量OSSemDel-删除一个信号量OSSemPend-有等待的获取一个信号量OSSemPost-发出一个信号量OSSemAccept-无等待的获取一个信号量OSSemQuery-查询信号量信息OSSemSet-把信号量计数设为指定的

2、数,创建一个信号量,删除信号量,获取一个信号量,调用OSSemPend获取一个信号量,如果信号量计数0,则将该计数减一,然后返回否则将阻塞在这里,等待信号量计数0不能在isr中获取信号量,why?因为如果在isr中获取信号量,万一信号量计数0,一个中断isr是无法挂起的,它不是个任务,发送信号量,OSSemPost发送一个信号量就是将信号量计数加一,同时判断是否有任务pending在这个信号量上,如果是则唤醒这些任务中优先级最高的那个任务中断服务程序isr中也可以调用这个函数发送个信号量,查询信号量,查询信号量的信息:有哪些任务在等待这个信号量?信号量的计数当前是多少?等等查询可以在isr中进行,也可以在任务中进行查询到的信息通过OS_SEM_DATA返回,设置信号量计数,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号