首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下关于利用信号量机制解决进程同步与互斥方面的应用实例,回答问题1至问题3。 [说明] 在多道程序系统中,进程是并发执行的。这些进程间存在着不同的相互制约关系,主要表现为同步和互斥两个方面。信号量机制是解决进程间同步与互斥的有效方法。下面是
阅读以下关于利用信号量机制解决进程同步与互斥方面的应用实例,回答问题1至问题3。 [说明] 在多道程序系统中,进程是并发执行的。这些进程间存在着不同的相互制约关系,主要表现为同步和互斥两个方面。信号量机制是解决进程间同步与互斥的有效方法。下面是
admin
2010-05-08
48
问题
阅读以下关于利用信号量机制解决进程同步与互斥方面的应用实例,回答问题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
嵌入式系统设计师下午应用技术考试
软考中级
相关试题推荐
在安全通信中,S将所发送的信息使用(12)________________进行数字签名,T收到该消息后可利用(13)________________验证该消息的真实性。
Redis是一种NoSQL数据库,具体地说,是(70)________________存储数据库。
设置日志文件的目的不包括(59)________________。
下列网络互连设备中,属于物理层的是(29)________________。
流水线的吞吐率是指单位时间流水线处理的任务数,如果各段流水的操作时间不同,则流水线的吞吐率是(3)________________的倒数。
(16)是构成我国保护计算机软件著作权的两个基本法律文件。单个自然人的软件著作权保护期为(17)。(16)
某本科髙校新建教务管理系统,支撑各学院正常的教学教务管理工作。经过初步分析,系统中包含的实体有学院、教师、学生、课程等。考虑需要将本科学生的考试成绩及时通报给学生家长,新增家长实体;考虑到夜大、网络教育学生管理方式的不同,需要额外的管理数据,新增进修学
以下关于单链表存储结构特征的叙述中,不正确的是()。
设备驱动程序是直接与()打交道的软件模块。
试题五阅读下列说明和代码,回答问题1和问题2,将解答写在答题纸的对应栏内。[说明]某一本地口令验证函数(C语言环境,X8632指令集)包含如下关键代码:某用户的口令保存在字符数组origPassword中,用户输入的口令保存在字符数组userPass
随机试题
X线片及体层摄影检查发现颞下颌关节前间隙增宽,髁突骨质未见异常,应进一步进行的检查是
基牙牙冠较短,两邻牙间有食物嵌塞时可设计
“中焦如沤”是描绘
A.桃红四物汤B.归脾汤C.清经散D.两地汤E.以上都不是治疗月经先期之阴虚血热证的代表方剂是
根据合同法律制度的规定,下列合同中,当债务人不履行债务时,债权人可以行使留置权的有()。
在计算多条机动车道的通行能力时,假定最靠中线的一条车道为1,那么同侧第四条车道的折减系数应为()
根据我国《公司法》的规定,有限责任公司的股东人数应为( )。
按照《会计法》和《会计基础工作规范》的规定,单位有关负责人在财务会计报告上签章的下列做法中,正确的是()。
某同学欲测定碳酸钠溶液中溶质的质量分数,取ag样品溶液,按下列实验方案进行实验,合理的是()
【2014年河南三门峡.单选】小学班级管理中,既是做好班主任工作的基础条件,又是决定班主任工作成效的主要因素是()。
最新回复
(
0
)