VxWorks信号量是提供任务间通信、同步和互斥的最优选择,提供任务间最快速的通信。也是提供任务间同步和互斥的主要手段。VxWorks提供3种信号量来解决不同的问题。
二进制信号量:最快的最常用的信号量,可用于同步或互斥。
互斥信号量:为了解决内在的互斥问题如优先级继承、删除安全和递归等情况而最优化的特殊的二进制信号量。
计数信号量:类似于二进制信号量,但是随信号量释放的次数改变而改变。
二进制信号量
二进制信号量能够满足任务间的互斥和同步,需要的系统开销最小,因此也称快速信号量。二进制信号量可以看成一个标志,对应资源是可用还是不可用。当一个任务调用semTake ()请求一个信号量时,如果此时信号量可用,信号量会被清零,并且任务立即继续执行;如果信号量不可用,任务会被阻塞来等待信号量。
当一个任务调用semGive ()释放一个二进制信号量时。如果信号量已经可用,释放信号量不会产生任何影响;如果信号量不可用并且没有任务等待使用该信号量,信号量只是被简单地置为可用;如果信号量不可用并且有一个或多个任务等待该信号量,最高优先级的任务被解阻塞,信号量仍为不可用。
互斥
当两个以上的任务共享使用同一块内存缓冲区或同一个I/O设备之类的资源时,可能会发生竞争状态。
二进制信号量可以通过对共享资源上锁,实现高效的互斥访问,不象禁止中断或禁止抢占,二进制信号量将互斥仅仅限于对与之联系的资源的访问,并且比禁止中断和禁止抢占提供更精确的互斥粒度。使用时创建用于保护资源的二进制信号量,初始时信号量可用。
当任务需要访问这个资源时,首先取得这个信号量,所有其它想要访问这个资源的任务将被阻塞。当任务完成了对该资源的访问时,释放该信号量,允许其他任务使用该资源。因此所有对一个需要互斥访问资源的操作由semTake ()和semGive ()对一起来实现。
semTake(semMutex,WAIT FOREVER)
临界区,某一时刻仅被一个任务访问
semGive (semMutex)
同步
信号量另一种通常的用法是用于任务间的同步机制。在这种情况下,信号量代表一个任务所等待的条件或事件。最初,信号量是不可用的。一个任务或中断处理程序释放该信号量来通知这个事件的发生。等待该信号量的任务将被阻塞直到事件发生、该信号量可用。一旦被解阻塞,任务就执行恰当的事件处理程序。信号量在任务同步中的应用对于将中断服务程序从冗长的事件处理中解放出来以缩短中断响应时间是很有用的。
互斥信号量
互斥信号量是一种特殊的二进制信号量,用于解决具有内在的互斥问题:优先级继承、删除安全和对资源的递归访问等情况。
对于一般的操作系统,一般互斥信号量就是二值信号靓量,但VxWoks中有非同寻常的意义。另外一个典型就是,Linux内核也单独设立了互斥信号量。
互斥信号量与二进制不同点在于:
①定义一个互斥信号量时,其已经初始化完毕为可用,它仅用于互斥;
②仅能由取(semTake ())它的任务释放,即由同一个任务申请然后使用完毕后释放;
③因为semTake和semGive是成对出现的,因此不能在ISR 中释放(semGive ())。
优先级继承
优先级倒置发生在一个高优先级的任务被迫等待一段不确定时间,等待一个低优先级任务完成。VxWorks允许使用优先级继承算法,在互斥信号量中使用选项SEM-INVERSION-SAFE ,将使能优先级继承算法,优先级继承协议确保拥有资源的任务以阻塞在该资源上的所有任务中优先级最高的任务的优先级执行,直到它释放所拥有的所有信号量,然后该任务返回到正常状态。因此这个“继承的高优先级”任务受到不会被任何中间优先级任务抢占的保护。
删除安全
另一个互斥问题涉及到任务删除。在一个受信号量保护的临界区,经常需要保护在临界区执行的任务不会被意外地删除。删除一个在临界区执行的任务可能引起意想不到的后果,造成保护资源的信号量不可用,可能导致资源处于破坏状态,也就导致了其他要访问该资源的所有任务无法得到满足。
原语taskSafe()和taskUnsafe ()提供了防止任务被意外删除的一种方法。同时互斥信号量提供了选项SEM-DELETE-SAFE ,使用这个选项,每次调用semTake ( )时隐含地使能了taskSafe(),当每次调用semGive ()时隐含地使能了taskUnsafe ()这种方式,任务得到信号量时得到不会被删除的保护。
递归资源访问
互斥信号量能够被递归地获得。这意味着信号量能够被一个拥有该信号量的任务在该信号量最终被释放之前多次获取。递归对于满足一些子程序即要求能够相互调用但是也要求互斥访问一个资源非常有用。这种情形是可能的,因为系统需要跟踪哪一个任务当前拥有信号量。
计数器信号量
计数器信号量是实现任务同步和互斥的另一种手段,在具体实现上有点差异。计数器信号量除了像二进制信号量那样工作外,还保持对信号量释放次数的跟踪。与二进制信号量不同的时,计数型信号量每次释放,计数器加一;每次获取,计数器减一,当信号量减到0 时,试图获取该信号量的任务被阻塞。
正如二进制信号量,当计数信号量释放时,如果有任务阻塞在该信号量阻塞队列上,那么任务解除阻塞;但是如果信号量释放时,没有任务阻塞在该信号量阻塞队列上,那么计数器加一。
结 论
通过对嵌入式操作系统VxWorks的多任务之间的通信机制的分析可以看出,信号量在实现多任务间的通信、同步和互斥中发挥着重要的作用。因此,深入理解和正确使用VxWorks的信号量,可以提高实时系统中多任务间通信的效率
SEM是扫描电子显微镜
,主要用于电子显微成像,接配电子显微分析附件,可做相应的特征分析,
最常用的是聚焦
电子束
和样品相互作用区发射出的元素特征
X-射线
,可用EDS或者WDS进行探测分析,获得微区(作用区)元素成分信息,而EDS或者WDS这类电子显微分析附件却来源于EPMA。
SEM就是一个电子显微分析平台,分析附件可根据用户需要来选配,有需要这个的,有需要那个的,因此
扫描电镜
结构种类具有多样性,从tiny、small、little
style,to
middle、large、huge
style.
就EDS或WDS分析技术来讲,在SEM上使用,基本上使用无
标样
分析,获得很粗糙的
半定量
结果。
而EPMA在SEM商品化10年前,就已经开始实用了,其主要目的,就是要精确获得微米尺度晶粒或颗粒的成分信息.
主要分析手段是WDS,一般配置4个WDS,基于此,EPMA结构比较单一,各品牌型号结构差距不大。EMPA追求电子显微分析结果精准,因此
电子光学
设计不追求高分辨,电子显微分析对汇聚束的要求相匹配即可。
早期EPMA成像手段主要采用同轴
光学显微镜
,然后移动样品台或移动汇聚电子束,找到感兴趣区,当前依然保留同轴光镜,用来校准WD。EMPA对电子光学系统工作条件的稳定性要求超过SEM很多很多,控制系统增加了一些
负反馈
机制,确保分析条件和标样分析保持很小的误差。
SEM是Search Engine Marketing的英文缩写,其中文意思就是搜索引擎营销。台湾和香港、澳门也称为搜寻销售,意思都差不多。SEM更多强调的是综合手段在搜索引擎上的企业传播和促进和销售,和SEO更多倾向于一种网站质量和欢迎度提高不同,SEM更强调结果,合理、有效稳定的方法都是可以的。
-
一般的理解SEM由四部分工作组成
一、 竞价排名,顾名思义就是网站付费后才能被搜索引擎收录,付费越高者排名越靠前;而在国内最流行的点击付费搜索引擎有百度,雅虎和Google。值得一提的是即使是做了PPC (Pay Per Click,按照点击收费)付费广告和竞价排名,最好也应该对网站进行搜索引擎优化设计,并将网站登录到各大免费的搜索引擎中。
二、 购买关键词广告,即在搜索结果页面显示广告内容,实现高级定位投放,用户可以根据需要更换关键词,相当于在不同页面轮换投放广告;
三、 搜索引擎优化(SEO),就是通过对网站优化设计,使得网站在搜索结果中靠前。 搜索引擎优化(SEO)又包括网站内容优化、关键词优化、外部链接优化、内部链接优化、代码优化、图片优化、搜索引擎登录等.
四、 PPC( Pay Per call,按照有效通话收费 ),比如:“TMTW来电付费”,就是根据有效电话的数量进行收费。购买竞价广告也被称做PPC。百度说的P4P也就是这个意思。
目前,SEM正处于发展阶段,它将成为今后专业网站乃至电子商务发展的必经之路。
SEO是属于SEM的一部分,SEM包含了SEO。
SEO和SEM现在的发展情况是怎么样的?
北美搜索营销市场规模定义为北美地区广告主在竞价排名、付费收录、自然排名优化和搜索营销技术的投入总和,2007年北美搜索营销市场规模达115亿美元,同比2006年增长22.3%.未来几年,北美搜索营销市场将趋于成熟,年均增长率维持在10%到15%,到2011年预计市场规模将达186亿美元。
艾瑞咨询分析北美搜索营销市场规模数据认为,北美地区已经围绕搜索营销建立起较为多元的业务模式和成熟的发展体系,而中国搜索营销尚处于初期快速发展阶段,市场则刚刚起步,需要不断提升SEO等新业务的价值,并持续提升竞价排名服务质量.
sem与seo的区别:
SEO:Search Engine Optimization,中文译为搜索引擎优化,是指在了解搜索引擎自然排名机制的基础上,对网站进行内部及外部的调整优化,改进网站在搜索引擎中的关键词自然排名,获得更多流量,从而达成网站销售及品牌建设的目标;
2. SEM:Search Engine Marketing,中文译为搜索引擎营销,是指在搜索引擎上推广网站,提高网站可见度,从而带来流量的网络营销活动;
3. SEM包括SEO,PPC(Pay Per Click,即按点击付费,如百度竞价排名等),付费登录等形式,其中以SEO和PPC最为常见。
4. SEO和SEM两者目的相同,都是为了是网站销售和品牌建设;不同的是实现方式:SEO是通过技术手段使获得好的自然排名;SEM可以通过技术手段(SEO)和付费手段(PPC)等
职业角度讲,SEO相关职位是“全球各地皆高薪”。
以美国和中国内地为例,如果你想到一般公司工作:
SEM总监:年薪10万到35万美元(10万美元年薪在美国算中产阶级)。当然,这不仅需要SEO知识、还需要掌握多种线上营销手段,包括操作巨额广告预算的搜索引擎广告的能力。
中国内地:月薪人民币1.5万以上(13个月工资)、业绩奖金、分红。
SEO主管:年薪7.5万到20万美元。这个职位甚至需要比总监更深厚的SEO功底,但是仅此足矣,不需更多技能。
中国内地:月薪人民币0.8-1.2万左右(13个月工资)、业绩奖金、分红。
SEO普通职员:年薪5万到10万美元。这个职位的工作比较简单,会负责具体的链接建设、链接诱饵部署、SEO内容撰写、关键词分析等工作。
中国内地:月薪人民币0.4-0.7万左右(13个月工资)。
在SEM服务公司工作:
SEO主管:年薪5万到10万美元。需要带领少数下属一起工作达到客户所需。
中国内地:月薪人民币0.7-1万左右(12个月工资)、项目提成。
SEM顾问:年薪6万到20万美元。可以理解为售前顾问,也可以理解成就是销售人员。
中国内地:月薪人民币0.3-0.5万左右(12个月工资)、销售业绩提成。
链接建设专员:年薪3.5万到10万美元。重要职位,但难度不高,优秀的SEO主管会部署链接诱饵以减轻链接建设专员的压力。
中国内地:月薪人民币0.3-0.4万左右(12个月工资)、绩效奖金。
内容撰写专员(符合SEO规范的撰写):年薪3.5万到7.5万美元。非常重要的职位,并且这个职位大多是兼职,所以,如此说来收入也相当不错。
中国内地:月薪人民币0.3-0.4万左右(12个月工资)、绩效奖金。
SEO研究专员:年薪3万到6万美元。负责为内容撰写专员提供数据,比如需要涵盖的关键词等等。是一个需要自律的工作,因为之前没人知道你提供的数据价值,只有项目进行后才知效果如何。
中国内地:中国内地无此职位。
大家可以查阅美国各大招聘网站,金融业算是高薪行业了,在纽约,一个金融银行的客户关系经理的年薪仅为4万美元。在美国这种各行业都相当成熟的国家,薪水多少就代表对经济体贡献大小。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)