2022年职业考证-软考-嵌入式系统设计师考试全真模拟易错、难点剖析AB卷(带答案)
一.综合题(共15题)
1.
单选题
李工是某软件公司的软件设计师,每当软件开发完成均按公司规定申请软件著作权,该软件的著作权(  )。
问题1选项
A.应由李工享有
B.应由公司和李工共同享有
C.应由公司享有
D.除署名权以外,著作权等其他权利由李工享有
【答案】C
【解析】根据题干描述,本软件为职务作品,知识产权人为公司。
2.
单选题
下列各种情况中,一定不会引起进程调度的操作是(   )。
问题1选项
A.一个进程完成工作后被撤销
B.一个进程从运行状态变成了阻塞状态或就绪状态printf输出格式 同行
C.一个进程从阻塞状态变成就绪状态
D.一个进程从就绪状态变成运行状态
【答案】C
【解析】运行态——等待态 等待使用资源,如等待外设传输,等待人工干预 ,会产生进程调度。
等待态——就绪态 资源得到满足,如外设传输结束,人工干预完成,不产生进程调度。
运行态——就绪态 运行时间片到,出现有更高优先权进程,会产生进程调度。
就绪态——运行态 CPU空闲时选择一个就绪进程,会产生进程调度。
3.
案例题
阅读以下关于C语言的基本概念和编程方面的叙述,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
服务型智能扫地机器人的信息处理中心,用于接收各种传感器信息和视觉信息,通过分析处
理进行扫地机器人的运动控制,且负责和后台监控中心通信。信息处理中心基于嵌入式计算机实现。
【问题1】(4分)
在信息处理中心的计算机系统中,系统总是要用户对变量或寄存器进行位操作,下面程序1代码中对给定整型变量a,实现了两个函数,其中:set_bit3函数用于设置a的bit 3(第3位),clear_bit3函数用于清除a的bit3(第3位)。请补全程序1代码的(1)和(2),将正确代码写在答题纸的相应位置。
【程序1】
【问题2】(6分)
信息处理计算机采用中断方式快速响应外部事件。中断是嵌入式系统中重要的组成部分,这使得很多编译器开发商提供了标准C支持中断的扩展(使用关键字_interrupt)。下面程序2是王工设计的中断处理程序代码,请对这段程序进行同行评审,出你认为不合适的3个方面,将解答写入答题纸相应的位置。
【程序2】
【问题3】(5分)
王工设计了信息处理中的软件算法,利用单向链表来存储信息。其中如下给定的程序3中已建立一个带有头结点的单向链表,链表中的各结点按结点数据域中的数据从小到大顺序链接。函数fun的功能是:把参数x的值放入一个新结点并插入到链表中,插入后各结点仍保持从小到大顺序排列。该程序的实现如程序3所示。
【程序3】
根据题意分析程序,完成程序3的空(1)~(5),将解答写入答题纸相应的位置。
【答案】【问题1】
(1)a=a|BIT3或者a|= BIT3
(2)a=a& ~BIT3或者a&=~BIT3
【问题2】
回答以下4项中任意3项(意思相近即可)。
(1)中断程序的返回值。中断程序中一般不能返回一个值。
(2)中断程序参数。中断程序中一般不能传递参数。
(3)浮点运算。中断程序应该是短而有效率的,一般在中断程序上下文切换时不保存浮点寄存器,尽量不要在中断程序中做浮点运算。
(4)printf()一般是阻塞性调用,尽量不要在中断程序中调用阻塞性服务。
【问题3】
(1)x
(2)s
(3)q->next或p->next
(4)s
(5)q
【解析】本题考查嵌入式程序开发的能力。
要求掌握C语言的位操纵,位操作是程序中对位模式按位进行的一元或二元操作。位运算符有取反操作、按位或、按位异或、按位与、移位等。
要求掌握C语言中链表的相关操作,比如链表的插入、删除等操作。包括了单链表、双链表。该题考查的就是对单链表的操作。单链表是一种链式存取的数据结构,链表中的数据是
以结点来表示的,每个结点的构成:元素(数据元素的映象)+指针(指示后继元素存储位置),元素就是存储数据的存储单元,指针就是连接每个结点的地址数据。以“结点的序列”表示的线性表称作线性链表(单链表),单链表是链式存取的结构。
4.
单选题
下列关于软件质量管理的论述,不正确的是(   )。
问题1选项
A.软件质量管理是指对软件开发过程进行的独立的检查活动
B.软件质量活动包括质量保证、质量规划和质量控制三部分
C.软件质量活动包括质量规划和质量控制两部分内容
D.软件质量保证的目的是开发符合质量要求的系统或产品
【答案】C
【解析】软件质量活动包括质量保证、质量规划和质量控制三部分,而不是只包含质量规划和质量控制两部分内容,所以B是不正确的。
5.
单选题
关于BootLoader,下列理解错误的是(  )。
问题1选项
A.BootLoader是在操作系统内核运行之前运行的一小段程序
B.BootLoader是通用的
C.有些BootLoader支持多CPU
D.BootLoader的功能之一是初始化硬件
【答案】B
【解析】Bootloader是嵌入式系统在加电后执行的第一段代码,在它完成CPU和相关硬件的初始化之后,再将操作系统映像或固化的嵌入式应用程序装在到内存中然后跳转到操作系统所在的空间,启动操作系统运行。
对于嵌入式系统,Bootloader是基于特定硬件平台来实现的。因此,几乎不可能为所有的嵌入式系统建立一个通用的Bootloader,不同的处理器架构都有不同的Bootloader。
6.
单选题
在下面描述的RISC指令系统基本概念中,不正确的表述是(   )。
问题1选项
A.选取使用频率低的一些复杂指令,指令条数多
B.指令长度固定
C.指令功能简单
D.指令运行速度快
【答案】A
【解析】RISC(reduced instruction set computer,精简指令集计算机)是一种执行较少类型计算机指令的微处理器,起源于80年代的MIPS主机(即RISC机),RISC机中采用的微处理器统称RISC处理器,它能够以更快的速度执行操作(每秒执行更多百万条指令,即MIPS)。因为计算机执行每个指令类型都需要额外的晶体管和电路元件,计算机指令集越大就会使微处理器更复杂,执行操作也会更慢。
精简指令集包含了简单、基本的指令,通过这些简单、基本的指令,就可以组合成复杂指令。每条指令的长度都是相同的,可以在一个单独操作里完成。大多数的指令都可以在一个机器周期里完成,并且允许处理器在同一时间内执行一系列的指令。强调对指令流水线的优化,同时采用Load/Store结构进行外部数据的访问。
CISC是复杂指令系统计算机(Complex Instruction Set Computer)的简称,微处理器是
台式计算机系统的基本处理部件,每个微处理器的核心是运行指令的电路。指令由完成任务的多个步骤所组成,把数值传送进寄存器或进行相加运算。CISC的指令集复杂庞大,而RISC则较为精简,在CISC体系结构下各种指令的执行时间相差较大。
7.
单选题
在TCP/IP网络中,建立连接进行可靠通信是在(  )完成的,此功能在OSI/RM中是在(  )层来实现的。
问题1选项
A.网络层
B.数据链路层
C.应用层
D.传输层
问题2选项
A.应用层
B.会话层
C.表示层
D.网络层
【答案】第1题:D
第2题:B
【解析】在TCP/IP网络中,建立连接进行可靠通信描述的是TCP协议,属于传输层协议。
在OSI/RM七层模型中,传输层以上还有会话层、表示层、应用层,传输层以下是网络层。
应用层主要实现具体的应用功能。
表示层主要处理数据的格式与表达、加密、压缩。
会话层为表示层提供建立、维护和结束会话连接的功能,并提供会话管理服务,也就是说会话层可以建立连接,第二空选择会话层。
网络层为传输层的数据传输提供建立、维护和终止网络连接的手段,这里针对的是网络连接,与可靠性连接无关,与本题不符。
8.
单选题
关于容错技术,下面叙述中不正确的是(   )。
问题1选项
A.系统容错技术,主要研究系统对故障的检测、定位、重构和恢复
B.从余度设计角度出发,系统通常采用相似余度或非相似余度实现系统容错
C.从结构角度出发,容错结构有单通道加备份结构、多通道结构
D.通常硬件实现容错常用的有恢复块技术和N版本技术
【答案】D
【解析】常见的软件可靠性技术主要有容错设计、检错设计和降低复杂度设计等技术。
其中,容错设计技术主要有恢复快设计、N版本程序设计和冗余设计三种方法。N版本程序设计是一种静态的故障屏蔽技术,其设计思想是用N个具有相同功能的程序同时执行一项计算,结果通过多数表决来选择。其中N个版本的程序必须由不同的人独立设计,使用不同的方法、设计语言、开发环境和工具来实现,目的是减少N个版本的程序在表决点上相关错误的概率。动态冗余又称为主动冗余,它是通过故障检测、故障定位及故障恢复等手段达到容错的目的。
系统容错技术,主要研究系统对故障的检测、定位、重构和恢复。
从余度设计角度出发,系统通常采用相似余度或非相似余度实现系统容错。
从结构角度出发,容错结构有单通道加备份结构、多通道结构。
9.
单选题
以下关于IPv4地址的描述中,错误的是(   )。
问题1选项
A.IP地址的总长度是32位
B.IP地址由网络号与主机号两部分组成
C.B类地址用2个字节做网络号
D.Pv4 地址是“冒分十六进制地址格式”
【答案】D
【解析】本题考查IPv4和IPv6的基础知识。
IPv6的主要目的是解决IPv4中存在网络地址资源不足的问题,IPv6 除了具有IPv4具有的功能外,还消除了IPv4 的局限性,它们之间既有相同点,又有不同点。IPv4 地址的总长度是32位,而IPv6具有长达128位的地址空间,可以彻底解决IPv4地址不足的问题; IPv4地址被分为网络号和主机号两部分,若网络号用一个字节表示,则最大可以创建256个网络,B类地址用2字节做网络号:而IPv6报文的整体结构分为IPv6报头、扩展报头和上层协议数据3部分。IPv6报头是必选报文头部,长度固定为40B,包含该报文的基本信息;扩展报头是可选报头,可能存在0个、1个或多个,IPv6 协议通过扩展报头实现各种丰富的功能;上层协议数据是该IPv6报文携带的上层数据,可能是ICMPv6报文、TCP报文、UDP报文或其他可能报文。
在地址表示形式方面,IPv4 地址是“点分十进制地址格式”,IPv6 地址是“冒分十六进制地址格式”。
10.
单选题
以下不属于嵌入式系统硬件PCB图设计原则的是(  )。
问题1选项
A.高速信号优先
B.先整体设计再局部调整
C.先简单后复杂
D.优先核心器件布局
【答案】C
【解析】本题考查嵌入式系统硬件PCB图设计及布线方面的基础知识。
PCB图设计及布线的步骤为:
1、建立封装库中没有的封装(Footprint)。
2、规划电路板:设置习惯性的环境参数和文档参数,如选择层面、画边框、定位孔、外形尺寸等。