当前位置:首页计算机类软件水平考试中级嵌入式系统设计师->在开发某嵌入式系统时,设计人员根据系统要求,分别编写了如下程

在开发某嵌入式系统时,设计人员根据系统要求,分别编写了如下程序,其中:

[程序1]:实现两个变量的值的互换;

[程序2]:完成某功能的C语言程序;

[程序3]和[程序4]:是P、V操作的形式化定义,设S为信号量。在多道程序系统中,进程是并发执行的。这些进程间存在着不同的相互制约关系,主要表现为同步和互斥两个方面。信号量是解决进程间同步与互斥的有效方法。 [程序1] void swap (int n1, int n2) { int tmp=n1; n1=n2; n2=tmp; [程序2] #include image.pngstdio.h> int fun (int n) { int f0=0, f1=1, f, i; if (n==0) return 0; if (n==1) return 1; for(i=2j; iimage.png=n; i++) { f=f0+f1; f0=f1; f1=f; } return f; } void main12 {int n=5; printf ("fun(%d)=%d\n", n, fun(n)); n=7; printf ("fun(%d)=%d\n", n, fun(n)); n=9; printf ("fun(%d)=%d\n", n, fun(n)); } [程序3] P操作的形式化定义: P (S) { ______; if(______){ 阻塞该进程; 将该进程插入信号量S的等待队列; } } [程序4] V操作的形式化定义: V(S) { ______; if(______){ 从信号量S的等待队列中取出队首进程; 将其插入就绪队列; } }

1、执行[程序1]后,没有能够实现两个变量值的交换,为什么?请修改上述函数,实现两个变量值的交换,要求函数无返回值,形式为:void swap(...)。

2、请问[程序2]运行结果是什么?

3、请简述什么是临界资源?什么是临界区? 请完成[程序3]和[程序4]的形式化定义

查看答案 纠错
答案:
本题解析:

1、两个变量不能交换值的原因: 因为函数是传值的,函数形参值的交换,并不影响到实参的值的变化。 正确的函数编写如下(下面只是范例,变量名称不作要求): void swap (int *pn1, int *pn2) { int tmp=*pn1; *pn1=*pn2; *pn2=tmp; }

2、第一次输出:fun(5)=5 第二次输出:fun(7)=13 第三次输出:fun(9)=34

3、临界资源:一次只能使一个进程访问的资源称为临界资源。 临界区:进程中访问临界资源的那段代码称为临界区。 (1)S-- (2)S<0 (3)S++ (4)S<=0

1、本题考查嵌入式C/C++语言编程基础知识。 函数swap采用值传递,虽然将形参n1和n2交换了,但是并不影响到实参,所以执行[程序1]后,实参变量并没有完成数据交换。

将值传递改成指针传递就可以了。 对应的swap函数应修改如下: swap (int *pn1, int *pn2) { int tmp; tmp=*pn1; *pn1=*pn2; *pn2=tmp; }

2、当n=5时,初始:f0=0,f1=1; for循环计算如下: i=2: f=0+1=1; f0=1; f1=1; i=3: f=1+1=2; f0=1; f1=2; i=4: f=1+2=3; f0=2; f1=3; i=5: f=2+3=5; f0=3; f1=5; 所以,调用fun(5),得到返回值5; 同理,可计算出fun(7)=13; fun(9)=34。

3、在多道程序系统中,进程是并发执行的,这些进程之间存在着不同的相互制约关系。进程之间的这种制约关系来源于并发进程的合作以及对资源的共享。 进程在运行过程中,一般会与其他进程共享资源,而有些资源的使用具有排他性。系统中的多个进程可以共享系统的各种资源,然而其中许多资源一次只能为一个进程所使用,通常把一次仅允许一个进程使用的资源称为临界资源。许多物理设备都属于临界资源,如打印机、绘图机等。除物理设备外,还有许多变量、数据等都可由若干进程所共享,它们也属于临界资源。

进程中访问临界资源的那段代码称为临界区,也称为临界段。

访问临界资源应遵循如下原则:

①空闲让进(或有空即进):当没有进程处于临界区时,可以允许一个请求进入临界区的进程立即进入自己的临界区;

②忙则等待(或无空则等):当已有进程进入其临界区时,其他试图进入临界区的进程必须等待;

③有限等待:对要求访问临界资源的进程,应保证能在有限时间内进入自己的临界区;

④让权等待:当进程不能进入自己的临界区时,应释放处理机。

信号量是荷兰著名的计算机科学家Dijkstra于1965年提出的一个同步机制,其基本思想是在多个相互合作的进程之间使用简单的信号来同步。 在操作系统中,信号量是表示资源的实体,除信号量的初值外,信号量的值仅能由P操作(又称Wait操作)和V操作(又称Signal操作)改变。

设S为一个信号量,P(S)执行时主要完成:先执行S=S-1;若S≥0则进程继续运行;若S<0则阻塞改进程,并将它插入该信号量的等待队列中。 V(S)执行时主要完成:先执行S=S+1;若S>0则进程继续执行;若S≤0则从该信号量等待队列中移出第一个进程,使其变为就绪状态并插入就绪队列,然后再返回原进程继续执行。 P、V操作的形式化描述如下: P(S) { S --; IF(S<0){ 阻塞该进程; 将该进程插入信号量s的等待队列; } } V(S) { S++; IF(S=0) { 从信号量S的等待队列中取出队首进程; 将其插入就绪队列; } }

更新时间:2021-11-26 06:37

你可能感兴趣的试题

单选题

Advancements in ( )have contributed to the growth of the automotive industry through the creation and evolution of self-driving vehicles.

  • A.Artificial Intelligence
  • B.Cloud Computing
  • C.Internet of Things
  • D.Big Data
查看答案
单选题

In project human resource management , ( )is not a source of power for the project manager.

  • A.referent power
  • B.expert power
  • C.reward power
  • D.audit power
查看答案
单选题

At the project establishment stage , the feasibility study mainly includes techinical feasibility analysis , ( ), operation environment feasibility analysis and other aspects of feasibility analysis.

  • A.detail feasibility analysis
  • B.opportunity analysis
  • C.economic feasibility analysis
  • D.risk analysis
查看答案
单选题

( )is a grid that shows the project resources assigned to each work package.

  • A.Stakeholder engagement assessment matrix
  • B.Requirements traceability matrix
  • C.Probability and impact matrix
  • D.Responsibility assignment matrix
查看答案
单选题

Xinhua News Agency reported in January 2022,Chian will further promote the developmet of a digital economy during the 14th Five-Year Plan eriod(2021-2025). The plan also emphasized industrial ( )transformation.

  • A.digital
  • B.networking
  • C.intelligentize
  • D.informatization
查看答案
单选题

某公司投资一个使用寿命为5年的项目,第一年年初投入1000万元,从第1年到第5年每年年末都有净现金流量300万元。则项目的静态投资回收期为( )年。

  • A.2
  • B.2.5
  • C.3
  • D.3.3
查看答案
单选题

下图是某地的街区网络图(单位:)里),疫情防控期间,一辆消毒车从疾控中心出发,需要消杀所有的街道并返回疾控中心。该消毒车完成消杀工作至少需要运行( )公里 。

高级信息系统项目管理师,历年真题,2022年上半年(上午)《信息系统项目管理师》真题

  • A.43
  • B.45
  • C.46
  • D.48
查看答案
单选题

某公司有东部、中部、西部三个生产基地,生产的产品需要运送带甲、乙、丙、丁四个市场,从生产基地到各个市场的单位运价及产量和需求量如表所示,完成该运输任务所需的最小运费为( )。

高级信息系统项目管理师,历年真题,2022年上半年(上午)《信息系统项目管理师》真题

  • A.242
  • B.244
  • C.289
  • D.302
查看答案
单选题

某炼油厂每季度需供应合同单位汽油15吨,煤油12吨,重油12吨,该厂从甲乙两处运回原油提炼,已知两处炼油成分如表所示,从甲处采购原油价格为2000元/吨,乙处为2900元/吨,为了使成本最低,炼油厂应从甲处购15吨,乙处采购( )吨。

高级信息系统项目管理师,历年真题,2022年上半年(上午)《信息系统项目管理师》真题

  • A.20
  • B.25
  • C.30
  • D.35
查看答案
单选题

某炼油厂每季度需供应合同单位汽油15吨,煤油12吨,重油12吨,该厂从甲乙两处运回原油提炼,已知两处炼油成分如表所示,从甲处采购原油价格为2000元/吨,乙处为2900元/吨,为了使成本最低,炼油厂应从甲处购( )吨,乙处采购20吨。

高级信息系统项目管理师,历年真题,2022年上半年(上午)《信息系统项目管理师》真题

  • A.15
  • B.20
  • C.25
  • D.30
查看答案