首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下关于利用信号量机制解决进程同步与互斥方面的应用实例,回答问题1至问题3。 [说明] 在多道程序系统中,进程是并发执行的。这些进程间存在着不同的相互制约关系,主要表现为同步和互斥两个方面。信号量机制是解决进程间同步与互斥的有效方法。下面是
阅读以下关于利用信号量机制解决进程同步与互斥方面的应用实例,回答问题1至问题3。 [说明] 在多道程序系统中,进程是并发执行的。这些进程间存在着不同的相互制约关系,主要表现为同步和互斥两个方面。信号量机制是解决进程间同步与互斥的有效方法。下面是
admin
2010-05-08
68
问题
阅读以下关于利用信号量机制解决进程同步与互斥方面的应用实例,回答问题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://www.kaotiyun.com/show/EhWZ777K
本试题收录于:
嵌入式系统设计师下午应用技术考试题库软考中级分类
0
嵌入式系统设计师下午应用技术考试
软考中级
相关试题推荐
James Martin明确计算机有4类数据环境,独立于应用项目,具有较低的维护成本,应用开发效率较高的是(7)。
已知无向图的邻接表如图2-35所示。此邻接表对应的无向图为(1)。此图从F开始的深度优先遍历为(2)。从F开始的广度优先遍历为(3)。从F开始的深度优先生成树为(4)。从F开始的广度优先生成树为(5)。
已知无向图的邻接表如图2-35所示。此邻接表对应的无向图为(1)。此图从F开始的深度优先遍历为(2)。从F开始的广度优先遍历为(3)。从F开始的深度优先生成树为(4)。从F开始的广度优先生成树为(5)。
给定关系R(A,B,C,D,E)与S(B,C,F,G),那么与表达式π2,4,6,7(σ2<7(RS))等价的SQL语句如下:SELECT(41)________________FROMR,SWHERE(42)______________
以下关于软件可靠性测试的叙述中,错误的是(26)________________。
对有n个结点、e条边且采用数组表示法(即邻接矩阵存储)的无向图进行深度优先遍历,时间复杂度为(10)________________。
在数据库系统运行中,经常会找出频繁执行的SQL语句进行优化。常见的优化策略有:尽可能减少多表查询或建立(65);用带(66)的条件子句等价替换OR子句;只检索需要的属性列等。(66)
某系统由3个部件构成,每个部件的千小时可靠度都为R,该系统的千小时可靠度为(1-(1-R)2)R,则该系统的构成方式是()。
在Windows系统中,磁盘碎片整理程序可以分析本地卷,以及合并卷上的可用空间使其成为连续的空闲区域,从而使系统可以更高效地访问()。
某系统中有一个缓冲区,进程P1不断地生产产品送入缓冲区,进程P2不断地从缓冲区中取出产品消费,用P、V操作实现进程间的同步模型如下图所示。假设信号量S1的初值为1,信号量S2的初值为0,那么a、b、c处应分别填()。
随机试题
电流互感器运行时,()。
文档中有多个自选图形,若要同时选择它们,应该如何操作?()
Ⅱ型呼吸衰竭是指()。
对于一根承受垂直均布荷载的简支钢梁,为提高钢梁的承载力,以下做法中正确的有()。
“桂林少年宝”是指()。
中国五大古梅中,超山有()。
李某将车停在路边去吃早餐,伺机偷东西的王某从车边路过,见车内有一提包,便拿弹弓弹射钢珠将车玻璃打碎,拎出车内提包就跑。路人张某见状,边喊“抓贼”,边追上前去抓住王某。王某急欲脱身,拿出随身携带的水果刀连刺张某两刀,张某血流不止,仍紧抓王某持刀手腕不放,李某
某工业企业为增值税一般纳税人,本月资料如下:(1)销售货物取得不含税销售额600万元,因购货方在10天内付款给予5%的销售折扣,另外,收取运输费6万元;(2)将一批货物运往外省分支机构销售,不含税价款300万元,并支付运费3万元;(3)将一批自制货物
A.afterB.stormC.entitledD.illegalE.exaggerateF.beforeG.thunderH.interp
下列关于期货投机者的说法,正确的有()。
最新回复
(
0
)