[强化题库]2023年软件水平考试《(中级) 嵌入式系统设计师》巩固试题答案及解析

|类别:软件水平考试

【单选题】IEEE 802.11标准使用的传输技术主要有( )。

A、红外线、跳频扩频与蓝牙

B、红外线、跳频扩频与直接序列扩频

C、跳频扩频、直接序列扩频与蓝牙

D、红外线、直接序列扩频与蓝牙

答案:B

解析:IEEE 802.11标准主要使用红外线、跳频扩频与直接序列扩频三种传输技术。蓝牙技术采用跳频扩频技术和时分多路利用技术可使特定移动电话、便携式电脑、便携式通信设备的主机之间在近距离内(通常为10 m以内)实现无缝的资源共享。


【单选题】以下关于嵌入式软件开发的叙述中,正确的是( )。

A、宿主机与目标机之间只需要建立逻辑连接即可

B、调试器与被调试程序一般位贵同一台机器上

C、嵌入式系统开发通常采用的是交叉编译器

D、宿主机与目标机之间的通信方式只有串口和并口两种

答案:C

解析:本题考查嵌入式系统软件开发调试的基础知识。嵌入式系统的软件开发与通常软件开发的区别:要在于软件实现部分,其中又可以分为编译和调试两部分,下面分别对这两部分进行讲解。第一是交叉编译。嵌入式软件开发所采用的编译为交叉编译。所谓交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。编译的最主要的工作就在将程序转化成运行该程序的CPU所能识别的机器代码,由于不同的体系结构有不同的指令系统。因此,不同的CPU需要有相应的编译器,而交叉编译就如同翻译一样,把相同的程序代码翻译成不同CPU的对应可执行二进制文件。要注意的是,编译器本身也是程序,也要在与之对应的某一个CPU平台上运行。这里一般将进行交叉编译的主机称为宿主机,也就是普通的通用PC,而将程序实际的运行环境称为目标机,也就是嵌入式系统环境。由于一般通用计算机拥有非常丰富的系统资源、使用方便的集成开发环境和调试工具等,而嵌入式系统的系统资源非常紧缺,无法在其上运行相关的编译工具,因此,嵌入式系统的开发需要借助宿主机(通用计算机)来编译出目标机的可执行代码。第二是交叉调试。嵌入式软件经过编译和链接后即进入调试阶段,调试是软件开发过程中必不可少的一个环节,嵌入式软件开发过程中的交叉调试与通用软件开发过程中的调试方式有很大的差别。在常见软件开发中,调试器与被调试的程序往往运行在同一台计算机上,调试器是一个单独运行着的进程它通过操作系统提供的调试接口来控制被调试的进程。而在嵌入式软件开发中,调试时采用的是在宿主机和目标机之间进行的交叉调试,调试器仍然运行在宿主机的通用操作系统之上,但被调试的进程却是运行在基于特定硬件平台的嵌入式操作系统中,调试器和被调试进程通过串口或者网络进行通信,调试器可以控制、访问被调试进程,读取被调试进程的当前状态,并能够改变被调试进程的运行状态。


【单选题】以下关于嵌入式实时系统的叙述中,不正确的是______。

A、嵌入式实时系统,要求系统在投入运行前即具有确定性和可预测性

B、可预测性是指系统在运行之前,其功能、响应特性和执行结果是可预测的

C、确定性是指系统在给定的状态和输入下,在确定的时间内给出确定的结果

D、对嵌入式实时系统失效的判断仅依赖对其运行结果的正确性判断

答案:D

解析:本题考查嵌入式实时系统基础知识。嵌入式实时系统是一种完全嵌入受控器件内部,为特定应用而设计的专用计算机系统。在嵌入式实时系统中,要求系统在投入运行前即具有确定性和可预测性。可预测性是指系统在运行之前,其功能、响应特性和执行结果是可预测的;确定性是指系统在给定的初始状态和输入条件下,在确定的时间内给出确定的结果。对嵌入式实时系统失效的判断,不仅依赖其运行结果的数值是否正确,也依赖提供结果是否及时。


【单选题】如果I/O设备与存储设备进行数据交换不经过CPU来完成,这种数据交换方式是______。

A、程序查询

B、中断方式

C、DMA方式

D、无条件存取方式

答案:C

解析:本题考查计算机设备管理方面的基础知识。在计算机设备管理中,常用的输入/输出控制方式有程序直接控制方式、中断控制方式、DMA控制方式和通道控制方式。程序直接控制方式:在早期的计算机系统中使用,由于没有中断机构,处理机对I/O设备的控制采用程序直接控制方式,该方法工作过程非常简单,但CPU的利用率相当低,因为CPU执行指令的速度高出I/O设备几个数量级,所以在循环测试中CPU浪费了大量的时间。中断控制方式:为了减少程序直接控制方式中的CPU等待时间,提高CPU与设备的并行工作程度,现代计算机系统中广泛采用中断控制方式对I/O设备进行控制。DMA控制方式的基本思想是在外围设备和内存之间开辟直接的数据交换通路,在DMA控制方式中,设备控制器(DMA控制器)具有更强的功能,在它的控制下,设备和内存之间可以成批地进行数据交换,而不用CPU干预,这种方式一般用于块设备的数据传输。通道控制方式:与DMA控制方式类似,也是一种以内存为中心,实现设备与内存直接交换数据的控制方式。与DMA控制方式相比,通道所需要的CPU干预更少,而且可以做到一个通道控制多台设备,从而更进一步减轻了CPU的负担。依据本题的题意,本题的正确答案应选择C。


【单选题】嵌入式系统中配置了大量的外围设备,即I/O设备。依据工作方式不同可以分为字符设备、块设备和网络设备。下面描述不正确的是______。

A、键盘、显示器、打印机、扫描仪、鼠标等都属于字符设备

B、块设备是以块为单位进行传输的,如磁盘、磁带和光盘等

C、网络设备主要用于与远程设备进行通信

D、网络设备的传输速度和字符设备相当

答案:D

解析:本题考查嵌入式系统中设备分类方面的基础知识。嵌入式系统中配置了大量的外围设备,即I/O设备。依据工作方式不同可以分为字符设备、块设备和网络设备。字符(char)设备是能够像字节流(类似文件)一样被访问的设备,由字符设备驱动程序来实现这种特性。字符设备驱动程序通常至少要实现open、close、read和write的系统调用。字符终端(/dev/console)和串口(/dev/ttyS0以及类似设备)就是两个字符设备,它们能很好的说明“流”这种抽象概念。字符设备可以通过节点来访问,比如/dev/tty1和/dev/lp0等。这些设备文件和普通文件之间的唯一差别是:对普通文件的访问可以前后移动访问位置,而大多数字符设备是一个只能顺序访问的数据通道。然而,也存在具有数据区特性的字符设备,访问它们时可前后移动访问位置。例如framebuffer就是这样的一个设备,可以用mmap或lseek访问抓取的整个图像。与字符设备类似,块设备也是通过/dev目录下的文件系统节点来访问。块设备(例如磁盘)上能够容纳文件系统。在大多数的Unix系统中,进行I/O操作时块设备每次只能传输一个或多个完整的块,而每块包含512字节(或2的更高次幂字节的数据)。Linux可以让应用像字符设备一样地读写块设备,允许一次传递任意多字节的数据。因此,块设备和字符设备的区别仅仅在于内核内部管理数据的方式,也就是内核及驱动程序之间的软件接口,而这些不同对用户来讲是透明的。在内核中,和字符驱动程序相比,块驱动程序具有完全不同的接口。网络接口是一个能够和其他主机交换数据的设备。接口通常是一个硬件设备,但也可能是个纯软件设备,比如回环(loopback)接口。网络接口由内核中的网络子系统驱动,负责发送和接收数据包。许多网络连接(尤其是使用TCP协议的连接)是面向流的,但网络设备却围绕数据包的传送和接收而设计。网络驱动程序不需要知道各个连接的相关信息,它只要处理数据包即可。由于不是面向流的设备,因此将网络接口映射到文件系统中的节点(比如/dev/tty1)比较困难。Unix访问网络接口的方法仍然是给它们分配一个唯一的名字(比如eth0),但这个名字在文件系统中不存在对应的节点。内核和网络设备驱动程序间的通信,完全不同于内核和字符以及块驱动程序之间的通信,内核调用一套和数据包相关的函数而不是fead、write等。


【单选题】设n的初值为正整数,设计一个递归算法如下:int fact(int n){if(n<=0)return 1;else return(n*fact(n-1));}以下叙述中,正确的是______。

A、计算fact(n)需要执行n+2次函数调用

B、计算fact(n)需要执行n+1次函数调用

C、计算fact(n)需要执行n次函数调用

D、计算fact(n)需要执行n-1次函数调用

答案:B

解析:本题考查函数递归调用方面的相关知识。递归法是描述算法的一种强有力的方法,其思想是:将N=n时不能得出解的问题,设法递归(压栈)转化为求n-1,n-2,…的问题,一直到N=0或1的初始情况,由于初始情况的解可以给出,因此,开始层层退栈得到N=2,3,…,n时的解,得到最终结果。本题中,主程序调用fact(n)称为外部调用,其他调用称为内部调用,直到调用fact(0)为止。fact(n)调用fact(n-1),fact(n-1)调用fact(n-2)……fact(1)调用fact(0),内部调用n次,外部调用一次,共n+1次。


【单选题】若一台服务器只开放了25和110两个端口,那么这台服务器可以提供( )服务。

A、E-mail

B、Web

C、DNS

D、FTP

答案:A

解析:25端口是SMTP协议端口,110端口是POP3协议端口,二者分别是发送邮件和接收邮件的协议,因此可以提供电子邮件服务。


【单选题】x是整型变量,pb是整型指针变量,如果将pb指向x,则正确的表达式是______。

A、pb=&x

B、pb=x

C、*pb=&x

D、*pb=*x

答案:A

解析:本题考查C语言方面的基础知识。选项A将变量x的地址赋给指针变量pb,使pb指向x;选项B将x的值当作地址赋给指针pb;选项C将x的地址赋给指针pb指向的地址等于x的内存单元;选项D使pb指向一个地址等于x值的内存单元。根据题意,如果将pb指向x,则正确的表达式是pb=&x。因此正确答案为A。


【单选题】测试网络连通性通常采用的命令是( )。

A、Netstat

B、Ping

C、Msconfig

D、Cmd

答案:B

解析:ping命令用来测试网络连通性。A用于显示网络状态,C用于windows配置的应用程序;D是打开命令提示符窗口。


【单选题】用标准C语言库进行文件操作时,若要以a+方式打开一个己经存在的文件,则下列叙述中正确的是( )。

A、原有的文件内容保留,位置指针移动到文件的末尾,可进行读写操作

B、原有的文件内容保留,位置指针移动到文件的开头,可进行读写操作

C、原有的文件内容保留,位置指针移动到文件的末尾,可进行只读操作

D、原有的文件内容被删除,可进行写操作

答案:A

解析:fopen文件打开模式r代表read的简写,+代表可读可写,w代表write,b代表bit二进制位,t代表textr=rt,打开只读文件,该文件必须存在r+=rt+,打开可读可写的文件,该文件必须存在rb,只读,打开一个二进制文件,该文件必须存在rb+,打开一个二进制文件,允许读和写,该文件必须存在w=wt,新建一个文本文件,已存在的文件将被删除,只允许写w+=wt+,新建一个文本文件,已存在的文件将被删除,可读可写wb,新建一个二进制文件文件,已存在的文件将被删除,只允许写wb+,新建一个二进制文件,已存在的文件将被删除,可读可写a=at,打开或新建一个文本文件,只允许在文件末尾追写a+=at+,打开或新建一个文本文件,可以读,但只允许在文件末尾追写ab,打开或新建一个二进制文件,只允许在文件末尾追写。ab+,打开或新建一个二进制文件,可以读,但只允许在文件末尾追写