阅读下列说明和程序,回答问题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
进程和程序的根本区别在于()。A.静态与动态特点B.是不是被调入到内存中C.是不是具有就绪、A.静 其他 2020-05-13 …
●试题五 阅读下列程序说明和C程序,将应填入程序中(n)处的字句,写在答卷纸的对应栏内。 【程序说 计算机类考试 2020-05-25 …
一个编程问题希望能给出解题过程问题如下:R国和S国正陷入战火之中,双方都互派间谍,潜入对方内部,伺 其他 2020-06-28 …
请高手指教:板头、梁头分别伸入墙或梁内多少?建筑工程综合定额中规定:伸入墙内梁头、现浇梁垫体积并入 其他 2020-07-11 …
二元一次方程组代入法怎么代入其实我想问的是,解二元一次方程组的时候,如果要用代入法解题的话,有一个 数学 2020-08-01 …
六、课程内容:结合小学一年级学生特点和对学校资源的评估,以“阳光好孩子”为主题,课程内容分为介绍课和 语文 2020-11-28 …
单片机入门试题:编写程序完成下列操作.(1)使内RAM30H单元的高2位变反单片机入门试题:编写程序 其他 2020-12-13 …
将长1m,一端封闭,内径均匀的玻璃管开口向下插入水银槽内25cm处,当时大气压为75cmHg,求进入 物理 2020-12-28 …
这道题的解题过程是?请听下面一段独白,用请听下面一段独白,用所听到的独白中的词或数填空,每空限填一个 英语 2021-01-12 …
一道关于建筑设备工程的题有一锅炉炉壁由三层组成,内层是厚a=210mm的耐火砖层,导热率入1=1.2 其他 2021-01-19 …