软件设计师软考题目解析06 --每日五题

       想说的话:要准备软考了。0.0,其实我是不想考的,但是吧,由于本人已经学完所有知识了,只是被学校的课程给锁在那里了,不然早找工作去了。寻思着反正也无聊,就考个证玩玩。

       本人github地址:nanshaws (cover) (github.com)

       各位想学习的,可以在上面联系我。 

目录

题一

题二

题三

题四

题五

总结


题一

设系统中有R类资源m个,现有n个进程互斥使用。若每个进程对R资源的最大需求为w,那么当m、n、w取下表的值时,对于下表中的a~e五种情况,()两种情况可能会发生死锁。对于这两种情况,若将(/),则不会发生死锁。

软件设计师软考题目解析06 --每日五题_第1张图片

A  a和b

B  b和c

C  c和d

D  c和e

答:选D,情况a:m=2,n=1,w=2,系统中有2个资源,1个进程使用,该进程最多要求两个资源,所以不会发生死锁。情况b:m=2,n=2,w=1,系统中有两个资源,2个进程使用,每个进程最多要求一个资源,所以不会发生死锁。情况c:m=2,n=2,w=2,系统中有两个资源,2个进程使用,每个进程最多要求两个资源,当每个进程都占一个的时候,就死锁了,互相等待。所以c可能会死锁,情况d,即使三个线程,一人占一个,那还有一个可以分配给其中三个,即可以解除这个锁。e,e就不用看了,明显死锁,学java的做错这道题的人,速速给我点赞

题二

以下关于中断方式与DMA方式的叙述中,正确的是()

A  中断方式与DMA方式都可实现外设与CPU之间的并行工作

B  程序中断方式和DMA方式在数据传输过程中都不需要CPU的干预

C  采用DMA方式传输数据的速度比程序中断方式的速度慢

D  程序中断方式和DMA方式都不需要CPU保护现场

答:当然各位要是不明白DMA是什么的话,我可以讲解一下

DMA,即直接存储器访问(Direct Memory Access),是一种高效的数据传输技术。它允许某些硬件子系统在不需要CPU参与的情况下直接读写系统内存。

DMA的主要优势在于它能够减轻CPU的负担,提高整体系统的数据传输效率。以下是对DMA的一些详细说明:

  • 工作原理:DMA控制器(DMAC)负责管理数据的直接传输。当外设需要与内存进行数据交换时,DMAC会接管总线控制权,直接在外设和内存之间传输数据,无需CPU介入。
  • 传输方式:DMA可以执行多种数据传输操作,包括从外设到内存、从内存到外设、以及内存到内存的传输。
  • 特征:DMA传输通常比通过CPU进行的数据传输要快得多,因为它减少了CPU的干预和上下文切换的时间开销。
  • 配置与使用:在使用DMA时,需要对DMAC进行适当的配置,包括设置传输的数据量、源地址和目标地址等参数。一旦配置完成,DMAC就可以自动完成数据传输任务。
  • 资源与中断:在某些微控制器或处理器中,如STM32系列,DMA通道与中断紧密相关,可以在数据传输完成后触发中断,以便CPU进行后续处理。

总的来说,DMA是一种优化计算机系统性能的重要技术,特别是在需要高速数据传输和处理的场景中,如图像处理、音频播放和网络通信等。通过减少CPU的直接参与,DMA不仅提高了数据传输速度,还释放了CPU资源,使其能够处理其他任务。下面我们看一下选题:

A. 中断方式与DMA方式都可实现外设与CPU之间的并行工作

  • 这个说法是正确的。中断方式可以让CPU在处理外设请求的同时,继续执行其他任务,实现了外设与CPU的并行工作。

B. 程序中断方式和DMA方式在数据传输过程中都不需要CPU的干预

  • 这个说法是不正确的。在中断方式中,CPU需要介入处理中断请求;而在DMA方式中,CPU会启动数据传输,但在数据传输过程中可以继续执行其他任务。

C. 采用DMA方式传输数据的速度比程序中断方式的速度慢

  • 这个说法是不正确的。DMA方式通常比中断方式速度更快,因为DMA直接控制数据传输,减少了CPU的介入和上下文切换时间。

D. 程序中断方式和DMA方式都不需要CPU保护现场

  • 这个说法是不正确的。在中断方式和DMA方式中,CPU都需要保护现场。在中断处理过程中,CPU会保存当前执行任务的状态,然后执行中断处理程序;在DMA方式中,CPU也会在启动DMA传输前保存当前状态。

题三

若用256k*8bit的存储器芯片,构成地址40000000H到400FFFFFH且按字节编址的内存区域,则需()片芯片。

A   4

B   8

C   16

D   32

答:

若用256k*8bit的存储器芯片,构成地址40000000H到400FFFFFH且按字节编址的内存区域,则需4片芯片。

解析如下:

  • 地址范围计算:首先需要计算所需内存区域的总字节数。给出的地址范围是从40000000H到400FFFFFH,所以需要计算这个范围内包含的字节数。由于地址是16进制的,我们可以通过减法运算得到范围内的字节数:400FFFFFH - 40000000H + 1 = 1000000H(16进制),转换为10进制就是16777216字节。
  • 单片存储器容量:每片存储器的容量是256k*8bit,即256 * 1024 * 8位。因为1字节等于8位,所以该存储器也可以表示为256 * 1024字节。
  • 所需芯片数量:将所需的内存区域总字节数除以单片存储器的字节数得到所需的芯片数量:16777216 / (256 * 1024) = 64(片)。但是,题目中给出的选项没有64,可能是题目有误或者理解有误。根据常规的理解,如果使用256K×8bit的存储器芯片构建内存,那么每片芯片可以提供256K字节的存储空间。因此,我们需要计算整个地址范围内有多少个256K字节。
  • 换算单位:在进行计算之前,需要注意单位的转换。地址是以字节为单位给出的,而存储器芯片的容量是以位(bit)为单位给出的。由于1字节等于8位,所以在计算时需要将芯片的容量转换为字节。
  • 正确计算:正确的计算方法是将地址范围内的总位数转换为字节,然后除以单片存储器的字节数。具体计算如下:

(400FFFFFH−40000000H+1)×8textbit/(256×8×1024 bit)=4

因此,根据上述计算,需要4片256k*8bit的存储器芯片来构成指定的内存区域。

综上所述,正确答案是A. 4片。

题四

在网络设计和实施过程中要采取多种安全措施,其中()是针对系统安全需求的措施。

A  设备防雷击

B  入侵检测

C  漏洞发现和补丁管理

D  流量控制

答:明显选C

题五

UML图中,对新开发系统的需求进行建模,规划开发什么功能或测试用例,采用()最合适。而展示交付系统的软件组件和硬件之间的关系的图是(/)

A  类图

B  对象图

C  用例图

D  交互图

答:对新开发系统的需求进行建模和规划功能或测试用例最合适的是 C. 用例图

总结

今天好冷,感觉要得老寒腿了。

你可能感兴趣的:(软考,软考)