首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下关于利用信号量机制解决进程同步与互斥方面的应用实例,回答问题1至问题3。 [说明] 在多道程序系统中,进程是并发执行的。这些进程间存在着不同的相互制约关系,主要表现为同步和互斥两个方面。信号量机制是解决进程间同步与互斥的有效方法。下面是
阅读以下关于利用信号量机制解决进程同步与互斥方面的应用实例,回答问题1至问题3。 [说明] 在多道程序系统中,进程是并发执行的。这些进程间存在着不同的相互制约关系,主要表现为同步和互斥两个方面。信号量机制是解决进程间同步与互斥的有效方法。下面是
admin
2010-05-08
73
问题
阅读以下关于利用信号量机制解决进程同步与互斥方面的应用实例,回答问题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
嵌入式系统设计师下午应用技术考试
软考中级
相关试题推荐
在关系代数表达式的查询优化中,不正确的叙述是______。
以下各项中,是令牌总线媒体访问控制方法的标准是______。
已知无向图的邻接表如图2-35所示。此邻接表对应的无向图为(1)。此图从F开始的深度优先遍历为(2)。从F开始的广度优先遍历为(3)。从F开始的深度优先生成树为(4)。从F开始的广度优先生成树为(5)。
假设铁路自动售票系统有n个售票终端,该系统为每个售票终端创建一个进程Pj(i=1,2,…,n)管理车票销售过程。假设Tjj=1,2,…,m)单元存放某日某趟车的车票剩余票数,Temp为Pi进程的临时工作单元,x为某用户的购票张数。Pi进程的工作流程如下图所
I/0设备管理软件一般分为4个层次,如下图所示。图中①②③分别对应(21)________________。
在网络安全管理中,加强内防内控可采取的策略有(14)________________。①控制终端接入数量②终端访问授权,防止合法终端越权访问③加强终端的安全检查与策略管理④加强员工上网行为管理与违规审计
给定关系模式如下,学生(学号,姓名,专业),课程(课程号,课程名称),选课(学号,课程号,成绩)。查询所有学生的选课情况的操作是(36);查询所有课程的选修情况的操作是(37)。(36)
并发操作可能带来的数据不一致性有(52),解决的办法是并发控制,主要技术是(53)。(53)
对分组查询结果讲行筛选的是(),其条件表达式中可以使用聚集函数。
随机试题
若向量组α1,α2,α3,α4线性相关,且向量α4不可由向量组α1,α2,α3线性表示,则下列结论正确的是().
继发性咬合创伤的形成主要是
单人心肺复苏时,胸外心脏按压与人工呼吸的恰当操作是
谷某和丁某发生口角,丁某当众辱骂谷某,谷某自觉理亏默不作声,却对丁某怀恨在心,伺机报复。一天谷某捏造丁某的妻子与人幽会的谣言,并大肆宣传。丁某忍无可忍挥拳向谷某打来,谷某遂掏出随身携带的三角刮刀,趁丁某不备猛刺其腹部,丁某被穿透腹腔,当即死亡。对谷某的行为
货物常用的堆码方式有()。
小高是社会工作专业毕业的大学生,进入某一福利机构工作不久,他所掌握的社会工作知识匮乏,在其工作所要求的知识、态度和技能等方面表现不称职,而老李是这一社会福利机构的资深社会工作师,老李对小高进行督导,主要目的是为了解决小高的知识匮乏问题,提高他的专业知识和技
VPN是虚拟专用网的简称,主要类型可分为网络层的IPSecVPN和应用层的(17)VPN两种,其中IPSecVPN主要是为了解决(18)的互联。
WhoisMorrisStevenson?
Youwillhavetotalkaboutthetopicforoneortwominutes.Youhaveoneminutetothinkaboutwhatyouaregoingtosay.Yo
PASSAGETWOWhyareagrowingnumberofpeopleusingcreditcardsnowadays?
最新回复
(
0
)