阅读以下关于利用信号量机制解决进程同步与互斥方面的应用实例,回答问题1至问题3。 [说明] 在多道
阅读以下关于利用信号量机制解决进程同步与互斥方面的应用实例,回答问题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)
请简述什么是临界资源?什么是临界区?访问临界资源应遵循哪些原则?
临界资源:一次只能给一个进程访问的资源。 临界区:进程中访问临界资源的那段代码。 访问临界资源时应遵循如下原则: (1)空闲让进(或有空即进)。 (2)忙则等待(或无空则等)。 (3)有限等待。 (4)让权等待。 解析:在多道程序系统中,进程是并发执行的,这些进程之间存在着不同的相互制约关系。进程之间的这种制约关系来源于并发进程的合作以及对资源的共享。
进程在运行过程中,一般会与其他进程共享资源,而有些资源的使用具有排他性。系统中的多个进程可以共享系统的各种资源,然而其中许多资源一次只能为一个进程所使用,通常把一次仅允许一个进程使用的资源称为临界资源。许多物理设备都属于临界资源,如打印机、绘图机等。除物理设备外,还有许多变量、数据等都可由若干进程所共享,它们也属于临界资源。
进程中访问临界资源的那段代码称为临界区,也称为临界段。
访问临界资源应遵循如下原则:
(1)空闲让进(或有空即进)。当没有进程处于临界区时,可以允许一个请求进出临界区的进程立即进入自己的临界区:
(2)忙则等待(或无空则等)。当已有进程进入其临界区时,其他试图进入临界区的进程必须等待:
(3)有限等待。对要求访问临界资源的进程,应保证能在有限时间内进入自己的临界区;
(4)让权等待。当进程不能进入自己的临界区时,应释放处理机。
阅读下面的材料,按要求作文。(60分)古诗一首无名氏甘瓜抱苦蒂,美枣生荆棘。利旁有倚刀,贪人还自贼 语文 2020-06-21 …
阅读下面的文章,完成下列各题。以义为利①人总会面临利与义的煎烤。利者,更多的是指物质利益,即金钱、 语文 2020-07-07 …
阅读下面的材料,按要求作文。古诗一首无名氏甘瓜抱苦蒂,美枣生荆棘。利旁有倚刀,贪人还自贼[注]。[ 其他 2020-07-12 …
1.小敏读一本童话书,读了几天,已读页数与未读页数的比是2:3,后来又读了8页,已读页数与未读页数 数学 2020-07-31 …
阅读材料,完成下列问题。(15分)澳大利亚国土面积869万,人口2300多万,经济发达。中国与澳大利 语文 2020-11-11 …
读我国新疆棉花分布示意图(图甲)和澳大利亚棉花分布示意图(图乙),完成题。1.新疆与澳大利亚棉花生长 其他 2020-11-11 …
阅读图文资料,完成下列要求.澳大利亚国土面积869万km2,人口2300多万,经济发达.中国与澳大利 语文 2020-11-11 …
依次填入下面这段文字划线处的语句,衔接最恰当的一组是(3分)义与利,通俗地说,就是道德与利益。“义利 语文 2020-11-23 …
怎样坚持公民参与政治生活的三项基本原则公民参与政治生活的基本原则有以下三项:1.坚持公民在法律面前一 政治 2020-11-27 …
作文阅读下面的材料,根据要求写一篇不少于800字的文章。夜读是一种温馨的境界,夜读是一种超然物外的消 语文 2020-12-06 …