首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下关于利用信号量机制解决进程同步与互斥方面的应用实例,回答问题1至问题3。 [说明] 在多道程序系统中,进程是并发执行的。这些进程间存在着不同的相互制约关系,主要表现为同步和互斥两个方面。信号量机制是解决进程间同步与互斥的有效方法。下面是
阅读以下关于利用信号量机制解决进程同步与互斥方面的应用实例,回答问题1至问题3。 [说明] 在多道程序系统中,进程是并发执行的。这些进程间存在着不同的相互制约关系,主要表现为同步和互斥两个方面。信号量机制是解决进程间同步与互斥的有效方法。下面是
admin
2010-05-08
54
问题
阅读以下关于利用信号量机制解决进程同步与互斥方面的应用实例,回答问题1至问题3。
[说明]
在多道程序系统中,进程是并发执行的。这些进程间存在着不同的相互制约关系,主要表现为同步和互斥两个方面。信号量机制是解决进程间同步与互斥的有效方法。下面是信号量应用实例。
下图所示代码是在μC/OS-II操作系统上运行的一个应用的主函数。该函数创建了任务Task1和Task2,其中Task1实现从键盘读入一个字符的功能,Task2将该字符输出到屏幕,它们使用信号量和一个公共变量buffer来传递该字符。
主函数、Task1和Task2中所调用的函数原型说明如下:
a.创建一个信号量:OS EVENT*#OSSemCreate(INT16Uvalue);
b.创建一个任务:INT8U OSTaskCreate(void(*#task)(void*#pd),void*#pdata,OS_STK *#ptos,INT8U prio);
c.开始执行多任务:void OSStart(void);
d.从键盘读入一个字符:char scanc();
e.输出一个字符至屏幕:void printc(char ch);
f.发出一个信号量:INT8U OSSemPost(OS EVENT*#pevent);
g.等待一个信号量:void OSSemPend(OS_EVENT*#pevent,INT16U timeout,INT8U *#err)
请根据本题要求完善任务Task1和任务Task2的程序代码,填补图中的空缺。
选项
答案
(1)OSSemPend(emptySem,O,&err) (2)Buffer=readc (3)ret=OSSemPost(fullSem) (4)OSSemPend(fullSem,O,&err) (5)ret=OSSemPost(emptySem) (6)Printc(wntec)
解析
本问题是信号量应用实例。
μC/OS-II操作系统提供了操作信号量的若干系统调用,任务Task1为了实现从键盘读入一个字符并写到buffer的功能,就必须在读完字符后调用OSSemPend()和OSSemPost()对写buffer缓冲的动作加锁和解锁。
Task2为了完成将该字符输出到屏幕,也必须在读buffer缓冲的动作时加锁和解锁。这样就避免任务Task1和Task2同时操作buffer缓冲的资源冲突。
因此,任务Task1的代码如下:
void Task1(void*#pdata)
{
INT8U readc;
INT8U err;
INT8U ret;
while(1){
readc=scanc();
OSSemPend(emptySem,0,&err);
Buffer=readc;
ret=OSSemPost(fullSem);
}
}
任务Task2的代码如下:
void Task2(void*#pdata)
{
INT8U writec;
INT8U err;
INT8U ret;
while(1){
OSSemPend(fullSem,0,&err);
writec=buffer;
ret=OSSemPost(emptySem);
Printc(writec);
}
}
转载请注明原文地址:https://kaotiyun.com/show/EhWZ777K
本试题收录于:
嵌入式系统设计师下午应用技术考试题库软考中级分类
0
嵌入式系统设计师下午应用技术考试
软考中级
相关试题推荐
DBS的体系结构,按照ANSI/SPARC报告分为(1);在DBS中,DBMS的首要目标是提高(2);为了解决关系数据库的设计问题,提出和发展了(3);对于DBS,负责定义DB结构以及安全授权等工作的是(4)。
在文件存储设备管理中,有三类常用的空闲块管理方法,即位图向量法、空闲块链表链接法和(49)。
数据流程图的作用是(24)。
(16)不属于数据库逻辑结构设计的任务。
某系统的可靠性结构框图如图3-5所示。该系统由4个部件组成,其中2、3两部件并联冗余,再与1、4部件串联构成。假设部件1、2、3的可靠度分别为0.90、0.70、 0.70,若要求该系统的可靠度不低于0.75,则进行系统设计时,分配给部件4的可靠度至少应为
对于第7题的两个基本表,有一个SQL语句:UPDATEEMPSETSALARY=SALARY*1.05WHEREDNO=’D6’ANDSALARY<(SELECTAVG(SALARY)
需求分析阶段生成的文档中,用来描述企业中各项业务流程的是(61)________________。
耦合是模块之间的相对独立性(互相连接的紧密程度)的度量。耦合程度不取决于(25)________________。
计算机中机械硬盘的性能指标不包括(4)________________。
(16)是构成我国保护计算机软件著作权的两个基本法律文件。单个自然人的软件著作权保护期为(17)。(16)
随机试题
女性乳房自我检查的时间最好在()。
A.三七B.蒲黄C.茜草D.白芨E.白茅根
导游人员在处理旅游事故时,应采取的态度是()。
唐太宗说:“以天下之广,四海之众,千端万绪,须合变通,皆委百司商量,宰相筹画,于事稳便,方可奏行。岂得以一日万机,独断一人之虑也。”材料表明他主张()。
阅读以下文字,完成下列问题日常工作中,如果一件事发展得太过顺利,我们总会隐隐觉得有哪里不对,这样的直觉是有道理的。澳大利亚和法国的研究者们最近在某学术期刊上发表了一篇文章,说明了为什么当所有的证据都指向同一个结果时,它反而可能有问题。他们将此称之
(2019年河北)下列名词与内容对应不一致的是()。
对第一段中“利用放射性核素参加体内生物活动同时发出射线的特点,通过探测射线反映这些生物活动过程及其特点”这一表述的理解,不正确的一项是:对本文所述核医学技术的理解,错误的一项是:
证明二重极限不存在。
Manyphrasesusedtodescribemonetarypolicy,suchas"steeringtheeconomytoasoftlanding"or"atouchonthebrakes",make
A、It’snotimportanthowhedances.B、It’stoocrowdedtodanceaway.C、Ifhe’scareful,noonewillnotice.D、Nooneknowsthe
最新回复
(
0
)