欢迎访问ic37.com |
会员登录 免费注册
发布采购

关于信号量的问题; 一直对信号量模模糊糊,今天觉得这段描述不错,大家讨论讨论。下面是节选的一本描述U

一直对信号量模模糊糊,今天觉得这段描述不错,大家讨论讨论。下面是节选的一本描述UCOS上对信号量的叙述。一般来说,对信号量只能实施3种操作:初始化,也可称作建立;等信号,也可称作挂起;给信号或者发信号。信号量初始化时,要给信号量赋初值,等待信号量的任务表应清为空。想得到信号量的任务,须执行“等待”操作。如果该信号量有效(信号量值大于0),则信号量值减1,任务得以继续运行。如果信号量的值为0,等待信号量的任务就被列入等待信号量任务表。如果等待时间超过了某一设定值,该信号量还是无效,则等待信号量的任务进入就绪态,准备运行,并返回出错代码(指出发生了等待超时错误)。任务以“发信号”操作释放信号量。如果没有任务等待信号量,那么信号量的值仅是简单的加1;如果有任务等待该信号量,那么就会有一个任务进入就绪态,信号量的值也就不加1。于是钥匙给了等待信号量的诸任务中的一个任务。至于给了哪个任务,要看内核是如何调度的。

评论

目前还没有评论,等你发挥~

    最新帖子
实时操作系统μC/OS-II在MCF5272上的移植; 作为一个实时内核,μC/OS从1992年开始 希望能够组建一个wince开发的msn组; 我的:mikequ7808@hotmail.com H-JTAG不能调式LPC2210;    H-JTAG可以识别芯片I 在ARM9上用linux还是WINCE,我一直很犹豫; 目前手上资料都有,硬件平台也有,但一直在犹豫 如何从头开始学移植uclinux; 本人去年移植过uc-osII,自我感觉不错,想学习下移植下ucl 急:我装的LINUX系统会不会没有编程工具呢?; 前天装Fedora8时,选择的是办公软件和编程软件 华硕epc1000H超级小巧笔记本能装linux做嵌入式开发吗?; 1.6G主频+1G内存+160G 带linux操作系统的ARM9开发; 以前是用ADS开发ARM,跑裸机的.现在要跑操作系统.一种情况 用智能手机作为开发平台,可行吗,请帮助?; 我一直考虑这样一个问题,不知道是否可行,或者早就有人实现 嵌入式LINUX开发一定要用gccgdb吗; 嵌入式LINUX开发一定要用gccgdb吗  碰触Windows CE 中断; Windows CE是紧凑的、高效的和可升级的操作系统, 请教指纹识别模块; 我想做一个汽车指纹锁,用什么指纹模块好呢,请各位 多多指教? FatFS的disk_write()传递参数const型是为什么?; const BYTE* Buf 大家觉得real6410怎么样?; 最近想买一个开发板玩玩,看网上有团购real6410的,价格80 访问脚本源代码更加困难; 有时候,编程人员想要阻止其他用户访问脚本的源代码。在2600系列[1]数据
 复制成功!