青岛网上房地产网站,长沙搜搜网,做网站一个月赚多少钱,艺术网站模板计算机基础知识
1.中断向量表用来保存各个中断源的中断服务程序的入口地址。当外设发出中断请求信号#xff08;INTR#xff09;以后#xff0c;由中断控制器#xff08;INTC#xff09;确定其中断号#xff0c;并根据中断号查找中断向量表来取得其中断服务程序的入口地…计算机基础知识
1.中断向量表用来保存各个中断源的中断服务程序的入口地址。当外设发出中断请求信号INTR以后由中断控制器INTC确定其中断号并根据中断号查找中断向量表来取得其中断服务程序的入口地址同时INTC把中断请求信号提交给CPU。
2.设机器字长为64位存储器的容量为128MB若按字编址它可寻址的单位个数是 。 机器字长为64位即8B按字编址可寻址的范围128MB/8B16M。
3.设机器字长为64位存储器的容量为512MB,若按字编址它可寻址的单位个数是 。 机器字长为64位即8B按字编址可寻址的范围512MB/8B64M。
4.操作系统的系统的性能指标有系统的可靠性、系统的吞吐率量、系统响应时间、系统资源利用率、可移植性。
5.Linux中只有一个根目录用/表示。
6.若某存储器存储周期为250ns每次读出16位该存存储器地数据传输率是 。 计算的是存储器的带宽每个存储周期读出16bit2B因此数据传输率是2B/25010^ -9s)计算结果为810^6B/s。
7.总线宽度为32bit时钟频率为200MHz若总线上每5个时钟周期传送一个32bit的字则该总线的带宽为160 MB/S。 总线的带宽指单位时间内传输的数据总量。在计算机当中时钟频率是其时钟周期的倒数表示时间的度量本题时钟周期为1/200MHz。 总线宽度是指总线的线数即数据信号并行传输的能力本题传送大小与总线宽度一致不需要处理。 传送32bit的字即数据总量为32bit5个时钟周期即1/200MHz×5为总时间。 带宽数据总量/总时间(注意单位的转换。 即总带宽32bit/(5/200MHz)1280Mbit/s160MB/s。【此处为了方便计算让2^ 20与10^6近似相等
8.在一个容量为128KB的SRAM存储芯片上按字长32位编址其地址范围可从0000H到 。 容量128KB的SRAM存储器按字长32位编址32bit4Byte,总共有128KB/4B32K2^15个地址所以地址范围是0000H到7fffH
9.内存按字节编址地址从A0000H到CFFFFH的内存共有()字节若用存储容量为64Kx8bit的存储器芯片构成该内存空间至少需要()片 地址从AO0OOH到CFFFFH存储单元个数共有CFFFFH1-A0000H30000H,即3×164个按字节编址即每个存储单元存放1个字节也就是1B该存储区域总容量存储单元个数×存储单元内容3×164×1B3×216B192KB。 若用存储容量为64Kx8bit的存储芯片构成即单位芯片容量为64Kx8bit总容量单位芯片容量×片数即片数总容量/单位芯片容量192KB/64K×8bit3。
10.计算机中普遍采用的字符编码是美国标准信息交换码即ASCII码包括256个常用字符。
CPU
11.CPU中的 的值可自动加1以便实现程序指令的顺序执行。 程序计数器PC 指令寄存器IR用来保存当前正在执行的指令。当执行一条指令时先把它从内存取到数据寄存器(DR)中然后再传送至IR。为了执行任何给定的指令必须对操作码进行测试以便识别所要求的操作。指令译码器ID)就是做这项工作的。指令寄存器中操作码字段的输出就是指令译码器的输入。操作码一经译码后即可向操作控制器发出具体操作的特定信号。 地址寄存器AR用来保存当前CPU所访问的内存单元的地址。由于在内存和CPU之问存在着操作速度上的差别所以必须使用地址寄存器来保持地址信息直到内存的读/写操作完成为止。 为了保证程序指令能够连续地执行下去CPU必须具有某些手段来确定下一条指令的地址。而程序计数器正是起到这种作用所以通常又称为指令计数器。在程序开始执行前必须将它的起始地址即程序的一条指令所在的内存单元地址送入PC因此程序计数器(PC)的内容以口是从内存提取的第一条指令的地址。当执行指令时CPU将自动修改PC的内容即每执行一条指令PC增加一个量这个量等于指令所含的字节数以便使其保持的总是将要执行的下一条指令的地址。由于大多数指令都是按顺序来执行的所以修改的过程通常只是简单地对PC加1。
12.计算机运行过程中遇到突发率件要求CPU暂时停止正在运行的程序转去为突发事件服务服务完毕再自动返回原程序继续执行这个过程称为 中断 。 为了提高I/O能力和CPU效率计算机系统引进了中断方式。程序中断是指计算机执行现行程序的过程中出现某些急需处理的异常情况和特殊请求CPU暂时中止现行程序保护现场而转去对随机发生的更紧迫的事件进行处理在处理完毕后CPU将自动返回原来的程序继续执行恢复现场。
13.计算机在一个指令周期的过程中为从内存读取指令操作码首先要将 的内容送到地址总线上。 PC程序计数器是用于存放下一条指令所在单元的地址。当执行一条指令时处理器首先需要从PC中取出指令在内存中的地址通过地址总线寻址获取。
14.在计算机系统中常用的输入/输出控制方式有无条件传送、中断、程序查询和DMA等。其中采用 方式时不需要CPU控制数据的传输过程。 直接程序控制(无条件传送/程序查询方式。无条件传送在此情况下外设总是准备好的它可以无条件地随时接收CPU发来的输出数据也能够无条件地随时向CPU提供需要输入的数据。程序查询方式在这种方式下利用查询方式进行输入输出就是通过CPU执行程序查询外设的状态判断外设是否准备好接收数据或准备好了向CPU输入的数据。中断方式由程序控制I/O的方法其主要缺点在于CPU必须等待I/O系统完成数据传输任务在此期间CPU需要定期地查询I/O系统的恶状态以确认传输是否完成。因此整个系统的性能严重下降。直接主存存取DirectMemory AccessDMA)是指数据在主存与I/O设备间的直接成块传送即在主存与I/O设备间传送数据块的过程中不需要CPU作任何干涉只需在过程开始启动即向设备发出传送一块数据的命令与过程结束CPU通过轮询或中断得知过程是否结束和下次操作是否准备就绪时由CPU进行处理实际操作由DMA硬件直接完成CPU在传送过程中可做别的事情。
15.若不考虑I/O设备本身的性能则影响计算机系统I/O数据传输速度的主要因素是 。 地址总线宽度决定了CPU可以访问的物理地址空间简单地说就是CPU到底能够使用多大容量的内存。CPU字长指CPU位时间内(同一时间能一次处理的二进数的位数。数据总线负责计算机中数据在各组成部分之间的传送数据总线宽度是指在芯片内部数据传送的宽度而数据总线宽度则决定了CPU与二级缓存、内存以及输入/输出设备之间一次数据传输的信息量。
16.在CPU中跟踪下一条要执行的指令的地址的寄存器是 。 在CPU中PC用来跟踪下一条要执行的指令在主存储器的中地址 17.在中断响应过程中CPU保护程序计数器的主要目的是为了使CPU在执行完中断服务程序时能回到被中断程序的断点处 。 中断响应实现向中断服务程序的过渡。在中断响应周期CPU要完成以下操作 1发出中断响应信号INTA。2关中断即将IF位清0。这是因为在响应一个中断的期间不能响应另一个中断。3保护断点和标志寄存器。 断点是按正常顺序即没有中断)应执行的下一条指令的地址。对8086来说保护断点就是保存CS和IP的内容压入堆栈。标志寄存器FR中存放着刚执行指令的一些重要特征也需要保存起来以便中断返回时继续使用其中的内容。 4查找中断源转向相应的中断服务程序的入口。 18.从基本的CPU工作原理来看若CPU执行MOV R1R0指令即将寄存器R0的内容传送到寄存器R1中则CPU首先要完成的操作是 其中PC为程序计数器M为主存储器DR为数据寄存器IR为指令寄存器AR为地址寄存器。 CPU执行MOVRIRO指令CPU首先要完成的操作是从内存中读取该指令的指令操作码。取该指令的指令操作码首先要做的就是将程序计数器的内容送到地址寄存器即PC→AR。 19.在CPU的组成中不包括 存储器 。 20.属于CPU中算术逻辑单元的部件是在 加法器。 算术逻辑运算单元ALU(Arithmetic and Logic Unit)ALU主要完成对二进制数据的定点算术运算加减乘除、逻辑运算与或非异或以及移位操作。 21.从基本的CPU工作原理来看若CPU执行MOV R1,R0指令即将寄存器R0的内容传送到寄存器R1中则CPU首先要完成的操作是 (其中PC为程序计数器M为主存储器DR为数据寄存器IR为指令寄存器AR为地址寄存器。 CPU执行MOVRlRO指令CPU首先要完成的操作是从内存中读取该指令的指令操作码。取该指令的指令操作码首先要做的就是将程序计数器的内容送到地址寄存器即PC→AR。 22.以下关于CPU的叙述中错误的是程序计数器PC除了存放指令地址也可以临时存储算术/逻辑运算结果 。 正确的是CPU产生每条指令的操作信号并将操作信号送往相应的部件进行控制CPU中的控制器决定计算机运行过程的自动化指令译码器是CPU控制器中的部件。 23.以下关于CPU和GPU的叙述中正确的是CPU适合于需要处理各种不同的数据类型、大量的分支跳转及中断等场合 。 CPU强调通用性需要处理各种数据类型又要进行逻辑判断进行大量的分支跳转和中断的处理。因此CPU内部结构异常复杂。 CPU利用较高的主频和高速缓存来提升执行指令的速度但通用函数库是高级编程语言的一部分与CPU无关。 GPU面对的是类型高度统一、相互无依赖的大规模数据和不需要被打断的纯净计算环境。GPU是一种单指令多数据流(Single Instruction Multiple Data,SIMD)架构特点是比CPU包含更多的计算单元和更简单的控制单元。 MISD纯粹是一种理论模型并没有实际意义。 24.DMA直接存储器访问工作方式是在 之间建立起直接的数据通路。 直接主存存取(Direct Memory Access,DMA)是指数据在主存与I/O设备间的直接成块传送即在主存与I/O设备间传送数据块的过程中不需要CPU作任何干涉只需在过程开始启动(即向设备发出“传送一块数据的命令与过程结束CPU通过轮询或中断得知过程是否结束和下次操作是否准备就绪时由CPU进行处理实际操作由DMA硬件直接完成CPU在传送过程中可做其它事情。 25.指令寄存器的位数取决于 。 指令寄存器是CPU中的关键寄存器其内容为正在执行的指令显然其位数取决于指令字长。 26.累加寄存器AC通用寄存器为ALU提供一个工作区用来暂存数据。注意不是数据缓冲寄存器 27.CPU中的运算单元、控制单元和寄存器组通过系统总线连接起来 28.在冯诺依曼结构中程序指令和数据存在同一个存储器中。 29.在CPU中常用来为ALU执行算术逻辑运算提供数据并暂存运算结果的寄存器是 累加寄存器 。 寄存器是CPU中的一个重要组成部分它是CPU内部的临时存储单元。寄存器既可以用来存放数据和地址也可以存放控制信息或CPU工作时的状态。在CPU中增加寄存器的数量可以使CPU把执行程序时所需的数据尽可能地放在寄存器件中从而减少访问内存的次数提高其运行速度。但是寄存器的数目也不能太多除了增加成本外由于寄存器地址编码增加也会对增加指令的长度。CPU中的寄存器通常分为存放数据的寄存器、存放地址的寄存器、存放控制信息的寄存器、存放状态信息的寄存器和其他寄存器等类型。 程序计数器用于存放指令的地址。令当程序顺序执行时每取出一条指令PC内容自动增加一个值指向下一条要取的指令。当程序出现转移时则将转移地址送入PC然后由PC指向新的程序地址。 程序状态寄存器用于记录运算中产生的标志信息典型的标志为有进位标志位、零标志位、符号标志位、溢出标志位、奇偶标志等。 地址寄存器包括程序计数器、堆栈指示器、变址寄存器、段地址寄存器等用于记录各种内存地址。 累加寄存器是一个数据寄存器在运算过程中暂时存放被操作数和中间运算结果累加器不能用于长时间地保存一个数据。 30.系统总线是主板上各个部件之间通讯的线路不是CPU内部组成内容。 31.在中断响应过程中CPU保护程序计数器的主要目的是 为了使CPU在执行完中断服务程序时能回到被中断程序的断点处 。 32.CPU执行算术运算或者逻辑运算时常将源操作数和结果暂存在 中。 答案是累加寄存器用来暂时存放算术逻辑运算部件ALU运算的结果信息。程序计数器(PC)是用于存放下一条指令地址的地方计算之前就要用到。指令寄存器(IR)保存当前正在执行的一条指令。地址寄存器(AR用来保存当前CPU所要访问的内存单元的地址。
原码反码补码浮点数
33.在现代计算机中用阶码和尾数来表示实数的方法叫做“浮点表示法”即浮点数。 34.原码乘法需要先将被乘数和乘数的原码相乘再根据结果的正负情况来确定乘积的正负号。因此即先取操作数绝对值相乘符号位单独处理。具体步骤如下 将被乘数和乘数的符号位和数值部分单独处理。 对被乘数和乘数的数值部分取绝对值相乘得到乘积。 如果被乘数和乘数的符号位相同则乘积为正如果符号位不同则乘积为负。 将乘积的符号位和数值部分合并得到最终结果。
35.计算机中表示地址时使用无符号数。地址的值是非负整数因此可以用无符号数表示。在使用无符号数表示地址时地址值最高位为0因为地址值必须是非负整数。如果使用有符号数表示地址那么最高位用来表示符号地址空间就会被减半不是最优选择。因此答案选A即无符号数。 36.用原码表示带符号的整数0时有-0和0之分其实就是符号位的变化 0:0000 0000; -0 : 1000 0000; 因此用反码表示带符号的整数0时也有-0和0之分分别为0反码是00000000-0反码是11111111 而0补码是00000000补码没有正0与负0之分。
37.若机器字长为8位则可表示出十进制整数-128的编码是 补码。 原码表示是用最左边的为表示符号0正1负其余的7位表示数的绝对值|-128|128用二进制表示时需要8位所以机器字长为8位时采用原码不能表示-128。对于负数反码是数的绝对值取反也不能表示-128。 补码表示与原码和反码相同之处的最高位用0表示正1表示负补码10000000的最高位1既表示其为负数也表示数字1从而可以表示出-128。
38.某机器字长为n最高位是符号位其定点整数的最大值为 。 最大值为n-1位(符号位为0(正数从n-2到0位都为1值为2^(n-1) -1 39.计算机系统中定点数常采用补码表示以下关于补码表示的叙述中错误的是 与真值的对应关系简单且直观 。 负数的补码真值需要计算才能获得无法直观对应。 40.在补码中0具有唯一编码。将补码的符号位取反可以得到移码。对于数字0来说移码与补码都是唯一的。 41.计算机中常采用原码、反码、补码和移码表示数据其中±0编码相同的是 补码和移码 。 42.在计算机的CPU中通常只设置硬件加法器。只有补码能够将减法转化为加法故用硬件加法器可以较方便地进行数字加减法。 由于正数的移码大于负数的移码利用这一特点移码被广泛用来表示浮点数阶码的数字编码这可以用比较阶码的大小来实现真值大小的比较。 43.补码表示定点小数范围是[-1,1-2^(-(n-1)))]这个范围一共有2 ^n 个数 44. 90H即为二进制的10010000。补码最高位为符号位1表示负号所以说明此数为负数其反码为补码减110001111其原码为反码除符号位皆取反11110000,即-112,2X-112,所以真值X-56。 45. 本题考查计算机系统硬件知识。在计算机中n位补码最高位符号位n-1位数据位表示范围是-2^(n-1)~ 2 ^(n-1)-1,其中最小值为人为定义以n8为例其中-128的补码是人为定义的10000000 46. 计算机系统中采用补码表示有符号的数值 可以将减法运算转化为加法运算从而简化运算器的设计 。 47.假定求浮点数平方根(FPSQR)的操作在某台机器上的一个基准测试程序中占总执行时间的20%FP运算指令所用时间占总执行时间的50%。采用两种优化FPSQR的方法第一种方法是增加专门的FPSQR硬件可以将FPSQR的操作速度提高为原来的 10倍第二种方法是提高所有FP浮点运算指令的执行速度到原来的1.6倍从而提高求浮点数平方根操作的速度。可以通过计算这两种方法对基准测试程序的加速比来比较这两种方法的优劣。以下叙述正确的是 。 第二种方法的加速比是1.23效果较好 加速比FPSQR1/(1-0.2)0.2/10)1/0.821.22 加速比FP1/((1-0.5)0.5/1.6)1/0.81251.23
48.N2^E * F其中F是浮点数的尾数E为浮点数的阶码。影响数值表示范围的是阶码的位数尾数的位数影响计算的精度。 49.浮点数所能表示的数值范围主要由阶码决定所表示数值的精度则由尾数决定。八位阶码的最大值为127。 50. 51. 52.下面关于定点数和浮点数的特点的叙述错误的是 浮点数中的尾数可以不用纯小数形式表示 。 在浮点数中尾数是用纯小数形式表示的。
奇偶校验
52.如果有奇数个位发生误码则奇偶性发生变化可以检查出误码但不能纠错。 如果有偶数个位发生识则奇偶性不发生变化不能检查出误码也称漏检。 53.所谓码距是指一个编码系统中任意两个合法编码之间至少有多少个 二进制位不同。 54.奇偶校验Parity Codes)是一种简单有效的校验方法。这种方法通过在编码中增加一位校验位来使编码中1的个数为奇数奇校验或者为偶数(偶校验从而使码距变为 2 。 做题前先看看书 55.对于奇偶校验是由若干位有效信息再加上一个二进制位校验位组成校验码其中奇校验“1”的个数为奇数而偶校验“1”的个数为偶数以此校验如果其中传输过程中有偶数个数发生错误即1变成0或0变成1则“1”的个数其奇偶就不会发生改变也就无法发现错误了只有奇数个数据位发生错误才能发现错误。同时奇偶校验只能查错不能纠错。A、B描述的所有奇数位、所有偶数位有误。 56.模2除法原则1、被除数的首位为1商为1。2、被除数的首位为0商为0。3、模2除法等同于按位异或要保证每次除完首位都为0才能进行右移。4、计算时每次右移一位当被除数的位数小于除数其为余数。 57.实际上在CRC运算中总能保证除数的首位为1则模2除法运算的商是由余数首位与除数首位的模2除法运算结果确定。因为除数首位总是1按照模2除法运算法则那么余数首位是1就商1是0就商0。 58.循环冗余校验码的两部分分别是 左边为信息码数据右边为校验码 。
存储器
存储器的层次结构
1.DRAM即动态随机存储器一般用于内存需要不断地刷新电路否则数据就消失了。 2.计算机采用分级存储体系的主要目的是为了解决 问题。 计算机存储系统的设计主要考虑容量、速度和成本三个问题。容量是存储系统的基础都希望配置尽可能大的存储系统同时要求存储系统的读写速度能与处理器的速度相匹配此外成本也应该在一个合适的范围之内。但这三个目标不可能同时达到最优。一般情况下存储设备读写速度越快平均单位容量的价格越高存储容量越小反之存储设备读写速度越慢平均单位容量的价格越低存储容量越大。为了在这三者之间取得平衡就采用分级的存储体系结构由寄存器、高速缓存、主内存、硬盘存储器、磁带机和光盘存储器等构成。操作系统经常访问较小、较贵而快速的存储设备以较大、较便宜而读写速度较慢的存储设备作后盾。在整体上通过对访问频率的控制来提高存储系统的效能。 3.在微机系统中BIOS基本输入输出系统)保存在 主板上的ROM 中。 本题考查计算机系统硬件知识。BIOS(Basic Input Output System)(基本输入输出系统是一组固化到计算机内主板上一个ROM芯片上的程序它保存着计算机最重要的基本输入输出的程序、开机后自检程序和系统自启动程序它可从CMOS中读写系统设置的具体信息。 4.计算机中CPU对其访问速度最快的是 通用寄存器 cache 内存 硬盘 。 5.CPU访问存储器时被访问数据一般聚集在一个较小的连续存储区域中。若一个存储单元已被访问则其邻近的存储单元有可能还要被访问该特性被称为 空间局部性 。 程序的局限性表现在时间局部性和空间局部性 1时间局部性是指如果程序中的某条指令一旦被执行则不久的将来该指令可能再次被执行 2空间局部性是指一旦程序访问了某个存储单元则在不久的将来其附近的存储单元也最有可能被访问。 数据局部性刚刚被访问过的结点极有可能在不久之后再次被访问到将被访问的下一结点极有可能处于不久之前被访问过的某个结点的附近 指令局部性指令在短时间内会被多次读取其附近的指令也会被多次读取 6.计算机采用分级存储体系的主要目的是为了解决存储的容量、价格和速度之间的矛盾 。 分级存储体系中速度快的存储器单位价格高而速度慢的存储器单位价格低所以利用分级方式能得到很好的性价比。 7.下列光盘格式中不能多次擦除重写数据的是CD-R 。 本题考查光盘存储技术基本常识。题目给出的是常见光盘格式其中DVD-RAM和DVD-RW是DVD技术所支持的两种不同的可多次擦除重写的DVD光盘格式CD-R指一次性可写刻录CD光盘而CD-RW指可多次擦除、重写的CD光盘。 8.计算机系统中虚拟存储体系由 主存-辅存 两级存储器构成。 此题考查计算机组成中的存储知识虚拟存储系统是指为扩大主存的能力而由操作系统根据需要从外存即辅存中拿出一部分空间当作主存来使用。 9.计算机系统的主存主要是由 DRAM 构成的。 DRAM动态随机存取存储器SRAM:静态随机存取存储器Cache高速缓存EEPROM:电可擦可编程只读存储器。 10.以下存储器中 DRAM 使用电容存储信息且需要周期性地进行刷新。 DRAM即动态随机存储器一般用于内存需要不断地刷新电路否则数据就消失了。 EPROM是一种断电后仍能保留数据的计算机储存芯片——即非易失性的(非挥发性。 静态随机存取存储器是随机存取存储器的一种。这种存储器只要保持通电里面储存的数据就可以恒常保持 EEPROM是指带电可擦可编程只读存储器。是一种掉电后数据不丢失的存储芯片 SRAM静态随机存取存储器静态随机存取存储器是随机存取存储器的一种。所谓的“静态”是指这种存储器只要保持通电里面储存的数据就可以恒常保持。B选项正确。 FLASH闪存特性介于EPROM和EEPROM之间类似于EEPROM也可以使用电信号进行信息的擦除操作。整块闪存可以在数秒内删除。 11.以下关于闪存(Flash Memory)的叙述中错误的是 采用随机访问方式常用来代替主存 。 闪存(Flash Memory是一种长寿命的非易失性在断电情况下仍能保持所存储的数据信息的存储器数据删除不是以单个的字节为单位而是以固定的区块为单位区块大小一般为256KB到20MB。 闪存是电子可擦除只读存储器EEPROM)的变种EEPROM与闪存不同的是它能在字节水平上进行删除和重写而不是整个芯片擦写这样闪存就比EEPROM的更新速度快。由于其断电时仍能保存数据闪存通常被用来保存设置信息。 闪存不像RAM随机存取存储器一样以字节为单位改写数据因此不能取代RAM也不能替换主存因此C选项错误。但是在嵌入式中可以用闪存代替ROM存储器。
cache的地址映像方法
1.直接映像方式的优点是地址变换很简单缺点是灵活性差 。 2.在速度要求较高的场合采用直接映像在速度要求较低的场合采用组相联或全相联错误 为解决高速CPU与低速内存之间的速度差异最经济、有效的方法是在两者之间插入容量不大但操作速度很高的存储器高速缓存Cache)起到缓冲作用使CPU既可以以较快速度存取Cache中的数据又不使系统成本过高。与主存相比Cache的容量很小它保存的只是一部分主存内容的一个副本且Cache与主存的数据交换是以块为单位。地址映射即是应用某种方法把主存地址定位到Cache中有全相联方式、直接方式和组相联方式三种方式。 1直接映射方式这是一种最简单而又直接的映射方法指主存中每个块只能映射到Cache的一个特定的块。在该方法中Cache块地址j和主存块地址i的关系为ji mod Cb其中Cb是Cache的块数。这样整个Cache地址与主存地址的低位部分完全相同。直接映射法的优点是所需硬件简单只需要容量较小的按地址访问的区号标志表存储器和少量比较电路缺点是Cache块冲突概率较高只要有两个或两个以上经常使用的块恰好被映射到Cache中的同一个块位置时就会使Cache命中率急剧下降。 2全相联映射方式这种映射方式允许主存的每一块信息可以存到Cache的任何一个块空间也允许从已被占满的Cache中替换掉任何一块信息。全相联映射的优点是块冲突概率低其缺点是访问速度慢并且成本太高。 3组相联映射方式这种方式是前两种方式的折衷方案。这种映射方式在组间是直接映射而组内是全相联映射其性能和复杂性介于直接映射和全相联映射之间。 3.在主存与Cache的地址映射方式中 方式可以实现主存任意一块装入Cache中任意位置只有装满才需要替换。 全相联映射是指主存中任一块都可以映射到Cache中任一块的方式也就是说当主存中的一块需调入Cache时可根据当时Cache的块占用或分配情况选择一个块给主存块存储所选的Cache块可以是Cache中的任意一块。 直接相联映射方式是指主存的某块J只能映射到满足特定关系的Cache块艺中。 全相联映射和直接相联映射方式的优缺点正好相反也就是说对于全相联映射方式来说为优点的恰是直接相联映射方式的缺点而对于全相联映射方式来说为缺点的恰是直接相联映射方式的优点。 组相连映射兼顾了这两种方式的优点主存和Cache按同样大小划分成块主存和Cache按同样大小划分成组主存容量是缓存容量的整数倍将主存空间按缓冲区的大小分成区主存中每一区的组数与缓存的组数相同当主存的数据调入缓存时主存与缓存的组号应相等也就是各区中的某一块只能存入缓存的 同组号的空间内但组内各块地址之间则可以任意存放即从主存的组到Cache的组之间采用直接映射方式在两个对应的组内部采用全相联映射方式。 4.按照Cache地址映像的块冲突概率从高到低排列的是 。直接映像→组相联映像→全相联映像
cache 替换算法
1.优化替换算法的要求是 必须先执行一次程序统计Cache的替换情况 。参考《软件设计师教程》第五版P26原话。
磁盘外存储器
1. 系统读记录的时间为20/102ms。对第一种情况系统读出并处理记录R1之后将转到记录R4的开始处所以为了读出记录R2磁盘必须再转一圈需要2ms读记录加20ms转一圈的时间。这样处理10个记录的总时间应为处理前9个记录即R1R2…R9)的总时间再加上读R10和处理时间9×22ms6ms204ms 对于第二种情况若对信息进行分布优化的结果如下所示 2.假设某硬盘由5个盘片构成共有8个记录面盘面有效记录区域的外直径为30cm内直径为10cm记录位密度为250位/mm磁道密度为16道/mm每磁道分16个扇区每扇区512字节则该硬盘的格式化容量约为 MB。 磁盘容量分为格式化容量和非格式化容量 非格式化面数*(磁道数/面内圆周长最大位密度 格式化容量面数*(磁道数/面扇区数/道(字节数/扇区) 题干中硬盘的面数为8每面的磁道数为30-1010/216, 【除以2是因为磁道密度算的是半径。】 每磁道扇区为16,每扇区512字节因此格式化容量为8*30-10101616512/2B。注意单位的换算。 3.假设磁盘的每个磁道分成9个块现一个文件有AB…共9条记录每条记录的大小与块的大小相等设磁盘转速为27ms/z转每读出一块后需要2ms的处理时间若忽略其他辅助时间若顺序存放这些记录顺序读取处理此文件需要若对文件记录存放顺序调整优化处理此文件最短时间为 磁盘转速为27ms/转每个磁道存放9条记录因此读出1条记录为27/93ms。读出并处理记录A需要5ms,此时读写头已经转到记录B的中间因此读出1条记录B必须再转接近一圈后续8条记录的读取及处理与此相同但是最后一条记录的读取与处理只需要5ms于是处理9条记录的总时间是8*27332245 由于读出并处理一条记录需要5ms当读出并处理记录A时不妨设记录A放在第一个盘块中读写头已移到第二个盘块的中间为了能顺序读到B应将记录放到第三个盘块中因此存放的顺序AFBGCHDI,E。处理一条记录并将磁头移到下一条记录时间为321等待6处理9条记录总时间为6*8553ms。 4.假设磁盘块与缓冲区大小相同每个盘块读入缓冲区的时间为 16us由缓冲区送至用户区的时间是5us在用户区内系统对每块数据的处理时间为1us.若用户需要将大小为10个磁盘块的 Doc1文件逐块从磁盘读入缓冲区并送至用户区进行处理那么采用单缓冲区需要花费的时间为211us:采用双缓冲区需要花费的时间为166μs. 这是一个简单的缓冲区的问题。由于缓冲区的访问是互斥的所以对单一缓冲区从磁盘写入和读出到用户区的操作必须串行执行也就是要保证互斥操作。而CPU对数据的分析与从用户区读数据也是需要互斥操作但是CPU分析与从磁盘写入缓冲区的操作可以并行。从本题看由于分析所用的时间小于从磁盘写入缓冲区的时间因此CPU会空闲。单缓冲区的总时间磁盘写入缓冲区时间缓冲区读出时间×10CPU处理最后一块数据的时间165)×101211μs。 当采用双缓冲区时每块缓冲区的操作也必须满足互斥操作但是对两块缓冲区的操作却可以并行所以当第一个缓冲区写满以后磁盘紧接着写另一个缓冲区同时前一个已经满了的缓冲区被读出到用户区并立即进行CPU的数据分析。读出操作和数据分析必须互斥进行故从时间上看当数据被读出并分析后恰好另一个缓冲区也写满了可以立即进行读出数据到用户区并进行数据分析。两块缓冲区交替进行读写直到数据分析完毕因此总时间磁盘写入缓冲区时间×10读出最后一块数据时间CPU分析最后一块数据时间16×1051166s。 5.某文件管理系统在磁盘上建立了位示图bitmap)记录磁盘的使用情况。若磁盘上物理块的编号依次为0、1、2、……系统中的字长为32位位示图中字的编号依次为0、1、2、…每个字中的一个二进制位对应文件存储器上的一个物理块取值0和1分别表示物理块是空闲或占用。假设操作系统将2053号物理块分配给某文件那么该物理块的使用情况在位示图中编号为 的字中描述。 2053/3264.156并且位示图是从0号开始所以选择C 6.若系统在将 目录 文件修改的结果写回磁盘时发生崩溃则对系统的影响相对较大。 很多文件系统是先读取磁盘块到主存在主存进行修改修改完毕再写回磁盘。但如果读取某磁盘块修改后再将信息协会磁盘前系统崩溃则文件系统可能会出现不一致状态。如果这些未被写回的磁盘块是索引结点、目录块那么后果是不堪设想的。通常解决方案是采用文件系统的一致性检查一致性检查包括块的一致性检查和文件的一致性检查。
输入/输出技术
1.在UNIX操作系统中把输入/输出设备看作是 特殊文件 。 本题考查的是UNIX操作系统中设备管理的基本概念。在UNIX操作系统中把输入/输出设备看作是特殊文件。在UNIX系统中包括两类设备块设备和字符设备。设备特殊文件有一个索引节点在文件系统目录中占据一个节点但其索引节点上的文件类型与其他文件不同是“块”或者是“字符特殊文件。文件系统与设备驱动程序的接口是通过设备开关表。硬件与驱动程序之间的接口控制寄存器、l/O指令一旦出现设备中断根据中断矢量转去执行相应的中断处理程序完成所要求的I/O任务。这样可以通过文件系统与设备接囗对设备进行相关的操作因为每个设备有一个文件名可以向访问文件那样操作。 2.若不考虑I/O设备本身的性能则影响计算机系统l/O数据传输速度的主要因素是 数据总线宽度 。 地址总线宽度决定了CPU可以访问的物理地址空间简单地说就是CPU到底能够使用多大容量的内存。 CPU字长指CPU位时间内(同一时间能一次处理的二进数的位数。 数据总线负责计算机中数据在各组成部分之间的传送数据总线宽度是指在芯片内部数据传送的宽度而数据总线宽度则决定了CPU与二级缓存、内存以及输入/输出设备之间一次数据传输的信息量。 3.以下关于计算机系统中断概念的叙述中正确的是 由I/O设备提出的中断请求是可屏蔽中断电源掉电是不可屏蔽中断 。 按照是否可以被屏蔽可将中断分为两大类不可屏蔽中断又叫非屏蔽中断和可屏蔽中断。不可屏蔽中断源一旦提出请求CPU必须无条件响应而对可屏蔽中断源的请求CPU可以响应也可以不响应。典型的非屏蔽中断源的例子是电源掉电一旦出现必须立即无条件地响应否则进行其他任何工作都是没有意义的。典型的可屏蔽中断源的例子是打印机中断CPU对打印机中断请求的响应可以快一些也可以慢一些因为让打印机等待是完全可以的。对于软中断它不受中断允许标志位IF位的影响所以属于非屏蔽中断范畴。 4.计算机运行过程中CPU需要与外设进行数据交换。采用 中断方式和DMA方式控制技术时CPU与外设可并行工作。 程序查询方式的原理是当主机进行I/O操作时首先发出询问信号读取设备的状态并根据设备状态决定下一步操作究竟是进行数据传输还是等待。这种控制下CPU一旦启动I/O必须停止现行程序的运行并在现行程序中插入一段程序。程序查询方式的主要特点是CPU有踏步等待现象CPU与I/O串行工作。 程序中断是指计算机执行现行程序的过程中出现某些急需处理的异常情况和特殊请求cpu暂时终止现行程序而转去对随机发生的更紧迫的事件进行处理在处理完毕后cpu将自动返回原来的程序继续执行。在中断方式中CPU与外设可并行工作。 直接内存存取DMA是指在内存与I/O设备间传送数据块的过程中不需要CPU的任何干涉只需要CPU在过程考试启动与过程结束时的处理实际操作由DMA硬件直接执行完成CPU在此传送过程中可做别的事情。在DMA方式中CPU与外设可并行工作。 5.当用户通过键盘或鼠标进入某应用系统时通常最先获得键盘或鼠标输入信息的是 中断处理 程序。 6.在输入输出控制方法中采用 DMA 可以使得设备与主存间的数据块传送无需CPU干预。 计算机中主机与外设间进行数据传输的输入输出控制方法有程序控制方式、中断方式、DMA等。 在程序控制方式下由CPU执行程序控制数据的输入输出过程。 在中断方式下外设准备好输入数据或接收数据时向CPU发出中断请求信号若CPU决定响应该请求则暂停正在执行的任务转而执行中断服务程序进行数据的输入输出处理之后再回去执行原来被中断的任务。 在DMA方式下CPU只需向DMA控制器下达指令让DMA控制器来处理数据的传送数据传送完毕再把信息反馈给CPU这样就很大程度上减轻了CPU的负担可以大大节省系统资源。 7.计算机中CPU的中断响应时间指的是 从发出中断请求到开始进入中断处理程序 的时间。 中断系统是计算机实现中断功能的软硬件总称。一般在CPU中设置中断机构在外设接囗中设置中断控制器在软件上设置相应的中断服务程序。中断源在需要得到CPU服务时请求CPU暂停现行工作转向为中断源服务服务完成后再让CPU回到原工作状态继续完成被打断的工作。中断的发生起始于中断源发出中断请求中断处理过程中中断系统需要解决一系列问题包括中断响应的条件和时机断点信息的保护与恢复中断服务程序入口、中断处理等。中断响应时间是指从发出中断请求到开始进入中断服务程序所需的时间。
8.CPU是在一个总线周期 结束时响应DMA请求的。
指令周期(Instruction Cycle)取出并执行一条指令的时间。 总线周期BUS Cycle)也就是一个访存储器或I/O端口操作所用的时间。 机器周期在计算机中为了便于管理常把一条指令的执行过程划分为若干个阶段每一阶段完成一项工作。例如取指令、存储器读、存储器写等这每一项工作称为一个基本操作。完成一个基本操作所需要的时间称为机器周期。 时钟周期Clock Cycle)又称震荡周期是处理操作的最基本单位。
指令周期、总线周期和时钟周期之间的关系一个指令周期由若干个总线周期组成而一个总线周期时间又包含有若干个时钟周期。 一个总线周期包含一个只有取址周期或多个机器周期。 DMA响应过程为DMA控制器对DMA请求判别优先级及屏蔽向总线裁决逻辑提出总线请求。当CPU执行完当前总线周期即可释放总线控制权。此时总线裁决逻辑输出总线应答表示DMA已经响应通过DMA控制器通知I/O接囗开始DMA传输。 9.计算机运行过程中遇到突发事件要求CPU暂时停止正在运行的程序转去为突发事件服务服务完毕再自动返回原程序继续执行这个过程称为中断其处理过程中保存现场的目的是返回去继续执行原程序【错误选项防止丢失数据x】 程序运行过程中把函数(或过程)调用与响应调用所需要的代码相结合的过程称为动态绑定。 程序编译过程中把函数或过程)调用与响应调用所需要的代码相结合的过程称为静态绑定。 10.采用DMA方式传送数据时每传送一个数据都需要占用一个 存储周期 。、 存储周期通常指连续启动两次操作所需间隔的最小时间体现主存的速度。 DMA获得内存总线的控制权单纯的是为了做内存访问所以仅需要一个存取周期。这是和时钟周期没关系的。本题选择C选项。
Flynn分类法
1.Flynn分类法根据计算机在执行程序的过程中指令流和数据流 的不同组合将计算机分为4类。 2.Flynn分类法基于信息流特征将计算机分成4类其中MISD 只有理论意义而无实例。
CISC/RISC
1.精简指令系统RISC的特点不包括 指令可以对主存单元中的数据直接进行处理。典型的RISC通常都有指令能够直接对主存单元中的数据进行处理其执行速度较快 。 这是CISC的特点。CISC系统中的指令可以对主存单元中的数据直接进行处理。典型的CISC通常都有指令能够直接对主存单元中的数据进行处理其执行速度较慢。 2.以下关于CISC/RISC计算机的叙述中不正确的是 。 相比CISCRISC计算机指精简指令集计算机这种计算机有下列特点。 ①指令系统中只包含使用频率较高但不复杂的指令。 ②指令长度固定指令格式少寻址方式少。 ③只有存取数指令访问主存其他指令都在寄存器之间运算。 ④大部分指令在一个机器周期内完成采用流水技术。 ⑤CPU中增加了通用寄存器的数量。 ⑥硬联逻辑控制不用微程序控制技术。 ⑦采用优化的编译以有效地支持高级语言。 3.以下关于精简指令集计算机(RISC)指令系统特点的叙述中错误的是 指令种类多指令功能强 。 RISC指令系统的最大特点是 选取使用频率最高的一些简单指令指令条数少 指令长度固定指令格式种类少 只有取数/存数指令访问存储器其余指令的操作都在奇存器之间进行。 4.以下关于CISC(Complex Instruction Set Computer,复杂指令集计算机和RISCReduced Instruction Set Computer,精简指令集计算机)的叙述中错误的是在CISC中复杂指令都采用硬布线逻辑来执行 。 CISC的主要缺点如下①微程序技术是CISC的重要支柱每条复杂指令都要通过执行一段解释性微程序才能完成这就需要多个CPU周期从而降低了机器的处理速度②指令系统过分庞大从而使高级语言编译程序选择目标指令的范围很大并使编译程序本身冗长而复杂从而难以优化编译使之生成真正高效的目标代码③CISC强调完善的中断控制势必导致动作繁多设计复杂研制周期长④CISC给芯片设计带来很多困难使芯片种类增多出错几率增大成本提高而成品率降低。 RISC(Reduced Instruction Set Computer,精简指令集计算机)的基本思想是通过减少指令总数和简化指令功能降低硬件设计的复杂度使指令能单周期执行并通过优化编译提高指令的执行速度采用硬线控制逻辑优化编译程序。 实现RISC的关键技术有①重叠寄存器窗口overlapping register windows)技术首先应用在伯克利的RISC项目中②优化编译技术RISC使用了大量的寄存器如何合理分配寄存器、提高寄存器的使用效率减少访存次数等都应通过编译技术的优化来实现③超流水及超标量技术这是RISC为了进一步提高流水线速度而采用的新技术④硬线逻辑与微程序相结合在微程序技术中。 5.RISC精简指令系统计算机的特点不包括寻址方式尽量丰富指令功能尽可能强 。 寻址方式应该是少且简单一般为2-3种绝不出现存储器间接寻址方式。
流水线
1.设指令流水线将一指令的执行分为取指、分析、执行三段已知取指时间是2ns分析时间需2ns执行时间为1ns则执行完1000条指令所需时间为2003ns 。 根据流水线执行时间计算公式流水线执行时间1条指令执行时间(指令条数-1)流水线周期。 本题1条流水线执行时间为221指令条数为1000流水线周期为其中取指、分析、执行三段最长的一段2ns将相关参数代入公式可得 流水线执行时间2211000-1)22003,本题 2.通常可以将计算机系统中执行一条指令的过程分为取指令分析和执行指令3步。若取指令时间为4△t,分析时间为2△t。执行时间为3△t,按顺序方式从头到尾执行完600条指令所需时间为5400△t若按照执行第i条分析第i1条读取第i2条重叠的流水线方式执行指令则从头到尾执行完600条指令所需时间为2405 按顺序方式执行时间为423△t6005400△t流水线方式单条指令所需时间(n-1流水线周期)其中流水线周期是指指令分段执行中时间最长的一段。该题中时间最长的一段为4△t所以流水线的周期为4△t所以该题按照流水线方式执行的的时间为(423)△t(600-1)4△t2405△t 3.以下关于指令流水线性能度量的叙述中错误的是 流水线采用异步控制会明显提高其性能 。 流水线的执行时间中我们会发现流水线周期也就是最长的段会影响最终输出的时间所以也称之为瓶颈时间。最大吞吐率是流水线周期的倒数也就是说最大吞吐率取决于流水线中最慢一段所需的时间A选项描述正确。 当指令各段时间不一样时因为瓶颈时间的影响中间会有一些等待时间导致流水线的吞吐率不会达到最大但指令各段时间一样时流水线周期与其他段一致流水线的普通吞吐率与流水线最大吞吐率相等了此时流水线的效率才是最大化也是加速比最大的情况。C选项描述正确。 加速比的计算在中级科目没有涉及到这里理解为加速效果即可。加速比顺序执行时间流水线执行时间当流水线执行时间越小加速比越大加速效果越好。 采用异步控制方式在给流水线提速的同时会明显增加流水线阻塞的概率所以不会明显提高整体性能。D选项描述错误。本题选择错误的说法因此选择D选项。 4.某指令流水线由4段组成各段所需要的时间如下图所示。连续输出8条指令时的吞吐率单位时间内流水线所完成的任务数或输出的结果数为 8/28At 。 当流水线各段所经历的时间不一样时吞吐率的计算公式为 式中分子为指令数本题为n8分母为流水线执行时间根据理论公式流水线执行时间计算一条指令顺序执行时间(n-1)*流水线周期 1△t2△t3△t1△t)8-1)*3△t28△t 综上可得吞吐率TP8/28△t为C选项。【其中流水线周期为指令耗时最长的一段。】 5.下列关于流水线方式执行指令的叙述中不正确的是 流水线方式可提高单条指令的执行速度 。 本题考查计算机系统硬件基础知识。要求选择不正确的叙述。其中A选项流水线方式可提高单条指令的执行速度是不正确的对于只有单条指令的情况下流水线方式与顺序执行时没有区别。流水线的原理是在某一时刻可以让多个部件同时处理多条指令避免各部件等待空闲由此提高了各部件的利用率也提高了系统的吞吐率。B、C、D描述正确。 6.流水线的吞吐率是指单位时间流水线处理的任务数如果各段流水的操作时间不同则流水线的吞吐率是最长流水段操作时间 的倒数。 本题考查计算机系统基础知识。流水线处理机在执行指令时把执行过程分为若干个流水级若各流水级需要的时间不同则流水线必须选择各级中时间较大者为流水级的处理时间。 理想情况下当流水线充满时每一个流水级时间流水线输出一个结果。 流水线的吞吐率是指单位时间内流水线处理机输出的结果的数目因此流水线的吞吐率为一个流水级时间的倒数即最长流水级时间的倒数。
冯诺依曼结构和哈弗结构
1.以下关于冯诺依曼计算机的叙述中不正确的是程序指令总是存储在主存中而数据则存储在高速缓存中 。 在冯诺依曼结构中程序指令和数据存在同一个存储器中。本题选择B选项其他描述都是正确的。 程序指令和数据都采用二进制表示程序的功能都由中央处理器CPU执行指令来实现程序的执行过程由指令进行自动控制 2.冯·诺伊曼结构也称普林斯顿结构是一种将程序指令存储器和数据存储器合并在一起的存储器结构。 3.哈佛结构与冯·诺伊曼结构的区别是 程序和数据存储方式不同 。 哈佛结构和冯·诺伊曼结构都是计算机存储器结构但哈佛结构是一种并行体系结构将程序和数据分别存储在独立的存储器中每个存储器独立编址、独立访问而冯·诺伊曼结构将程序指令存储器和数据存储器合并在一起的结构。因此选项C为正确答案
总线
1.假设某系统总线在一个总线周期中并行传输4个字节信息一个总线周期占用2个是时钟周期总线时钟频率为10MHZ则总线带宽是 20MB/s。 总线带宽是指单位时间内总线上传输数据的位数通常用每秒传送信息的字节数来衡量单位为B/s。由题意可知在1个总线周期2个是时钟周期内传输了4个字节信息时钟周期10MHz0.1us因此总线带宽为4B/(20.1us)4B/(0.210^-6s)20MB/s 2.计算机执行程序时在一个指令周期的过程中为了能够从内存中读指令操作码首先是将 程序计数器PC 的内容送到地址总线上。 计算机执行程序时在一个指令周期的过程中为了能够从内存中读指令操作码首先是将程序计数器PC的内容送到地址总线上。 3.挂接在总线上的多个部件 只能分时向总线发送数据但可同时从总线接收数据。 本题考查考生对总线概念的理解。总线是一个大家都能使用的数据传输通道大家都可以使用这个通道但发送数据时是采用的分时机制而接收数据时可以同时接收也就是说同一个数据可以并行的被多个客户收取。如果该数据不是传给自己的数据包将被丢弃。 4.总线复用方式可以 减少总线中信号线的数量 。 总线复用顾名思义就是一条总线实现多种功能。常见的总线复用方式有总线分时复用它是指在不同时段利用总线上同一个信号线传送不同信号例如地址总线和数据总线共用一组信号线。采用这种方式的目的是减少总线数量提高总线的利用率。 5.在32位的总线系统中若时钟频率为1000MHz总线上10个时钟周期传送一个32位字则该总线系统的数据传送速率约为 400 MB/s。 因为时钟频率为1000MHz所以1个时钟周期为1/100OMs又知道10个时钟周期传送一个32位字4B则该总线系统的数据传送速率为4X1000MB/10400MB。
加密技术和认证技术
1.数字签名采用 非对称密码体制 密码体制。 数字签名采用非对称密码体制公钥密码体制即发送者使用 私钥加密数据接收者使用对应的公钥解密数据。 2.密钥管理主要包括哪些内容 密钥产生、密钥备份和恢复、密钥更新等 参考《软件设计师教程》第五版P43原话。 3.AES可以用 128位 分组加密和解密数据。 AES是一个迭代的、对称密钥分组的密码它可以使用128、192和256位密钥并且用128位16字节分组加密和解密数据。 4.非对称加密算法需要使用哪两个密钥公开密钥和私有密钥 参考《软件设计师教程》第五版P41原话。 5.DES是 数据加密标准 的简称 参考《软件设计师教程》第五版P41原话。 6.数据加密和数据解密是逆过程 。 参考《软件设计师教程》第五版P40原话。 7.
语言处理程序基础
词法分析、语法分析、语义分析
词法分析 词法分析是编译过程的第一个阶段这个阶段的任务可以看成是-从左到右一个字符一个字符地读入源程序从中识别出一个个“单词”符号即对构成源程序的字符流进行扫描然后根据构词规则识别单词(也称单词符号或符号) 通过词法分析程序实现上述读入源程序识别符号的任务词法分析过程依据的是语言的词法规则 输出词法分析程序输出的“单词”常以二元组的方式输出即单词种别和单词自身的值 认识词法 定义组成语言的单词 是语言中最小单元
语法分析 语法分析是编译过程的一个逻辑阶段此阶段的任务是在词法分析的基础上将单词序列组合成各类语法短语如“程序”“语句”“表达式”等等 语法是用户数据与控制信息的结构与格式 认识语法-- 将单子组织成有含义的短语和句子的规则正如英语翻译中的语法
语义分析Syntax analysis 语义分析是编译过程的一个逻辑阶段语义是解释控制信息每个部分的意义它规定了需要发出何种控制信息以及完成的动作与做出什么样的响应此阶段的任务是对结构上正确的源程序进行上下文有关性质的审查进行类型审查 收集类型信息供后面的代码生成阶段使用 语义分析将审查类型并报告错误不能在表达式中使用一个数组变量赋值语句的右端和左端的类型不匹配 认识语义-- 结合上下文可以推导出语句的真实含义也就是我们输入中文之后翻译出来的英文含义或输入英文翻译出来的中文
举例认识 我现在要翻译一句话如下图所示 She’s very beautiful as a fairy girl. 词法分析想要获取这句话的意思那么首先我需要输入信息系统进行一个个单词识别也就是录入源程序这属于词法分析 语法分析这句话录入程序接下来系统就要进行识别每一个单词分别都是什么格式英语语法的主谓宾、定状补进而确定要翻译的语句的结构 语义分析获取了句子的单词词性接下来就是最后的输出阶段啦语义分析通过语义分析输出该翻译字句的中文含义“她很漂亮宛如一个小仙女”
1.以编译方式翻译C/C源程序的过程中 语法分析 阶段的主要任务是对各条语句的结构进行合法性分析。 语法分析的任务是在词法分析的基础上根据语言的语法规则将单词符号序列分解成各类语法单位如“表达式”“语句”和“程序”等。语法规则就是各类语法单位的构成规则主要是针对结构的检查。 2.在对高级语言源程序进行编译或解释处理的过程中需要不断收集、记录和使用源程序中一些相关符号的类型和特征等信息并将其存入 符号表 中。 符号表在编译程序工作的过程中需要不断收集、记录和使用源程序中一些语法符号的类型和特征等相关信息。这些信息一般以表格形式存储于系统中。 哈希表是根据关键码值(Key value)而直接进行访问的数据结构。 堆栈是一种只能在一端进行插入和删除操作的特殊线性表它按照后进先出的原则存储数据的数据结构。 队列允许在表的前端front进行删除操作而在表的后端(rear)进行插入操作和栈一样队列是一种操作受限制的线性表。 3.在以阶段划分的编译器中词法分析 阶段的主要作用是分析构成程序的字符及由字符按照构造规则构成的符号是否符合程序语言的规定。 在词法分析阶段其任务是从左到右逐个字符地读入源程序对构成源程序的字符流进行扫描和分解从而识别出一个个单词也称单词符号或符号。这里所谓的单词是指逻辑上紧密相连的一组字符这些字符组合在一起才表示某一含义。词法分析过程依据的是语言的词法规则即描述“单词”分析构成程序的字符及由字符按照构造规则构成的符号是否符合程序语言的规定”是对单词的检查。 4.将编译器的工作过程划分为词法分析、语法分析、语义分析、中间代码生成、代码优化和目标代码生成时语法分析阶段的输入是记号流若程序中的括号不配对则会在语法分析阶段检查出该错误。 A选项记号流词法分析的输出是记号流也就是语法分析的输入第一空选择A选项。 B选项字符流在Java中根据处理的数据单位不同分为字节流和字符流。字符流是由字符组成的例如File Reader、File Writer、Buffered Reader、Buffered Writer、 Input Stream Reader、 Output Stream Writer 等。与本题无关。 C选项源程序词法分析的任务是把源程序的字符串转换成单词符号序列。 D选项分析树如果没有语法错误语法分析后就能正确的构造出其语法树。 括号不匹配是典型的语法错误会在语法分析阶段检测出来。词法分析器的任务就是读入源程序对其进行一定的切分得到记号流。语义分析的任务是对结构上正确的源程序进行上下文有关性质的审查进行类型审查。编译器需要将源代码转换为目标机器的指令集这个过程叫作目标代码生成。 5.语法指导翻译是一种 静态语义分析 方法。 本题考查程序语言基础知识。翻译的任务首先是语义分析和正确性检查若正确则翻译成中间代码或目标代码。其基本思想是根据翻译的需要设置文法符号的属性以描述语法结构的语义。例如一个变量的属性有类型层次存储地址等。表达式的属性有类型值等。属性值的计算和产生式相联系。随着语法分析的进行执行属性值的计算完成语义分析和翻译的任务。 动态语义分析指运行期间的语义问题如0作为除数进行运算。 所谓代码优化是指对程序代码进行等价(指不改变程序的运行结果)变换。程序代码可以是中间代码如四元式代码也可以是目标代码。 6.乔姆斯基Chomsky将文法分为4种类型程序设计语言的大多数语法现象可用其中的 上下文无关文法 描述。 上下文无关文法形式语言理论中一种重要的变换文法用来描述上下文无关语言在乔姆斯基分层中称为2型文法。由于程序设计语言的语法基本上都是上下文无关文法因此应用十分广泛。 7.编译过程中进行的语法分析主要是分析程序语句的结构是否合法 。 语法分析是编译过程的一个逻辑阶段。语法分析的任务是在词法分析的基础上将单词序列组合成各类语法短语如“程序”“语句”“表达式”等等。语法分析程序判断源程序在结构上是否正确。源程序的结构由上下文无关文法描述。
表达式
1.表达式(a-b)(cd)的后缀式逆波兰式是 ab-cd 。 根据表达式(a-b)(cd)可以构造出语法树如下 其后续遍历即其后缀表达式逆波兰式为ab-cd选择D选项。
语言
1.用C/C语言为某个应用编写的程序经过 预处理、编译、汇编、链接 后形成可执行程序。 2.
有限自动机
1.某有限自动机的状态转换图如下图所示该自动机可识别 1100 。 A选项从s0出发1001到达s1没有到达终态s2不能被自动机识别。 B选项从s0出发1100成功到达终态s2可以被自动机识别。本题选择B选项。 C选项从s0出发1010到达s0没有到达终态s2不能被自动机识别。 D选项从s0出发0101到达s1没有到达终态s2不能被自动机识别。 自动机可识别的条件到达终态s2 2.下图所示为一个不确定有限自动机NFA)的状态转换图与该NFA等价的DFA是 。 本题可以直接以实例方式排除错误选项。本题给出的NFA能够识别字符串000010等以这两个字符串为例进行分析。 与之等价的DFA也必须能够识别这样的串。A选项不能识别000B选项不能识别010D选项不能识别010。只有C选项能够同时识别这2个串因此本题选择C选项。 3.下图所示为一个不确定有限自动机NFA)的状态转换图。该NFA识别的字符串集合可用正规式 aba 描述。 本题考查有限自动机相关知识。根据图中展示其正规式应以a开头a结尾b在中间可以出现0次或多次所以是aba,答案为A。 4.双终态 11100
数据结构
树
1.设某二叉树采用二叉链表表示即结点的两个指针分别指示左、右孩子。当该二叉树包含k个结点时其二叉链表结点中必有 k1 个空的孩子指针。 2.某树共有n个结点其中所有分支结点的度为k即每个非叶子结点的子树数目则该树中叶子结点的个数为 [n(k-1)1]/k 。 本题可以画一棵简单的树验证4个选项比如以2个结点的树来看 结点总数n2非叶子结点的子树数目为k1叶子结点的个数应该为1带入4个选项验证(n2k1验算表达式是否结果为1即可 3.某二叉树的先序遍历序列为c a b f e d g中序遍历序列为a b cd e f g则该二叉树是 平衡二叉树 。 由图可知该树不满足完全二叉树和满二叉树并且本题没有涉及权值概念不属于最优二叉树涉及权值。在图中可以看到这棵树满足平衡二叉树因此选择C选项。 4.设有二叉排序树(或二叉查找树如下图所示建立该二叉树的关键码序列不可能是 。 构造时是按给出的关键字序列依次进行构造的。本题由于C序列在构造过程中关键字23出现时直接作为根结点接着输入17比较后作为左子树根结点然后输入的是27此时27比较后作为右子树的根结点与题干图示的位置不符因此C选项错误。 5.某个二叉查找树即二叉排序树中进行查找时效率最差的情形是该二叉查找树是 单枝树 。 单枝树时该二叉查找树效率最低。
图
1.n个顶点的有向完全图中含有向边的数目最多为n(n-1)。 n个顶点的有向完全图中每个顶点都向其他n-1个顶点发出一条弧因此总的有向边的数目为n(n-1)。 2.以下关于图的遍历的叙述中正确的是使用队列对图进行广度优先遍历 。 3.以下关于无向连通图G的叙述中不正确的是 G中任意两个顶点之间均有边存在 。 无向连通图不一定有边但两个顶点之间有路径。 4.
栈
1.函数调用和返回控制是用 栈 实现的。 当有多个函数构成嵌套调用时如递归调用按照“后调用先返回”的原则函数之间的信息传递和控制转移可以用“栈”来实现。
数组、矩阵和广义表
1.三元组顺序表和十字链表 是对稀疏矩阵进行压缩存储的方式。 存储矩阵的一般方法是采用二维数组其优点是可以随机地访问每一个元素因而能够较容易地实现矩阵的各种运算。但对于稀疏矩阵而言若用二维数组来表示会重复存储很多个0浪费空间而且要花费时间来进行零元素的无效计算。所以必须考虑对稀疏矩阵进行压缩存储。稀疏矩阵的三元组表的顺序存储结构称为三元组顺序表常用的三元组表的链式存储结构是十字链表。所以本题答案选B。 2.通过元素在存储空间中的相对位置来表示数据元素之间的逻辑关系是 顺序存储的特点。 顺序存储时通过元素在存储空间中的相对位置来表示数据元素之间的逻辑关系元素的逻辑相对位置与物理相对位置是一致的。 链表存储链表是一种物理存储单元上非连续、非顺序的存储结构数据元素的逻辑顺序是通过链表中的指针链接次序实现的。 索引存储分别存放数据元素和元素间关系的存储方式。 哈希存储哈希存储的基本思想是以关键字Key为自变量通过一定的函数关系(散列函数或哈希函数计算出对应的函数值哈希地址以这个值作为数据元素的地址并将数据元素存入到相应地址的存储单元中。 3.对于如下所示的有向图其邻接矩阵是一个
根据邻接矩阵的定义行列数都为结点个数结点数为5因此邻接矩阵行列数均为5即5×5的矩阵。根据邻接表的定义一个顶点的表结点个数为其邻接顶点的个数顶点2有2个邻接顶点顶点3有2个邻接顶点。 4.如图
查找
1.二叉排序树中进行查找的效率与 二叉排序树的深度 有关。 二叉排序树的查找路径是自顶向下的平均查找长度取决于树的高度。 2.对某有序表进行二分查找时进行比较的关键字序列不可能是90,85,61,77,42 。 二分查找的前提是元素有序(一般是升序)基本思想是拿中间元素。A[m]与要查找的元素x进行比较如果相等则已经找到如果A[m]比x大那么要找的元素一定在A[m]前边左边如果A[m]比x小那么要找的元素一定在A[m]后边右边。每进行一次查找数组规模减半。反复将子数组规模减半直到发现要查找的元素或者当前子数组为空。选项C错在如果一个元素比61大下一次可以跟77比较但是77后面的元素是42说明要查找的元素比77小因此再次比较确实是跟42比而题干已经表明这个元素大于61了明显不合理。因此答案选C。 3.在线性表L中进行二分查找要求L 顺序存储元素有序排列 。 二分查找的前提条件是顺序存储且有序排列。本题选择C选项。 4.对某有序顺序表进行折半查找时 45,30,18,25,10 不可能构成查找过程中关键字的比较序列。 进行折半查找时首先与表中间位置上的元素进行比较若待查找的元素大于中间元素则接下来在后半区是比中间元素更大者组成的有序子表进行折半查找否则在前半区(是比中间元素更小者组成的有序子表进行折半查找。二分查找过程可用二分查找判定树来描述即大于中间元素时走右分支小于中间元素时走左分支等于时查找成功结束。 5.实现二分查找折半查找时要求查找表 顺序存储关键词有序排列 。 二分查找又称折半查找优点是比较次数少查找速度快平均性能好其缺点是要求待查表为有序表且插入删除困难。因此折半查找方法适用于不经常变动而查找频繁的有序列表。 二分查找算法要求①必须采用顺序存储结构②必须按关键字大小有序排列。 6.设散列表长m14,散列函数为Hkeykey%11,表中仅有4个结点H154H385H616H(847若使用线性探测法处理冲突则关键字49存储的地址是8 。 【散列冲突处理方法】 闭散列法 在元素插入时遇到哈希冲突我们可选择线性探查法处理冲突还可以选择二次探查法处理冲突。 这里我们分析下线性探查法 给出一组元素它们的关键码为3725143649685711散列表为HT[12]表的大小 m12 假设采用Hashkey key % p p1111是最接近m的质数就有 添加元素时使用散列函数确定元素的插入位置如果此空间有值 ①该值是所要插入元素的关键码不进行插入。 ②产生冲突依次查看其后的下一个桶如果发现空位置插入新元素 注意 散列表的载荷因子a 插入元素个数 / 散列表的长度 a是散列表装满程度的标志因子。对于开放地址法载荷因子非常重要应严格限制在 0.7~0.8 以下。超过 0.8 查表时的CPU缓存按照指数曲线上升。 7.用哈希表存储元素时需要进行冲突(碰撞处理冲突是指 关键字不同的元素被映射到相同的存储位置 。 本题考查数据结构相关基础知识。哈希法又称散列法、杂凑法以及关键字地址计算法等相应的表称为哈希表。其基本思想首先在元素的关键字K和元素的位置P之间建立一个对应关系f使得Pf(K)其中f称为哈希函数。创建哈希表时把关键字K的元素直接存入地址为f(K)的单元查找关键字K的元素时利用哈希函数计算出该元素的存储位置Pf(K)当关键字集合很大时关键字值不同的元素可能会映射到哈希表的同一地址上即K1≠K2但fK1fK2这种现象称为hash冲突实际冲突是不可避免的只能通过改进哈希函数的性能来减少冲突。 8.
排序
1.对数组A2,8,7,1,3,5,6,4用快速排序算法的划分方法进行一趟划分后得到的数组A为(2,3,1,4,7,5,6,8)非递减排序以最后一个元素为基准元素。进行一趟划分的计算时间为ON 1基准元素4与另一端待排第一个元素2进行比较满足非递减不需要交换 2基准元素4与另一端待排第一个元素8进行比较不满足非递减交换位置此时序列为(2,4,7,1,3, 5, 6, 8); 3基准元素4与另一端待排第一个元素6进行比较满足非递减不需要交换 4基准元素4与另一端待排第一个元素5进行比较满足非递减不需要交换 5基准元素4与另一端待排第一个元素3进行比较不满足非递减交换位置此时序列为(2,3,7,1, 4, 5, 6, 8) ; 6基准元素4与另一端待排第一个元素7进行比较不满足非递减交换位置此时序列为2,3,4,1,7, 5, 6, 8); 7基准元素4与另一端待排第一个元素1进行比较不满足非递减交换位置此时序列为(2,3,1,4,7,5,6,8)。 综上本题第一空选择C选项。 因为一趟划分的过程会与整个序列n个元素进行比较因此一趟划分的时间复杂度为O(n)第二空选择C选项。 2.对n个数排序最坏情况下时间复杂度最低的算法是 归并 排序算法。 其他选项在最坏情况下的时间复杂度都是On^2))只有C选项归并排序在最坏情况下时间复杂度仍然是Onlgn) 3.对于n个关键字进行堆排序最坏情况下的时间复杂度为O(nlgn) 。 任何情况下堆排序的时间复杂度O(nlog2n) 4.以下不稳定的排序算法是 希尔排序 。 5.对一组数据进行排序要求排序算法的时间复杂度为O(nlgn)且要求排序是稳定的则可采用归并排序算法。若要求排序算法的时间复杂度为O(nlgn)且在原数据上进行即空间复杂度为01则可采用堆排序算法。 6.下列算法中 直接插入排序 算法可能出现下列情况在最后一趟开始之前所有元素都不在最终位置上。 在直接插入排序中若待排序中的最后一个元素插入表的第一个位置则前面的有序子序列中的所有元素都不在最终位置上。 7.为实现快速排序算法待排序列适合采用顺序存储 。 这道题当成一个常识题。大多数内部排序算法都只适用于顺序存储。 8.将数组{112475}从小到大排序若采用插入排序算法则元素之间需要进行的比较次数最少共需要进行6次元素之间的比较。 9.对一待排序序列分别进行直接插入排序和简单选择排序若待排序序列中有两个元素的值相同则 直接插入排序 保证这两个元素在排序前后的相对位置不变。 直接插入排序是稳定的排序算法选择排序是不稳定的排序算法。 10.在某应用中需要先排序一组大规模的记录其关键字为整数。若这组记录的关键字基本上有序则适宜采用插入排序算法。若这组记录的关键字的取值均在0到9之间含则适宜采用计数排序算法。 插入排序中的希尔排序的基本思想是先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序待整个序列中的记录“基本有序”时再对全体记录进行依次直接插入排序。所以当数列基本有序时采用插入排序算法是比较合适的。 计数排序是一个非基于比较的排序算法该算法于1954年由Harold H.Seward提出。它的优势在于在对一定范围内的整数排序时它的复杂度为O(nk)其中k是整数的范围快于任何比较排序算法。 11.堆排序是一种选择排序m个元素进行堆排序时其时间复杂性为O(mlog2m) .堆排序是利用堆这一特殊的树形结构进行的选择排序它有效地改进了直接选择排序提高了算法的效率。堆排序的整个过程是构造初始堆将堆的根节点和最后一个节点交换重新调整成堆再交换再调整直到完成排序。其时间复杂度是O(nlog2n)。 12.下列排序算法中占用辅助存储空间最多的是 归并排序 。 归并排序需要n个空间 快速排序需要Ign个空间 堆排序需要1个空间 冒泡排序需要1个空间。 13.对于一个初始无序的关键字序列在下面的排序方法中②③④⑤ 第一趟排序结束后一定能将序列中的某个元素在最终有序序列中的位置确定下来。 ①直接插入排序②冒泡排序③简单选择排序④堆排序⑤快速排序⑥归并排序 直接插入排序是在有序序列中插入一个元素后保持序列有序。排序时在插入最后一个元素之前若待插入的元素小于有序序列的所有元素则有序序列的所有元素需后移因此在第一趟排序结束后不能保证将序列中的某个元素在最终有序序列中的位置确定下来。①不满足要求选择类排序每一轮会选择最值最大值或最小值)与第一个位置进行交换此时确定第一个元素位置。③④都满足要求。 冒泡排序每一轮会让最值相邻交换直至放到最终的位置②满足要求。 快速排序每一轮会根据基准元素划分左右数组此时基准元素的位置可以确定因此⑤也满足要求。 归并排序以二路归并排序为例是将两个有序子序列合并为一个有序序列第一趟处理的对象是若干个有序子序列归并后子序列个数会少一半但是还不能确定任何一个元素在最终序列中的位置。⑥不满足要求。 因此只有②③④⑤满足要求所以本题选择C选项。
操作系统
1.以下关于总线的叙述中不正确的是 。 单总线结构在一个总线上适应不同种类的设备设计简单且性能很高x 在单总线结构中CPU与主存之间、CPU与I/O设备之间、I/O设备与主存之间、各种设备之间都通过系统总线交换信息。单总线结构的优点是控制简单方便扩充方便。但由于所有设备部件均挂在单一总线上使这种结构只能分时工作即同一时刻只能在两个设备之间传送数据这就使系统总体数据传输的效率和速度受到限制这是单总线结构的主要缺点 2.化简我们再来看资源分配图如何化简化简的方法是先看系统还剩下多少资源没分配再看有哪些进程是不阻塞“不阻塞”即系统有足够的空闲资源分配给它)的接着把不阻塞的进程的所有边都去掉形成一个孤立的点再把系统分配给这个进程的资源回收回来这样系统剩余的空闲资源便多了起来接着又去看看剩下的进程有哪些是不阻塞的然后又把它们逐个变成孤立的点。最后所有的资源和进程都变成孤立的点。这样的图就叫做“可完全简化”。图中P3是不阻塞的故P3为化简图的开始把P3孤立再回收分配给他的资源可以看到P1也变为不阻塞节点了故P3、P1、P2是可以的。答案分别为C、B。 3.计算 内存按字节编址从B3000H到DABFFH的区域其存储容量为 。 DABFFH1-B3000H27C00H转换成10进行等于162816/1024159KB
存储管理
1.某文件管理系统在磁盘上建立了位示图bitmap)记录磁盘的使用情况。若磁盘上物理块的编号依次为0、1、2、……系统中的字长为32位位示图中字的编号依次为0、1、2、.每个字中的一个二进制位对应文件存储器上的一个物理块取值0和1分别表示物理块是空闲或占用。假设操作系统将2053号物理块分配给某文件那么该物理块的使用情况在位示图中编号为 64 的字中描述。 2053号物理块是第2054块物理块每一个字可以表示32个物理块的存储情况2054/3264.………6比64个字多6位因此此时应该排在第65个字从0号开始编号则为第64号字。 2.某操作系统采用分页存储管理方式下图给出了进程A和进程B的页表结构。如果物理页的大小为1K字节那么进程A中逻辑地址为1024十进制的变量存放在3号物理内存页中。 逻辑地址是逻辑页号页内地址都是用二进制来表示的页内地址是题目所给出的1K为2^10说明页内地址占用10位。 物理地址是物理页号页内地址(都是用二进制来表示的页内地址和逻辑地址的大小相同。 在这里逻辑地址是1024即2^10转换为2进制为10000000000。那么根据页内地址占10位剩余的1即是它的逻辑页号。查找页表1对应的物理页号是3所以选择B。 3.某计算机系统页面大小为4K进程的页面变换表如下所示。若进程的逻辑地址为2D16H。该地址经过变换后其物理地址应为 4D16H 。
页面大小为4K说明页内地址有12位所以16进制数中的D16H是页内地址逻辑页号则为2。查表可知物理块号为4所以物理地址为4D16H。 4.某字长为32位的计算机的文件管理系统采用位示图(bitmap)记录磁盘的使用情况。若磁盘的容量为300GB物理块的大小为1MB那么位示图的大小为 9600个字。 磁盘的容量为300GB物理块的大小为1MB则磁盘共300×1024/1个物理块字长为32位则位示图的大小为300×1024/32)9600个字。 5.虚拟存储管理系统的基础是程序的局部性理论这个理论的基本含义是指程序执行时往往会不均匀地访问主存储器单元。根据这个理论Denning提出了工作集理论。工作集是进程运行时被频繁访问的页面集合。在进程运行时如果它的工作集页面都在主存储器内能够使该进程有效地运行否则会出现频繁的页面调入/调出现象。 虚拟存储管理系统的基础是程序的局部性理论。这个理论的基本含义是指程序执行时往往会不均匀地访问内存储器即有些存储区被频繁访问有些则少有问津。程序的局部性表现在时间局部性和空间局部性上。时间局部性是指最近被访问的存储单元可能马上又要被访问。例如程序中的循环体一些计数变量累加变量堆栈等都具有时间局部性特点。空间局部性是指马上被访问的存储单元其相邻或附近单元也可能马上被访问。例如一段顺序执行的程序数组的顺序处理等都具有空间局部性特点。 根据程序的局部性理论Denning提出了工作集理论。工作集是指进程运行时被频繁访问的页面集合。显然在进程运行时如果能保证它的工作集页面都在主存储器内就会大大减少进程的缺页次数使进程高效地运行否则将会因某些工作页面不在内存而出现频繁的页面调入/调出现象造成系统性能急剧下降严重时会出现“抖动现象。 6.某系统采用请求页式存储管理方案假设某进程有6个页面系统给该进程分配了4个存储块其页面变换表如下表所示表中的状态位等于1和0分别表示页面在内存或不在内存。当该进程访问的第3号页面不在内存时应该淘汰表中页面号为 4 的页面。 访问位修改位00 01 10 11 请求页式存储管理方案中当访问的页面不在内存时需要置换页面最先置换访问位和修改位为00的其次是访问位和修改位为01的之后是访问位和修改位为10最后才置换访问位和修改位为11的。因此本题当该进程访问的页面3不在内存时应该淘汰表中页号为4的页面。 7.虚拟存储技术是指 补充内存逻辑空间的技术 。 虚拟存储技术并未实际扩充内存、外存而是采用相关技术相对地扩充主存。 8.下列关于虚拟存储器的叙述中正确的是 虚拟存储器只能基于非连续分配技术。 装入程序时只将程序的一部分装入内存而将其余部分留在外存就可以启动程序执行。采用连续分配方式时会使相当一部分内存空间都处于暂时或“永久”的空闲状态造成内存资源的严重浪费也无法从逻辑上扩大内存容量因此虚拟内存的实现只能建立在离散分配的内存管理的基础上。有以下3种方式实现请求分页存储管理、请求分段存储管理、请求段页式存储管理。虚拟存储器容量既不受外存容量限制又不受内存容量限制而是由CPU的寻址范围决定。选B。 9.在某计算机中假设某程序的COPY指令跨两个页面且源地址A和目标地址B所涉及的区域也跨两个页面如下图所示。 若地址为A和B的操作数均不在内存计算机执行COPY指令时系统将产生4次缺页中断若系统产生3次缺页中断那么该程序有3个页面在内存。 内存操作数指令要操作的数据存放在内存某些单元中指令中给出内存单元物理地址实际上指令只给出了偏移地址段地址采用隐含方式给出也可以使用跨段方式指出当前段地址 从图中可以看到程序的COPY指令跨两个页面且源地址A和目标地址B所涉及的区域也跨两个页面页内地址这时如果2、3、4和5号页面不在内存系统执行“COPYATO B”指令时取地址为A的操作数。由于该操作数不在内存且跨两个页面2、3,需要将2、3页面装入内存所以产生两次缺页中断。同理取地址为B的操作数由于该操作数不在内存且跨两个页面4和5需要将4和5页面装入内存所以产生两次缺页中断共产生4次缺页中断。故例题空1的正确答案为C。 同理如果1、2、3号页面不在内存系统执行“COPYATOB”指令时由于程序的COPY指令跨两个页面当取出指令分析是多字节的那么系统将产生一次缺页中断取指令的后半部分当取地址为A的操作数由于该操作数不在内存且跨两个页面2和3需要将2和3页面装入内存所以产生两次缺页中断共产生3次缺页中断。故例题空(2)的正确答案为B。 10.分页存储管理的存储保护是通过页表/页表寄存器 完成的。 页表是记录页在主存中位置信息和页属性信息的数据结构可以用于实现进程之间及进程与操作系统之间的地址空间隔离和存储访问保护。
设备管理
1.I/O设备管理软件一般分为4个层次如下图所示。图中①②③分别对应 与设备无关的系统软件、设备驱动程序、中断处理程序 。 与设备无关的系统软件、设备驱动程序、中断处理程序 2. 设备管理 是操作系统中最繁杂而且与硬件紧密相关的部分。 参考《软件设计师教程》第5版 P216 原话。 3.通道对 CPU 的请求形式是 中断 。 引入通道的目的是使数据的传输独立于CPU使CPU从烦琐的I/O工作中解脱出来。设置通道后CPU只需向通道发出I/O命令通道收到命令后从主存中取出本次I/O要执行的通道程序并执行仅当通道完成了I/O任务后才向CPU发出中断信号。 4.在设备管理中缓冲技术主要用于 提高设备利用率。 操作系统中以缓冲方式实现设备的输入/输出操作主要是缓解处理机与设备之间速度不匹配的矛盾并减少对CPU的I/O中断次数从而提高资源利用率和系统效率解决CPU与外部设备之间速度的不匹配。 5.磁盘机属于 存储型设备 。 磁盘机属于计算机中的存储设备通常用来存储大量的数据文件和操作系统等核心组件而不仅仅是用于输入输出。因此磁盘机是一种存储型设备。 6.当进程请求读磁盘时操作系统先进行移臂调度再进行旋转调度。假设磁盘每磁道有10个扇区移动臂位于18号柱面上且进程的请求序列如表1所示。那么最省时间的响应序列为⑥⑦⑧①⑤②③④ 磁盘调度分为移臂调度和旋转调度两类并且是先进行移臂调度然后再进行旋转调度。由于访问磁盘最耗时的是寻道时间因此磁盘调度的目标应是使磁盘的平均寻道时间最少。 为存取磁盘上的一个物理记录必须给出三个参数柱面号、磁头号盘面号和扇区号。磁盘机根据柱面号控制移动臂作径向运动带动读写头到达所需的柱面从磁头号可确定哪一个磁头来读写数据然后便等待访问的信息块旋转到读写头下时进行存取。 磁盘机实现这些功能的操作是查找将读写头定位到指定柱面并选择指定磁头、搜索指定磁头寻找访问的记录块、读、写和控制等。 当移动臂定位后有多个进程等待访问该柱面时应当如何决定这些进程的访问顺序这就是旋转调度要考虑的问题。显然系统应该选择延迟时间最短的进程执行。当有若干等待进程请求访问磁盘上的信息时旋转调度应考虑如下情况。 1进程请求访问的是同一磁道上的不同编号的扇区。 2进程请求访问的是不同磁道上的不同编号的扇区。 3进程请求访问的是不同磁道上具有相同编号的扇区。 对于1与2旋转调度总是让首先到达读写磁头位置下的扇区先进行传送操作对于3旋转调度可以任选一个读写碰头位置下的扇区进行传送操作。 选项A所花费的移动磁臂的总和为20-1820-2040-2040-1515-1515-1515-88-556。 选项B所花费的移动磁臂的总和为18-68-6-15-815-1515-1520-1520-2040-2046。 选项C所花费的移动磁臂的总和为18-1515-1515-1515-88-620-640-2040-2066。 选项D所花费的移动磁臂的总和为18-68-615-815-1515-1520-1520-2040-2046。 由于选项B和选项D的移臂总量都相等所以T要计算读写操作旋转延迟或等待时间所花费的时间但实际上只要计算相同柱面的即可。 选项B所花费的读写操作的时间15号柱面先访问的是请求序列①磁头8扇区9→请求序列⑤磁头8扇区4→请求序列⑧磁头10扇区420号柱面先访问的是请求序列②磁头6扇区3→请求序列③磁头9扇区6。需要旋转4圈才可完成。 选项D所花费的读写操作的时间15号柱面先访问的是请求序列⑧磁头10扇区4→请求序列①磁头8扇区9→请求序列⑤磁头8扇区420号柱面先访问的是请求序列②磁头6扇区3→请求序列③磁头9扇区6。需要旋转3圈才可完成。
文件管理
1.某文件系统采用索引节点管理其磁盘索引块和磁盘数据块大小均为1KB字节且每个文件索引节点有8个地址项iaddr[O]-iaddr[7]每个地址项大小为4字节其中iaddr[O]~iaddr[4]采用直接地址索引iaddr[5]和iaddr[6]采用一级间接地址索引iaddr[7]采用二级间接地址索引。若用户要访问文件userA中逻辑块号为4和5的信息则系统应分别采用直接地址访问和一级间接地址访问该文件系统可表示的单个文件最大长度是66053KB 每个索引盘大小为1KB地址项大小为4B故每个索引盘有1KB/4B256个索引。 一级间接索引有2个盘块共有512个索引对应512个逻辑盘块。 其中7号节点为二级间接索引共有256*25665536个索引对应65536个逻辑盘块。 单个文件最大为(551265536)*1KB66053KB。 2.某操作系统文件管理采用索引节点法。每个文件的索引节点有8个地址项每个地址项大小为4字节其中5个地址项为直接地址索引2个地址项是一级间接地址索引1个地址项是二级间接地址索引磁盘索引块和磁盘数据块大小均为1KB。若要访问文件的逻辑块号分别为1和518则系统应分别采用 直接地址索引和二级间接地址索引 。 每个物理块大小为1KB每个地址项大小为4B因此每个物理块可以对应地址项个数为1KB/4B256。 直接索引即索引直接指向物理块可以表示逻辑块号范围0-4号一级索引即索引节点指向的物理块用来存放地址项可以表示256个地址项即256个物理块可以表示逻辑地址块号范围5-260261-516号二级索引即索引节点指向的物理块存放的是一级索引的地址块地址一共有256个地址块用来存放一级索引每个块可以存放256个地址项共有256265536个地址项因此可以表示的逻辑块号范围517~66052号 3.在Linux中要更改一个文件的权限设置可使用chmod 命令。 修改linux文件权限命令chmod。 attrib指令用于修改文件的属性 Modify指最后一次修改数据的时间 chage命令可用来更改用户密码到期信息 4.下面关于Linux目录的描述中正确的是Linux中只有一个根目录用“/”表示 。 5.在Windows操作系统中当用户双击“IMG_20160122_103.jpg”文件名时系统会自动通过建立的 文件关联 来决定使用什么程序打开该图像文件。 当用户双击一个文件名时Windows系统通过建立的文件关联来决定使用什么程序打开该文件。例如系统建立了“记事本”或“写字板”程序打开扩展名为.TXT的文件关联那么当用户双击Wang.TXT文件时Windows先执行“记事本”或“写字板”程序然后打开Wang.TXT文件。
作业管理
1.下列 显示效果好 不是字符用户界面的优点。 参考《软件设计师教程》第5版 P238 原话。 2. 用户界面 是计算机中实现用户与计算机通信的软/硬件部分的总称。 参考《软件设计师教程》第5版 P238 原话。 3.作业在系统中存在与否的唯一标志是 作业控制块 。 所谓作业控制块JCB)是记录与该作业有关的各种信息的登记表。JCB是作业存在的唯一标志包括用户名、作业名和状态标志等信息。 4.作业调度的关键在于选择恰当的作业调度算法 。 作业调度是指计算机系统如何按照一定的算法从众多用户提交的作业中选出待执行的作业并为它们分配计算机系统的资源以执行。而选择合适的作业调度算法可以优化系统资源的利用效率提高系统的性能。因此选择恰当的作业调度算法是作业调度的关键。 5.
软件工程基础知识
快速原型模型不能节约开发成本。
软件过程模型
1.CMM是对软件组织 进化阶段的描述随着软件组织定义、实施、测量、控制和改进其软件过程软件组织的能力经过这些阶段逐步提高。 2.瀑布模型是以 文档 作为驱动、适合于软件需求很明确的软件项目的模型。 瀑布模型是以文档作为驱动的强调开发的每个阶段必须有明确的文档输出作为下一个阶段的输入。因此答案选A。 3.软件过程模型的基本概念软件过程是制作软件产品的一组活动以及结果这些活动主要由软件人员来完成软件活动主要有 1软件描述。必须定义软件功能以及使用的限制。 2软件开发。也就是软件的设计和实现软件工程人员制作出能满足描述的软件。 3软件有效性验证。软件必须经过严格的验证以保证能够满足客户的需求。 4软件进化。软件随着客户需求的变化不断地改进。瀑布模型的特点是因果关系紧密相连前一个阶段工作的结果是后一个阶段工作的输入。或者说每一个阶段都是建筑在前一个阶段正确结果之上前一个阶段的错漏会隐蔽地带到后一个阶段。这种错误有时甚至可能是灾难性的。因此每一个阶段工作完成后都要进行审查和确认这是非常重要的。历史上瀑布模型起到了重要作用它的出现有利于人员的组织管理有利于软件开发方法和工具的研究。 4. 很容易将客户需求划分为多个增量 不是增量式开发的优势。 5.以下关于增量开发模型的叙述中不正确的是有利于进行好的模块划分 。 在利用增量模型进行开发时如何进行模块的划分往往是难点所在而不是这种模型的优点。 6.以下关于增量模型的叙述中正确的是可以快速构造核心产品 。 每个增量必须要进行风险评估x 增量模型融合了瀑布模型的基本成分重复应用和原型实现的迭代特征该模型采用随着日程时间的进展而交错的线性序列每一个线性序列产生软件的一个可发布的“增量”。当使用增量模型时第1个增量往往是核心的产品即第1个增量实现了基本的需求但很多补充的特征还没有发布。客户对每一个增量的使用和评估都作为下一个增量发布的新特征和功能这个过程在每一个增量发布后不断重复直到产生了最终的完善产品。 7.以下关于系统原型的叙述中不正确的是 可以用来指导代码优化。 ①原型方法适用于用户需求不清、需求经常变化的情况可以帮助导出系统需求并验证需求的有效性 ②探索型原型的目的是弄清目标的要求确定所希望的特性并探讨多种方案的可行性可以用来探索特殊的软件解决方案 ③原型法能够迅速地开发出一个让用户看得见的系统框架可以用来支持用户界面设计。 原型法不能用来指导代码优化。 8.为了有效地捕获系统需求应采用 原型模型 。 V模型是瀑布模型的变种它说明测试活动是如何与分析和设计相联系的。 原型模型允许开发人员快速地构造整个系统或系统的一部分以理解或澄清问题。原型的用途是获知用户的真正需求因此原型模型可以有效地引发系统需求。 螺旋模型把开发活动和风险管理结合起来以将风险减到最小并控制风险。 9.软件开发模型是指软件开发全部过程、活动和任务的框架。原型模型 以软件产品的样品为基础通过用户与开发者双向沟通不断改进反复迭代逐步得到正式交付的软件产品。此模型适用于用户需求模糊或随时间变化的系统。 B原型模型以软件产品的样品原型为基础通过用户与开发者双向沟通不断改进反复迭代逐步得到正式交付的软件产品适用于用户需求模糊或随时间变化的系统。 C增量模型增量模型是把待开发的软件系统模块化将每个模块作为一个增量组件从而分批次地分析、设计、编码和测试这些增量组件。运用增量模型的软件开发过程是递增式的过程。相对于瀑布模型而言采用增量模型进行开发开发人员不需要一次性地把整个软件产品提交给用户而是可以分批次进行提交适合于需求不明确的项目。 D螺旋模型是瀑布模型原型模型的结合方式适合于大型复杂的项目并加入风险分析。 10.某开发小组欲开发一个超大规模软件使用通信卫星在订阅者中提供、监视和控制移动电话通信则最不适宜采用 瀑布 过程模型。 需要开发的是大型软件系统大型软件系统的需求往往难以在前期确定所以瀑布模型最不适合。 11.某公司计划开发一种产品技术含量很高与客户相关的风险也很多则最适于采用 螺旋模型 开发过程模型。 螺旋模型。综合了瀑布模型和原型模型中的演化模型的优点还增加了风险分析特别适用于庞大而复杂的、高风险的管理信息系统的开发。
需求分析
1.数据流图中某个加工的一组动作依赖于多个逻辑条件的取值则用 决策树 能够清楚地表示复杂的条件组合与应做的动作之间的对应关系。 ①结构化语言形式语言精确但不易被理解自然语言易理解但它不精确可能产生二义性。结构化语言取长补短它是在自然语言基础上加了一些限定使用有限的词汇和有限的语句来描述加工逻辑结构化语言是介于自然语言英语或汉语和形式化语言之间的一种半形式化语言。 ②程序流程图描述模块或程序执行过程的历史最久、流行最广的一种图形表示方法。 ③NS图是支持结构化程序设计方法而产生的一种描述工具。 ④决策树一种适合于描述加工中具有多个策略且每个策略和若干条件有关的逻辑功能的图形工具。 2.某航空公司拟开发一个机票预订系统旅客预订机票时使用信用卡付款。付款通过信用卡公司的信用卡管理系统提供的接口实现。若采用数据流图建立需求模型则信用卡管理系统是 外部实体 。 3.结构化分析方法中数据流图中的元素在 数据字典 中进行定义。 4.某零件厂商的信息系统中一个基本加工根据客户类型、订单金额、客户信用等信息的不同采取不同的行为此时最适宜采用判定表 来描述该加工规格说明。 判定表对于有大量判断的加工能很清楚地进行分解。 自然语言和其他程序设计语言是在实现过程中应用。 流程图是在描述流程时使用在描述加工时不适用。 5.以下关于需求陈述的描述中 在良好的需求陈述中所有需求都应被视为同等重要 是不正确的。 需求是应该分优先等级的不能把所有需求都视为同等重要。 6.某企业财务系统的需求中属于功能需求的是 每个月特定的时间发放员工工资√ 每个月特定的时间发放员工工资× 系统的计算精度符合财务规则的要求× 系统可以允许100个用户同时查询自己的工资× 。 7.软件开发过程中需求分析阶段的输出不包括软件体系结构图 。 其他三项均为需求分析阶段确定。软件体系结构图是设计阶段的产物。
系统设计
1.已知模块A给模块B传递数据结构X则这两个模块的耦合类型为 标记耦合 。 数据耦合一个模块访问另一个模块时彼此之间是通过简单数据参数不是控制参数、公共数据结构或外部变量来交换输入、输出信息的。 公共耦合若一组模块都访问同一个公共数据环境则它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。 外部耦合一组模块都访问同一全局简单变量而不是同一全局数据结构而且不是通过参数表传递该全局变量的信息则称之为外部耦合。 标记耦合一组模块通过参数表传递记录信息就是标记耦合。这个记录是某一数据结构的子结构而不是简单变量。本题描述的是标记耦合。 2.以下关于模块化设计的叙述中不正确的是 模块的控制范围在其作用范围内 。 B应该是模块的作用范围应在控制范围之内。 3.耦合是模块之间的相对独立性互相连接的紧密程度的度量。耦合程度不取决于 模块提供的功能数 。 本题考查软件设计的相关知识。耦合性也叫块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密其耦合性就越强模块之间越独立则越差模块间耦合的高低取决于模块间接口的复杂性调用的方式以及传递的信息。 4.模块A、B和C有相同的程序块块内的语句之间没有任何联系现把该程序块取出来形成新的模块D则模块D的内聚类型为 巧合内聚就是偶然内聚。偶然内聚由于内容都是不相关的所以必然导致它与外界多个模块有关联这也使得模块间的耦合度增加。 5.某模块中有两个处理A和B分别对数据结构X写数据和读数据则该模块的内聚类型为 通信 内聚。 如果一个模块的所有成分都操作同一数据集或生成同一数据集则称为通信内聚。本题为通信内聚。 逻辑聚合:模块内部的各个组成在逻辑上具有相似的处理动作但功能用途上彼此无关。 过程聚合模块内部各个组成部分所要完成的动作虽然没有关系但必须按特定的次序执行。 内容耦合一个模块需要涉及另一个模块的内部信息。 6.某模块实现两个功能向某个数据结构区域写数据和从该区域读数据。该模块的内聚类型为通信 内聚。 7.以下关于软件设计原则的叙述中不正确的是 模块规模越小越好 。 软件设计原则始终强调高内聚、低耦合的设计原则。 具体包括 ①保持模块的大小适中C选项错误模块规模越小越好 ②尽可能减少调用的深度A、B选项正确将系统划分为相对独立的模块、将系统划分为相对独立的模块 ③多扇入少扇出。D选项正确模块的扇入系数和扇出系数合理 ④单入口单出口 ⑤模块的作用域应该在模块之内 ⑥功能应该是可以被预测的。 8.优化模块结构时只根据模块功能确定规模大小 不是适当的处理方法。 不能只看模块本身功能还要看模块之间的关系确定规模大小。 模块的独立性要强模块的大小的设计不能过大也不能过小设计的出发点应是保证功能划分的合理性。 9. 提高系统的运行效率 不是采用MVC模型-视图-控制器体系结构进行软件系统开发的优点。 MVC是分层架构风格的一种采用关注点分离的方针将可视化界面呈现View、UI处理逻辑Controller和业务逻辑Model三者分离出来并且利用合理的交互方针将它们之间的依赖降至最低。解耦之后有利于代码重用、提高系统的可维护性也可提高系统的开发效率但是由于分层之后调用也需要分层调用所以不能提高系统的运行效率。 10.模块A、B和C都包含相同的5个语句这些语句之间没有联系。为了避免重复把这5个语句抽取出来组成一个模块D则模块D的内聚类型为 巧合内聚。 偶然内聚(巧合内聚)完成一组没有关系或松散关系的任务。 11.在设计软件的模块结构时模块的功能越单纯越好 不能改进设计质量。 12.模块A直接访问模块B的内部数据则模块A和模块B的耦合类型为 内容耦合 。 耦合是指两个或两个以上的模块相互依赖于对方的一个量度。它可以分为非直接耦合、数据耦合、标记耦合、控制耦合、外部耦合、公共耦合及内容耦合等。 当一个模块直接修改或操作另一个模块的数据或者直接转入另一个模块时就发生了内容耦合。所以本题的答案选D。 13.结构化开发方法中 过程设计 主要包含对数据结构和算法的设计。 数据结构跟算法是系统的基础是过程设计确定的任务。 体系结构设计定义软件系统各主要部件之间的关系。 数据设计基于E-R图确定软件涉及的文件系统的结构及数据库的表结构。 接口设计人机界面设计软件内部软件和操作系统间以及软件和人之间如何通信。 过程设计系统结构部件转换成软件的过程描述。确定软件各个组成部分内的算法及内部数据结构并选定某种过程的表达形式来描述各种算法。 14.在进行子系统结构设计时需要确定划分后的子系统模块结构并画出模块结构图。该过程不需要考虑 每个子系统采用何种数据结构和核心算法 。 系统模块结构设计的任务是确定划分后的子系统的模块结构并画出模块结构图这个过程中必须考虑这样几个问题:每个子系统如何划分成若干个模块如何确定子系统之间、模块之间传送的数据及其调用关系如何评价并改进模块结构的质量如何从数据流图导出模块结构图。
系统测试
1.系统测试 本题考查软件测试的相关知识。判定覆盖是设计足够多的测试用例使得程序中的每一个判断至少获得一次“真”和一次“假”即使得程序流程图中的每一个真假分支至少被执行一次。根据题意只需2个测试用例即可根据环路复杂度的计算公式VGm-n211-1023。 2.对下图所示的程序流程图进行语句覆盖测试和路径覆盖测试至少需要个测试用例。采用McCabe度量法计算其环路复杂度为 语句覆盖。被测程序的每个语句至少执行一次。是一种很弱的覆盖标准。 路径覆盖。覆盖所有可能的路径。图中不同的路径共有4条 要满足语句覆盖的要求只需要覆盖两条路径就能达到所以语句覆盖2个用例即可。路径覆盖需要把程序中的4条路径均覆盖一遍需要4个用例。 McCabe度量法先画出程序图然后采用公式V(G)m-n2计算环路复杂度其中m是有向弧的数量n是结点的数量。 整个程序流程图转化为结点图之后一共11个结点13条边根据环路复杂度公式有13-1124。 3.
三明治方式这种策略的优点是自顶向下与自底向上两种方式优点的综合。所以可以较早地验证了主要的控制和判断点且较早地验证底层模块。同时由于可以两端向中间发展所以效率也是比较高的且运用一定的技巧能够减少了桩模块和驱动模块的开发。所以本题的问题本身存在不严谨的现象。在选择答案时由于“较少的驱动模块和桩模块的编写工作量”条款需要运用一定技巧并非一定会减少所以选其相对更合适。 4.自底向上的集成测试策略的优点包括 不需要写桩程序 。 自顶向下集成 优点较早地验证了主要控制和判断点按深度优先可以首先实现和验证一个完整的软件功能功能较早证实带来信心只需一个驱动减少驱动器开发的费用支持故障隔离。 缺点柱的开发量大底层验证被推迟底层组件测试不充分。 适应于产品控制结构比较清晰和稳定高层接口变化较小底层接囗未定义或经常可能被修改产品的主要控制组件具有较大的技术风险需要尽早被验证希望尽早能看到产品的系统功能行为。 自底向上集成 优点对底层组件行为较早验证工作最初可以并行集成比自顶向下效率高减少了桩的工作量支持故障隔离。 缺点驱动的开发工作量大对高层的验证被推迟设计上的错误不能被及时发现。 适应于底层接囗比较稳定高层接囗变化比较频繁底层组件较早被完成。 5.采用白盒测试方法对下图进行测试设计了4个测试用例①(×0,y3),②(x1,y2),③(x-1,y2),④x3y1。至少需要测试用例①②才能完成语句覆盖至少需要测试用例①②③或①②④才能完成路径覆盖。 语句覆盖Statement Coverage又称行覆盖LineCoverage段覆盖Segment Coverage基本块覆盖Basic Block Coverage这是最常用也是最常见的一种覆盖方式就是度量被测代码中每个可执行语句是否被执行到了只管覆盖代码中的执行语句却不考虑各种分支的组合等等。 路径覆盖的含义是选取足够多的测试数据使程序的每条可能路径都至少执行一次如果程序图中有环则要求每个环至少经过一次。 6.某商场的销售系统所使用的信用卡公司信息系统的数据格式发生了更改因此对该销售系统进行的修改属于 适应性 维护。 在系统运行过程中软件需要维护的原因是多样的根据维护的原因不同可以将软件维护分为以下四种 1改正性维护。为了识别和纠正软件错误、改正软件性能上的缺陷、排除实施中的错误使用应当进行的诊断和改正错误的过程就称为改正性维护。 2适应性维护。在使用过程中外部环境新的硬、软件配置、数据环境数据库、数据格式、数据输入/输出方式、数据存储介质可能发生变化。为使软件适应这种变化而去修改软件的过程就称为适应性维护。 3改善性维护。在软件的使用过程中用户往往会对软件提出新的功能与性能要求。为了满足这些要求需要修改或再开发软件以扩充软件功能、增强软件性能、改进加工效率、提高软件的可维护性。这种情况下进行的维护活动称为改善性维护。 4预防性维护。这是指预先提高软件的可维护性、可靠性等为以后进一步改进软件打下良好基础。 7.一个功能模块M1中的函数F1有一个参数需要接收指向整型的指针但是在功能模块M2中调用F1时传递了一个整型值在软件测试中 M1和M2的集成测试 最可能测出这一问题。 单元测试侧重于模块中的内部处理逻辑和数据结构所有模块都通过了测试之后把模块集成起来仍可能会出现穿越模块的数据丢失、模块之间的相互影响等问题因此需要模块按系统设计说明书的要求组合起来进行测试即集成测试以发现模块之间协作的问题。 一个功能模块MI中的函数F1有一个参数需要接收指向整型的指针但是在功能模决M2中调用F1时传递了一个整型值这种模块之间传递参数的错误在集成测试中最可能测试出来。 8.以下关于测试的叙述中正确的是 白盒测试技术中路径覆盖法往往能比语句覆盖法发现更多的错误 。 一个高效的测试是指用少量的测试用例发现被测软件尽可能多的错误。软件测试不能说明软件中不存在错误不能用穷举法来进行测试。A选项错误。 经验表明测试中存在集群规律即未发现的错误数量与已发现的错误数量成正比已发现的错误数量越多则该模块未被发现的错误也就越多。B选项错误。 软件测试的目的就是在软件投入生产性运行之前尽可能多地发现软件产品主要是指程序中的错误和缺陷。C选项错误。 D选项的描述是正确的白盒测试中语句覆盖是覆盖度最弱的所以路径覆盖往往能比语句覆盖发现更多的错误。 9. 全局数据结构 不是单元测试主要检查的内容。 单元测试测试以下内容:模块接囗局部数据结构执行路径错误处理和边界。 在单元测试开始时应该对通过所有被测模块的数据流进行测试。 ①输入参数是否与形式参数是否一致。 ②调用模块的实参与被调用模块形参是否一致。 ③全局变量在各模块中的定义和用法是否一致 ④外部输入、输出等等。 10.在改正当前故障的同时可能会引入新的故障这时需要进行 回归测试 。 功能测试检查软件是否能实现需求中指定的那些功能。性能测试是测试软件的安全性、精确性、速度和可靠性。回归测试用于识别在改正当前故障的同时可能会引入新的故障。验收测试是客户对系统进行测试以验证软件系统是否符合他们对需求的理解。 11.以下关于软件测试的叙述中不正确的是 软件测试的目的是证明软件的正确性 。 软件测试的目的是发现更多的错误而不是证明软件的正确性。 12.软件调试的任务就是根据测试时所发现的错误找出原因和具体的位置进行改正。其常用的方法中 归纳法 是指从测试所暴露的问题出发收集所有正确或不正确的数据分析它们之间的关系提出假想的错误原因用这些数据来证明或反驳从而查出错误所在。 归纳法是指从测试所暴露的问题出发收集所有正确或不正确的数据分析它们之间的关系提出假想的错误原因用这些数据来证明或反驳从而查出错误所在。 13.
运行和维护
1.以下关于软件可维护性的叙述中不正确的是“可维护性 不受软件开发文档的影响 ”。 软件交付给用户使用后到软件报废之前都属于软件维护阶段。软件系统的可维护性可以定义为维护人员理解、改正、改动和改进该软件的难易程度。提供软件可维护性是开发软件系统所有步骤的关键目的是衡量软件质量的一种重要特性可以从可理解性、可靠性、可测试性、可行性、可移植性等方面进行度量。良好的软件开发文档可以有效地提高软件的可维护性。 2.软件交付给用户之后进入维护阶段根据维护具体内容的不同将维护分为不同的类型其中“采用专用的程序模块对文件或数据中的记录进行增加、修改和删除等操作的维护属于 数据维护 。 数据维护工作主要是由数据库管理员来负责主要负责数据库的安全性和完整性以及进行并发性控制。数据库管理员还要负责维护数据库中的数据当数据库中的数据类型、长度等发生变化时或者需要添加某个数据项、数据库时要负责修改相关的数据库、数据字典并通知有关人员。 本题中“采用专用的程序模块”是方法“对文件或数据中的记录进行增加、修改和删除等操作”是目的因此是数据维护。 3.软件的维护并不只是修正错误。为了满足用户提出的增加新功能、修改现有功能以及一般性的改进要求和建议需要进行①完善性维护它是软件维护工作的主要部分软件测试不可能揭露旧系统中所有潜在的错误所以这些程序在使用过程中还可能发生错误诊断和更正这些错误的过程称为②改正性维护为了改进软件未来的可维护性或可靠性或者为了给未来的改进提供更好的基础而对软件进行修改这类活动称为③预防性维护。 4.软件维护工具不包括 配置管理工具。 本题考查软件开发和维护的基础知识。辅助软件维护过程中的活动的软件称为“软件维护工具”它辅助维护人员对软件代码及其文档进行各种维护活动。软件维护工具主要有1、版本控制工具2、文档分析工具3、开发信息库工具4、逆向工程工具5、再工程工具6、配置管理支持工具。 逆向工程是在软件维护时由于缺少文档资料而对软件的一种分析。 5.
软件项目管理
1.基于构件的开发模型包括软件的需求分析定义体系结构设计、构件库建立、应用软件构建以及测试和发布5个顺序执行的阶段。 基于构件的开发模型利用模块化方法将整个系统模块化并在一定构件模型的支持下复用构件库中的一个或多个软件构件通过组合手段高效率、高质量地构造应用软件系统的过程。基于构件的开发模型融合了螺旋模型的许多特征本质上是演化形的开发过程是迭代的。基于构件的开发模型由软件的需求分析定义、体系结构设计、构件库建立、应用软件构建以及测试和发布5个阶段组成。 2.以下关于风险管理的叙述中不正确的是 同时管理所有的风险 。 在项目中需要承认风险是客观存在的不可能完全避免也不可能同时管理所有的风险。风险管理应该贯穿整个项目管理过程而风险计划本身在应对风险的同时也可能会带来新的风险。 3.下图是一个软件项目的活动图其中顶点表示项目里程碑连接顶点的边表示包含的活动边上的数字表示完成该活动所需要的天数。则关键路径长度为58若在实际项目进展中。在其他活动都能正常进行的前提下活动C-F一旦逾期就会影响项目的进度。 关键路径是网络活动图中耗时最长的路径在本题中是ACFIJ活动C→F位于关键路径上一旦逾期就会影响项目的进度。 4.
软件质量和软件度量
1.软件可靠性 是指一个系统在给定时间间隔内和给定条件下无失效运行的概率。 软件可靠性指的是一个系统对于给定的时间间隔内、在给定条件下无失效运作的概率。软件可用性使之在给定的时间点上一个软件系统能够按照规格说明正确运行的概率。软件可维护性是在给定的使用条件下在规定的时间间隔内使用规定的过程和资源完成维护活动的概率。 2.软件产品的可靠性并不取决于 软件产品的开发方式 。 软件可靠性指的是一个系统对于给定的时间间隔内、在给定条件下无失效运作的概率。根据定义软件可靠性与软件的潜在错误的数量、位置有关与软件产品的使用方式有关而软件产品的开发方式不决定软件产品的可靠性。 3.在ISO/IEC软件质量模型中易使用性的子特性不包括 易分析性 。 4.系统可维护性的评价指标不包括 可移植性 。 系统的可维护性的评价指标包括可理解性、可测试性、可修改性。 可理解性指别人能理解系统的结构、界面、功能和内部过程的难易程度。模块化、详细设计文档、结构化设计和良好的高级程序设计语言等都有助于提高可理解性。 可测试性诊断和测试的容易程度取决于易理解的程度。 可修改性诊断和测试的容易程度与系统设计所制定的设计原则有直接关系。模块的耦合、内聚、作用范围与控制范围的关系等都对可修改性有影响。 5. 功能与模块之间的对应关系 不属于软件设计质量评审。 6.软件质量保证是软件项目控制的重要手段 软件评审 是软件质量保证的主要活动之一。 软件质量保证是软件质量管理的重要组成部分。软件质量保证主要是从软件产品的过程规范性角度来保证软件的品质。其主要活动包括质量审计包括软件评审和过程分析。 7.在ISO/IEC9126软件质量模型中软件质量特性 功能性包含质量子特性安全性。 ISO/IEC9126软件质量模型该模型的质量特性和质量子特性如下 功能性适合性、准确性、互用性、依从性、安全性 可靠性成熟性、容错性、易恢复性 易使用性易理解性、易学性、易操作性 效率时间特性、资源特性 可维护性(易分析性、易改变性、稳定性、易测试性 可移植性适应性、易安装性、一致性、易替换性。 安全性是功能特性的子特性。
面向对象设计 1.抽象类abstract 抽象类必须包含抽象方法如果一个类包含抽象方法那么该类必须是抽象类该类必须使用abstract关键字修饰。 抽象的使用 **继承抽象类的子类必须重写父类所有的抽象方法。**否则该子类也必须声明为抽象类。最终必须有子类实现该父类的抽象方法否则从最初的父类到最终的子类都不能创建对象失去意义。 如果一个类继承了抽象类则必须实现该抽象类的所有抽象方法除非子类本身也是抽象类 2.结合UML 类图中属性定义#代表protected表示public-表示private 3.抽象接口
面向对象基础
1.开-闭原则Open-Closed Principle,OCP是面向对象的可复用设计的基石。开-闭原则是指一个软件实体应当对扩展开放对修改关闭里氏代换原则Liskov Substitution Principle,LSP是指任何基类对象可以出现的地方子类对象一定可以出现。依赖倒转原则(Dependence Inversion Principle,DIP)就是要依赖于抽象而不依赖于实现或者说要针对接口编程不要针对实现编程。 2.在面向对象技术中对象具有以下特性 ①②④ 。 ①清晰的边界②良好定义的行为③确定的位置和数量④可扩展性 在面向对象技术中对象是类的一个实例它的特性主要包括清晰的边界、良好定义的行为和可扩展性。 3.以下关于封装在软件复用中所充当的角色的叙述正确的是 封装使得其他开发人员不需要知道一个软件组件内部如何工作 。 封装是面向对象技术的三大特点之一封装的目的是使对象的定义和实现分离这样就能减少耦合。封装可以使得其他开发人员不需要知道一个软件组件内部是如何工作的只需要使用该组件提供的接口来完成交互即可如果在另外一个地方需要完成同样的功能我们就可以将该组件使用在另外一个地方这样提供了软件的复用性。 4.采用面向对象开发方法时对象是系统运行时基本实体。以下关于对象的叙述中正确的是 对象通常由对象名、属性和操作三个部分组成 。 对象通常由对象名、属性和操作三个部分组成对象不一定都有相同的属性和行为。 5.不同的对象收到同一消息可以产生完全不同的结果这一现象叫做多态。绑定是一个把过程调用和响应调用所需要执行的代码加以结合的过程。在一般的程序设计语言中绑定在编译时进行叫做静态绑定而动态绑定则在运行时进行即一个给定的过程调用和执行代码的结合直到调用发生时才进行。
在收到消息时对象要予以响应。不同的对象收到同一消息可以产生完全不同的结果这一现象叫做多态(polymorphism)。在使用多态的时候用户可以发送一个通用的消息而实现的细节则由接收对象自行决定。这样同一消息就可以调用不同的方法。绑定是一个把过程调用和响应调用所需要执行的代码加以结合的过程。在一般的程序设计语言中绑定是在编译时进行的叫做静态绑定。动态绑定则是在运行时进行的因此一个给定的过程调用和代码的结合直到调用发生时才进行。 动态绑定是和类的继承以及多态相联系的。在继承关系中子类是父类的一个特例所以父类对象可以出现的地方子类对象也可以出现。因此在运行过程中当一个对象发送消息请求服务时要根据接收对象的具体情况将请求的操作与实现的方法进行连接即动态绑定。 6.以下关于面向对象方法中继承的叙述中错误的是 继承仅仅允许单重继承即不允许一个子类有多个父类 。 面向对象技术中继承是父类和子类之间共享数据和方法的机制。这是类之间的一种关系在定义和实现一个类的时候可以在一个已经存在的类的基础上来进行把这个已经存在的类所定义的内容作为自己的内容并加入若干新的内容。可以存在多重继承的概念但不同的程序设计语言可以有自己的规定。目前多种面向对象开发语言中软件设计师考试中涉及的JAVA只支持单重继承也就是1个父类而C支持多种继承允许子类有多个父类所以本题错误说法选择D选项。 继承关系一般只能继承父类公有的属性和方法不能继承父类私有的属性和方法。但是在实际运行过程中私有属性和方法也有继承只是不能访问所以是看不到的。因此C选项的说法是正确的。 7.以下关于面向对象设计的叙述中错误的是 面向对象设计应在面向对象分析之前因为只有产生了设计结果才可对其进行分析 。 面向对象分析与设计是面向对象软件开发过程中的两个重要阶段面向对象分析产生分析模型该分析模型可以使用UML表达面向对象设计以分析模型为基础。继续对分析模型进行精化得到设计模型其表达仍然可以采用UML建模语言。
UML
1.面向对象技术中组合关系表示整体与其部分之间的一种关系 。 在面向对象技术中组合描述的是整体与部分的关系组合关系中整体与部分的生命周期一致。比如公司与部门就是一种组合关系公司不存在了部门自然就不存在了。 2.认识组件图
如图所示为组件图。组件图或构件图专注于系统的静态实现视图。它与类图相关通常把构件映射为一个或多个类、接囗或协作。UML部署图经常被认为是一个网络图。 3.下图①②③④所示是UML类图。现有场景一名医生Doctor可以治疗多位病人(Patient)一位病人可以由多名医生治疗一名医生可能多次治疗同一位病人。要记录哪名医生治疗哪位病人时需要存储治疗(Treatment)的日期和时间。以下①②③④中①是描述此的场景。 类图(class diagram)展现了一组对象、接口、协作和它们之间的关系。在面向对象系统的建模中所建立的最常见的图就是类图。类图给出系统的静态设计视图。 4.下图所示UML图为序列图用于展示系统中一个用例和多个对象的行为。
顺序图sequence diagram,序列图。顺序图是一种交互图(interaction diagram)交互图展现了一种交互它由一组对象或参与者以及它们之间可能发送的消息构成。交互图专注于系统的动态视图。顺序图是强调消息的时间次序的交互图。 本题图示为序列图。序列图展示了1个用例和多个对象的行为。 用例图是用户与系统交互的最简表示形式展现用户和与他相关的用例之间的关系。 活动图本质上是一种流程图它描述活动的序列即系统从一个活动到另一个活动的控制流 交互图是描述对象之间的关系以及对象之间的信息传递的图。序列图时序图、协作图通信图、交互概览图统称交互图。 5.如果要表示待开发软件系统中软件组件和硬件之间的物理关系通常采用UML中的部署图 。 组件图也就是构件图描述一组构件之间的组织和依赖专注于系统的静态实现视图。 部署图描述对运行时的处理节点及在其中生存的构件的配置。部署图给出了架构的静态部署视图通常一个节点包含一个或多个部署图。 而本题中描述的是待开发软件系统中软件组件和硬件之间的物理关系描述的正是软件在硬件中的部署是部署图。 6.UML图中一张交互图显示一个交互。由一组对象及其之间的关系组成包含它们之间可能传递的消息。 对象图 不是交互图。 对象图object diagram)。对象图描述一组对象及它们之间的关系。对象图描述了在类图中所建立的事物实例的静态快照。和类图一样这些图给出系统的静态设计视图或静态进程视图但它们是从真实案例或原型案例的角度建立的。 交互图由一组对象和它们之间的关系构成其中包括需要什么对象对象相互之间发送什么消息什么角色启动消息以及消息按什么顺序发送。交互图的分类交互图主要分为这两种顺序图和协作图。对象图不是交互图的一种。
设计模式
创建型单抽原建厂 结构型外桥组元代配饰 行为型观模迭策责令解访介忘态 1.下图所示为观察者Observer模式的抽象示意图其中subject知道其观察者可以有任何多个观察者观察同一个目标提供注册和删除观察者对象的接口。此模式体现的最主要的特征是使所要交互的对象尽量松耦合 Subject目标知道它的观察者可以有任何多个观察者观察同一个目标提供注册和删除观察者对象的接口。 Observer观察者定义一个更新接口在一个被观察对象改变时应被通知。 Concrete Subject具体被观察对象存储具体观察者Concrete Observer有兴趣的状态。当其状态改变时发送一个通知给其所有的观察者对象。 Concrete Observer具体观察者维护一个对Concrete Subject对象的引用。 观察者模式的最主要特征是使所要交互的对象尽量松耦合。 2.观察者设计模式允许一个对象在其状态改变时通知依赖它的所有对象。该设计模式的类图如下图其中ConcreteSubject在其状态发生改变时向它的各个观察者发出通知。 观察者模式的意图是定义对象间的一种一对多的依赖关系当一个对象的状态发生改变时所有依赖于它的对象都得到通知并被自动更新。 在观察者模式类图中 Subject是抽象的被观察对象了解其多个观察者任意数量的观察者可以观察一个对象提供一个接囗用来绑定以及分离观察者对象。 Concrete Subject是具体被观察对象存储具体观察者Concrete Observer有兴趣的状态。当其状态改变时发送一个通知给其所有的观察者对象。 Observer是抽象的观察者定义一个更新接口在一个被观察对象改变时应被通知。 Concrete Observer是具体观察者维护一个对Concrete Subject对象的引用。 3.如下UML类图表示的是抽象工厂设计模式。以下关于该设计模式的叙述中错误是可应用于希望使用已经存在的类但其接不符合需求的时候 题中的类图是抽象工厂设计模式该设计模式的意图是提供一个创建一系列相关或相互依赖对象的接囗而无需指定它们具体的类。使用抽象工厂设计模式的常见情形是一个系统要独立于其产品的创建、组合和表示时一个系统要由多个产品系列中的一个来配置时当需要强调一系列相关的产品对象的设计以便进行联合使用时当提供一个产品类库而只想显示它们的接囗不是实现时。对于希望使用已经存在的类但其接口不符合需求的情形应当考虑适配器设计模式。 4.在发布-订阅Publish-Subscibe消息模式中订阅者订阅一个主题后当该主题有新消息到达时所有订阅者都会收到通知。 观察者Observer 设计模式最适合之一模式。 观察者模式有时又被称为发布-订阅Subscribe模式、模型-视图View模式、源-收听者Listener模式或从属者模式是软件设计模式的一种。在此种模式中一个目标物件管理所有相依于它的观察者物件并且在它本身的状态改变时主动发出通知。这通常通过呼叫各观察者所提供的方法来实现。此种模式通常被用来实作事件处理系统。 适配器模式(有时候也称包装样式或者包装)将一个类的接囗适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起做法是将类自己的接囗包裹在一个已存在的类中。 状态模式当一个对象的内在状态改变时允许改变其行为这个对象看起来像是改变了其类。 5. 策略strategy设计模式定义一系列算法把它们一个个封装起来并且使它们可相互替换。这一模式使得算法可独立于它的客户而变化。 B选项抽象工厂模式(Abstract Factory)提供一个接囗可以创建一系列相关或相互依赖的对象而无需指定它们具体的类。 6.设计模式根据目的进行分类可以分为创建型、结构型和行为型三种。其中结构型模式用于处理类和对象的组合。 适配器adapter 模式是一种结构型模式。 常见的创建型模式主要有工厂方法Factory Method、抽象工厂Abstract Factory、单例Singleton、构建器Builder、原型Prototype模式 结构型模式有适配器Adapter、组合Composite、装饰Decorator、代理Proxy、享元Flyweight、外观Façade、桥接(Bridge模式行为型模式有策略Strategy、模板方法Template Method、迭代器Iterator、责任链Chain of Responsibility、命令Command、备忘录Memento、状态State、访问者Visitor、解释器(Interpreter、中介者Observer模式。
算法设计与分析
基本概念
1.在进行算法选择时应优先选择哪些算法 简单易理解、正确可靠的算法 2.从基本概念上看算法分析是指对一个算法所需要的资源进行估算这些资源包括内存、通信带宽、计算机硬件和时间等所需要的资源越多该算法的复杂度就越高。√ 参考《软件设计师教程》第5版p417原文。 3.下列关于流程图的描述 流程图直观易懂 是正确的。 流程图其优点是直观易懂缺点是严密性不如程序设计语言灵活性不如自然语言。 4.常用的表示算法的方法中 自然语言方法最容易理解但容易出现二义性。 5.一个算法有零个或多个输出这些输出是同输入有着某些特定关系的量。× 一个或多个输出。输入是零个或多个。
算法分析基础 1.用主方法求递归式T(n)T(2n/3)1的解是 。 主方法求解递归式 在分析递归的算法时主方法可以较快的计算出算法的时间复杂度 主方法可以用于满足以下形式的递归式。 两种情况讨论
其中a1b1 2. 展开 法是将递归式中等式右边的项根据递归式进行替换。 展开法将递归式中等式右边的项根据递归式进行替换称为展开。展开后的项被再次展开如此下去直到得到一个求和表达式得到结果。 3.以下哪项是进行算法时间复杂度分析时一般不涉及的情况? 最佳情况 最佳情况使算法执行时间最少的输入。一般情况下不进行算法在最佳情况下的时间复杂度分析。应用最佳情况分析的一个例子是已经证明基于比较的排序算法的时间复杂度下限为sQ(nlgn)那么就不需要白费力气去想方设法将该类算法改进为线性时间复杂度的算法。 4.已知算法A的运行时间函数为T(n)8T(n/2)n²其中n表示问题的规模另已知算法B的运行时间函数为T(n)XT(n/4)n^2其中n表示问题的规模。对充分大的n若要算法B比算法A快则X的最大值为63 。 5.求a的最大整数 对算法A进行简单的化简令nn/2我们可以得到算法A的Tn)49T(n/4)11/4n^2;而算法B的Tn)aTn/4)n ^2而根据渐进的规则算法A的时间复杂度应该为49T(n/4)而算法B的时间复杂度应该为aT(n/4)因此a的取值应该要小于49本题只有A选项符合。 6.求和
分治法
1.排序算法的稳定性是指将待排序列排序后能确保排序码中的相对位置保持不变。 冒泡排序 是稳定的排序算法。 2.归并排序算法在排序过程中将待排序数组分为两个大小相同的子数组分别对两个子数组采用归并排序算法进行排序排好序的两个子数组采用时间复杂度为O(n)的过程合并为一个大数组。根据上述描述归并排序算法采用了分治算法设计策略。归并排序算法的最好和最坏情况下的时间复杂度为Θnlgn和Θnlgn 归并排序(Merge Sort)是建立在归并操作上的一种有效稳定的排序算法该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并得到完全有序的序列即先使每个子序列有序再使子序列段间有序。若将两个有序表合并成一个有序表称为二路归并。归并排序是运用分治法相关策略其时间复杂度是由外层的n循环与内层的归并过程log2 ^n结合起来得到Θ(nlgn)所以答案选A。 3.递归算法的执行过程一般来说可先后分成 递推和回归 两个阶段。 4.一般来说分治算法在每一层递归上都有 3 个步骤。 1分解。将原问题分解成一系列子问题。 2求解。递归地求解各子问题。若子问题足够小则直接求解。 3合并。将子问题的解合并成原问题的解。 5.递归的两个基本要素是 边界条件和递归模式 。 递归有两个基本要素边界条件即确定递归到何时终止也称为递归出口递归模式 即大问题是如何分解为小问题的也称为递归体。 6.下列排序算法中占用辅助存储空间最多的是归并排序 。 归并排序需要n个空间快速排序需要Ign个空间堆排序需要1个空间冒泡排序需要1个空间。 7.折半查找在有序数组A中查找特定的记录K通过比较K和数组中的中间元素A[mid]进行如果相等则算法结束如果K小于A[mid]则对数组的前半部分进行折半查找否则对数组的后半部分进行折半查找。根据上述描述折半查找算法采用了分治算法设计策略。对有序数组314,2739,42,55,70,85,93,98成功查找和失败查找所需要的平均比较次数分别是29/10和39/11 折半查找成功的过程可以理解为对这10个元素分别查找成功。 对各个元素进行编号依次为1、2、3、…、10此时 11次查找成功的元素是110/25号元素也就是42 22次查找成功的元素可能是14/22或者610/28也就是2号位置14或者8号位置85 33次查找成功的元素可能是1号元素、3号元素27、6号元素55或者9号元素93 44次查找成功的元素可能是4号元素39、7号元素77或者10号元素98。 此时平均查找次数为122433*4/1029/10。
动态规划法
1.动态规划算法的基本要素是 最优子结构重叠子问题 。 1最优子结构。如果一个问题的最优解中包含了其子问题的最优解就说该问题具有最优子结构。当一个问题具有最优子结构时提示我们动态规划法可能会适用但是此时贪心策略可能也是适用的。 2重叠子问题。重叠子问题指用来解原问题的递归算法可反复地解同样的子问题而不是总在产生新的子问题。即当一个递归算法不断地调用同一个问题时就说该问题包含重叠子问题。此时若用分治法递归求解则每次遇到子问题都会视为新问题会极大地降低算法的效率而动态规划法总是充分利用重叠子问题对每个子问题仅计算一次把解保存在一个在需要时就可以查看的表中而每次查表的时间为常数。 2. 动态规划 算法通常用于求解具有某种最优性质的问题。 参考的《软件设计师教程》第5版P428原文。 3.考虑一个背包问题共有n5个物品背包容量为W10物品的重量和价值分别为w{22654},v{6,3,5,4,6},求背包问题的最大装包价值。若此为0-1背包问题分析该问题具有最优子结构定义递归式为 其中cij表示i个物品、容量为j的0-1背包问题的最大装包价值最终要求解cnW。采用自底向上的动态规划方法求解得到最大装包价值为15算法的时间复杂度为Θ(nW)。若此为部分背包问题首先采用归并排序算法根据物品的单位重量价值从大到小排序然后依次将物品放入背包直至所有物品放入背包中或者背包再无容量则得到的最大装包价值为16.67算法的时间复杂度为Θ(nlgn)。 这是典型的01背包问题动态规划算法中自底向上递推从小范围递推计算到大范围可以看到装第一个和第五个物品价值是最高的这时候V12了此时已占了6的重量了只能装物品2了价值15。而此时的算法过程是对物品n和背包容量W分别进行比较以找到最优结果因此时间复杂度为O(nW)。空34是部分背包部分背包的时候计算每个物品单位重量价值多少单位重量v{31.55/60.81.5}可以看到125的单位价值最高选择125后背包重量还只有8还有2个重量可以选择3得5/3的价值就是1.67所以第三空为16.67。 再来看时间复杂度本题先进行归并排序然后再根据有序序列来选择放入背包的物品因此算法分两部分首先是归并排序时间复杂度为Θ(nlgn)然后是放背包因为已经排过序所以只需要线性处理即可此时时间复杂度为Θ(n)综合起来由于Θ(nlgn)Θ(n)因此整体时间复杂度为Θ(nlgn)。 4.一个问题可用动态规划算法或贪心算法求解的关键特征是问题的 最优子结构性质 。 最优子结构性质指的是问题的最优解包含其子问题的最优解且子问题之间是独立的。对于动态规划因为重复计算的子问题需要进行备忘录或者自底向上迭代在求解时将问题拆解为子问题进行求解避免了重复计算提高了效率。 贪心算法则是通过贪心选择性质来求解问题即每一步采取最优的选择最终求解得到的是全局最优解。重叠子问题性质和最优解性质也是动态规划的特征但不是决定哪种算法适用的关键特征。 5.在求解某问题时经过分析发现该问题具有最优子结构和重叠子问题性质。则适宜采用动态规划算法设计策略得到最优解若定义问题的解空间并以广度优先的方式搜索解空间则采用的是分支限界算法设计策略。 要想直接解决一个较大的问题有时是相当困难的分治法的设计思想是将一个难以解决的大问题分解成一些规模较小的相同问题以便各个击破分而治之。 动态规划法与分治法类似其基本思想也是将待求解问题分解为若干个子问题先求解子问题再从这些子问题的解得到原问题的解。与分治法不同的是适合用动态规划法求解的问题经分解得到的子问题往往不是独立的。若用分治法来解这类问题则相同的子问题会被求解多次以至于最后解决原问题需要耗费指数级时间。此时用一个中间表记录重复子问题的解可以避免大量的重复计算。这就是动态规划法的基本思路。动态规划法的应用场景一般会出现“最优子结构”的描述并且针对重复子问题的计算通过记录-查表可以提高效率。本题第一空描述的是C选项动态规划法。 贪心法也经常用于解决最优化问题与之不同的是贪心法在解决问题的策略上是仅根据当前已有的信息做出选择而且一旦做出选择无论未来如何都不会改变。也就是只考虑当前最优不考虑全局最优。一般不涉及划分和求解重复子问题。 回溯法可以系统地搜索一个问题的所有解或任意解。它在包含问题的解空间树中按照深度优先的策略从根结点出发搜索解空间树。 分支限界法类似于回溯法也是一种在问题的解空间树T上搜索问题解的算法但在一般情况下分支限界法与回溯法的求解目标不同。分支限界法的求解目标是找出满足约束条件的一个解即可。由于求解目标不同其探索方式与回溯法也不同分支限界法以广度优先或以最小耗费优先的方式搜索解空间树。本题第二空描述的是D选项分支限界法。
贪心法
1.采用贪心算法保证能求得最优解的问题是 部分分数背包 。 贪心法能够获得最优解的前提是1问题具有最优子结构即规模为n的问题的最优解与规模为n-1的问题的解相关(2)问题具有贪心选择性质即问题的整体最优解可以通过一系列局部最优的选择得到。 只有部分背包问题具有以上性质故可以通过贪心算法得到最优解。 2. 贪心 算法策略与递归技术的联系最弱。 贪心算法是一种不追求最优解而是希望得到较为满意解的算法。该算法一般可以快速得到满意的解因为它省去了为找最优解要穷尽所有可能而必须耗费大量的时间。由于贪心法不要回溯因此贪心算法策略与递归技术的联系最弱。 3.Prim算法和kruskal算法都是无向连通网的最小生成树的算法Prim算法从一个顶点开始每次从剩余的顶点加入一个顶点该顶点与当前生成树中的顶占的连边权重最小直到得到最小生成树开始kruskal算法从权重最小的边开始每次从不在当前的生成树顶点之间的边中选择权重最小的边加入直到得到一颗最小生成树这两个算法都采用了贪心设计策略且若网较稠密则Prim算法更好。 Prim算法从扩展顶点开始每次总是”贪心的“选择与当前顶点集合中距离最短的顶点而kruskal算法从扩展边开始每次总是”贪心的“选择剩余的边中最小权重的边因此两个算法都是基于贪心策略进行的。 Prim算法的时间复杂度为O(n^2)其中n为图的顶点数该算法的计算时间与图中的边数无关因此该算法适合于求边稠密的图的最小生成树kruskal算法的时间复杂度为O(mlgm)其中m为图的边数该算法的计算时间与图中的顶点数无关因此该算法适合于求边稀疏的图的最小生成树。 当图稠密时用Prim算法效率更高。但若事先没有关于图的拓扑特征信息时无法判断两者的优劣。由于一个图的最小生成树可能有多棵因此不能保证用这两种算法得到的是同一棵最小生成树。 4.采用Dijkstra算法求解下图A点到E点的最短路径采用的算法设计策略是贪心算法。该最短路径的长度是5 Dijkstra算法算是贪心思想实现的首先把起点到所有点的距离存下来找个最短的然后松弛一次再找出最短的。 5.采用Kruskal 算法求解下图的最小生成树采用的算法设计策略是贪心算法。该最小生成树的权值是14 图中每个顶点自成一个连通分量。在E中选择代价最小的边若该边依附的顶点落在T中不同的连通分量上则将此边加入到T中否则舍去此边而选择下一条代价最小的边。依此类推直到T中所有顶点都在同一连通分量上为止。简单来说就是选择依次权值最小的边连接对应的顶点此过程如果有环路出现则舍弃这个边选择下一个权值最小的边。如果顶点数量为n那么连接的边的数量为n-1。具体步骤如下图所示。 回溯法
1.对于含n个元素的子集树问题每个元素二选一)最坏情况下解空间树的叶子结点个数是 2^ n 。 这样的解空间树是一棵高度为n1的满二叉树叶子结点恰好有2^ n 个 2.用回溯法求解0/1背包问题时的解空间是 子集树 。用回溯法求解TSP问题时的解空间是 排列树 。 在0/1背包问题中每个物品是二选一(要么选中要么不选中),与物品的顺序无关对应的解空间为子集树类型。 TSP问题的解空间属于典型的排列树因为路径与顶点顺序有关。 3.用回溯法求解0/1背包问题时最坏时间复杂度是 O(n2^n) 。 0/1背包问题的解空间为一棵高度为n1的满二叉树结点个数为2^(n1)-1,最坏情况是搜索全部结点。答案为C。 4.n个学生每个人有一个分数求最高分的学生的姓名最简单的方法是 迭代法。 5.求中国象棋中马从一个位置到另外一个位置的所有走法采用回溯法求解时对应的解空间是 子集树 。 每一步马从相邻可走的位置中选择一个位置走下去。答案为A。 6.n个人排队在一台机器上做某个任务每个人的等待时间不同完成他的任务的时间是不同的求完成这n个任务的最小时间采用回溯法求解时对应的解空间是 排列树。 该问题是求1n的某个排列对应的n个任务完成的最小时间。答案为B。 7.下面 剪支函数 是回溯法中为避免无效搜索采取的策略。 剪支函数包括约束函数在扩展结点处剪除不满足约束条件的路径和限界函数剪去得不到问题解或最优解的路径。答案为B。 8.回溯法的效率不依赖于下列因素 确定解空间的时间 。 回溯法解空间是虚拟的不必事先确定整个解空间。答案为A。 9.关于回溯法以下叙述中不正确的是回溯法算法需要借助队列来保存从根结点到当前扩展结点的路径 。 回溯算法是采用深度优先遍历的需要借助栈保存从根结点到当前扩展结点的路径。答案为C。 10.要在88的棋盘上摆放8个“皇后”要求“皇后”之间不能发生冲突即任何两个“皇后”不能在同一行、同一列和相同的对角线上则一般采用回溯法 来实现。 回溯法是一种选优搜索法按选优条件向前搜索以达到目标。但当探索到某一步时发现原先选择并不优或达不到目标就退回一步重新选择这种走不通就退回再走的技术为回溯法。回溯法求解的过程其实是搜索整个解空间来找到最优的解。而“皇后”问题是一个典型的用回溯法求解的问题。
数据库基础技术
基本概念
1.采用三级结构/两级映像的数据库体系结构如果对数据库的一张表创建聚簇索引改变的是数据库的 内模式 。 创建聚簇索引意味着重新确定表中的数据的物理顺序内模式是数据物理结构和存储方式的描述对应着物理层所以对于物理顺序的操作改变的一定是内模式。外模式也称用户模式是用户与数据库系统的接囗对应着视图层AB是同一个概念。模式也称概念模式是数据库中全部数据的逻辑结构和特征的描述对应着逻辑层。 2.在分布式数据库中 分片透明 是指用户或应用程序不需要知道逻辑上访问的表具体如何分块存储。 分片透明是指用户不必关心数据是如何分片的它们对数据的操作在全局关系上进行即关心如何分片对用户是透明的因此当分片改变时应用程序可以不变。分片透明性是最高层次的透明性如果用户能在全局关系一级操作则数据如何分布如何存储等细节自不必关心其应用程序的编写与集中式数据库相同。
复制透明用户不用关心数据库在网络中各个节点的复制情况被复制的数据的更新都由系统自动完成。 在分布式数据库系统中可以把一个场地的数据复制到其他场地存放应用程序可以使用复制到本地的数据在本地完成分布式操作避免通过网络传输数据提高了系统的运行和查询效率。但是对于复制数据的更新操作就要涉及对所有复制数据的更新。
位置透明是指用户不必知道所操作的数据放在何处即数据分配到哪个或哪些站点存储对用户是透明的。 局部映像透明性逻辑透明是最低层次的透明性该透明性提供数据到局部数据库的映像即用户不必关心局部DBMS支持哪种数据模型、使用哪种数据操纵语言数据模型和操纵语言的转换是由系统完成的。因此局部映像透明性对异构型和同构异质的分布式数据库系统是非常重要的。
本题提到不需要了解具体如何分块存储如果描述为不需要了解物理存储或存储位置则为位置透明而涉及如何分块存储应该为分片透明。对于分布式数据库分片是一种大局性的划分而物理上的存储位置则更为低层所以对于如何分块存储强调更多的是分片而不是物理位置。
3.某企业信息系统采用分布式数据库系统。“当某一场地故障时系统可以使用其他场地上的副本而不至于使整个系统瘫痪”称为分布式数据库的 可用性 。 在分布式数据库系统中A共享性是指数据存储在不同的结点数据共享与题目描述不符 B自治性是指每个结点对本地数据都能独立管理与题目描述不符 C可用性是指当某一场地故障时系统可以使用其他场地上的副本而不至于使整个系统瘫痪与题目描述相符C选项正确 D分布性是指在不同场地上的存储与题目描述不符。 4.【判断】三级模式是指数据库管理系统从三个层次来管理数据分别是外部层、概念层和内部层。√ 三级模式是指数据库管理系统从三个层次来管理数据分别是外部层ExternalLevel、概念层Conceptual Level和内部层Internal Level。这三个层次分别对应三种不同类型的模式分别是外模式External Schema、概念模式Conceptual Schema和内模式Internal Schema。 5.数据库系统通常采用三级模式结构:外模式、模式和内模式。这三级模式分别对应数据库的 视图、基本表和存储文件 。 6.数据的物理独立性是指当数据库的 内模式改变时数据的逻辑结构不需要改变 。 数据的逻辑独立性是指当模式改变时例如增加新的关系新的属性改变属性的数据类型等由数据库管理员对各个外模式/模式的映像做相应的改变可以使外模式保持不变。应用程序是依据数据的外模式编写的从而应用程序不必修改保证了数据与程序的逻辑独立性简称数据的逻辑独立性。 数据的物理独立性是指当数据库的存储结构改变了由数据库管理员对模式/内模式映像做响应的改变可以使模式保持不变从而应用程序也不必改变保证了数据与程序的物理独立性简称数据的物理独立性。 7.数据库系统的三级模式中概念模式描述现实世界中的实体及其性质与联系定义记录、数据项、数据的完整性约束条件及记录之间的联系是数据项值的框架。外模式主要描述组成用户视图的各个记录的组成、相互关系、数据项的特征、数据的安全性和完整性约束条件。内模式定义的是存储记录的类型、存储域的表示以及存储记录的物理顺序指引元、索引和存储路径等数据的存储组织。 8.在数据库三级模式间引入二级映像的主要作用是 提高数据与程序的独立性 。 数据库系统在其内部具有三级模式和二级映像。三级模式分别是外模式、模式和内模式二级映像则是外模式/模式映像、模式/内模式映像。 当模式改变时DBA要求相关的外模式/模式映像做相应的改变以使外模式保持不变。应用程序是依据实际的外模式编写的外模式不变应用程序就没必要修改。所以外模式/模式映像功能保证了数据与程序的逻辑独立性。 当数据库的存储结束了DBA要对模式/内模式映像做相应的改变以使模式保持不变。模式不变与模式没有直接联系的应用程序也不会改变。所以模式/内模式映像功能保证了数据与程序的物理独立性。 9.对数据库物理存储方式的描述称为 内模式 。 模式对应着概念级它是由数据库设计者总和所有用户的数据按照统一的观点构造的全局逻辑结构是对数据库中全部数据的逻辑结构和特征的总体描述是所有用户的公共数据视图。 外模式对应于用户级它是某个或某几个用户看到的数据库的数据视图是与某一应用有关的数据逻辑的表示。外模式是从模式导出的一个子集包含模式中允许特定用户使用的那部分数据。 内模式对应于物理级它是数据库中全部数据的内部表示或底层描述是数据库最低一级的逻辑描述它描述了数据在存储介质上存储方式的物理结构对应着实际存储在外存储介质上的数据库。 10.在数据库中存储的是 数据和数据之间的联系 。 数据库按照数据结构来组织、存储和管理数据的仓库。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。即数据及数据之间的联系。 11.数据库中数据的物理独立性是指 用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的 。 物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。即数据在磁盘上怎样存储由DBMS管理用户程序不需要了解应用程序要处理的只是数据的逻辑结构这样当数据的物理存储改变了应用程序不用改变。 12.在DB技术中“脏数据”是指 未提交随后又被撤销的数据 。 脏数据事务T1更新了某一数据并将修改后的值写入磁盘事务T2读取了更新后的数据其后事务T1由于某种原因被撤销事务T1已更新过的数据恢复原值这样事务T2读到的数据就与数据库中的数据不一致是不正确的数据即未提交随后又被撤销的数据。 13.保护数据库防止未经授权或不合法的使用造成的数据泄露、非法更改或破坏。这是指数据的 安全性 。 14.在数据库设计中E-R模型常用于 概念设计 阶段。 数据库概念结构设计阶段是在需求分析的基础上依照需求分析中的信息要求对用户信息加以分类、聚集和概括建立信息模型并依照选定的数据库管理系统软件转换成为数据的逻辑结构再依照软硬件环境最终实现数据的合理存储。这一过程也称为数据建模。 概念结构设计最著名最常用的方法是P.P.S Chen于1976年提出的实体一联系方法(Entity-Relationship Approach)简称E-R方法。它采用E-R模型将现实世界的信息结构统一由实体、属性以及实体之间的联系来描述。使用E-R方法无论是哪种策略都要对现实事物加以抽象认识以E-R图的形式描述出来。 15.数据库概念结构设计阶段的工作步骤包括①~④其正确的顺序为②①④③ 。 ①设计局部视图②抽象数据③修改重构消除冗余④合并取消冲突 数据库概念结构设计阶段的工作步骤为抽象数据→设计局部视图→合并取消冲突→修改重构消除冗余。 16.在数据库应用系统的开发过程中开发人员需要通过视图层、逻辑个层次上的抽象来对用户屏蔽系统的复杂性简化用户与系统的交互过程错误的是 物理层是比逻辑层更高一层的抽象 。 一个可用的数据库系统必须能够高效地检索数据。这种高效性的需求促使数据库设计者使用复杂的数据结构来表示数据。由于大多数数据库系统用户并未受过计算机的专业训练因此系统开发人员需要通过视图层、逻辑层和物理层三个层次上的抽象来对用户屏蔽系统的复杂性简化用户与系统的交互。 视图层(view level)是最高层次的抽象描述整个数据库的某个部分。因为数据库系统的很多用户并不关心数据库中的所有信息而只关心所需要的那部分数据。某些问题可以通过构建视图层实现这样做除了使用户与系统交互简化而且还可以保证数据的保密性和安全性。 逻辑层logical level)是比物理层更高一层的抽象描述数据库中存储什么数据以及这些数据间存在什么关系。逻辑层通过相对简单的结构描述了整个数据库。尽管逻辑层的简单结构的实现涉及了复杂的物理层结构但逻辑层的用户不必知道这些复杂性。因为逻辑层抽象是数据库管理员的职责由管理员确定数据库应保存哪些信息。 物理层(physical level)是最低层次的抽象描述数据在存储器是如何存储的。物理层详细地描述复杂的底层结构。 17.采用三级模式结构的数据库系统中如果对一个表创建聚簇索引那么改变的是数据库的 内模式 。 对于三级模式分为外模式模式和内模式。 外模式又称用户模式对应视图级别是用户与数据库系统的接囗是用户用到那部分数据的描述比如说用户视图A、D选项排除。 对于模式而言又叫概念模式对于表级是数据库中全部数据的逻辑结构和特质的描述由若干个概念记录类型组成只涉及类型的描述不涉及具体的值B选项排除。 而对于内模式而言又叫存储模式对应文件级是数据物理结构和存储方式的描述是数据在数据库内部表示的表示方法定义所有内部的记录类型索引和文件的组织方式以及数据控制方面的细节。例如B树结构存储Hash方法存储聚簇索引等等。C选项正确。
数据模型
1.数据库系统中构成数据模型的三要素是 数据结构、数据操作、完整性约束 。 数据模型Data Model是现实世界数据特征的抽象或者说是现实世界的数据模拟。数据库中用数据模型来抽象地表示现实世界的数据和信息。数据模型的三要素是数据结构、数据操作及完整性约束条件。 基本数据模型是数据库系统的核心和基础。基本数据模型通常由数据结构、数据操作和数据的约束条件三部分组成。√ 2.设有学生实体Students学号姓名性别年龄家庭住址家庭成员关系联系电话其中“家庭住址”记录了邮编、省、市、街道信息“家庭成员关系联系电话分别记录了学生亲属的姓名、与学生的关系以及联系电话。为使数据库模式设计更合理对于关系模式Students 应该将家庭成员、关系及联系电话加上学生号设计成为一个独立的实体。 本题考查关系运算和E-R图的基本概念。 在大多数情况下定义的属性对于一个特定的实体都只有单独的一个值。例如对于一个特定的学生只对应一个学生号、学生姓名这样的属性叫做单值属性。但是在某些特定情况下一个属性可能对应一组值。例如学生可能有0个、1个或多个亲属那么学生的亲属的姓名可能有多个。这样的属性称为多值属性。为了将数据库模式设计得更合理第二空应该将家庭成员、关系及联系电话加上学生号设计成为一个独立的实体。 3.设有学生实体Students学号姓名性别年龄家庭住址家庭成员关系联系电话其中“家庭住址”记录了邮编、省、市、街道信息“家庭成员关系联系电话分别记录了学生亲属的姓名、与学生的关系以及联系电话。其中学生实体Students中的“家庭住址是一个复合 属性。 正确答案为C。简单属性是原子的、不可再分的。复合属性可以细分为更小的部分即划分为别的属性。有时用户希望访问整个属性有时希望访问属性的某个成分那么在模式设计时可采用复合属性。本题学生实体集Students的“家庭住址”可以进一步分为邮编、省、市、街道。 4.关于数据模型的说法错误的是 概念模型主要用数据流表示所以也称DFD模型。 。 概念数据模型是按照用户的观点来对数据和信息建模主要用于数据库设计。概念模型主要用实体一联系方法Entity-Relationship Approach表示所以也称E-R模型。 5.实体一关系图E-R图用于结构化分析过程中的 数据 建模。 E-R图时结构化分析过程的工具用于数据建模将现实世界中的事物抽象信息世界里的数据。 6.在数据库逻辑设计阶段若实体中存在多值属性那么将E-R图转换为关系模式时 将实体的码分别和每个多值属性独立构成一个关系模式 得到的关系模式属于4NF。 4NF若关系模式R1NFR的每个非平凡多值依赖X→→Y且YX时X必含有码则关系模式RUF4NF对于本题中存在多值属性的情况应该将该实体的码和相关的多值属性独立构成一个关系模式。 7.E-R模型向关系模型转换时两个实体E1和E2之间的多对多联系R应该转换为一个独立的关系模式且该关系模式的关键字由E1和E2的关键字 组成。 多对多关系的中间表关键字由两张表的关键字组合而成。 8.如下E-R图中两个实体R1、R2之间有一个联系E。当E的类型为(星比星时必须将E转换成一个独立的关系模式。 9.
关系代数
1.给定关系模式RUFU{A,B,C,D,E,H},函数依赖集F{A→B,A→C,C→D,AE→H}。关系模式R的候选关键字为 AE 。 关系中的某一属性或属性组的值能唯一的标识一个元组而其任何真子集都不能再标识则称该属性组为候选码。 2.
SQL
1.having count() (3)HAVING COUNT姓名2 2.在SQL中结束事务通常可以使用COMMIT和ROLLBACK语句。若某事务T执行了 ROLLBACK语句则可将T对数据库的更新撤销 。 COMMIT事务提交。该操作表示事务成功的结束它将通知事务管理器将该事务的所有更新操作现在可以被提交或永久保留 ROLLBACK事务回滚。该操作表示事务非成功地结束它将通知事务管理器出故障了数据库可能处于不一致状态该事务的所有更新操作必须回滚或撤销。 3.下列 是面向过程的语言 不是SQL语言的特点。 SQL的特点如下。 1综合统一。非关系模型的数据语言分为模式定义语言和数据操纵语言其缺点是当要修改模式时必须停止现有数据库的运行转储数据修改模式编译后再重装数据库。SQL集数据定义、数据操纵和数据控制功能于一体语言风格统一可独立完成数据库生命周期的所有活动。 2高度非过程化。非关系数据模型的数据操纵语言是面向过程的若要完成某项请求必须指定存储路径而SQL语言是高度非过程化语言当进行数据操作时只要指出“做什么”无须指出“怎么做”存储路径对用户来说是透明的提高了数据的独立性。 3面向集合的操作方式。非关系数据模型采用的是面向记录的操作方式操作对象是一条记录。而SQL语言采用面向集合的操作方式其操作对象、查找结果可以是元组的集合。 4两种使用方式。第一种方式用户可以在终端键盘上输入SQL命令对数据库进行操作故称之为自含式语言第二种方式将SQL语言嵌入到高级语言程序中所以又称为嵌入式语言。 5语言简洁、易学易用。SQL语言功能极强完成核心功能只用了9个动词。 4.SQL即 Structured Query Language 的简称。
规范化
1.若给定的关系模式为RU(A,B,C)F{AB→C,C→B}则关系R 有2个候选关键字AC和AB并且有3个主属性 。 将本题关系模式R的函数依赖关系表达为C依赖于A和BB依赖于C。 因此A的入度为零所以他必然为候选关键字的一部分。 通过A与B组合或A与C组合均能遍历全图所以候选关系字有AB和AC因此A、B、C均是主属性。 2.关系规范化在数据库设计的 逻辑 阶段进行。 数据库设计中规范化是在逻辑设计阶段进行的一项工作该工作负责把关系模式进行规范以减少冗余以及一定程度上消除修改异常插入异常及删除异常。 3.
控制功能
1.若对DB的修改应该在数据库中留下痕迹永不消逝。这个性质称为事务的 持久性 。 原子性事务中的操作要么全完成要么全部不执行。 一致性数据库中数据不因事务的执行而受到破坏事务的执行结果必须使数据库从一个一致性状态变到另一个一致性状态。例如银行转账A账户-100与B账户100两个操作要么全做要么全不做。 隔离性一个事务的执行不能被其他事务干扰即在多个事务并发执行与各个事务单独执行的结果一样。事务的隔离性是事务并发控制的基础。隔离性事务的执行不受其他事务的干扰事务执行的中间结果对其他事务必须是透明的。 “当多个事务并发执行时任一事务的更新操作直到其成功提交的整个过程对其他事务都是不可见的”这一性质通常被称为事务的隔离性。 持久性一个事务一旦提交他对数据库中的数据改变应该是永久性的其他操作或故障不对其产生任何影响。 2.数据库中的4类故障是事务内部故障、系统故障、介质故障及 计算机病毒 。 参考《软件设计师教程》第5版P513。数据库中的4类故障是事务内部故障、系统故障、介质故障及计算机病毒。 3.【判断】数据的转储分为静态转储和动态转储、海量转储和减量转储、日志文件。× 参考《软件设计师教程》第5版P513 恢复的基本原理是“建立数据冗余”重复存储。建立冗余数据的方法是进行数据转储和登记日志文件。 数据的转储分为静态转储和动态转储、海量转储和增量转储、日志文件。 增量。 4.并发控制的主要技术是 封锁 。 并发控制的主要技术是封锁。基本封锁的类型有排它锁(简称X锁或写锁和共享锁简称S锁或读锁。 5.【判断】封锁对象的大小称为封锁的粒度。√ 封锁对象的大小称为封锁的粒度。封锁的对象可以是逻辑单元(如属性、元组、关系、索引项、整个索引甚至整个数据库也可以是物理单元如数据页或索引页。 6.某高校人力资源管理系统的数据库中教师关系模式为T教师号姓名部门号岗位联系地址薪资函数依赖集F{教师号→姓名部门号岗位联系地址岗位→薪资}。T关系的主键为教师号函数依赖集F存在传递依赖故关系模式T最高达到2NF “教师号”可以决定其他所有字段。由于存在非主属性“岗位”可推导出其他属性“薪资”所以该关系存在传递函数依赖有数据操作异常问题。 7.假设事务程序A中的表达式x/y若y取值为0则计算该表达式时会产生故障。该故障属于 事务故障 。 1事务内部故障。事务内部的故障有的可以通过事务程序本身发现。但有些是非预期的不能由事务程序处理例如运算溢出、并发事务发生死锁等。 2系统故障。通常称为软故障是指造成系统停止运行的任何事件使得系统要重新启动。 3介质故障。通常称为硬故障如磁盘损坏、磁头碰撞和瞬时强磁干扰。此类故障发生的几率小但破坏性最大。 4计算机病毒
网络与信息安全基础知识
网络概述
1. 具有通信功能的单机系统 又称终端-计算机网络是早期计算机网络的主要形式。 参考《软件设计师教程》第5版P516。原文 计算机网络是计算机技术与通信技术日益发展和密切结合的产物它的发展过程大致可以划分为以下4个阶段。 1具有通信功能的单机系统 该系统又称终端-计算机网络是早期计算机网络的主要形式。它将一台计算机经通信线路与若干终端直接相连。 … 2.下列 数据备份 不是计算机网络提供的主要功能。 计算机网络提供的主要功能有如下 1数据通信2资源共享3负载均衡4高可靠性 3.【判断】计算机网络按照数据通信和数据处理的功能可分为两层内层通信子网和外层资源子网。√ 参考《软件设计师教程》第5版P519。 4. 资源共享 是计算机网络最有吸引力的功能。 1数据通信通信或数据传输是计算机网络的主要功能之一。 2资源共享资源共享是计算机网络最有吸引力的功能。 3负载均衡在计算机网络中可进行数据的集中处理或分布式处理。 4高可靠性高可靠性指在计算机网络中的各台计算机可以通过网络彼此互为后备机。 5.计算机网络按 通信距离 可分为广域网、局域网和城域网。 按通信距离可分为广域网、局域网和城域网 按信息交换方式可分为电路交换网、分组交换网和综合交换网 按网络拓扑结构可分为星型网、树型网、环型网和总线网 按通信介质可分为双绞线网、同轴电缆网、光纤网和卫星网等 按传输带宽可分为基带网和宽带网 按使用范围可分为公用网和专用网 按速率可分为高速网、中速网和低速网 按通信传播方式可分为广播式和点到点式。 6.广域网常常借用传统的公共传输网 来实现。 参考《软件设计师教程》第5版P521原文 广域网最根本的特点如下。 1分布范围广。加入广域网中的计算机通常处在从数千米到数千千米的地方。因此网络所涉及的范围可为市、地区、省、国家乃至世界。 2数据传输率低。一般为几十兆位每秒以下。 3数据传输的可靠性随着传输介质的不同而不同若用光纤误码率一般在10-6~10-11之间。 4广域网常常借用传统的公共传输网来实现因为单独建造一个广域网极其昂贵。 5拓扑结构较为复杂大多采用“分布式网络”即所有计算机都与交换结点相连从而实现网络中的任何两台计算机都可以进行通信。 7. 总线型拓扑结构 属于分布式控制无须中央处理器故结构比较简单。 参考《软件设计师教程》第5版P522原文 总线型拓扑结构如图10-2(a)所示其特点为只有一条双向通路便于进行广播式传送信息总线型拓扑结构属于分布式控制无须中央处理器故结构比较简单结点的增、删和位置的变动较容易变动中不影响网络的正常运行系统扩充性能好结点的接口通常采用无源线路系统可靠性高设备少、价格低、安装使用方便由于电气信号通路多干扰较大因此对信号的质量要求高负载重时线路的利用率较低网上的信息延迟时间不确定故障隔离和检测困难。 8.【判断】广域网与局域网所使用的网络拓扑结构有所不同广域网多用用总线型、环型、星型或树型结构而局域网常使用分布式或树型结构。× 广域网与局域网所使用的网络拓扑结构有所不同广域网多用分布式或树型结构而局域网常使用总线型、环型、星型或树型结构。 9.以下关于网络层次与主要设备对应关系的叙述中配对正确的是数据链路层——网桥 。 10. 应用层 提供OSI用户服务即确定进程之间通信的性质以满足用户需要以及提供网络与用户应用软件之间的接口服务。 应用层Application Layer。应用层提供OSI用户服务即确定进程之间通信的性质以满足用户需要以及提供网络与用户应用软件之间的接口服务。例如事务处理程序、电子邮件和网络管理程序等。 11.OSI参考模型中不同系统上相同层的实体称为 同等层实体 。 12.OSI/RM中13层被称为 通信子网层 。 OSI/RM中的13层主要负责通信功能一般称为通信子网层。上三层即57层属于资源子网的功能范畴称为资源子网层。传输层起着衔接上、下三层的作用。 13. 物理层 提供为建立、维护和拆除物理链路所需的机械、电气、功能和规程的特性提供有关在传输介质上传输非结构的位流及物理链路故障检测指示。 本题考查ISO/OSI参考模型。 参考《软件设计师教程》第5版P524原文 14.数据链路层 负责在两个相邻结点间的线路上无差错地传送以帧为单位的数据并进行流量控制。 参考《软件设计师教程》第5版P525原文 15.在OSI参考模型中负责对应用层消息进行压缩、加密功能的层次为 表示层 。 6表示层。表示层处理的是用户信息的表示问题。端用户应用进程之间传送的数据包含语义和语法两个方面。语义是数据的内容及其含义它由应用层负责处理语法是与数据表示形式有关的方面例如数据的格式、编码和压缩等表示层主要用于处理应用实体面向交换的信息的表示方法包括用户数据的结构和在传输时的比特流或字节流的表示。这样即使每个应用系统有各自的信息表示法但被交换的信息类型和数值仍能用一种共同的方法来描述。故选择C选项。
网络互联硬件
1. 服务器 是局域网的核心根据它在网络中的作用还可进一步分为文件服务。 在一个局域网中其基本组成部件为服务器、客户端、网络设备、通信介质和网络软件等。 1服务器(Server)。局域网的核心根据它在网络中的作用还可进一步分为文件服务器、打印服务器和通信服务器等。 2客户端Client。客户端又称为用户工作站包括用户计算机与网络应用接口设备。 3网络设备。网络设备主要指一些硬件设备如网卡、收发器、中继器、集线器、网桥和路由器等。网卡是一种必不可少的网络设备常用的网卡有Ethernet(以太网网卡、ARCNET网卡、ESIA总线网网卡和Token-Ring网卡等。 4通信介质。数据的传输媒体不同的通信介质有着不同的传输特性。 5网络软件。网络软件主要包括底层协议软件、网络操作系统NOS)等。底层协议软件由一组标准规则及软件构成以使实体间或网络之间能够互相进行通信。网络操作系统主要对整个网络的资源和运行进行管理并为用户提供应用接口。 2. 网关 gateway 是应用层的互连设备。 参考《软件设计师教程》第5版P529原文网关Gateway是应用层的互连设备。 3. 路由器router 是网络层互连设备用于连接多个逻辑上分开的网络。 参考《软件设计师教程》第5版P529原文路由器Router)是网络层互连设备用于连接多个逻辑上分开的网络。 4. 集线器 可以看成是一种特殊的多路中继器也具有信号放大功能。 参考《软件设计师教程》第5版P527原文 5.【判断】中继器的主要优点是安装简便、使用方便、价格便宜。√ 6.以下 中继器Repeater、 集线器Hub 设备属于物理层的互连设备。 参考《软件设计师教程》第5版P527原文 7. 客户端 又称为用户工作站包括用户计算机与网络应用接口设备。 2客户端Client。客户端又称为用户工作站包括用户计算机与网络应用接口设备。 8. 路由器 具有很强的异种网互连能力互连网络的最低两层协议可以互不相同通过驱动软件接口到第三层而得到统一。 参考《软件设计师教程》第2版P528原文 9.【判断】交换机转发数据的延迟很小操作接近单个局域网性能远远超过了普通桥接的转发性能。√ 参考《软件设计师教程》第5版P527原文
网络协议与标准
1.【判断】Internet标准的特点是自发而非政府干预的管理松散每个分网络均由各自分别管理。√ 参考《软件设计师教程》第5版P536原文 Internet标准的特点是自发而非政府干预的管理松散每个分网络均由各自分别管理目前已组成了一个民间性质的协会ISOCInternet Society进行必要的协调与管理有一个网络信息中心NIC来管理IP地址保证注册地址的唯一性并为用户提供一些文件介绍可用的服务。ISOC设有Internet总体管理机构结构IAB。 2.【判断】一个局域网的基本组成主要有网络服务器、网络工作站、网络路由器和传输介质。× 参考《软件设计师教程》第5版P536原文 一个局域网的基本组成主要有网络服务器、网络工作站、网络适配器和传输介质。这些设备在特定网络软件支持下完成特定的网络功能。 3.【判断】网络接口层又称数据链路层处于TCP/IP协议层下负责接收IP数据报并把数据报通过选定的网络发送出去。√ 参考《软件设计师教程》第5版P546原文 4网络接口层。网络接口层又称数据链路层处于TCP/IP协议层之下负责接收IP数据报并把数据报通过选定的网络发送出去。该层包含设备驱动程序也可能是一个复杂的、使用自己的数据链路协议的子系统。 4. 点对点协议 主要用于“拨号上网”这种广域连接模式。 参考《软件设计师教程》第5版P542原文 点对点协议PPP 点对点协议主要用于“拨号上网”这种广域连接模式。它的优点是简单、具备用户验证能力、可以解决IP分配等。它主要通过拨号或专线方式建立点对点连接发送数据使其成为各种主机、网桥和路由器之间简单连接的一种通用的解决方案。 5. 广域网 通常是指覆盖范围大、传输速率低、以数据通信为主要目的的数据通信网。 参考《软件设计师教程》第5版P541原文
Internet 及其应用
1.【判断】在Internet 中分布着一些覆盖范围很广的大网络这种网络称为“Internet主干网”它们一般属于国家级的广域网。√ 参考《软件设计师教程》第5版P550原文 在 Internet 中分布着一些覆盖范围很广的大网络这种网络称为“Internet 主干网”它们一般属于国家级的广域网。例如我国的CHINANET 和CERNET 等就是中国的 Internet 主干网。 2. 域名 domain name 通常是用户所用的主机的名字或地址。 域名Domain Name通常是用户所用的主机的名字或地址。域名格式由若干部分组成每个部分又称子域名它们之间用“.”分开每个部分最少由两个字母或数字组成。 3.【判断】通常情况下一个完整、通用的层次型主机域名由以下4个部分组成计算机主机名.IP.组名.最高层域名× 一个完整、通用的层次型主机域名由以下4个部分组成 计算机主机名.本地名.组名.最高层域名 4.因特网中的域名系统Domain Name System是一个分层的域名在根域下面是顶级域以下顶级域中 UK 属于国家顶级域。 5.TCP和UDP协议均提供了 端口寻址 能力。 UDP是一种不可靠的、无连接的协议没有连接管理能力不负责重新发送丢失或出错的数据消息也没有流量控制的功能。 6.IPv6的地址空间是IPv4的 2^96 倍。 IPv4用32位二进制表示能够表示的地址空间是2^32 IPv6用128位二进制表示能够表示的地址空间是2 ^128,2 ^128/2 ^322 ^96 7.在一台安装好TCP/IP协议的计算机上当网络连接不可用时为了测试编写好的网络程序通常使用的目的主机IP地址为 127.0.0.1 。 127.0.0.1是回送地址指本地机一般用来测试使用。回送地址127.x.x.x是本机回送地址Loopback Address,即主机IP堆栈内部的IP地址主要用于网络软件测试以及本地机进程间通信无论什么程序一旦使用回送地址发送数据协议软件立即返回不进行任何网络传输。 8.相比于TCPUDP的优势为 开销较小 。 TCP与UDP区别 1TCP面向连接如打电话要先拨号建立连接UDP是无连接的即发送数据之前不需要建立连接 2TCP提供可靠的服务。也就是说通过TCP连接传送的数据无差错不丢失不重复且按序到达UDP尽最大努力交付即不保证可靠交付 3TCP面向字节流实际上是TCP把数据看成一连串无结构的字节流UDP是面向报文的UDP没有拥塞控制因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用如IP电话实时视频会议等 4每一条TCP连接只能是点到点的UDP支持一对一一对多多对一和多对多的交互通信 5TCP首部开销20字节UDP的首部开销小只有8个字节 6TCP的逻辑通信信道是全双工的可靠信道UDP则是不可靠信道整体来看UDP开销较小。 9.下面关于IP地址和MAC地址说法错误的是 IP地址具有唯一性MAC地址不具有唯一性 。 IP地址由服务器分配不具备唯一性。MAC地址具有唯一性每一个硬件设备都有唯一的MAC地址。 10.浏览器开启无痕浏览模式时 下载的文件 仍然会被保存。 在浏览器开启无痕浏览模式时浏览历史、搜索历史和临时文件都不会被保存只有下载的文件可以被保存。本题选择C选项。 11.IPv6地址长度为 128bit。
信息安全基础知识
1.【判断】信息安全包括5个基本要素私密性、完整性、可用性、可控性与可审查性。× 信息安全包括5个基本要素机密性、完整性、可用性、可控性与可审查性。 2.【判断】可用性在信息安全中的表现是只有得到允许的人才能修改数据并且能够判别出数据是否已被篡改。× 信息安全包括5个基本要素机密性、完整性、可用性、可控性与可审查性。 · 机密性确保信息不暴露给未授权的实体或进程。 · 完整性只有得到允许的人才能修改数据并且能够判别出数据是否已被篡改。 · 可用性得到授权的实体在需要时可访问数据即攻击者不能占用所有的资源而阻碍授权者的工作。 · 可控性可以控制授权范围内的信息流向及行为方式。 · 可审查性对出现的信息安全问题提供调查的依据和手段。 3.下列 信息使用安全、系统安全监控、计算机病毒防治、数据加密、防治非法攻击 属于存储安全的主要内容。 存储安全包括信息使用安全、系统安全监控、计算机病毒防治、数据加密、防治非法攻击。 4.计算机信息系统安全保护等级中最低一级指的是 用户自主保护级 。 计算机系统安全保护等级 第一级用户自主保护级 第二级系统审计保护级 第三级安全标记保护级 第四级结构化保护级 第五级访问验证保护级 从第一级到第五级安全级别逐渐增高。所以最低的一级为用户自主保护级它适合于损害合法权益但不损害社会秩序、公共利益、国家安全适用于普通的互联网用户。 5.【判断】用户的标识与验证主要是限制进入系统的用户所能做的操作。× 用户的标识与验证主要是限制访问系统的人员。用户存取权限限制主要是限制进入系统的用户所能做的操作。 参考《软件设计师教程》第5版P565 用户的标识与验证主要是限制访问系统的人员。它是访问控制的基础是对用户身份的合法性验证。方法有如下两种 一是基于人的物理特征的识别包括签名识别法、指纹识别法和语音识别法 二是基于用户所拥有特殊安全物品的识别包括智能IC卡识别法、磁条卡识别法。 6.下列 用户的标识与验证、用户存取权限限制、安全问题跟踪属于信息使用安全的内容。 信息的存储安全包括信息使用的安全如用户的标识与验证、用户存取权限限制、安全问题跟踪等、系统安全监控、计算机病毒防治、数据的加密和防止非法的攻击等。 7.所有资源只能由授权方或以授权的方式进行修改即信息未经授权不能进行改变的特性是指信息的完整性 。 C、数据的机密性(保密性)是指数据在传输过程中不能被非授权者偷看C选项排除。 B、数据的可用性指的是发送者和接受者双方的通信方式正常B选项排除。 D、数据的真实性不可抵赖性是指信息的发送者身份的确认或系统中有关主体的身份确认这样可以保证信息的可信度D选项排除 8.下列算法中属于非对称加密算法的是RSA 。 典型的对称加密算法DES3DESAES等。 典型的非对称加密算法RSAECC等。本题选B选项。 典型的摘要算法SHAMD5等。
网络安全概述
1.使用漏洞扫描系统对信息系统和服务器进行定期扫描可以 发现高危风险和安全漏洞 。 2. 应用级网关 防火墙是内部网和外部网的隔离点它可对应用层的通信数据流进行监控和过滤。 包过滤防火墙包过滤防火墙一般有一个包检查块通常称为包过滤器数据包锅里可以根据数据包头中的各项信息来控制站点与站点、站点与网络、网络与网络之间的相互访问但无法控制传输数据的内容因为内容是应用层数据而包过滤器处在网络层和数据链路层之间不符合本题要求。 应用级网关防火墙应用代理网关防火墙彻底隔断内网与外网的直接通信内网用户对外网的访问变成防火墙对外网的访问然后再由防火墙转发给内网用户。所有的通信都必须经应用层代理软件转发它可对应用层的通信数据流进行监控和过滤。 数据库防火墙数据库防火墙技术是针对关系型数据库保护需求应运而生的一种数据库安全主动防御技术数据库防火墙部署于应用服务器和数据库之间不符合本题要求。 web防火墙web防火墙是入侵检测系统入侵防御系统的一种。从广义上来说web应用防火墙就是应用级的网站安全综合解决方案与我们所讲到的防火墙概念有一定区别不符合本题要求。 3.以下关于防火墙功能特性的叙述中不正确的是 提供漏洞扫描功能。 4.防火墙的工作层次是决定防火墙效率及安全的主要因素下面叙述中正确的是防火墙工作层次越高工作效率越低安全性越高 。 防火墙的性能及特点主要由以下两方面所决定。 ①工作层次。这是决定防火墙效率及安全的主要因素一般来说工作层次越低则工作致率越高但安全性就低了反之工作层次越高工作效率越低则安全性越高。 ②防火墙采用的机制。如果采用代理机制则防火墙具有内部值息隐藏的特点相对而言安全性高效率低如果采用过滤机制期效率高安全性却降低了 5.【判断】应用代理网关的优点是可以检查应用层、传输层和网络层的协议特征对数据包的检测能力比较强。√ 缺点是难以配置处理速度非常慢。 6.【判断】过滤型的防火墙通常直接转发报文它对用户完全透明速度较快。√ 参考《软件设计师教程》第5版P571原文 过滤型的防火墙通常直接转发报文它对用户完全透明速度较快。其优点是防火墙对每条传入和传出网络的包实行低水平控制每个IP包的字段都被检查。 7.【判断】防火墙Firewall是建立在内外网络边界上的过滤封锁机制它认为外部网络是安全和可信赖的而内部网络是不安全和不可信赖的。× 参考《软件设计师教程》第5版P570原文 防火墙Firewall是建立在内外网络边界上的过滤封锁机制它认为内部网络是安全和可信赖的而外部网络是不安全和不可信赖的。 8.下列 防火墙技术、加密技术、用户识别技术、访问控制技术、网络反病毒技术、网络安全漏洞扫描技术、入侵检测技术 属于网络安全控制技术。 网络安全控制技术目前有防火墙技术、加密技术、用户识别技术、访问控制技术、网络反病毒技术、网络安全漏洞扫描技术、入侵检测技术等。 9.以下 对网络服务系统进行干扰、执行无关程序使系统响应减慢、甚至瘫痪 是拒绝服务攻击的表现。 一般认为目前网络存在的威胁主要表现在以下5个方面。 1非授权访问没有预先经过同意就使用网络或计算机资源则被看作非授权访问如有意避开系统访问控制机制对网络设备及资源进行非正常使用或擅自扩大权限越权访问信息。它主要有以下几种形式假冒、身份攻击、非法用户进入网络系统进行违法操作、合法用户以未授权方式进行操作等。 2信息泄露或丢失指敏感数据在有意或无意中被泄露出去或丢失它通常包括信息在传输中丢失或泄露、信息在存储介质中丢失或泄露以及通过建立隐蔽隧道等窃取敏感信息等。 3破坏数据完整性以非法手段窃得对数据的使用权删除、修改、插入或重发某些重要信息以取得有益于攻击者的响应恶意添加修改数据以干扰用户的正常使用。 4拒绝服务攻击它不断对网络服务系统进行干扰改变其正常的作业流程执行无关程序使系统响应减慢甚至瘫痪影响正常用户的使用甚至使合法用户被排斥而不能进入计算机网络系统或不能得到相应的服务。 5利用网络传播病毒通过网络传播计算机病毒其破坏性大大高于单机系统而且用户很难防范。 10.网络系统中通常把 Web服务器 置于DMZ区。 DMZ是英文“demilitarized zone”的缩写中文名称为“隔离区”也称“非军事化区”。它是为了解决安装防火墙后外部网络不能访问内部网络服务器的问题而设立的一个非安全系统与安全系统之间的缓冲区这个缓冲区位于企业内部网络和外部网络之间的小网络区域内在这个小网络区域内可以放置一些必须公开的服务器设施如企业Web服务器、FTP服务器和论坛等。另一方面通过这样一个DMZ区域更加有效地保护了内部网络因为这种网络部署比起一般的防火墙方案对攻击者来说又多了一道关卡。 11.防火墙不具备 查毒 功能。 网络防火墙就是一个位于计算机和它所连接的网络之间的软件。该计算机流入流出的所有网络通信均要经过此防火墙。防火墙对流经它的网络通信进行扫描这样能够过滤掉一些攻击以免其在目标计算机上被执行。防火墙还可以关闭不使用的端囗。而且它还能禁止特定端囗的流出通信封锁特洛伊木马。最后它可以禁止来自特殊站点的访问从而防止来自不明入侵者的所有通信。 防火墙的功能包括访问控制提供基于状态检测技术的ip地址、端口、用户和时间的管理控制双向nat提供ip地址转换和ip及tcp/udp端口映射实现ip复用和隐藏网络结构代理等。 12. 漏洞扫描 不属于入侵检测技术。 漏洞扫描为另一种安全防护策略。 13.下列不属于计算机病毒的是 DDOS 。 木马如果算作病毒的话——永恒之蓝、蠕虫、特洛伊木马、熊猫烧香 DDoS指的是分布式拒绝服务攻击不属于计算机病毒与木马其他选项都属于计算机病毒或木马本题选择D选项。 14.以下关于杀毒软件的描述中错误的是安装杀毒软件可以有效防止网站信息被篡改 。 在杀毒软件的使用过程中我们应该为个人计算机、服务器都安装杀毒软件并且应当及时更新病毒库信息可以有效防止蠕虫病毒等。ABD选项描述都是正确的。 杀毒软件只能防病毒不能有效防止网站信息被篡改所以C选项描述错误本题选择C选项。 15.通过在出口防火墙上配置 ACL 功能可以阻止外部未授权用户访问内部网络。 ACL一般指访问控制列表。访问控制列表ACL是一种基于包过滤的访问控制技术它可以根据设定的条件对接囗上的数据包进行过滤允许其通过或丢弃。本题描述的是ACL其他选项与本题描述不符选择A选项。 16.用户在电子商务网站上使用网上银行支付时必须通过 支付网关 在lnternet与银行专用网之间进行数据交换。 用户在电子商务网站上使用网上银行支付时必须通过支付网关才能在Internet与银行专用网之间进行数据交换。 A、支付网关是银行金融网络系统和Internet网络之间的接口是由银行操作的将Internet上传输的数据转换为金融机构内部数据的一组服务器设备或由指派的第三方处理商家支付信息和顾客的支付指令。与题目场景相符A选项正确。 B、防病毒网关防病毒网关是一种网络设备用以保护网络内一般是局域网进出数据的安全。主要体现在病毒杀除、关键字过滤如色情、反动、垃圾邮件阻止的功能同时部分设备也具有一定防火墙划分Vlan的功能。如果与互联网相连就需要网关的防病毒软件。与题目场景不符B选项错误。 C、出口路由器一般指局域网出外网的路由器或者指一个企业、小区、单位、城域网、省级网络、国家网络与外界网络直接相连的那台路由器。在网络间起网关的作用是读取每一个数据包中的地址然后决定如何传送的专用智能性的网络设备。与题目场景不符C选项错误。 D、堡垒主机堡垒主机是一种被强化的可以防御进攻的计算机作为进入内部网络的一个检查点以达到把整个网络的安全问题集中在某个主机上解决从而省时省力不用考虑其它主机的安全的目的。与题目场景不符D选项错误。 17.防火墙通常分为内网、外网和DMZ三个区域按照受保护程度从低到高正确的排列次序为 外网、DMZ和内网 。 cisco PIX防火墙的配置命令中namif命令用于对端口命名同时指定对应端口的优先级。通常接内网的端口优先级最高接入外网的端口优先级最低若有DMZ区域则接入该区域的端口优先级介于内网和外网端口之间。指定好了优先级之后默认情况下cisco PIX防火墙只运行高优先级端口的流量流向低优先级端口拒绝低优先级端口流量流向高优 先级端口。所以防火墙通常分为内网、外网和DMZ三个区域按照受保护程度从高到低正确的排列次序为内网、DMZ和外网。 18.包过滤防火墙对网络层 的数据报文进行检查。 包过滤防火墙是最简单的一种防火墙它在网络层截获网络数据包根据防火墙的规则表来检测攻击行为。包过滤防火墙一般作用在网络层IP层故也称网络层防火墙Network Lev Firewall或IP过滤器IP filters。数据包过滤Packet Filtering是指在网络层对数据包进行分析、选择。通过检查数据流中每一个数据包的源IP地址、目的IP地址、源端囗号、目的端口号、协议类型等因素或它们的组合来确定是否允许该数据包通过。在网络层提供较低级别的安全防护和控制。 19.以下可以有效防治计算机病毒的策略是 安装并及时升级防病毒软件。 A选项、部署防火墙防火墙技术是通过有机结合各类用于安全管理与筛选的软件和硬件设备帮助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障以保护用户资料与信息安全性的一种技术并不能有效的防范病毒。 B选项、部署入侵检测系统入侵检测系统intrusion detection system,简称“IDS”是一种对网络传输进行即时监视在发现可疑传输时发出警报或者采取主动反应措施的网络安全设备。是对一种网络传输的监视技术并不能有效的防范病毒。 D选项、定期备份数据文件数据备份是容灾的基础是指为防止系统出现操作失误或系统故障导致数据丢失而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。是为了防止系统数据流失不能有效的防范病毒。
标准化和软件知识产权基础知识
标准化基础知识
1.PASC是指 太平洋地区标准会议 。 ASAC- 亚洲标准咨询委员会 CEN- 欧洲标准委员会 ARSO- 非洲地区标准化组织 2.地方标准代号由大写汉语拼音DB加上省级行政区划代码的前两位组成。 行业标准代号一般由汉语拼音大写字母组成已正式公布的行业代号有QJ(航天)、SJ(电子)、JB(机械)和JR(金融系统)等。地方标准代号由大写汉语拼音DB加上省级行政区划代码的前两位组成。 3. 标准 是对重复性事物和概念所做的统一规定。 参考《软件设计师教程》第5版原文标准Standard)是对重复性事物和概念所做的统一规定。 4.根据标准制定的机构和标准适用的范围可分为国际标准、国家标准、行业标准、企业(机构标准及项目课题标准。√ 参考《软件设计师教程》第5版原文 5.根据标准的性质可分为技术标准、管理标准和检验标准。× 根据标准的性质可分为技术标准、管理标准和工作标准。 6.「GB」指的是 中国 。 GB- 中国、ANSI- 美国、BS- 英国、JIS- 日本 7.强制性国家标准是 GB 。 推荐性国家标准GB/T
知识产权基础知识
1.下列关于软件著作权中翻译权的叙述正确的是翻译权是指 将原软件从一种自然语言文字转换成另一种自然语言文字的权利。 争议软件著作权中翻译权属于软件著作财产权是指从一种程序设计语言翻译成另一种程序设计语言
2.利用 商业秘密权 可以对软件的技术信息、经营信息提供保护。 著作权是对作品包括文学、艺术、自然科学、社会科学和工程技术领域内具有独创性并能以某种有形形式复制的智力成果的保护。专利权保护的是具有创造性的发明及设计等成果。商业秘密权用来保护商家的秘密而软件的技术信息及经营信息正属于商业秘密的范畴因此需要用商业秘密权来保护。 3.某软件公司研发的财务软件产品在行业中技术领先具有很强的市场竞争优势。为确保其软件产品的技术领先及市场竞争优势公司采取相应的保密措施以防止软件技术秘密的外泄。并且还为该软件产品冠以“用友”商标但未进行商标注册。此情况下公司仅享有该软件产品的软件著作权和商业秘密权 。 4.M软件公司的软件产品注册商标为M为确保公司在市场竞争中占据优势对员工进行了保密约束。此情形下该公司不享有 专利权 。 M公司对商标进行了注册那么其就享有该商标的商标权而在注册前就应该完成了该商标的设计和职责自然就享有其著作权而同时为了确保公司在市场竞争中占据优势对员工进行了保密约束那么就具有商业秘密权。 5.王某买了一幅美术作品原件则他享有该美术作品的 所有权与其展览权 。 展览权是原件持有人的特有的权利著作权人不能以发表权限制其权利除非有约定。 所有权是所有人依法对自己财产所享有的占有使用收益和处分的权利。 6.关于软件著作权产生的时间下面表述正确的是 自作品创作完成之日 。 在我国软件著作权采用“自动保护”原则。《计算机软件保护条例》第十四条规定“软件著作权自软件开发完成之日起产生”。即软件著作权自软件开发完成之日起自动产生不论整体还是局部只要具备了软件的属性即产生软件著作权既不要求履行任何形式的登记或注册手续也无须在复制件上加注著作权标记也不论其是否已经发表都依法享有软件著作权。 一般来讲一个软件只有开发完成并固定下来才能享有软件著作权。如果一个软件一直处于开发状态中其最终的形态并没有固定下来则法律无法对其进行保护。因此条例法律明确规定软件著作权自软件开发完成之日起产生。当然现在的软件开发经常是一项系统工程一个软件可能会有很多模块而每一个模块能够独立完成某一项功能。自该模块开发完成后就产生了著作权。所以说自该软件开发完成后就产生了著作权。 7.X软件公司的软件工程师张某兼职于Y科技公司为完成Y科技公司交给的工作做出了一项涉及计算机程序的发明。张某认为该发明是利用自己的业余时间完成的可以以个人名义申请专利。此项专利申请权应归属 Y科技公司 。 因为张某是为了完成Y科技公司交给的工作而做出的发明属于职务作品对于职务作品其专利权应该归单位所有因此本题答案应该选C。 8.王某是一名软件设计师按公司规定编写软件文档并上交公司存档。这些软件文档属于职务作品且 其著作权由公司享有 。 9.中国企业M与美国公司L进行技术合作合同约定M使用一项在有效期内的美国专利但该项美国专利未在中国和其他国家提出申请。对于M销售依照该专利生产的产品以下叙述正确的是 在中国销售M不需要向L支付专利许可使用费 。 本题的正确答案选D因为该技术只在美国申请了专利且在有效期内而在中国和其他国家未提出申请因此不受这些国家的专利权保护因此在中国或其他国家销售M不需要向L支付专利许可使用费。 10.软件权利人与被许可方签订一份软件使用许可合同。若在该合同约定的时间和地域范围内软件权利人不得再许可任何第三人以此相同的方法使用该项软件但软件权利人可以自己使用则该项许可使用是 独家许可使用 。 软件许可使用一般有独占许可使用、独家许可使用和普通许可使用三种形式。独占许可使用许可的是专有使用权实施独占许可使用后软件著作权人不得将软件使用权授予第三方软件著作权人自己不能使用该软件独家许可使用许可的是专有使用权实施独家许可使用后软件著作权人不得将软件使用权授予第三方软件著作权人自己可以使用该软件普通许可使用许可的是非专有使用权实施普通许可使用后软件著作权人可以将软件使用权授予第三方软件著作权人自己可以使用该软件。 11. 合理使用 指可以不经著作权人许可不需支付报酬使用其作品。 合理使用是指可以不经著作权人许可不需支付报酬使用其作品许可使用是指在获得著作权人许可后使用其作品强制许可使用也称为强制许可或非自愿许可是指国务院专利行政部门依照法律规定可以不经专利权人的同意直接允许申请人实施专利权人的发明或实用新型专利的一种行政措施法定许可使用是指法律明文规定可以不经著作权人许可以特定的方式有偿使用他人已经发表的作品的行为并且这种使用应当尊重著作权人的其他各项人身利和财产权。 12.以下作品中不适用或不受著作权法保护的是 国务院颁布的《计算机软件保护条例》 。 根据我国《著作权法》的规定有三种类型的作品不受法律保护。 第一种是依法禁止出版、传播的作品。 第二种是不适用于《著作权法》的作品。它们包括下列作品 1法律、法规国家的决议、决定、命令和其他具有立法、行政、司法性质的文件极其官方正式译文 2时事新闻 3历法、通用数表、通用表格和公式。 国务院颁布的《计算机软件保护条例》属于法律法规所以不受著作权法保护。 13.为说明某一问题在学术论文中需要引用某些资料。以下叙述中 既可引用发表的作品也可引用未发表的作品 是不正确的。 根据《著作权法》的规定符合法定许可条件的都是“已发表作品”由此推知引用未发表作品必须征得作者同意因为这涉及到作者的发表权问题。 合理使用是不必征得原作者的同意不需要向他支付报酬其使用的范围和具体方式具体而言可以从以下几个方面理解: 1引用的目的是为了介绍、评论某一作品或者说明某一问题。 2引用的比例必须适当。一般说来引用不应当比评论、介绍或者说明还长。 3引用的作品必须是已经发表的作品。 4引用他人的作品应当指明作者的姓名作品的名称并且不得侵犯著作权人按照著作权法享有的其他权利。 14.软件著作权的客体不包括 软件开发思想 。 软件著作权的客体是指计算机软件即计算机程序及其有关文档。计算机程序是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列或者可以被自动转换成代码化指令序列的符号化序列或者符号化语句序列。同一计算机程序的源程序和目标程序为同一作品。文档是指用来描述程序的内容、组成、设计、功能规格、开发情况、测试结果及使用方法的文字资料和图表等如程序说明、流程图、用户手册等。 15.下列智力成果中能取得专利权的是 计算机算法 。 计算机程序的法律保护形式有著作权法、专利法、商标法、商业秘密法等计算机程序的专利保护可以弥补著作权保护的不足但是专利法规定智力活动的规则和方法不能授予专利权。 计算机程序算法和代码是智力活动的成果著作权保护程序代码但是不保护算法专利权可以作为著作权的补充用专利权保护算法。 16.程序员甲与同事乙在乙家探讨甲近期编写的程序甲表示对该程序极不满意要弃之重写并将程序手稿扔到乙家垃圾筒。后来乙将甲这一程序稍加修改并署乙发表。以下说法正确的是乙的行为侵犯了甲的软件著作权 。 著作权因作品的完成而自动产生不必履行任何形式的登记或注册手续也不论其是否已经发表所以甲对该软件作品享有著作权。乙未经甲的许可擅自使用甲的软件作品的行为侵犯了甲的软件著作权。 17.甲、乙软件公司于2013年9月12日就其财务软件产品分别申请“大堂”和“大唐”商标注册。两财务软件相似且经协商双方均不同意放弃使用其申请注册的商标标识。此情形下 由甲、乙抽签结果确定谁能 获准注册。 这个是同一类产品构成近似商标“近似商标”是指文字、数字、图形、三维标志或颜色组合等商标的构成要素的发音、视觉、含义或排列顺序及整体结构上虽有一定区别但又使人难以区分容易产生混淆的商标。会产生商标侵权故不能同时注册。由双方协商决定。 18.甲、乙两软件公司于2012年7月12日就其财务软件产品分别申请“用友”和“用有”商标注册。两财务软件相似甲第一次使用时间为2009年7月乙第一次使用时间为2009年5月。此情形下 “用有” 能获准注册。 19.两个以上的申请人分别就相同内容的计算机程序的发明创造先后向国务院专利行政部门提出申请 先申请人 可以获得专利申请权。 本题考查知识产权基本知识即专利管理部门授予专利权的基本原则。我国授予专利权采用先申请原则即两个以上的申请人分别就同一项发明创造申请专利权的专利权授予最先申请的人。如果两个以上申请人在同一日分别就同样的发明创造申请专利的应当在收到专利行政管理部门的通知后自行协商确定申请人。如果协商不成.专利局将驳回所有申请人的申清即所有申请人均不能取得专利权。所以先申请人可以获得专利申请权。 20.依据《中华人民共和国著作权法》关于著作权的描述不正确的是 将已经发表的中文作品改成盲文出版须经著作权人许可。 在下列情况下使用作品可以不经著作权人许可不向其支付报酬但应当指明作者姓名、作品名称并且不得侵犯著作权人依照本法享有的其他权利 十二将已经发表的作品改成盲文出版。 21.著作权中 署名权 的保护期不受限制。 本题考查著作权期限相关知识。《中华人民共和国著作权法》对著作权的保护期限作了如下规定1著作权中的署名权、修改权、保护作品完整权的保护期不受限制。 22. 商标权 的保护期是可以延长的。. 知识产权中软件著作权的署名权、修改权以及普通著作权作品的署名权、修改权、保护作品完整权都可以永久保护。其他著作权的保护期限是作者终身及其死后50年。特殊的保护期限中商标权可以续注延长商业秘密权保密期限不确定。 23.X公司接受Y公司的委托开发了一款应用软件双方没有订立任何书面合同。在此情形下 X公司 享有该软件的著作权。 有合同约定著作权归委托方那么就归属委托方而在合同中未约定著作权归属归创作方。对于题干描述说明未签订书面合同则该著作权归创作方X公司接受Y公司的委托即创作方X公司。 24. 《中华人民共和国著作权法》和《计算机软件保护条例》是构成我国保护计算机软件著作权的两个基本法律文件。
软件系统分析与设计简单介绍
结构化分析与设计
1.SRSSoftware Requirement Specification软件需求规范说明是一个正式的文档用于描述软件产品、程序或一组程序在特定环境中执行其功能时的规格
面向对象设计