阅读下列说明和程序,回答问题l至问题3.将答案填入答题纸的对应栏内。【说明】在开发某嵌入式系统时,
阅读下列说明和程序,回答问题l至问题3.将答案填入答题纸的对应栏内。
【说明】
在开发某嵌入式系统时,设计人员根据系统要求,分别编写了如下程序,其中:
【程序1】;实现两个变量的值的互换;
【程序2】:完成某功能的C语言程序;
【程序3】和【程序4】:是P、V操作的形式化定义,设S为信号量。在多道程序系
统中,进程是并发执行的。这些进程间存在着不同的相互制约关系,主要表现为同步和
互斥两个方面。信号量是解决进程间同步与互斥的有效方法。
【程序1】
【程序3】
P操作的形式化定义
P (S)
{
(1):
If(2) {
阻塞该进程;
将该进程插入信号量S的等待队列
}
}
【程序4】
V操作的形式化定义:
V(S)
{
(3)
if(4) {
从信号量s的等待队列中取出队首进程
将其插入就绪队列:
}
}
【问题1】(6分)
执行【程序1】后,没有能够实现两个变量值的交换,为什么?请修改上述函数
实现两个变量值的交换,要求函数无返回值,形式为:void swap(...)。请将答案填写在
答题纸中对应的栏目。
【问题2】(3分)
请问【程序2】运行结果是什么?
【问题3】(6分)
请简述什么是临界资源?什么是临界区?
请完成【程序3】和【程序4】的形式化定义,将应填入(n)处的内容写在答题纸
的对应栏中。
分析本题考查嵌入式C/C++语言编程基础知识。【问题1】函数swap采用值传递,虽然将形参nl和n2交换了,但是并不影响到实参,所以执行【程序1】后,实参变量并没有完成数据交换。将值传递改成指针传递就可以了。对应的swap函数应修改如下:【问题3】在多道程序系统中,进程是并发执行的,这些进程之间存在着不同的相互制约关系。进程之间的这种制约关系来源于并发进程的合作以及对资源的共享。进程在运行过程中,一般会与其它进程共享资源,而有些资源的使用具有排他性。系统中的多个进程可以共享系统的各种资源,然而其中许多资源一次只能为一个进程所使用,通常把一次仅允许一个进程使用的资源称为临界资源。许多物理设备都属于临界资源,如打印机、绘图机等。除物理设备外,还有许多变量、数据等都可由若干进程所共享,它们也属于临界资源。进程中访问临界资源的那段代码称为临界区,也称为临界段。访问临界资源应遵循如下原则:①空闲让进(或有空即进):当没有进程处于临界区时,可以允许一个请求进入临界区的进程立即进入自己的临界区:②忙则等待(或无空则等):当已有进程进入其临界区时,其它试图进入临界区的进程必须等待;③有限等待:对要求访问临界资源的进程,应保证能在有限时间内进入自己的临界区;④让权等待:当进程不能进入自己的临界区时,应释放处理机。信号量是荷兰著名的计算机科学家Dijkstra于1965年提出的一个同步机制,其基本思想是在多个相互合作的进程之间使用简单的信号来同步。在操作系统中,信号量是表示资源的实体,除信号量的初值外,信号量的值仅能由P操作(又称Wait操作)和V操作(又称Signal操作)改变。设S为一个信号量.P(S)执行时主要完成:先执行S=S-I:若S0则进程继续运行;若s
阿姨买回红纸和黄纸共48张做手工,其中红纸占总数的38,又买来一些红纸,这时黄纸和红纸的比是4:5 数学 2020-06-03 …
西游记十二回至十四回十六回至十七回的填空(今晚9点之前要晚了无效十二回至十四回西游记唐太宗将献出的 其他 2020-06-08 …
回收1吨废纸可以生产出800千克再生纸,并能节约用水105吨,节约用电600千瓦时某废品回收站上个 其他 2020-06-13 …
英语翻译国外一位客户发了图纸给我寻问我司是否可以做,并要求报价.我现在得有英语回答说:首先介绍说: 英语 2020-06-17 …
我国将投资212亿元人民币建设上海经武汉、荆州、宜昌、恩施至重庆的沿江铁路。建成后,上海至武汉,武汉 语文 2020-11-12 …
我国将投资212亿元人民币建设上海经武汉、荆州、宜昌、恩施至重庆的沿江铁路。建成后,上海至武汉,武汉 语文 2020-11-13 …
我国将投资212亿元人民币建设上海经武汉、荆州、宜昌、恩施至重庆的沿江铁路。建成后,上海至武汉,武汉 语文 2020-11-13 …
今天,我们正在使用第五套人民币。早在宋代就已出现了四川地方政府发行的纸币--交子,交子作为我国乃至世 历史 2020-12-02 …
关于造纸术发明的叙述,不正确的是A.中国是世界上最早发明纸的国家B.西汉前期就已出现用于书写和绘画的 历史 2020-12-02 …
丹丹同学在学习了四大发明后,做了如下的知识整理,其中有误的一项是()A、造纸术西汉早期发明的纸是目前 历史 2020-12-10 …