首页 浅析UCOS信号量

浅析UCOS信号量

举报
开通vip

浅析UCOS信号量 浅析 UCOS信号量 信号量有 3种用途: 1) 表达事件的发生次数或者已发生事件的数量。 2) 表达资源可用性,例如有一台打印机,信号量值为 1 表示打印机空闲, 为 0表示打印机被占用。这是资源可用量的一个特例,也可以说,信号 量值为 1表示有 1台打印机空闲,为 0表示无打印机空闲。 3) 表达资源可用量,例如有 10个串口,信号量值用于表达空闲串口数量。 UCOS 代码没有显式地区分信号量的用途并作分别处理,因为这些用途的 代码处理是完全相同的。 假设信号量用于表达事件发生的次数,O...

浅析UCOS信号量
浅析 UCOS信号量 信号量有 3种用途: 1) 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 达事件的发生次数或者已发生事件的数量。 2) 表达资源可用性,例如有一台打印机,信号量值为 1 表示打印机空闲, 为 0表示打印机被占用。这是资源可用量的一个特例,也可以说,信号 量值为 1表示有 1台打印机空闲,为 0表示无打印机空闲。 3) 表达资源可用量,例如有 10个串口,信号量值用于表达空闲串口数量。 UCOS 代码没有显式地区分信号量的用途并作分别处理,因为这些用途的 代码处理是完全相同的。 假设信号量用于表达事件发生的次数,OSSemCreate创建一个事件,初始 化事件计数器初值为 0。当一个任务等待事件发生时,若事件未发生,事件计数 器为 0,任务保持等待状态。 假设信号量用于表达资源可用性(或数量),OSSemCreate 创建一个事件, 初始化资源计数器初值为 10。当一个任务等待资源可用时,若无可用资源,资 源计数器为 0,任务保持等待状态。 事件计数器和资源计数器在程序中是同一个变量,可见,当这个变量为 0时, 无论用于信号量用于事件计数器还是资源计数器,都会使(等待事件的和申请资 源的)任务保持等待状态。 假设信号量用于表达事件发生的次数,某个任务或中断触发了事件,事件计 数器递增为非 0,表示事件已发生,UCOS会调度等待事件发生的任务获得执行。 假设信号量用于表达资源可用性(或数量),当一个任务用完并释放资源时资 源计数器递增为非 0,表示有资源可用,UCOS会调度等待资源可用的任务获得 执行。 事件计数器和资源计数器在程序中是同一个变量,可见,当这个变量非 0时, 无论信号量用于事件计数器还是资源计数器,都会使(等待事件的和申请资源的) 任务获得执行。 OSSemPend,等待事件发生,或者等待资源可用,都是等待事件计数器(资 源计数器) 变为非 0。 OSSemPost,触发事件发生,或者 通知 关于发布提成方案的通知关于xx通知关于成立公司筹建组的通知关于红头文件的使用公开通知关于计发全勤奖的通知 资源可用,都是将事件计数器(资源 计数器) 递增为非 0。 在调用 OSSemPend时,若事件已发生,或者资源已可用,事件计数器(资 源计数器) 已是非 0,就要调度等待事件的或者等待资源的任务获得执行,并递 减事件计数器(资源计数器)。 在 OSSemPost 之后,事件已发生,或者资源已可用,事件计数器(资源计 数器) 已是非 0,就要调度等待事件的或者等待资源的任务获得执行,并递减事 件计数器(资源计数器)。 可见,当信号量用于表达事件时,将事件计数器初始化为 0,当信号量用于 资源可用性或可用数量时,将资源计数器初始化为非 0。通过将同一变量(既作事 件计数器又作资源计数器)初始化为不同值,既表达了信号量的用途,又使同一 套代码服务于多种用途。
本文档为【浅析UCOS信号量】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_222532
暂无简介~
格式:pdf
大小:52KB
软件:PDF阅读器
页数:0
分类:互联网
上传时间:2013-11-11
浏览量:13