(全)2024下半年真题 系统架构设计师 综合知识 答案解析01
系统架构设计师第二版教程VIP课程https://edu.csdn.net/course/detail/40283
操作系统
下列选项中不能作为预防死锁措施的是 。
A. 破坏“循环等待"条件
B. 破坏“不可抢占”条件
C. 破坏“互斥”条件
D. 破坏“请求和保持”条件
答案:C
解析:所谓死锁,是指两个以上的进程因相互争夺对方占用的资源而陷入无限等待的现象。死锁产生的4个必要条件:互斥(资源互斥)、请求保持(进程占有资源并等待其他资源)、不可剥夺(系统不能剥夺进程资源)和环路(进程资源图是一个环路)。
但是,破坏“互斥”条件不能作为预防死锁的措施。这是因为互斥条件是资源使用的基本特性,无法进行改变,它确保了资源的独占性和数据的完整性。在多任务操作系统中,进程或线程需要独占某些资源(如打印机、文件等)以防止数据竞争和不一致。
如果取消互斥条件,允许多个进程同时访问同一资源,虽然可以避免死锁的发生,但会引发其他严重问题,如数据损坏、资源争用冲突和优先级反转等。因此,破坏互斥条件并不是一个可行的死锁预防策略。
为了预防死锁,通常会采取其他措施来破坏产生死锁的其他三个必要条件之一或多个:
请求和保持条件:可以通过实施资源分级策略或静态分配法来破坏。例如,要求进程在开始运行前一次性申请其在整个运行期间所需的全部资源,或者在提出新资源请求前释放已占有的资源。
不可抢占条件:可以允许进程抢占已经分配给其他进程的资源,但这通常需要复杂的管理机制来处理资源的抢占和恢复。
循环等待条件:可以通过全局资源排序策略来破坏,即给系统中的所有资源编号,并要求进程按递增顺序申请资源。
在多道批处理系统中有P1和P2两个作业,执行顺序如下,P1(计算40ms,I/O操作60ms,计算20ms),P2(计算100ms,I/O操作40ms,计算40ms),P2比P1晚20ms到达,在不考虑调度和切换时间的情况下完成两道作业最少需要 时间。
A. 240ms
B. 200ms
C. 260ms
D. 220ms
答案:D
解析:教材2.3.2操作系统,P30。多道批处理操作系统允许多个作业装入内存执行,在任意一个时刻,作业都处于开始点和终止点之间。每当运行中的一个作业由于输入/输出操作需要调用外部设备时,就把CPU交给另一个等待运行的作业,从而将主机与外部设备的工作由串行改变为并行,进一步避免了因主机等待外设完成任务而浪费宝贵的CPU时间。多道批处理系统主要有3 个特点:多道、宏观上并行运行和微观上串行运行。
简单的多个作业的执行,时空图如下所示:
分段允许程序员把内存视为由这个地址空间或段组成,其中段的大小是 。
A. 固定的
B. 不可变的
C. 相等的
D. 动态可变的
答案:D
解析:分段存储管理是将进程空间划分成若干个段,每段也有段号和段内地址,每段是一组完整的逻辑信息。
分段地址结构:
分页与分段的区别:分页是根据物理空间划分,每页大小相同;分段是根据逻辑空间划分,每段是一个完整的功能,便于共享,但是大小不同,即根据需要动态改变。
当一个进程被一个更高优先级的进程抢占或其时间片用完时,其状态会从执行态转变为
状态。
A. 就绪
B. 挂起
C. 睡眠
D. 阻塞
答案:A
解析:当一个进程被一个更高优先级的进程抢占或其时间片用完时,其状态会从执行态转变为绪状态。
进程的基本状态有:
就绪状态(Ready):进程已获得除CPU以外的所有必要盗源,只要再获得CPU,就可以立即执行。例如,在多任务操作系统中,多个进程可能同时处于就绪状态,等待CPU调度。
执行状态(Running):进程正在CPU上运行,占用 CPU资源执行指令。
阻塞状态(Blocked):进程因等待某一事件(如I/O操作完成、等待信号量等)而暂时无法继续执行,此时即使CPU空闲,它也不能占用CPU运行,
低优先级进程状态变化的原因分析:
当低优先级进程正在执行(处于执行态)时,如果高优先级进程进入就绪状态,根据优先级调度算法,操作系统会抢占CPU,将低优先级进程从执行态变为就绪态。此时低优先级进程仍然具备执行条件,只是因为优先级较低而暂时失去CPU使用权。另外,如果采用时间片轮转调度算法,低优先级进程的时间片用光,它也会从执行态变为就绪态,等待下一次调度。这种机制可以保证每个就绪进程都有机会获得CPU时间,实现公平的资源分配。
应用程序在用户态使用特权指令进行系统调用,是 中断。
A.信号中断
B.溢出中断
C.访管中断
D.外部中断
答案:C
解析:信号中断:通常是外部事件或异步信号触发。例如按下Ctrl+C。 溢出中断:通常发生算术运算时候。访管中断:应用程序主动发起的软件中断。外部中断:通常由外部设备(如键盘、鼠标)等触发。
访管中断是一种自愿性的中断,由用户程序通过执行访管指令来请求操作系统服务。
访管中断是计算机系统中的一个重要概念,它涉及到用户态与核心态之间的切换。在用户态下,程序无法直接执行某些特权指令或访问受限资源,而当需要这些操作时,程序会通过执行一条特殊的访管指令来触发访管中断。这种中断机制允许用户程序以受控的方式进入核心态,从而请求操作系统提供的服务或执行特权操作。
访管中断的处理过程通常包括以下几个步骤:
1)触发访管中断:用户程序执行访管指令,产生一个中断事件(自愿中断),暂停当前用户程序的执行。
2)保存上下文:CPU保存当前用户程序的执行状态和上下文信息,以便后续恢复执行。
3)切换到核心态:CPU从用户态切换到核心态,开始执行操作系统的中断处理程序。
4)执行系统调用:操作系统根据访管指令中的操作数和参数,执行相应的系统调用或服务例程,完成用户请求的操作。
5)恢复用户态:系统调用或服务完成后,操作系统恢复用户程序的执行状态和上下文信息,将CPU切换回用户态,继续执行被中断的用户程序。
访管中断是实现用户程序与操作系统之间交互的重要机制之一,它确保了用户程序可以在受控的情况下访问受限资源或执行特权操作,同时保护了系统的稳定性和安全性。
数据库设计
数据库的三级模式结构中, 描述局部数据的逻辑结构和特征。
A.概念模式
B.内模式
C.外模式
D.逻辑模式
答案:C
解析:在数据库的三级模式中,描述局部数据的逻辑结构和特征的是外模式。
1. 内模式
也称存储模式,是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,定义所有的内部记录类型、索引和文件的组织方式以及数据控制方面的细节。一个数据库只有一个内模式。对应数据库中的物理存储文件。
2. 概念模式
也称模式,是数据库中全部数据的逻辑结构和特征的描述。一个数据库只有一个概念模式。对应数据库中的基本表。
3. 外模式
也称用户模式或子模式,是用户与数据库系统的接口,是用户需要使用的部分数据的描述。一个数据库可以有多个外模式。对应数据库中的视图。
外模式称用户模式,是对数据库用户能看见的局部数据的逻辑结构和特征的描述。一个数据库中可以存在多个外模式。外模式可以保证数据库的安全性,每个用户看见只能和访问对应外模式中的数据,而对其余数据是不可见的。
关系操作中,操作的对象和结果都是 。
A. 元组
B. 记录
C. 集合
D. 列
答案:C
解析:教材2.2.2 关系运算,P227。
7. 关系运算
关系操作的特点是操作对象和操作结果都是集合。关系代数运算符有4类:集合运算符、专门的关系运算符、算术比较符和逻辑运算符。
数据库中有一张人员信息表包含性别属性,要求这个属性的值只能是男或者女,这属于 。
A. 关系完整性
B. 用户定义完整性
C. 参照完整性
D. 实体完整性
答案:B
解析:教材6.2.1关系数据库基本概念,P227。
6. 完整性约束
完整性规则提供了一种手段来保证当用户对数据库做修改时不会破坏数据的一致性。防止对数据的意外破坏。关系模型的完整性规则是对关系的某种约束条件。关系的完整性分为三类:
①实体完整性:关系的主属性不能取空。
②参照完整性:外键的值或者为空,或者必须等于对应关系中的主键值。
员工(员工号,姓名,性别,参加工作时间,部门号),部门(部门号,名称,电话,负责人)
③用户定义完整性:根据语义要求所自定义的约束条件。
给出关系模式R(A,B,C,D)和其属性之间的函数依赖(A→C,BC→D),则R的码是 。
A. B
B. C
C. AB
D. A
答案:C
解析:求候选键最稳靠的办法是图示法。图示法求候选键的过程如下:
(1)将关系的函数依赖关系用“有向图”的方式表示。
(2)找出入度为0的属性,并以该属性集合为起点,尝试遍历有向图,若能正常遍历图中所有结点,则该属性集即为关系模式的候选键。
(3)若入度为0的属性集不能遍历图中所有结点,则需要尝试性的将一些中间结点(既有入度,也有出度的结点)并入度为0的属性集中,直至该属性集合能遍历所有结点,则该属性集合为候选键。
本题有向图如下所示:
从图中可以看出,入度为0的节点是A与B,从这两个节点的组合出发,能遍历全图,所以AB组合键为候选码。
有两个关系R(a,b,c)和S(b,c,d),将R和S进行自然连接,得到的结果包含 列。
A. 4
B. 6
C. 2
D. 5
答案:A
解析:自然连接:是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,相同属性组的值要相等,并且在结果集中将重复属性列去掉。
此题中,两个关系模式R与S的相同属性为:b、c,然后针对R与S做b与c属性的等值连接,这样产生的结果记录为:(a,b,c,d),所以得到的结果包含4列。
下面关于SQL注入的说法错误的是 。
A. 使用ORM框架可以自动处理查询和参数化输入,但无法减少SQL注入的风险
B. SQL注入是一种常见的攻击方式
C. 使用预处理语句和参数化查询是防范SQL注入的有效方法
D. 通过使用UNION关键字,攻击者可以将多个查询结果合并,从而获取数据库中的敏感信息
答案:A
解析:教材13.4.3 ORM、Hibernate与CMP2.0设计思想,P469。使用ORM框架可以减少直接编写SQL语句的需求,从而降低SQL注入的风险。ORM(Object-Relational Mapping),它在关系型数据库和对象之间作一个映射,这样,我们在具体操作数据库的时候,就不需要再去和复杂的 SQL语句打交道,只需像操作对象一样即可。
ORM的优点:
①使用ORM可以大大降低学习和开发成本;
②程序员不用再写SQL来进行数据库操作;
③减少程序的代码量;
④降低由于 SQL代码质量差而带来的影响。
ORM的缺点:
①不太容易处理复杂查询语句;
②性能较直接用 SQL差。
计算机网络
路由器在OSI模型的 。
A. 网络层
B. 物理层
C. 传输层
D. 数据链路层
答案:A
解析:P71。
协议层 | 互连设备 | 作用 |
物理层 | 中继器 集线器 | ①中继器:信号在介质里传输的过程中会有衰减和噪声,使用中继器进行放大和去噪; ②集线器:是一种特殊的多路中继器。 |
数据链路层 | 网桥 交换机 | ①网桥:连接两个局域网,检查帧的源地址和目的地址,若两者在同一网络段上,则不转发,否则转发到另一个网络段上; ②交换机:检查以太网帧的目的地址MAC,在自己的地址表(端口号-MAC)中进行查找并转发。 |
网络层 | 路由器 | 用于连接多个逻辑上分开的网络,最主要的功能是选择路由路径。 |
应用层 | 网关 | 将协议进行转换,将数据重新分组,以便在两个不同类型的网络系统之间进行通信。 |
是在传输层定义的协议。
A. NFS和Telnet
B. TCP和UDP
C. FTP和SMTP
D. IP和ICMP
答案:B
解析:P71。NFS、Telnet、FTP和SMTP属于应用层。IP和ICMP属于网络层协议,TCP和UDP属于传输层协议,正确答案为B选项。
TCP/IP是Internet的核心协议,被广泛应用于局域网和广域网中,已成为事实上的国际标准。
以下 能有效提高传输速率。
A.增加带宽,降低信噪比
B.增加带宽,提高信噪比
C.减少带宽,提高信噪比
D.减少带宽,降低信噪比
答案:B
解析:带宽是指在单位时间内能够通过通信线路传输的数据量。增加带宽可以增加数据传输的容量,从而提高传输速率。
信噪比(SNR)是指信号强度与背景噪声强度的比值。提高信噪比可以减少噪声对信号的干扰,提高信号的清晰度,从而提高传输的准确性和速率。
软件工程基础知识
螺旋模型是基于 的改进模型。
A.喷泉模型
B.快速原型模型
C.瀑布模型
D.增量模型
答案:B
解析:教材5.1.2软件过程改进,P178。螺旋模型(Spiral Model),是在快速原型的基础上扩展而成。对于一个复杂的大项目,开发一个原型往往达不到要求。螺旋模型将生命周期模型(瀑布模型)和原型模型结合起来,加入两种模型均忽略的风险分析。螺旋模型中的每个螺旋周期分为四个步骤:目标设定、风险分析、开发和有效性验证以及评审。螺旋模型强调风险分析,与瀑布模型相比,支持用户需求的动态变化。螺旋模型适合用于庞大、复杂且具有高风险的系统。
RUP(Rational Unified Process,统一软件开发过程)是 的、以体系结构为中心的、选代和增量的软件开发过程。
A.数据驱动
B.用例驱动
C.场景驱动
D.模型驱动
答案:B
解析:教材5.1.4统一过程模型(RUP),P183。RUP是用例驱动、以体系结构为中心、迭代和增量的软件开发过程。其特点为:
(1)用例驱动:需求分析、设计、实现和测试等活动都是用例驱动的。
(2)以体系结构为中心:包括系统的总体组织和全局控制、通信协议等。是一个多维的结构,会采用多个视图来描述。
(3)迭代与增量。把整个项目开发分为多个迭代过程。在每次选代中,只考虑系统的一部分需求,进行分析、设计、实现、测试和部署等过程;每次迭代是在己完成部分的基础上进行的,每次增加一些新的功能实现,以此进行下去,直至最后项目的完成。
关于数据流图,以下哪项说法是错误的是 。
A. 自顶而下
B. 子图输入输出必须和父图加工输入输出保持一致
C. 用来描述加工的执行顺序
D. 描述系统的数据流和信息处理
答案:C
解析:数据流图(DFD)主要用来描述系统中数据的流向和信息处理过程,而不是具体的执行顺序。它重点是展示数据的传递路径、处理过程及存储位置。
一个复杂的软件系统可能涉及上百个加工或数据流,太复杂,也不易理解。于是根据自顶向下逐层分解的思想,将数据流图进行分层。
一个模块内的处理元素是相关的,而且必须以特定次序执行,则称为 。
A. 通信内聚
B. 逻辑内聚
C. 过程内聚
D. 时间内聚
答案:C
解析:教材5.3.1 结构化方法,P197。
模块的内聚类型 | |
内聚类型 | 描述 |
功能内聚 | 完成单一功能,各部分协同工作,缺一不可,是最强的内聚 |
顺序内聚 | 模块内的处理元素都密切相关且按顺序执行 |
通信内聚 | 模块内的所有处理元素集中在一个数据结构的区域上 |
过程内聚 | 模块内的处理元素都密切相关并按特定的次序执行 |
时间内聚 | 模块内的任务必须在同一时间间隔内执行 |
逻辑内聚 | 模块内通过参数确定完成逻辑上相关的一组任务 |
偶然内聚 | 也称巧合内聚,模块内的处理元素之间没有任何联系,是最弱的内聚 |
以下 属于是白盒测试技术。
A.控制流分析
B.数据流分析
C.程序变异测试
D.功能测试
答案:D
解析:白盒测试,也称结构测试,根据程序的内部结构和逻辑来设计测试用例,对程序的路径和过程进行测试,检查是否满足设计的需要。常用的白盒测试技术有控制流分析、数据流分析、路径分析、程序变异等。根据测试用例的覆盖程度,分为语句覆盖、判定覆盖、分支覆盖和路径覆盖等。
控制流分析:属于白盒测试中的静态分析方法之一,主要通过分析程序的控制流图,来确定程序的执行路径和逻辑结构,从而设计测试用例以覆盖不同的路径和分支。
数据流分析:也是白盒测试的静态分析方法之一,侧重于分析程序中数据的流动和使用情况,包括数据的定义、引用、赋值等,以发现数据在流动过程中可能出现的问题,如未初始化的变量、数据的别名等。
路径分析:也是白盒测试的静态分析方法之一,是通过分析程序的所有可能执行路径来设计测试用例。路径分析的目标是覆盖程序中的所有可能路径,但由于路径数量可能非常庞大(甚至无限),通常采用一些简化策略,如基本路径测试。基本路径测试通过计算程序的圈复杂度(Cyclomatic Complexity)来确定需要测试的基本路径数量。
程序变异测试:是白盒测试的一种动态分析方法,通过故意引入错误(变异)到程序中,然后运行测试用例来检测这些错误是否被发现,从而评估测试用例的有效性和充分性。
黑盒测试,也称功能测试,在不考虑软件内部结构和特性的情况下,根据功能设计用例,测试软件功能。常用的黑盒测试技术有等价类划分、边界值分析、错误推测、因果图和判定表等。
下列关于逻辑覆盖,说法错误的是 。
A. 满足条件覆盖并不一定满足判定覆盖
B. 满足条件组合覆盖的测试一定满足判定覆盖、条件覆盖和判定/条件覆盖
C. 满足路径覆盖也一定满足条件组合覆盖
D. 判定/条件覆盖同时满足判定覆盖和条件覆盖
答案:C
解析:常用的白盒测试技术有逻辑覆盖、循环覆盖和基本路径测试。逻辑覆盖:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。
●语句覆盖(SC):是指选择足够多的测试用例,使被测程序的每条语句至少执行一次。语句覆盖是一种很弱的逻辑覆盖。
●判定覆盖(DC):又称分支覆盖,是指设计足够的测试用例,使得不仅每条语句至少执行一次,而且每个判定表达式的每种可能的结果(分支)都至少执行一次。判定覆盖比语句覆盖强。
●条件覆盖(CC):是指设计一组测试用例,不仅每条语句至少执行一次,而且使判定表达式中的每个条件的所有可能的值至少满足一次。条件覆盖不一定包含判定覆盖、判定覆盖也不一定包含条件覆盖。
●判定/条件覆盖(CDC):是指同时满足判定覆盖和条件覆盖的逻辑覆盖。设计足够的测试用例,使得判定表达式中每个条件的所有可能的值至少满足一次,而且每个判定本身的所有可能结果也至少出现一次。
●条件组合覆盖(MCC):设计足够的测试用例,使得每个判定表达式中条件的所有值的组合都至少出现一次。满足条件组合覆盖的测试用例,也一定满足判定覆盖、条件覆盖和判定/条件覆盖。
●路径覆盖:设计足够的测试用例,覆盖被测程序中所有可能的路径(如果程序中有环路,则要求每条环路至少经过一次)。路径覆盖考虑了程序中各种判定结果的所有可能组合,因此是一种较强的覆盖标准。但路径覆盖并未考虑判定中的条件结果的组合,并不能代替条件覆盖和条件组合覆盖。
软件测试过程中的系统测试主要是为了发现 阶段的错误。
A.编码
B.需求分析
C.概要设计
D.详细设计
答案:B
解析:系统测试的对象是完整、集成的计算机系统。目的是通过与软件需求进行比较,发现所开发的系统与用户需求不符或矛盾的地方。测试依据是用户需求(SRS)或开发合同。主要包括功能测试、性能测试、健壮性测试、安装或反安装测试、用户界面测试、压力测试、可靠及安全性测试等。一般采用黑盒测试法。
基于数据驱动的测试脚本写在 文件里。
A. 数据文件
B. 脚本文件
C. 程序文件
D. 系统文件
答案:B
解析:基于数据驱动的测试中,测试数据通常存储在数据文件中,如 Excel、CSV、JSON、YAML 等格式。而测试脚本则写在脚本文件中,通过相应的代码逻辑在脚本中实现从数据文件中读取数据,并根据数据进行测试操作,将测试数据与测试逻辑分离。
在软件的使用过程中,用户往往会对软件提出新的功能与性能要求。为了满足这些要求,需要修改或再开发软件,以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。这种情况下进行的维护活动称为 。
A. 预防性维护
B. 适应性维护
C. 完善性维护
D. 改正性维护
答案:C
解析:P110。系统维护主要包括硬件维护、软件维护和数据维护。
2. 软件维护类型
(1)正确性维护:改正在系统开发阶段已发生而系统测试阶段尚未发现的错误。修正BUG、错误。
(2)适应性维护:使应用软件适应环境变化(外部环境、数据环境)而进行的修改。应变。
(3)完善性维护:为扩充功能和改善性能而进行的修改。占整个维护工作的50%~60%。新需求。
(4)预防性维护:为适应未来的软/硬环境的变化,应主动增加预防性的新功能,以使应用系统适应各类变化而不被淘汰。针对未来。
不包括配置管理的是 。
A.UML
B.ISO9000
C.PMBOK
D.CMMI
答案:A
解析:超纲题。UML、ISO9000、PMBOK和CMMI都是与软件工程和项目管理相关的标准或模型,但它们与配置管理的关系如下:
UML(统一建模语言):是一种用于软件系统建模和其它系统的图形化建模语言。它主要关注于软件开发的分析与设计阶段,并不直接包含配置管理的内容。
ISO9000:是一系列关于质量管理体系的国际标准,它提供了组织如何建立、实施、维护和改进质量管理体系的指导原则。ISO9000标准中包含了对文件控制和记录保存的要求,这些都是配置管理的重要组成部分。
PMBOK(项目管理知识体系指南):是由项目管理协会(PMI)出版的一本指南,它提供了项目管理的一套标准和最佳实践。PMBOK中包含了项目配置管理的内容。
CMMI(能力成熟度模型集成):是一个过程改进的框架,它提供了一套过程域,帮助组织改进其软件工程过程。CMMI中包含了配置管理作为一个关键的过程域。
因此,不包括配置管理的是选项A。UML是一种建模语言,不直接涉及配置管理。
不同应用领域中的软件元素,例如数据结构、分类算法和人机界面等属于 重用。
A.横向重用
B.纵向重用
C.交叉重用
D.可控重用
答案:A
解析:超纲题(2023.11网络规划设计师真题)。软件重用是指在两次或多次不同的软件开发过程中重复使用相同或相似软件元素的过程。按照重用活动是否跨越相似性较少的多个应用领域,软件重用可以区别为横向重用和纵向重用。
横向重用(水平式重用)是指重用不同应用领域中的软件元素,例如数据结构、分类算法和人机界面构建等。标准函数是种典型的、原始的横向重用机制。
纵向重用(垂直式重用)是指在一类具有较多公共性的应用领域之问进行软部件重用。纵向重用活动的主要关键点是域分析:根据应用领域的特征及相似性预测软部件的可重用性。
交叉重用:非标准术语,通常不用于描述软件重用分类。
可控重用:强调对重用过程的管理(如版本控制),而非重用类型本身。
有ABCD四项任务,表格展示每项任务的依赖关系,A->B,A->C->D,单位:万。
A | - | 3 | 15 | 1 | 25 |
B | A | 7 | 5 | 10 | |
C | A | 3 | 5 | 2 | 15 |
D | C | 3 | 2 | 10 |
某项目包括A、B、C、D四道工序,各各道工序之间的衔接关系如图所示,项目每个项目每天的间接费用是2万,求最短工期情况下,需要 万工程费用。
A 122
B.142
C.132
D.130
答案:C
解析:题目可能不完整。