嵌入式系统设计师上午基础知识考试选择题专项强化真题试卷17
中文选择题
1.软件测试通常分为单元测试、组装测试、确认测试、系统测试四个阶段,(18)属于确认测试阶段的活动。(D)
A. 设计评审
B. 代码审查
C. 结构测试
D. 可靠性测试
解析:测试是软件开发过程中的重要活动,为系统质量和可靠性提供保障。通常测试与软件开发阶段密切相对应。单元测试通常在模块的开发期间实施,主要测试程序中的一个模块或一个子程序。集成测试通常需要将所有程序模块按照设计要求组装成为系统,这种测试的目的是在保证各模块仍能够正常运行的同时,组装后的系统也能够达到预期功能。确认测试的任务是进一步检查软件的功能和性能是否与用户要求一致。系统测试把已经确认的软件在实际运行环境中,与其他系统成分组合在一起进行测试。在本题给出的备选项中,设计评审是指对软件需求分析阶段和概要设计阶段产生的软件设计说明书进行质量等方面的评审,此时,软件还没有形成实体;代码审查以人工的模拟技术和一些类似与动态分析的方法对程序进行分析和测试,通常在单元测试阶段进行;结构测试则是在了解程序结构的前提下在单元/模块测试中进行;可靠性测试则主要检查软件的平均失效间隔时间等指标是否符合系统需求。
2.下面关于面向对象的描述正确的是(19)。(A)
A. 针对接口编程,而不是针对实现编程
B. 针对实现编程,而不是针对接口编程
C. 接口与实现不可分割
D. 优先使用继承而非组合
解析:针对接口编程能够将接口调用代码和接口实现代码相分离,提倡针对接口进行编程。
3.稳压二极管构成的稳压电路的接法是(25)。(D)
A. 稳压管与负载电阻串联
B. 稳压管与限流电阻并联
C. 限流电阻与稳压管串联后,再与负载电阻串联
D. 限流电阻与稳压管串联后,再与负载电阻并联
解析:稳压二极管的特点就是击穿后,其两端的电压基本保持不变。这样,当把稳压管接入电路以后,若由于电源电压发生波动,或由于其他原因造成电路中各点电压变动时,负载两端的电压将基本保持不变。故稳压二极管与限流电阻串连后,应与负载电阻并联,才能起到稳定电压的作用。
4.IEEE 802.11b标准定义了使用跳频、扩频技术的无线局域网标准,传输速率为 1Mbps、2Mbps、5.5Mbps和(37)。(B)
A. 10Mbps
B. 11Mbps
C. 20Mbps
D. 54Mbps
解析:IEEE 802.11b标准于1999年年底制定,以直序扩频DSSS(Direct Sequence Spread Spectmm)作为调变技术,配合补码键控(CCK)的编码方式。IEEE 802.11b标准工作于2.4GHz频带,有三个可用的非重叠信道,物理层支持5.5Mbps和11Mbps两个以前没有的传输速率。其传输速率可因环境干扰或传输距离而变化,在11Mbps、5.5Mbps、2Mbps和1Mbps之间切换,而且在2Mbps和1Mbps速率时与IEEE802.11标准兼容。
5.现代电子设计方法包含了可测试设计,其中(39)接口是IC芯片测试的标准接口。(B)
A. BIST
B. JTAG
C. UART
D. USB
解析:可测试设计的三个方面是测试生成、测试验证和测试设计。测试生成是指产生验证 IC芯片行为的一组测试码。测试验证指给定测试集合的有效性测度,这通常是通过故障仿真来估算的。测试设计是设计者在电路设计阶段就考虑芯片的测试结构问题,在设计用户逻辑的同时,还要设计测试电路。现代电子设计方法包含可测试设计。内建测试系统(BIST)是SOC片上系统的重要结构之一。JTAG测试接口是IC芯片测试方法的标准。
6.软件开发模型给出了软件开发活动各阶段之间的关系,(64)不是软件开发模型。(D)
A. 瀑布模型
B. 螺旋模型
C. 原型模型
D. 程序模型
解析:本题考查常见软件开发模型的基本概念。为了指导软件的开发,可以用不同的方式将软件生命周期中的所有开发活动组织起来,从而形成了不同的软件开发模型。常见的开发模型有瀑布模型、原型模型或快速原型模型、演化模型、增量模型、螺旋模型、喷泉模型等。软件开发模型中没有程序模型之说。
7.以下关于嵌入式软件开发的叙述中,正确的是________。(C)
A. 宿主机与目标机之间只需要建立逻辑连接即可
B. 调试器与被调试程序一般位于同一台机器上
C. 嵌入式系统开发通常采用的是交叉编译器
D. 宿主机与目标机之间的通信方式只有串口和并口两种
解析:本题考查嵌入式系统软件开发调试的基础知识。
嵌入式系统的软件开发与通常软件开发的区别主要在于软件实现部分,其中又可以分为编译和调试两部分,下面分别对这两部分进行讲解。
第一是交叉编译。嵌入式软件开发所采用的编译为交叉编译。所谓交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。编译的最主要的工作就在将程序转化成运行该程序的CPU所能识别的机器代码,由于不同的体系结构有不同的指令系统。因此,不同的CPU需要有相应的编译器,而交叉编译就如同翻译一样,把相同的程序代码翻译成不同CPU的对应可执行二进制文件。要注意的是,编译器本身也是程序,也要在与之对应的某一个CPU平台上运行。这里一般将进行交叉编译的主机称为宿主机,也就是普通的通用PC,而将程序实际的运行环境称为目标机,也就是嵌入式系统环境。由于一般通用计算机拥有非常丰富的系统资源、使用方便的集成开发环境和调试工具等,而嵌入式系统的系统资源非常紧缺,无法在其上运行相关的编译工具,因此,嵌入式系统的开发需要借助宿主机(通用计算机)来编译出目标机的可执行代码。
第二是交叉调试。嵌入式软件经过编译和链接后即进入调试阶段,调试是软件开发过程中必不可少的一个环节,嵌入式软件开发过程中的交叉调试与通用软件开发过程中的调试方式有很大的差别。在常见软件开发中,调试器与被调试的程序往往运行在同一台计算机上,调试器是一个单独运行着的进程,它通过操作系统提供的调试接口来控制被调试的进程。而在嵌入式软件开发中,调试时采用的是在宿主机和目标机之间进行的交叉调试,调试器仍然运行在宿主机的通用操作系统之上,但被调试的进程却是运行在基于特定硬件平台的嵌入式操作系统中,调试器和被调试进程通过串口或者网络进行通信,调试器可以控制、访问被调试进程,读取被调试进程的当前状态,并能够改变被调试进程的运行状态。
8.会导致进程从执行态变为就绪态的事件是_______。(D)
A. 执行P(wait)操作
B. 申请内存失败
C. 启动FO设备
D. 被高优先级进程抢占
解析:进程切换是多任务多用户操作系统所应具有的基本功能。操作系统为了控制进程的执行,必须有能力挂起正在CPU上运行的进程,并恢复以前挂起的某个进程的执行,这种行为被称为进程切换,任务切换或上下文切换。或者说,进行进程切换就是从正在运行的进程中收回CPU,然后再使待运行进程来占用CPU。这里所说的从某个进程收回CPU,实质上就是把进程存放在CPU的寄存器中的中间数据找个地方存起来,从而把CPU的寄存器腾出来让其他进程使用。
进程在其生存期内可能处于如下三种基本状态之一:
(a)执行态(Run):进程占有CPU资源,正在运行。显然,在单处理机系统中任一时刻只能有一个进程处于此种状态;
(b)就绪态(Ready):进程本身具备运行条件,但由于处理机的个数少于可运行进程的个数,暂未投入运行。即相当于等待CPU资源;
(c)等待态(Wait):也称挂起态(Suspended)、封锁态(Blocked)、睡眠态(Sleep
本文档预览:3600字符,共19697字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载