软件设计——2015年上半年选择题重要知识点

 1、机器字长为n位的二进制数可以用补码来表示(2n)个不同的有符号定点小数。

A:2n
B:2n-1
C:2n-1
D:2n-1+1


【解析】:
取值范围:[-2n -1, 2n - 1 - 1]

(2n - 1 -1) + (-2n - 1)+1=2n -1 * 2的1次方 = 2n - 1 +1 = 2n

 

 

2、总线宽度为32bit,时钟频率为200MHz,若总线上每5个时钟周期传送一个32bit的字,则该总线的带宽为(160)MB/s。

A:40

B:80

C:160

D:200

 

【解析】:

1MHz=1M/S
1 B(字节)= 8 bit(比特)
带宽=时钟频率x(位宽/8)。
结果为200 x (32/8) / 5 = 160 MB/S

 

 

 3、以下关于指令流水线性能度量的叙述中,错误的是(流水线采用异步控制会明显提高其性能)。

A:最大吞吐率取决于流水线中最慢一段所需的时间

B:如果流水线出现断流,加速比会明显下降

C:要使加速比和效率最大化应该对流水线各级采用相同的运行时间

D:流水线采用异步控制会明显提高其性能

 

【解析】:本题考查计算机系统结构的基础知识。

对指令流水线性能的度量主要有:吞吐率,加速比和效率等指标。

吞吐率是指:单位时间内流水线所完成的任务数或输出结果的数量

最太吞吐率则是:流水线在达到稳定状态后所得到的吞吐率,它取决于流水线中最慢一段所需的时间,所以该段成为流水线的瓶颈。

流水线的加速比定义为:等功能的非流水线执行时间与流水线执行时间之比,加速比与吞吐率成正比,如果流水线断流,实际吞吐率将会明显下降,则加速比也会明显下降。

流水线的效率是指:流水线的设备利用率,从时空图上看效率就是n个任务所占的时空区与m个段总的时空区之比。因此要使加速比和效率最大化应该流水线各级采用相同的运行时间。另外,流水线釆用异步控制并不会给流水线性能带来改善,反而会增加控制电路的复杂性。

 

 

4、安全需求可划分为物理线路安全、网络安全、系统安全和应用安全。下面的安全需求中属于系统安全的是(漏洞补丁管理),属于应用安全的是(数据库安全)。

A:机房安全

B:入侵检测

C:漏洞补丁管理

D:数据库安全

 

【解析】:

物理安全:机房安全

网络安全:入侵检测

系统安全:漏洞补丁管理

应用安全:数据库安全

 

 

 

5、C程序中全局变量的存储空间在(22)分配。
A:代码区
B:静态数据区
C:栈区
D:堆区
【解析】:
程序运行时的用户内存空间一般划分为代码区、静态数据区、栈区和堆区 其中栈区和堆区称为:动态数据区 全局变量的存储空间在静态数据区      

6、嵌入式系统初始化过程主要有3个环节,按照自底向上、从硬件到软件的次序依次为(片级初始化→板级初始化→系统级初始化)。系统级初始化主要任务是(以软件初始化为主,主要进行操作系统的初始化)。

A:片级初始化→系统级初始化→板级初始化

B:片级初始化→板级初始化→系统级初始化

C:系统级初始化→板级初始化→片级初始化

D:系统级初始化→片级初始化→板级初始化

 

A:完成嵌入式微处理器的初始化
B:完成嵌入式微处理器以外的其他硬件设备的初始化
C:以软件初始化为主,主要进行操作系统的初始化
D:设置嵌入式微处理器的核心寄存器和控制寄存器工作状态

【解析】:

嵌入式系统初始化过程可以分为3个主要环节,按照自底向上、从硬件到软件的次序依次为:片级初始化、板级初始化和系统级初始化。

片级初始化完成嵌入式微处理器的初始化,包括设置嵌入式微处理器的核心寄存器和控制寄存器、嵌入式微处理器核心工作模式和嵌入式微处理器的局部总线模式等。片级初始化把嵌入式微处理器从上电时的默认状态逐步设置成系统所要求的工作状态。这是一个纯硬件的初始化过程。

 

板级初始化完成嵌入式微处理器以外的其他硬件设备的初始化。另外,还需设置某些软件的数据结构和参数,为随后的系统级初始化和应用程序的运行建立硬件和软件环境。这是一个同时包含软硬件两部分在内的初始化过程。

 

系统初始化过程以软件初始化为主,主要进行操作系统的初始化。BSP 将对嵌入式微处理器的控制权转交给嵌入式操作系统,由操作系统完成余下的初始化操作,包含加载和初始化与硬件无关的设备驱动程序,建立系统内存区,加载并初始化其他系统软件模块,如网络系统、文件系统等。最后,操作系统创建应用程序环境,并将控制权交给应用程序的入口。

 

 

7、软件配置管理的内容不包括(质量控制)。

A:版本控制

B:变更控制

C:过程支持

D:质量控制

 

【解析】:

软件配置管理SCM用于整个软件工程过程,其主要目标是标识变更、控制变更、确保变更正确的实现,报告变更。 其主要内容包括:版本管理、配置支持、变更支持、过程支持、团队支持、变化报告和审计支持等。

 

 

8、自底向上的集成测试策略的优点包括(不需要写桩程序)。

A:主要的设计问题可以在测试早期处理
B:不需要写驱动程序
C:不需要写桩程序
D:不需要进行回归测试

【解析】:

软件测试分为单元测试、集成测试和系统测试。

集成测试:把模块按系统设计说明书的要求组合起来进行测试。存在多种组合的集成测试策略:自底向上、自顶向下、一次性集成、明治集成等。

其中,自底向上策略通过不断合并底层模块来测试更高层模块的方式进行。

在该方法中,需要写驱动程序来调用待测试的底层模块,主要的设计问题需要到测试后期才能发现。

由于从最底层的模块开始测试,因此过程中不需要写桩模块。

当测试过程中发现错误时,需要进行回归测试。

 

 

9、某些设计模式会引入总是被用作参数的对象。例如(Visitor)对象是一个多态accept 方法的参数。

A:Visitor B:Command
C:Memento
D:Observer

【解析】:

在Visitor模式中,一个Visitor对象是一个多态的accept操作的参数,这个操作作用于该Visitor对象访问的对象。

在Command模式中,令牌代表一个请求。

在Memento模式中,它代表在一个对象在某个特定时刻的内部状态。在这两种情况下,令牌都可以有一个复杂的内部表示,但客户并不会意识到这一点。

在Observer模 式中,通过引入Observer和Subject对象来分布通信。

 

 

10、优先队列通常采用(堆)数据结构实现,向优先队列中插入—个元素的时间复杂度为(Θ(lgn))。

A:堆

B:栈

C:队列

D:线性表

 

A:Θ(n)
B:Θ(1)
C:Θ(lgn)
D:Θ(n2)

【解析】:

优先队列是一种常用的数据结构,通常用堆实现。对应于大顶堆和小顶堆,存在最大优先队列和最小优先队列。

以最大优先队列为例,优先队列除了具有堆上的一些操作,如调整堆、构建堆之外,还有获得优先队列的最大元素,抽取出优先队列的最大元素,向优先队列插入一个元素和增大优先队列中某个元素的值。

其中除了获得优先队列的最大元素的时间复杂度为(θ1)之外,其他几个操作的时间复杂度均为二叉树的高度,即θ (|gn)。

 

 

11、以下关于VLAN的叙述中,属于其优点的是(允许逻辑地划分网段)。

A:允许逻辑地划分网段 B:减少了冲突域的数量
C:增加了冲突域的大小
D:减少了广播域的数量

【解析】: VLAN(虚拟局域网)优点: 1. 限制广播域。广播域被限制在一个VLAN内,提高了网络处理能力。  2. 增强局域网的安全性。VLAN的优势在于VLAN内部的广播和单播流量不会被转发到其它VLAN中,从而有助于控制网络流量、减少设备投资、简化网络管理、提高网络安全性。  3. 灵活构建虚拟工作组。用VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,网络构建和维护更方便灵活。       12、DHCP协议的功能是(69);FTP使用的传输层协议为(70)。 A:WINS名字解析
B:静态地址分配
C:DNS名字登录
D:自动分配IP地址

A:TCP
B:IP
C:UDP
D:HDLC


【解析】: DHCP是TCP/IP协议簇中的一种,主要是用来给网络客户机分配动态的IP地址。 这些被分配的IP地址都是DHCP服务器预先保留的一个由多个地址组成的地址集,并且它们一般是一段连续的地址。使用DHCP时必须在网络上有一台DHCP服务器,而其他机器执行DHCP客户端。
FTP属于应用层。 应用层:与其它计算机进行通讯的一个应用,它是对应应用程序的通信服务的。示例:TELNET,HTTP,FTP,NFS,SMTP等 默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息。  

 

 

 

 

上一篇:2021.9.29学习日志-Restful架构


下一篇:Python Flask RESTful 学习笔记(5)--安装