软考真题
第1题
在多道程序系统中,进程是并发执行的。这些进程间存在着不同的相互制约关系,主要表现为同步和互斥两个方面。信号量机制是解决进程间同步与互斥的有效方法。下面是信号量应用实例。

下图所示代码是在μC/OS-II操作系统上运行的一个应用的主函数。该函数创建了任务Taskl和Task2,其中Taskl实现从键盘读入一个字符的功能,Task2将该字符输出到屏幕,它们使用信号量和一个公共变量buffer来传递该字符。

主函数、Taskl和Task2中所调用的函数原型说明如下:

a. 创建一个信号量:OS_EVENT*OSSemCreate(INT16Uvalue);

b. 创建一个任务:INT8UOSTaskCreate(void(*task)(void*pd),void*pdata,OS_STK*ptos,INT8Uprio);

c. 开始执行多任务:voidOSStart(void);

d. 从键盘读入一个字符:charscancO;

e. 输出一个字符至屏幕:voidprintc(charch);

f. 发出一个信号量:INT8UOSSemPost(OS_EVENT*pevent);

g. 等待一个信号量:voidOSSemPend(OS_EVENT*pevent,INT16Utimeout,INT8U*err)

【问题:5.1】请简述什么是临界资源?什么是临界区?访问临界资源应遵循哪些原则?
【问题:5.2】设S为信号量,P、V操作的形式化定义如下图(a)和(b)所示,请完成该形式化定义,将应填入(n)处的内容写在答题纸的对应栏中。
【问题:5.3】请根据本题要求完善任务Taskl和任务Task2的程序代码,填补图中的空缺,将答案填写在答题纸的对应栏中。
第4章嵌入式系统软件基础知识
正确答案:
你的答案:
请先在App中激活(应用市场搜“软考真题”)
知识点:
试卷:
2009年 下半年 下午试卷 案例

笔记