软件水平考试(中级)数据库系统工程师上午(基础知识)试题章节练习试卷1(共601题)_第1页
软件水平考试(中级)数据库系统工程师上午(基础知识)试题章节练习试卷1(共601题)_第2页
软件水平考试(中级)数据库系统工程师上午(基础知识)试题章节练习试卷1(共601题)_第3页
软件水平考试(中级)数据库系统工程师上午(基础知识)试题章节练习试卷1(共601题)_第4页
软件水平考试(中级)数据库系统工程师上午(基础知识)试题章节练习试卷1(共601题)_第5页
已阅读5页,还剩209页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件水平考试(中级)数据库系统工程师上午(基础知识)试题章节练习试卷1(共9套)(共601题)软件水平考试(中级)数据库系统工程师上午(基础知识)试题章节练习试卷第1套一、中文选择题(本题共26题,每题1.0分,共26分。)1、软件开发中的瀑布模型典型地刻画了软件生存周期的阶段划分,与其最相适应的软件开发方法是(1)。A、构件化方法B、结构化方法C、面向对象方法D、快速原型法标准答案:B知识点解析:瀑布模型严格遵循软件生命周期各阶段的固定顺序:计划、分析、设计、编程、测试和维护,上一阶段完成后才能进入下一阶段,整个模型就像一个飞流直下的瀑布,如图9-1所示。下面,我们来分析试题所给出的4个选项。1.快速原型法快速原型是指快速建立起来的可以在计算机上运行的程序,它所完成的功能往往是最终软件产品功能的一个子集。快速原型模型的第一步是快速建立一个能反映用户主要需求的软件原型,让用户在计算机上使用它,通过实际操作了解目标系统的概貌。开发人员按照用户提出的意见快速地修改原型系统,然后再次请用户试用……一旦用户认为这个原型系统确实能够满足他们的需求,开发人员便可据此书写软件需求说明,并根据这份文档开发出可以满足用户真实需求的软件产品。因此,快速原型法主要用于获取用户的真实需求,适合开发用户需求不是很明确的软件系统。2.结构化方法结构化方法(StructuredMethod)是强调开发方法的结构合理性及所开发软件的结构合理性的软件开发方法。结构是指系统内各个组成要素之间的相互联系、相互作用的框架。结构化开发方法提出了一组提高软件结构合理性的准则,如分解与抽象、模块独立性、信息隐蔽等。针对软件生存周期各个不同的阶段,它有结构化分析(SA)、结构化设计(SD)和结构化程序设计(SP)等方法。在系统分析阶段,按全局的观点对企业进行分析,自上而下,从粗到精,由表及里,将系统逐层逐级进行分解,最后进行逆向综合,构成系统的信息模型。在系统设计阶段,先把系统功能作为一个大模块,然后逐层分解,完成系统模块结构设计。在实施阶段,先实现系统的框架,自上而下完善系统的功能。程序的编写遵循结构化程序设计的原则,自顶向下,逐步求精。3.面向对象方法面向对象方法是一种非常实用的软件开发方法。它以客观时间中的对象为中心,其分析和设计思想符合人们的思维方式,分析和设计的结果与客观世界的实际比较接近,容易被人们接受。在面向对象方法中,分析和设计的界限并不明显,他们采用相同的符号表示,能方便地从分析阶段平滑地过渡到设计阶段。4.构件化方法构件是指语义完整、语法正确和有可重用价值的单位软件,是软件重用过程中可以明确辨识的系统。结构上,它是语义描述、通讯接口和实现代码的复合体。简单地说,构件是具有一定的功能,能够独立工作或能同其他构件装配起来协调工作的程序体,构件的使用同它的开发、生产无关。从抽象程度来看,面向对象技术已达到了类级重用(代码重用),它以类为封装的单位。这样的重用粒度还太小,不足以解决异构互操作和效率更高的重用。构件将抽象的程度提到一个更高的层次,它是对一组类的组合进行封装,并代表完成一个或多个功能的特定服务,也为用户提供了多个接口。整个构件隐藏了具体的实现,只用接口对外提供服务。基于构件的开发(ComponentBasedSortwareDevelopment,CBSD)方法主要是利用已有构件组合集成,它的开发过程与传统方法不同。(1)需求分析和构件的评选需求分析阶段除分析外,还要进行构件的评选。一般分两步:查找所要构件和评价构件。首先按需求分析结果,从构件库或构件市场查找所需要标准的构件,了解构件的功能、可靠性、可预测性等特性,包括市场份额、以前业绩;然后选出一些候选构件,再进行评价和决策。由于评价方法不精确,需求有时也不十分明确,因此评价和决策比较难。这一步主要确定构件适应性,主要考虑修改定制构件的投资和风险。(2)构件的剪裁和扩展经过评选的构件不可能马上都能用,有时要对已有构件进行属性扩展或修改,称为构件的剪裁和扩展。这常常需要对构件开发者提出扩展或修改的意见,由构件开发者去完成。注意只能改内部属性,不能改接口。(3)构件的测试经过剪裁和扩展后,也可能要重新开发一些新构件,这些扩展或新开发的构件,必须在构造应用工具上进行测试,保证构件功能及接口规范的实现。这一步比传统的单元测试要快和容易。(4)构件的装配和集成构件的装配和集成是把构件装配成模块或打成包,在模块或包中都可以有自己的定制描述符。从上面的分析可以看出,与瀑布模型最相适应的开发方法为结构化方法。2、下述任务中,不属于软件工程需求分析阶段的是(2)。A、分析软件系统的数据要求B、确定软件系统的功能需求C、确定软件系统的性能要求D、确定软件系统的运行平台标准答案:D知识点解析:软件需求分析的目标是深入描述软件的功能和性能,确定软件设计的约束和软件同其他系统元素的接口细节,定义软件的其他有效性需求。需求分析的任务就是借助于当前系统的逻辑模型导出目标系统的逻辑模型,解决目标系统“做什么”的问题。在系统需求分析阶段,就要拟定系统的目标、范围和要求(需求),明确项目视图和范围。具体地说,需求分析的任务主要有以下几个方面:(1)确定软件的综合要求:系统界面,系统功能,系统性能,安全性、保密性和可靠性方面的要求,系统的运行要求,异常处理,将来的扩充和修改等。(2)分析软件系统的数据要求:基本数据元素,数据元素之间的逻辑关系,数据量,峰值等。(3)导出系统的逻辑模型。(4)修正项目开发计划。3、软件设计的主要任务是设计软件的结构、过程和模块,其中软件结构设计的主要任务是要确定(3)。A、模块间的操作细节B、模块间的相似性C、模块间的组成关系D、模块的具体功能标准答案:C知识点解析:软件设计阶段的任务是着手实现软件的需求,即要着手解决“软件怎么做”的问题。根据用数据、功能和行为模型表示的软件需求,采用某种设计方法进行数据设计、体系结构设计、接口设计和过程设计。数据设计将E-R图中描述的对象和关系,以及数据词典中描述的详细数据内容转化为数据结构的定义。体系结构设计定义软件系统各主要成分之间的关系。接口设计根据数据流图定义软件内部各成分之间、软件与其他协同系统之间及软件与用户之间的交互机制。过程设计则是把结构成分转换成软件的过程性描述。软件设计是开发阶段中最重要的步骤,它是软件开发过程中质量得以保证的关键步骤。软件设计又可分为概要设计和详细设计两个步骤。概要设计将软件需求转化为数据结构和软件的系统结构。详细设计通过对结构表示进行细化,得到软件的详细的数据结构和算法。常用的软件设计方法有结构化设计方法(SD)、Jackson设计方法(JSD)、Parnas方法和面向对象的设计方法(OOD)等。软件设计的原则有抽象的原则、模块化的原则、信息隐蔽的原则、模块独立的原则等。4、系统测试是将软件系统与硬件、外设和网络等其他因素结合,对整个软件系统进行测试。(4)不是系统测试的内容。A、路径测试B、可靠性测试C、安装测试D、安全测试标准答案:A知识点解析:系统测试的任务是把软件放在实际的硬件和网络环境中进行测试,主要测试软件的非功能需求和质量属性是否得到满足。系统测试通常采用黑盒测试,强调的是功能而不是结构,其中主要的几种测试如下。(1)恢复测试:是指通过各种手段,让软件强制性地发生故障,然后来验证恢复是否能正常进行的一种系统测试方法。(2)安全测试:用来验证集成在系统内的保护机制是否能够在实际中保护系统不受到非法侵入。(3)压力测试:本质上说,进行压力测试的人应该这样问“我们是将系统折腾到什么程度而不会出错?”。压力测试是在一种需要反常数量、频率或资源的方式下执行系统。(4)性能测试:就是用来测试软件在集成系统中的运行性能的。选项中的可靠性测试包含了容错性、恢复及安全等测试。路径测试是白盒测试方法,一般用在单元测试中。5、项目管理工具中,将网络方法用于工作计划安排的评审和检查的是(5)。A、Gantt图B、PERT网图C、因果分析图D、流程图标准答案:A知识点解析:本题考查考生对项目开发中用到的几种图形的理解。(1)Gantt图(甘特图):以水平线段表示任务的工作阶段:线段的起点和终点分别对应着任务的开工时间和完成时间;线段的长度表示完成任务所需的时间。从甘特图上可以很清楚地看出各子任务在时间上的对比关系,并以文档编制与评审作为软件开发进度的里程碑。甘特图的优点是标明了各任务的计划进度和当前进度,能动态地反映软件开发进展情况。缺点是难以反映多个任务之间存在的复杂的逻辑关系。(2)PERT网图:PERT图也叫做计划评审技术,它采用网络图来描述一个项目的任务网络。不仅可以表达子任务的计划安排,还可以在任务计划执行过程中估计任务完成的情况,分析某些子任务完成情况对全局的影响,找出影响全局的区域和关键子任务,以便及时采取措施,确保整个项目的完成。(3)因果分析图:又叫特性要素图、树枝图和鱼刺图等,是质量管理常用工具之一。(4)流程图:流程图以图解方式来说明实现一个解决方案所需完成的一系列操作。6、在结构化分析方法中,数据字典是重要的文档。对加工的描述是数据字典的组成内容之一,常用的加工描述方法(6)。A、只有结构化语言B、有结构化语言和判定树C、有结构化语言、判定树、判定表D、有判定树和判定表标准答案:C知识点解析:结构化分析(StructuredAnalysis,SA)方法是一种面向数据流的需求分析方法。它的基本思想是自顶向下逐层分解,把一个大问题分解成若干个小问题,每个小问题再分解成若干个更小的问题。经过逐层分解,每个最低层的问题都是足够简单、容易解决的,于是复杂的问题也就迎刃而解了。数据流图和数据字典是结构化分析的常见工具,数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据流图和数据字典共同构成系统的逻辑模型。没有数据流图,数据字典难以发挥作用;没有数据字典,数据流图就不严格。只有把数据流图和对数据流图中每个元素的精确定义放在一起,才能共同构成系统的规格说明。数据词典精确、严格地定义了每一个与系统相关的数据元素,并以字典式顺序将它们组织起来,使得用户和分析员对所有的输入、输出、存储成分和中间计算有共同的理解。在数据词典的每一个词条中应包含以下信息:(1)名称:数据对象或控制项、数据存储或外部实体的名字。(2)别名或编号。(3)分类:数据对象/加工/数据流/数据文件/外部实体/控制项(事件/状态)。(4)描述:描述内容或数据结构等。(5)何处使用:使用该词条(数据或控制项)的加工。对加工的描述是数据字典的组成内容之一,常用的加工描述方法有结构化语言、判定树、判定表。(1)结构化语言:介于自然语言和形式语言之间的一种半形式语言,它在自然语言基础之上加了一些限度,使用有限的词汇和有限的语句来描述加工逻辑。结构化语言是受结构化程序设计思想启发而扩展出来的。结构化程序设计只允许三种基本结构。结构化语言也只允许三种基本语句,即简单的祈使语句、判断语句、循环语句。与程序设计语言的差别在于,结构化语言没有严格的语法规定。与自然语言的不同在于,它只有极其有限的词汇和语句。结构化语言使用三类词汇:祈使句中的动词、数据字典中定义的名词,以及某些逻辑表达式中的保留字。(2)判定树:若一个动作的执行不只是依赖一个条件,而是与多个条件有关,那么这项策略的表达就比较复杂。如果用结构化语言的判断语句,就有多重嵌套。层次一多,可读性就下降。用判定树来表示可以更直观一些。(3)判定表:一些条件较多、在每个条件下取值也较多的判定问题,可以用判定表表示。判定表能清晰地表达复杂的条件组合与应做动作之间的对应关系,判定表的优点是能够简洁、无二义性地描述所有的处理规则。但判定表表示的是静态逻辑,是在某种条件取值组合情况下可能的结果,它不能表达加工的顺序,也不能表达循环结构,因此判定表不能成为一种通用的设计工具。这三种描述加工的方法各有千秋,除上面谈到的几个方面外,从直观性、可修改性等方面的比较,如表9-1所示。7、CMM模型将软件过程的成熟度分为5个等级。在(7)使用定量分析来不断地改进和管理软件过程。A、优化级B、管理级C、定义级D、可重复级标准答案:A知识点解析:CMM模型将软件过程的成熟度分为5个等级,分别如下。(1)初始级:软件过程的特点是无秩序的,有时甚至是混乱的。软件过程定义几乎处于无章法和步骤可循的状态,软件产品所取得的成功往往依赖于极个别人的努力和机遇。初始级的软件过程是未加定义的随意过程,项目的执行是随意甚至是混乱的。也许,有些企业制定了一些软件工程规范,但若这些规范未能覆盖基本的关键过程要求,且执行没有政策、资源等方面的保证时,那么它仍然被视为初始级。(2)可重复级:已经建立了基本的项目管理过程,可用于对成本、进度和功能特性进行跟踪。对类似的应用项目,有章可循并能重复以往所取得的成功。焦点集中在软件管理过程上。一个可管理的过程则是一个可重复的过程,一个可重复的过程则能逐渐演化和成熟。从管理角度可以看到一个按计划执行的、且阶段可控的软件开发过程。(3)定义级:用于管理和工程的软件过程均已文档化、标准化,并形成整个软件组织的标准软件过程。全部项目均采用与实际情况相吻合的、适当修改后的标准软件过程来进行操作。要求制定企业范围的工程化标准,而且无论是管理还是工程开发都需要一套文档化的标准,并将这些标准集成到企业软件开发标准过程中去。所有开发的项目需根据这个标准过程,剪裁出项目适宜的过程,并执行这些过程。过程的剪裁不是随意的,在使用前需经过企业有关人员的批准。(4)管理级:软件过程和产品质量有详细的度量标准。软件过程和产品质量得到了定量的认识和控制。(5)优化级:通过对来自过程、新概念和新技术等方面的各种有用信息的定量分析,能够不断地、持续地进行过程改进。有关CMM/MMI的知识,请读者阅读希赛网软件工程频道中的CMM/CMMI专栏或者过程改进专栏(http://51/pubcmm/),该专栏是目前国内有关CMM方面资料的最权威的栏目。8、在面向数据流的设计方法中,一般把数据流图中的数据划分为(8)两种。A、数据流和事务流B、变换流和数据流C、变换流和事务流D、控制流和事务流标准答案:C知识点解析:数据流图简称DFD,是描述数据处理过程的一种图形工具。数据流图从数据传递和加工的角度,以图形的方式描述数据在系统流程中流动和处理的移动变换过程,反映数据的流向、自然的逻辑过程和必要的逻辑数据存储。一般把数据流图中的数据划分为变换流和事务流两种。变换型数据处理问题的工作过程大致分为三步,即取得数据,变换数据和给出数据。事务型数据处理接受一项事务,根据事务处理的特点和性质,选择分派一个适当的处理单元,然后给出结果。9、下列叙述中,与提高软件可移植性相关的是(12)。A、选择时间效率高的算法B、尽可能减少注释C、选择空间效率高的算法D、尽量用高级语言编写系统中对效率要求不高的部分标准答案:D知识点解析:软件的可移植性(Portability)是指与一个软件从一个环境转移到另一个环境运行的能力有关的一组属性。它包括如下内容。(1)适应性(Adaptability):是指与软件无须采用有别于为该软件准备的活动或手段就可能适应不同的规定环境有关的软件属性。(2)可安装性(Installability):是指与应指定环境下安装软件所需努力有关的软件属性。(3)遵循性(一致性,Conformance):是指使软件遵循与可移植性有关的标准或约定的软件属性。(4)可替换性(Replaceability):是指与软件在该软件环境中用来替代指定的其他软件的机会和努力有关的软件属性。为避免可能与互操作性(互用性)的含义相混淆,此处用易替换性而不用兼容性。特定软件的易替换性并不隐含此软件可由所考虑的软件所替代。易替换性可能包含易安装性和适应性这两个属性。我们现在来看题目的备选答案,首先可以排除的是选项B“尽可能减少注释”,注释本来就是给人看的东西,不是给机器看的,注释是不会生成目标代码的。减少注释只会使程序的可读性变差,不会提高可移植性。选择时间效率高的算法能提高程序的运行速度,选择空间效率高的算法可以减少程序运行时所需内存。但这都和可移植性没什么关联。选项D所说的“尽量用高级语言编写系统中对效率要求不高的部分”是与可移植性有关的,这句话可以反过来看,也就是说如果一个系统所有部分都用低级语言来编写将是什么状况。比如说汇编语言就是一种低级语言,这种语言中直接用到了大量寄存器,而我们知道不同的系统中寄存器的数量和特性是不同的,所以用低级语言写的代码虽执行的效率很高,但可移植性却并不好。因此,正确的答案应为D。10、采用瀑布模型进行系统开发的过程中,每个阶段都会产生不同的文档。以下关于产生这些文档的描述中,正确的是(19)。A、外部设计评审报告在概要设计阶段产生B、集成测试计划在程序设计阶段产生C、系统计划和需求说明在详细设计阶段产生D、在进行编码的同时,独立地设计单元测试计划标准答案:A知识点解析:在软件生产过程中,总是产生和使用大量的信息。软件文档在产品的开发过程中起着重要的作用。它能提高软件开发过程的能见度,作为检查软件开发进度和开发质量的依据,实现对软件开发的工程管理,提高开发效率。软件文档的编制,使得开发人员对各个阶段的工作都进行周密思考、全盘权衡、减少返工。并且可在开发早期发现错误和不一致性,便于及时加以纠正。文档作为开发人员在一定阶段的工作成果和结束标志,记录开发过程中有关信息,便于协调以后的软件开发、使用和维护。文档还提供对软件的运行、维护和培训的有关信息,便于管理人员、开发人员、操作人员、用户之间的协作、交流和了解。文档使软件开发活动更科学、更有成效。文档便于潜在用户了解软件的功能、性能等各项指标,为他们选购符合自己需要的软件提供依据。国家标准《计算机软件产品开发文件编制指南GB8567-88》中规定,在一项软件开发过程,一般地说应该产生十四种文件。按照文档产生和使用的范围,软件文档大致可分为三类。(1)开发文档:软件需求说明书、数据要求说明书、数据库设计说明书、概要设计说明书、详细设计说明书、可行性研究报告、项目开发计划、测试计划和测试分析报告。(2)管理文档:项目开发计划、可行性研究报告、测试计划、测试分析报告、开发进度月报、模块开发卷宗和项目开发总结报告。(3)用户文档:用户手册、操作手册、维护修改建议和软件需求说明书。在采用瀑布模型进行系统开发的过程中,系统计划和需求说明在需求分析阶段产生,集成测试计划在概要设计阶段产生,单元测试计划在详细设计阶段产生。11、在软件项目管理中可以使用各种图形工具来辅助决策,下面对Gantt图的描述中,不正确的是(22)。A、Gantt图表现了各个活动的持续时间B、Gantt图表现了各个活动的起始时间C、Gantt图反映了各个活动之间的依赖关系D、Gantt图表现了完成各个活动的进度标准答案:C知识点解析:进度是按时间顺序计划活动的一个列表,我们称之为Gantt图,它有以下几个关键的成分:(1)横跨图顶部排列的是日历表。(2)最左边的一列包含了每项任务的标识号(ID)。(3)左边第二列是要做的任务的名称。(4)在图表当中,任务条表示各项任务计划的开始和结束时间。(5)在表的左下方是项目名称、进度表的作者和制订此进度的原始日期。Gantt图是展现项目中各个任务进展状况的一种有用的工具。这种图表对于协调多种活动特别有用。它能表现各个活动的持续时间、各个活动的起始时间及完成各个活动的进度,但不能表现各个活动之间的依赖关系。活动之间的依赖关系可用工程网络图来表现。12、耦合度描述了(23)。A、模块内各种元素结合的程度B、模块内多个功能之间的接口C、模块之间公共数据的数量D、模块之间相互关联的程度标准答案:D知识点解析:耦合度是指从模块外部考察模块的独立性程度。它用来衡量多个模块间的相互联系。一般来说,耦合度应从以下三方面来考虑,即:耦合内容的数量,即模块间发生联系的数据和代码的多少,同这些数据和代码发生联系的模块的多少,多的耦合强,少的耦合弱。模块的调用方式,即模块间代码的共享方式。可分为用CALL语句调用方式和用GOTO语句直接访问方式。模块间的耦合类型有以下几种方式:(1)独立耦合:指两个模块彼此完全独立,没有直接联系。它们之间的唯一联系仅仅在于它们同属于一个软件系统或同有一个上层模块。这是耦合程度最低的一种。当然,系统中只可能有一部分模块属于此种联系,因为一个程序系统中不可能所有的模块都完全没有联系。(2)数据耦合:指两个模块彼此交换数据。如一个模块的输出数据是另一个模块的输入数据,或一个模块带参数调用另一个模块,下层模块又返回参数。应该说,在一个软件系统中,此种耦合是不可避免的,且有其积极意义。因为任何功能的实现都离不开数据的产生、表示和传递。数据耦合的联系程度也较低。(3)控制耦合:若在调用过程中,两个模块间传递的不是数据参数而是控制参数,则模块间的关系即为控制耦合。控制耦合属于中等程度的耦合,比数据耦合模块间的联系更为紧密。但控制耦合不是一种必须存在的耦合。当被调用模块接收到控制信息作为输入参数时,说明该模块内部存在多个并列的逻辑路径,即有多个功能。控制变量用于从多个功能中选择所要执行的部分,因而控制耦合是完全可以避免的。(4)公共耦合:又称公共环境耦合或数据区耦合。若多个模块对同一个数据区进行存取操作,则它们之间的关系称为公共耦合。公共数据区可以是全程变量、共享的数据区、内存的公共覆盖区、外存上的文件、物理设备等。当两个模块共享的数据很多,通过参数传递可能不方便时,可以使用公共耦合。公共耦合共享数据区的模块越多,数据区的规模越大,则耦合程度越强。公共耦合最弱的一种形式是:两个模块共享一个数据变量,一个模块只向里写数据,另一个模块只从里读数据。当公共耦合程度很强时,会造成关系错综复杂,难以控制,错误传递机会增加,系统可靠性降低,可理解、维护性差。(5)内容耦合:是耦合程序最高的一种形式。若一个模块直接访问另一模块的内部代码或数据,即出现内容耦合。内容耦合的存在严重破坏了模块的独立性和系统的结构化,代码互相纠缠,运行错综复杂,程序的静态结构和动态结构很不一致,其恶劣结果往往不可预测。内容耦合往往表现为以下几种形式:①一个模块访问另一模块的内部代码或数据;②一个模块不通过正常入口而转到另一个模块的内部;③两个模块有一部分代码重叠;④一个模块有多个入口。一般讲,在模块划分时,应当尽量使用数据耦合,少用控制耦合(尽量转成数据耦合),限制公共耦合的范围,完全不用内容耦合。13、数据流程图的作用是(24)。A、描述了数据对象之间的关系B、描述了对数据的处理流程C、说明了将要出现的逻辑判定D、指明了系统对外部事件的反应标准答案:B知识点解析:数据流程图简记为DFD,指把信息流看做一个组织或系统动作的线索,通过外部实体、数据处理、数据存储和数据流四个基本元素描述某项业务处理系统的信息来源、存储、处理、去向的全面情况,力图简明扼要地勾画出全面的概念模式。它描述了对数据的处理流程。14、内聚是一种指标,表示一个模块(25)。A、代码优化的程度B、代码功能的集中程度C、完成任务的及时程度D、为了与其他模块连接所要完成的工作量标准答案:B知识点解析:内聚是指一个模块内各个元素彼此结合的紧密程度。内聚按强度从低到高有以下几种类型。(1)偶然内聚:如果一个模块的各成分之间毫无关系,则称为偶然内聚。(2)逻辑内聚:几个逻辑上相关的功能被放在同一模块中,则称为逻辑内聚。如一个模块读取各种不同类型外设的输入。尽管逻辑内聚比偶然内聚合理一些,但逻辑内聚的模块各成分在功能上并无关系,即使局部功能的修改有时也会影响全局,因此这类模块的修改也比较困难。(3)时间内聚:如果一个模块完成的功能必须在同一时间内执行,但这些功能只是因为时间因素关联在一起,则称为时间内聚。(4)过程内聚:如果一个模块内部的处理成分是相关的,而且这些处理必须以特定的次序执行,则称为过程内聚。(5)通信内聚:如果一个模块的所有成分都操作同一数据集或生成同一数据集,则称为通信内聚。(6)顺序内聚:如果一个模块的各个成分和同一个功能密切相关,而且一个成分的输出作为另一个成分的输入,则称为顺序内聚。(7)功能内聚:模块的所有成分对于完成单一的功能都是必需的,则称为功能内聚。15、在软件项目开发过程中,评估软件项目风险时,(26)与风险无关。A、高级管理人员是否正式承诺支持该项目B、开发人员和用户是否充分理解系统的需求C、最终用户是否同意部署已开发的系统D、开发需要的资金是否能按时到位标准答案:C知识点解析:软件开发中的风险与高级管理人员的支持程度有关,与对系统需求理解的程度有关,与开发资金的及时投入有关,但是与最终用户无关,系统的最后部署与运行不属于开发过程。Boehm提出的十大风险是:开发人员短缺、不能实现的进度和预算、开发了错误的软件功能、开发了错误的用户接口、华而不实的需求、需求不断变动、外部执行的任务不符合要求、外部提供的组件不符合要求、实时性不符合要求、超出了计算机科学发展的水平。16、开发专家系统时,通过描述事实和规则由模式匹配得出结论,这种情况下适用的开发语言是(27)。A、面向对象语言B、函数式语言C、过程式语言D、逻辑式语言标准答案:D知识点解析:面向对象语言(Object-OrientedLanguage)是一类以对象作为基本程序结构单位的程序设计语言,指用于描述的设计是以对象为核心的,而对象是程序运行时刻的基本成分。语言中提供了类、继承等成分。函数式语言。这种语言的语义基础是基于数学函数概念的值映射的丸算子可计算模型。这种语言非常适合于进行人工智能等工作的计算。典型的函数式语言如Lisp、Haskell、ML、Scheme等。函数式程序设计是一种强调表达式赋值而不是执行命令的程序设计。过程式语言是一种通过指明一列可执行的运算及运算的次序来描述计算过程的语言。非过程式语言是一种不显式地指明处理细节的程序设计语言。逻辑式语言。这种语言的语义基础是基于一组已知规则的形式逻辑系统。这种语言主要用于专家系统的实现中。最著名的逻辑式语言是Prolog。17、结构化开发方法中,数据流图是(28)阶段产生的成果。A、需求分析B、总体设计C、详细设计D、程序编码标准答案:A知识点解析:结构化分析是面向数据流进行需求分析的方法,数据流图是分析过程中用来描述数据处理过程的工具,它从数据传递和加工的角度,以图形的方式刻画数据流从输入到输出的移动变换过程,是对软件所要处理数据的抽象。由于数据流图只反映系统必须完成的逻辑功能,所以它是一种功能模型。18、以下关于原型化开发方法的叙述中,不正确的是(29)。A、原型化方法适应于需求不明确的软件开发B、在开发过程中,可以废弃不用早期构造的软件原型C、原型化方法可以直接开发出最终产品D、原型化方法有利于确认各项系统服务的可用性标准答案:C知识点解析:原型是软件开发过程中,软件的一个早期可运行的版本,它反映了最终系统的部分重要特性。原型化软件开发方法的基本思想是软件开发人员对用户提出的需求和问题进行总结,就系统的主要需求取得一致意见后,构造一个软件原型(原型是软件的一个早期版本,通常反映最终软件的部分重要特性,原则应该是可以运行和修改的),使用户在试用原型过程中得到感受和启发,并做出反应和评价。然后开发者根据用户的意见对原型进行改进,使之逐步完善,直到用户对系统完全满意为止。这种方法强调的是软件开发人员与用户的不断交互,通过原型的演进不断适应用户任务改变的需求。将维护和修改阶段的工作尽早进行,使用户验收提前,从而使软件产品更加适用。它的优点是需求表示清楚,用户满意度较高、可降低开始风险和开发成本。所以原型化方法特别适用于原始需求不明确的软件,通过用户的不断使用和体验并提出评价,使得不断修改的原型逐步达到用户要求。通常,软件开发过程中会得到多个软件原型,只有得到用户认可的才是最终的产品。19、CVS是一种(30)工具。A、需求分析B、编译C、程序编码D、版本控制标准答案:D知识点解析:CVS的全称是ConcurrentVersionSystem,它是一个免费的协同版本控制工具,主要用于软件源码的维护。此外CVS可以维护任意文档的开发和使用。CVS维护的文件类型可以是文本类型也可是二进制类型。CVS基于客户端朋臣务器模式,多个用户可通过网络(或本地)方式同时访问,从而使用CVS成为位于不同地点、位于不同地点的人同时处理数据文件(特别是程序的源代码)时的首选。20、通常在软件的(31)活动中无需用户参与。A、需求分析B、维护C、编码D、测试标准答案:C知识点解析:为确保软件符合用户需求,在各种软件开发过程中,用户承担着非常重要的作用。进行需求分析时,需要用户和软件人员共同讨论,并且只有用户参与,才能有助于软件人员了解用户的知识、管理和技能等背景,也才能确保软件符合用户需求。软件设计是将需求分析阶段确定的、直接反映用户需求的逻辑方案转换为可以在计算机中实现的技术方案。在此过程中,不仅需要技术专家参与,也要求系统的用户高度参与和控制,用户主要参与系统总体设计、代码设计和数据库设计等工作。测试是软件质量的保证性手段,因为用户是软件的直接或间接使用者,这一群体能对软件系统成果产生重大影响,不同种类的用户可以以不同形式参与系统测试活动。软件编码是用程序代码实现软件设计活动,这一活动只是将软件人员与用户共同确定的软件设计用指定的程序设计语言进行实现,得到可以在计算机上运行的实体,用户通常不需要参与这个过程。21、进行软件项目的风险分析时,风险避免、风险监控和风险管理及意外事件计划是(32)活动中需要考虑的问题。A、风险识别B、风险预测C、风险评估D、风险控制标准答案:D知识点解析:软件项目风险是指在软件开发过程中遇到的预算和进度等方面的问题,以及这些问题对软件项目的影响。软件风险分析包括风险识别、风险预测、风险评估和风险控制共4个不同的活动。风险识别是风险管理的第一步,它是指对企业所面临的及潜在的风险加以判断、归类和鉴定性质的过程。风险评估是在风险识别的基础上,对所收集的大量风险信息运用数量化方法,估计和预测风险发生的可能性和损失的严重程度。风险控制是指利用某些技术和方法设法避开或转移风险,在此活动中,通常需要考虑风险避免、风险监控和风险管理及意外事件计划三个方面的问题。22、在统一建模语言(UML)中,(33)用于描述系统与外部系统及用户之间的交互。A、类图B、用例图C、对象图D、协作图标准答案:B知识点解析:本题考查的是UML语言,详细分析见第11题。用例图用于描述系统与外部系统及用户之间的交互。23、用来辅助软件开发、运行、维护、管理、支持等过程中的活动的软件称为软件开发工具;通常也称为(97)工具。A、CADB、CAIC、CAMD、CASE标准答案:D知识点解析:软件开发工具是指用于辅助软件开发、运行、维护、管理、支持等过程中的活动的软件,通常也称为CASE(ComputerAidedSoftwareEngineering,计算机辅助软件工程)工具。24、使用软件开发工具有助于提高软件的开发、维护和管理的效率。集成型软件开发环境通常由工具集和环境集成机制组成。这种环境应具有(98)。环境集成机制主要有数据集成机制、控制集成机制和界面集成机制。A、开放性和可剪裁性B、开放性和不可剪裁性C、封闭性和可剪裁性D、封闭性和不可剪裁性标准答案:A知识点解析:软件开发环境是指支持软件产品开发的软件系统。集成型软件开发环境是一种把支持多种软件开发方法和开发模型、支持软件开发全过程的软件工具集成在一起的软件开发环境。软件开发环境具有集成性、开放性、可裁减性、数据格式一致性、风格统一的用户界面等特性,因而能大幅度提高软件生产率。其中开放性是指允许其他的软件工具加入到软件开发环境之中,为环境外的工具集成到环境中来提供方便。可剪裁性是指根据不同的应用或不同的用户需求进行剪裁,以形成特定的开发环境。通常,软件开发环境可由环境机制和工具集构成。按功能划分,环境机制又可分为环境信息库(数据集成机制)、过程控制和消息服务(控制集成机制)、用户界面规范(界面集成机制)。数据集成机制提供统一的数据接口规范,需要相互协作的工具通过这种统一的模式与规范交换数据。数据集成可以有不同的层次,如共享文件、共享数据结构和共享信息库等。环境信息库存储软件工程项目在生存周期中的全部信息,是软件开发环境的核心。控制集成机制支持各工具或各开发活动之间的通信、切换、调度和协同工作,并支持软件开发过程的描述、执行和转接。通常使用消息通信机制实现控制集成,工具间发送的消息统一由消息服务器进行管理。界面集成机制为统一的工具界面风格和统一的操作方式提供支持,使得环境中的工具具有相同的视觉效果和操作规则,减少用户为学习不同工具的使用所花费的开销。界面集成主要体现在相同或相似的窗口、菜单、工具条、快捷键、操作规则与命令语法等。工具集包括事务系统规划工具、项目管理工具、支撑工具、分析设计工具、程序设计工具、测试工具、原型建造工具、维护工具和框架工具等,所有这些工具可分为贯穿整个开发过程的工具(例如软件项目管理工具)和解决软件生命周期中某一阶段问题的工具(例如软件价格模型及估算工具)。25、概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是(106)。A、把软件划分成模块B、确定模块之间的调用关系C、确定各个模块的功能D、设计每个模块的伪代码标准答案:D知识点解析:在概要设计阶段,设计人员将系统划分为一个个具有特定功能的模块,并给出相应模块的功能、模块间的联系与调用关系、决定模块的界面等。详细设计阶段的主要工作之一就是根据概要设计的文档,设计每个模块的伪代码。26、在下列说法中,(109)是造成软件危机的主要原因。①用户使用不当②软件本身特点③硬件不可靠④对软件的错误认识⑤缺乏好的开发方法和手段⑥开发效率低A、①③⑥B、①②④C、③⑤⑥D、②⑤⑥标准答案:D知识点解析:软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。软件危机主要表现在:软件需求的增长得不到满足,软件生产成本高、价格昂贵,软件生产进度无法控制,软件需求定义不够准确,软件质量不易保证,软件可维护性差。归纳起来,产生软件危机的内在原因可归结为两个重要方面:一方面是由于软件生产本身存在着复杂性:另一方面与软件开发所使用的方法和技术有关。二、中文选择题(含2小题)(本题共2题,每题1.0分,共2分。)信息工程是计算机信息系统发展的产物,形成了以(4)为中心的开发方法,以(5)的组织和实施来实现,并提供直到系统完成的各阶段的实施方法。27、信息工程是计算机信息系统发展的产物,形成了以(4)为中心的开发方法,以(5)的组织和实施来实现,并提供直到系统完成的各阶段的实施方法。A、应用B、程序C、对象D、数据标准答案:D知识点解析:暂无解析28、A、逻辑数据库B、物理数据库C、主题数据库D、面向对象数据库标准答案:C知识点解析:信息工程中包含了系统的方法论。形成了“以数据为中心”,而不是“以应用为中心”的开发方法,并在方法中强调以数据为战略资源,以数据规划为基础的信息工程方法,它以主题数据库的组织和实施来实现,并提供直到系统完成的各阶段的实施方法。软件水平考试(中级)数据库系统工程师上午(基础知识)试题章节练习试卷第2套一、中文选择题(本题共8题,每题1.0分,共8分。)1、对于以下编号为①、②、③的正规式,正确的说法是(5)。①(aa*|ab)*b②(a|b)*b③((a|b)*|aa)*bA、正规式①、②等价B、正规式①、③等价C、正规式②、③等价D、正规式①、②、③互不等价标准答案:C知识点解析:由正规式①产生的字串为a*b或(ab)*b;②产生的字串为a*b或b*b、③产生的字串为a*b或b*b。因此,正规式②、③等价。2、高级程序设计语言中用于描述程序中的运算步骤、控制结构及数据传输的是(6)。A、语句B、语义C、语用D、语法标准答案:A知识点解析:程序设计语言的基本成分:包括数据、运算、控制和传输。数据成分是程序操作的对象,具有存储类别、类型、名称、作用域和生存期等属性,使用时要为它分配内存空间。数据包括常量、变量、全局量、局部量。运算成分指明允许使用的运算符号及运算规则。函数:函数的定义,函数的声明,函数的调用。函数的定义包括函数首部和函数体。函数应先声明后引用。函数调用时实参与形参间交换信息的方法有传值调用和引用调用两种。传值调用中,若函数调用时以实参向形参传递相应类型的值,则这种方式下,形参将不能向实参返回信息;除非使用指针作形参,在调用时先对实参进行取址运算,然后将实参地址传递给指针形参,这样才可以实现被调用函数对实际参数的修改。程序设计语言是用于编写计算机程序的语言。它的基础是一组记号和一组规则。根据规则由记号构成的记号串的总体就是语言。在程序设计语言中,这些记号串就是程序。程序设计语言包含三个方面,即语法、语义和语用。语法表示程序的结构或形式,即表示构成程序的各个记号之间的组合规则,但不涉及这些记号的特定含义,也不涉及使用者。语义表示程序的含义,即表示按照各种方法所表示的各个记号的特定含义,但也不涉及使用者,语用表示程序与使用者的关系。在高级程序设计语言中,语句用于描述程序中的运算步骤、控制结构及数据传输。3、“<titlestyle="italic">science</title>",是XML中一个元素的定义,其中元素的内容是(9)。A、titleB、stvleC、italicD、science标准答案:D知识点解析:“<titlestyle="italic">science</title>”是一个XML元素的定义,其中title是元素标记名称:style是元素标记属性名称;italic是元素标记属性值;science是元素内容。4、下面关于编程语言的各种说法中,(10)是正确的。A、由于C语言程序是由函数构成的,因此它是一种函数型语言B、Smalltalk、C++、Java、C#都是面向对象语言C、函数型语言适用于编写处理高速计算的程序,常用于超级计算机的模拟计算D、逻辑型语言是在Client/Server系统中用于实现负载分散的程序语言标准答案:B知识点解析:函数是一种对应规则(映射),它使定义域中每个元素和值域中唯一的元素相对应。函数式语言是一类以λ-演算为基础的语言,其代表为LISP,主要用于人工智能领域。逻辑型语言是一类以形式逻辑为基础的语言,其代表是建立在关系理论和一阶谓词理论基础上的PROLOG。PROLOG有很强的推理功能,适用于书写自动定理证明、专家系统和自然语言理解等问题的程序。5、在面向对象的语言中,(11)。A、类的实例化是指对类的实例分配存储空间B、每个类都必须创建一个实例C、每个类只能创建一个实例D、类的实例化是指对类进行初始化标准答案:A知识点解析:本题考查面向对象程序设计语言中类的实例化概念。类是用户定义的类型。与语言定义的基本类型一样,有了类型后,就可以定义(创建)该类型的变量,其含义是系统为变量分配存储空间。对于程序中定义的类,并不要求一定要创建其实例,对实例的数目也没有限制。创建类的实例时,系统需要为该实例分配存储空间。6、给定C语言的数据结构structT{intw;unionT{charc;intI;doubled;)U;};假设char类型变量的存储区大小是1字节,int类型变量的存储区大小是4字节,double类型变量的存储区大小是8字节,则在不考虑字对齐方式的情况下,为存储一个structT类型变量所需要的存储区域至少应为(12)字节。A、4B、8C、12D、17标准答案:C知识点解析:unionT定义T为一个共用体,它所占用的存储空间的大小是它所包含的元素中占用存储空间最多的那个,即d的存储空间8字节,intw要占用存储空间4字节,所以存储一个structT类型变量所需要的存储区域至少应为4+8=12字节。7、若程序运行时系统报告除数为0,这属于(15)错误。A、语法B、静态语义C、动态语义D、运算对象不匹配标准答案:C知识点解析:在程序执行期间,会有许多意外的事件发生。例如,程序申请内存时没有申请到、对象还未创建就被使用、死循环等,称为运行错误。根据错误的性质将运行错误分为错误与异常两种类型。程序进入了死循环或内存溢出,这类现象称为错误或致命性错误。错误只能在编程阶段解决,运行时程序本身无法解决,只能依靠其他程序干预,否则会一直处于一种不正常的状态。运算时除数为0,或操作数超出数据范围,打开一个文件时发现文件不存在,网络连接中断等,这类运行错误现象称为异常。对于异常情况,可在源程序中加入异常处理代码,当程序出现异常时,由异常处理代码调整程序运行流程,使程序仍可正常运行直到正常结束。由于异常是可以检测和处理的,所以产生了相应的异常处理机制。而错误处理一般由系统承担。对于一个应用软件,异常处理机制是不可缺少的。该题中出现的是语义错误,但不是编译的时候出现的,是运行的时候出现的,所以是动态语义错误。8、程序设计语言引入“类”的概念是为了解决数据保护问题。C++语言将类的成员封装在类体之中,使之具有一定的存取规则,这些规则规定了存取类的成员的权利,其中,对于用private说明的成员,它(62)。A、既能被该类的成员函数访问,又能被外界直接访问B、只能被该类的成员函数访问,外界不能直接访问C、不能被该类的成员函数访问,只能被外界直接访问D、既不能被该类的成员函数访问,也不能被外界直接访问标准答案:B知识点解析:在C++语言中,共有三个存取规则规定存取类的成员的权利,分别为public,protected和private。其中public表示既能被该类的成员函数访问,也能被派生类的成员函数访问,且能被外界直接访问:protected表示既能被该类的成员函数访问,也能被派生类的成员函数访问,但不能被外界直接访问;ptivate则表示只能被该类的成员函数访问,不能被派生类的成员函数访问,也不能被外界直接访问。二、中文选择题(含2小题)(本题共18题,每题1.0分,共18分。)在一个单CPU的计算机系统中,有两台外部设备R1、R2和三个进程P1、P2、P3。系统采用可剥夺方式优先级的进程调度方案,且所有进程可以并行使用I/O设备,三个进程的优先级、使用设备的先后顺序和占用设备时间如表5-4所示。假设操作系统的开销忽略不计,三个进程从投入运行到全部完成,CPU的利用率约为(4)%;R2的利用率约为(5)%(设备的利用率指该设备的使用时间与进程组全部完成所占用时间的比率)。9、在一个单CPU的计算机系统中,有两台外部设备R1、R2和三个进程P1、P2、P3。系统采用可剥夺方式优先级的进程调度方案,且所有进程可以并行使用I/O设备,三个进程的优先级、使用设备的先后顺序和占用设备时间如表5-4所示。假设操作系统的开销忽略不计,三个进程从投入运行到全部完成,CPU的利用率约为(4)%;R2的利用率约为(5)%(设备的利用率指该设备的使用时间与进程组全部完成所占用时间的比率)。A、60B、67C、78D、90标准答案:D知识点解析:暂无解析10、A、70B、78C、80D、89标准答案:A知识点解析:根据题目的描述,可以把系统运行的时空图画出,如图5-2所示。那么这个图是怎么来的呢,下面详细介绍。首先,P1进程使用只:资源30ms,所以P1的前30ms注明为R2。与此同时P2使用R1资源20ms,P3同时申请使用CPU40ms,当P3申请使用CPU时,没有其他进程申请使用CPU,所以P3顺利得到了CPU的使用权(如果此时P1或P2也申请CPU的话,则P3得不到CPU使用权,因为P3的优先级最低)。当系统时间到20ms时,P3失去了CPU资源,这是为什么呢?因为此时P2已经使用完R1,它开始申请使用CPU了,P2的优先级比P3高,所以系统从P3手中收回CPU的使用权(因为系统采用可剥夺方式调度方案),把CPU分配给P2使用,当系统时间到30ms时,系统又从P2手中收回了CPU的使用权,把CPU分配给了P1使用,因为系统中P1的优先级比P2高。依次类推,便完成了系统时空图。从图5-2我们可以看出,三个进程运行完毕需要100ms,CPU工作了90ms,所以CPU的利用率为90%,R2工作了70ms所以,R2的利用率为70%。为了解决进程间的同步和互斥问题,通常采用一种称为(6)机制的方法。若系统中有5个进程共享若干个资源R,每个进程都需要4个资源R,那么使系统不发生死锁的资源R的最少数目是(7)。11、为了解决进程间的同步和互斥问题,通常采用一种称为(6)机制的方法。若系统中有5个进程共享若干个资源R,每个进程都需要4个资源R,那么使系统不发生死锁的资源R的最少数目是(7)。A、调度B、信号量C、分派D、通讯标准答案:B知识点解析:暂无解析12、A、20B、18C、16D、15标准答案:C知识点解析:在系统中,多个进程竞争同一资源可能会发生死锁,若无外力作用,这些进程都将永远不能再继续运行。信号量是最早出现的用来解决进程同步与互斥问题的机制,在操作系统的进程管理中最常用的方法是采用信号量机制,信号量是表示资源的实体,它包括一个称为信号量的变量及对它进行的两个原语P、V操作,“P操作”检测信号量是否为正值,若不是,则阻塞调用进程:“V操作”唤醒一个阻塞进程恢复执行。根据用途不同,信号量分为公用信号量和私有信号量,公用信号量用于实现进程间的互斥,初值通常设为1,它所联系的一组并行进程均可对它实施P、V操作;私有信号量用于实现进程间的同步,初始值通常设为0或n。本题系统中有5个进程共享若干个资源R,每个进程都需要4个资源R,若系统为每个进程各分配了3个资源,即5个进程共分配了15个单位的资源R,这时只要再有1个资源R,就能保证有一个进程运行完毕。因此,使系统不发生死锁的资源R的最少数目是16。某磁盘共有10个盘面,每个盘面上有100个磁道,每个磁道有16个扇区,假定分配以扇区为单位。若使用位示图管理磁盘空间,则位示图需要占用(9)字节空间。若空白文件目录的每个表项占用5个字节,当空白区数目大于(10)时,空白文件目录大于位示图。13、某磁盘共有10个盘面,每个盘面上有100个磁道,每个磁道有16个扇区,假定分配以扇区为单位。若使用位示图管理磁盘空间,则位示图需要占用(9)字节空间。若空白文件目录的每个表项占用5个字节,当空白区数目大于(10)时,空白文件目录大于位示图。A、16000B、1000C、2000D、1600标准答案:C知识点解析:暂无解析14、A、400B、380C、360D、320标准答案:A知识点解析:本题考查的是操作系统文件管理的基本知识。外存具有容量大,被多用户共享等特点,因此,文件系统必须对磁盘空间进行管理。位示图就是用来管理磁盘存储空间的,每一位对应文件存储器上的一个物理块,当该位为1时表示该位所对应的存储空间不空闲,为0则表示空闲。根据题意,磁盘共有10个盘面,每个盘面上有100个磁道,每个磁道有16个扇区,以扇区为分配单位,这意味着磁盘盘组共有10×100×16等于16000个物理块。因此,如果使用位示图管理磁盘空间,则位示图需要占用16000÷8等于2000字节空间。若空白文件目录的每个表项占用5个字节,空白区数目为400时,则空白文件目录大小为400×5=2000个字节。可见当空白区数目大于400时,空白文件目录大于位示图。某系统的进程状态转换如图5-3所示,图中1、2、3和4分别表示引起状态转换的不同原因,原因4表示(13);一个进程状态转换会引起另一个进程状态转换的是(14)。15、某系统的进程状态转换如图5-3所示,图中1、2、3和4分别表示引起状态转换的不同原因,原因4表示(13);一个进程状态转换会引起另一个进程状态转换的是(14)。A、就绪进程被调度B、运行进程执行了P操作C、发生了阻塞进程等待的事件D、运行进程的时间片到了标准答案:C知识点解析:暂无解析16、A、1→2B、2→1C、3→2D、4→1标准答案:B知识点解析:本题考查的是计算机操作系统进程管理方面的基础知识。一个进程的生命期可以划分为一组状态,这些状态刻划了整个进程。系统根据PCB结构中的状态值控制进程。执行状态:一个进程在并发执行中,由于资源共享与竞争,处于执行状态。(1)用户执行状态(用户态):进程的用户程序段在执行时所处的状态。(2)系统执行状态(系统态或核心态):进程的系统程序段在执行时所处的状态。等待状态:进程则因等待某种事件发生而处于等待状态。就绪状态:进程得到了除CPU之外的其他资源,只要由调度得到处理机,便可立即投入执行。(1)内存就绪状态:可以立即投入执行。(2)外存就绪状态:只有先成为内存就绪状态后,才可能被调度执行。图5-3中原因1是由于调度程序的调度引起的;原因2是由于时间片用完引起的;原因3是由于I/O请求引起的,例如进程执行了P操作,由于申请的资源得不到满足进入阻塞队列;原因4是由于I/O完成引起的,例如某进行执行了V操作将信号量值减1,若信号量的值小于0,则意味着有等待该资源的进程,将该进程从阻塞队列中唤醒使其进入就绪队列。试题(24)选项A“1→2”不可能,因为调度程序从就绪队列中调度一个进程投入运行,不会引起另外一个进程时间片用完;选项B“2→1”可能,因为当现运行进程的时间片用完,会引起调度程序调度另外一个进程投入运行:选项C“3→2”不可能,因为现运行进程由于等待某事件被阻塞,使得CPU空闲,此时调度程序会从处于就绪状态的进程中挑选一个新进程投入运行;选项D“4→1”不可能,一般一个进程从阻塞状态变化到就绪状态时,不会引起另一个进程从就绪状态变化到运行状态。某虚拟存储系统采用最近最少使用(LRU)页面淘汰算法,假定系统为每个作业分配3个页面的主存空间,其中一个页面用来存放程序。现有某作业的部分语句如下:VarA:Array[1..150,1..100]OFinteger;i,j:integer;FORi:=1to150DOFORj:=1to100DOA[i,j]:=0;设每个页面可存放150个整数变量,变量i、j放在程序页中。初始时,程序及变量i、j已在内存,其余两页为空,矩阵A按行序存放。在上述程序片段执行过程中,共产生(16)次缺页中断。最后留在内存中的是矩阵A的最后(17)。17、某虚拟存储系统采用最近最少使用(LRU)页面淘汰算法,假定系统为每个作业分配3个页面的主存空间,其中一个页面用来存放程序。现有某作业的部分语句如下:VarA:Array[1..150,1..100]OFinteger;i,j:integer;FORi:=1to150DOFORj:=1to100DOA[i,j]:=0;设每个页面可存放150个整数变量,变量i、j放在程序页中。初始时,程序及变量i、j已在内存,其余两页为空,矩阵A按行序存放。在上述程序片段执行过程中,共产生(16)次缺页中断。最后留在内存中的是矩阵A的最后(17)。A、50B、100C、150D、300标准答案:B知识点解析:暂无解析18、A、2行B、2列C、3行D、3列标准答案:C知识点解析:采用了三个页面来存储,由于第一个页面用来存放程序及i、j。所以只有两个页面用来存放数组。整个数组有150×100=15000个整数,而每一页可存放150个整数变量,所以整个程序执行完,共产生15000÷50=100次缺页。每一行100个整数,最后保留在两个内存页面的内容是矩阵A的最后3行的数值。假设磁盘上每个磁道划分成9个物理块,每块存放1个逻辑记录。逻辑记录R1,R2,…,R9存放在同一个磁道上,记录的安排顺序如表5-5所示。假定磁盘的旋转速度为27ms/周,磁头当前处在R1的开始处,系统使用单缓冲区,当缓冲区内容处理完时才能再存放新的记录,且每个记录的处理时间为3ms。若系统顺序处理这些记录,则处理这9个记录的最长时间为(18);若对信息存储进行优化分布后,处理9个记录的最少时间为(19)。19、假设磁盘上每个磁道划分成9个物理块,每块存放1个逻辑记录。逻辑记录R1,R2,…,R9存放在同一个磁道上,记录的安排顺序如表5-5所示。假定磁盘的旋转速度为27ms/周,磁头当前处在R1的开始处,系统使用单缓冲区,当缓冲区内容处理完时才能再存放新的记录,且每个记录的处理时间为3ms。若系统顺序处理这些记录,则处理这9个记录的最长时间为(18);若对信息存储进行优化分布后,处理9个记录的最少时间为(19)。A、243msB、246msC、254msD、280ms标准答案:B知识点解析:暂无解析20、A、30msB、36msC、54msD、60ms标准答案:C知识点解析:因为在同一个磁道上,所以处理完记录的时间=处理时间+旋转延迟时间。要想处理这9个记录的时间最长,则应该先处理R9,磁头从R1旋转到R9的时间为27-27×(1/9)=24ms,然后处理R9记录的时间为3ms,再处理R8、R7、R6、R5、R4、R3、R2、R1,则处理完9个记录的最长时间为9×(24+3)=246ms。对信息存储进行优化分布后,要想使处理9个记录的时间最少,则应该先处理R1,需要3ms,由于系统使用单缓冲区,当缓冲区内容处理完时才能再存放新的记录,这样存放新的记录需要时间,磁头不能直接取R2,继续旋转,3ms后可直接处理R3,同理,接下来处理R5,R7,R9,R2,R4,R6,R8,共需时间为9×(3+3)=54ms。某系统中有四种互斥资源R1、R2、R3和R4,可用资源数分别为3、5、6和8。假设在T0时刻有P1、P2、P3和P4四个进程,并且这些进程对资源的最大需求量和已分配资源数如表5-6所示,那么在T0时刻系统中R1、R2、R3和R4的剩余资源数分别为(20)。如果从T0时刻开始进程按(21)顺序逐个调度执行,那么系统状态是安全的。21、某系统中有四种互斥资源R1、R2、R3和R4,可用资源数分别为3、5、6和8。假设在T0时刻有P1、P2、P3和P4四个进程,并且这些进程对资源的最大需求量和已分配资源数如表5-6所示,那么在T0时刻系统中R1、R2、R3和R4的剩余资源数分别为(20)。如果从T0时刻开始进程按(21)顺序逐个调度执行,那么系统状态是安全的。A、3、5、6和8B、3、4、2和2C、0、1、2和1D、0、1、0和1标准答案:D知识点解析:暂无解析22、A、P1→P2→P4→P3B、P2→P1→P4→P3C、P3→P2→P1→P4D、P4→P2→P3→P1标准答案:C知识点解析:互斥资源R1,可用资源数为3,已分别分了1个资源给P1、P3、P4,所以在T0时刻系统中R1的剩余资源数为3-1-1-1=0,同理,在T0时刻系统中R2的剩余资源数为1,R3的剩余资源数为0,R4的剩余资源数为1。要想系统状态是安全的,可以采用银行家算法,分析详见第3题。先算出各进程还需要的资源数。在T0时刻各进程还需要的资源数见表5-7。根据前面求出的各资源剩余数,此时只能将资源分配给P3,让P3先运行,系统才是安全的。只有答案C的第一个进程是P3,后面的分析就不用做了。在一单处理机中,若有5个用户进程,在非管态的某一时刻,处于就绪状态的用户进程最多有(37)个,最少有(38)个。23、在一单处理机中,若有5个用户进程,在非管态的某一时刻,处于就绪状态的用户进程最多有(37)个,最少有(38)个。A、1B、2C、3D、4E、5标准答案:D知识点解析:暂无解析24、A、1B、2C、3D、4E、0标准答案:E知识点解析:在一个单处理机中,处理器只有一个,非管态(即用户进程执行状态)的某一时刻,处于运行态的进程最多只有一个,系统中处于就绪态或阻塞的进程可能有多个,这样处于就绪态的进程数最多只能是进程总数减1,本题为5-1,因此最多可有4个就绪进程。如果除了运行态的一个进程外,其余进程均处于阻塞态,则就绪态进程个数为0。在UNIX操作系统中,当用户执行如下命令:link(“/user/include/myfile.Sh”,“/usr/userwang/youfile.sh”)则文件名“/usr/userwang/youfile.sh”存放在(44)。2.假设在系统中一个文件有两个名字,它与一个文件保存两个副本的区别是(45)。25、在UNIX操作系统中,当用户执行如下命令:link(“/user/include/myfile.Sh”,“/usr/userwang/youfile.sh”)则文件名“/usr/userwang/youfile.sh”存放在(44)。2.假设在系统中一个文件有两个名字,它与一个文件保存两个副本的区别是(45)。A、user目录文件中B、include目录文件中C、userwang目录文件中D、youfile.sh的文件内容中标准答案:C知识点解析:暂无解析26、A、前者比后者所占用的存储空间更大B、前者需要两个目录项,后者只需要一个目录项C、前者存取文件的速度快,后者存取文件的速度慢D、前者改变与某个名字相联系的文件时,另一个名字相连的文件也改变;后者的另一个副本不改变标准答案:D知识点解析:在本题中,Link命令的功能是为一个文件创建链接文件。在UNIX系统中,不同进程可以用系统调用Link原语来链接非目录文件,从而可以直接共享该非目录文件。而且不同的用户还可以对此文件使用不同的文件名。调用格式:Linkoldname,newname调用描述:为一个已存在的文件oldname创建一个名为newname的链接(别名)。与此相对应的还有取消链接原语Unlink。一个文件有两个名字,实际上一个为文件,另一个为文件的快捷方式;一个文件保存有两个副本,实际上是一个文件的两份拷贝。三、中文选择题(含3小题)(本题共35题,每题1.0分,共35分。)被操作数的最高位移入“进位”位,其余所有位接收其相邻低位值,最低位移入0的操作是(22)指令。被操作数的最高位保持不变,其余所有位接收其相邻高位值,最低位移到“进位”位中的操作是(23)指令。在程序执行过程中改变按程序计数器顺序读出指令的指令属于(24)。相对寻址方式的实际地址是(25)。特权指令在多用户、多任务的计算机系统中必不可少,它主要用于(26)。27、被操作数的最高位移入“进位”位,其余所有位接收其相邻低位值,最低位移入0的操作是(22)指令。被操作数的最高位保持不变,其余所有位接收其相邻高位值,最低位移到“进位”位中的操作是(23)指令。在程序执行过程中改变按程序计数器顺序读出指令的指令属于(24)。相对寻址方式的实际地址是(25)。特权指令在多用户、多任务的计算机系统中必不可少,它主要用于(26)。A、逻辑左移B、算术左移C、乘2运算D、除2运算标准答案:A知识点解析:暂无解析28、A、逻辑左移B、算术左移C、乘2运算D、除2运算标准答案:D知识点解析:暂无解析29、A、特权指令B、传送指令C、输入/输出指令D、转移指令标准答案:D知识点解析:暂无解析30、A、程序计数器的内容加上指令中形式地址值B、基值寄存器的内容加上指令中形式地址值C、指令中形式地址中的内容D、栈顶内容标准答案:A知识点解析:暂无解析31、A、检查用户的权限B、系统硬件自检和配置C、用户写汇编程序时调用D、系统资源的分配和管理标准答案:D知识点解析:算术移位中左移则在空位补0,右移则补符号位。逻辑移位中无论左移右移都补0。循环移位是指把移动空位由移出的位来填补的移位,又分带符号位移动的大循环和不带符号位移动的小循环。其中算术左移等于做乘2的操作,而算术右移等于做除2的操作。程序计数器是一个指针,控制器从这里取得指令的地址,再从内存中得到指令。只有改变程序顺序执行的指令才会改变程序计数器的值,在提供的中只有转移指令符合要求。相对寻址、基址寻址、变址寻址这几种寻址方式有类似的地方,都是一个寄存器内的地址加上指令中的地址值和作为需要的地址。不同的地方在于使用的寄存器不同,如表1-3所示。为保护系统资源的正确分配和利用,把“启动I/O”等的一类可能影响系统安全的指令定义为特权指令。一些高级(现在已经很常见了)的微处理器有不同的工作状态,在不同的状态下可以执行不同的指令和使用不同的微处理器资源,这样才能保证系统的稳定性。现采用四级流水线结构分别完成一条指令的取指、指令译码和取数、运算,以及送回运算结果四个基本操作,每步操作时间依次为60ns,100ns,50ns和70ns。该流水线的操作周期应为(27)ns。若有一小段程序需要用20条基本指令完成(这些指令完全适合于流水线上执行),则得到第一条指令结果需(28)ns,完成该段程序需(29)ns。在流水线结构的计算机中,频繁执行(30)指令时会严重影响机器的效率。当有中断请求发生时,采用不精确断点法,则将(31)。32、现采用四级流水线结构分别完成一条指令的取指、指令译码和取数、运算,以及送回运算结果四个基本操作,每步操作时间依次为60ns,100ns,50ns和70ns。该流水线的操作周期应为(27)ns。若有一小段程序需要用20条基本指令完成(这些指令完全适合于流水线上执行),则得到第一条指令结果需(28)ns,完成该段程序需(29)ns。在流水线结构的计算机中,频繁执行(30)指令时会严重影响机器的效率。当有中断请求发生时,采用不精确断点法,则将(31)。A、50B、70C、100D、280标准答案:C知识点解析:暂无解析33、A、100B、200C、280D、400标准答案:D知识点解析:暂无解析34、A、1400B、2000C、2300D、2600标准答案:C知识点解析:暂无解析35、A、条件转移B、无条件转移C、算术运算D、访问存储器标准答案:A知识点解析:暂无解析36、A、仅影响中断响应时间,不影响程序的正确执行B、不仅影响中断响应时间,还影响程序的正确执行C、不影响中断响应时间,但影响程序的正确执行D、不影响中断响应时间,也不影响程序的正确执行标准答案:B知识点解析:有关流水线执行时间的问题,请读者参考第2题的分析。在流水线结构的计算机中,影响流水线效率的因素主要有以下几个方面。1.条件转移指令(转移相关性)在存在转移指令的情况下,下一条需要执行的指令未必是程序计数器所指定的指令。只有在这条转移指令执行完成后,才能判断下一条指令是什么。如果在遇到转移指令时,关闭流水线的进入端口,防止错误发生,那么这种方法无疑会降低流水线的效率,而且程序中的条件转移是大量存在的,这势必使得流水线在很多时间内闲置,影响计算机的性能。为了解决这个问题,有的计算机采用猜测法,当发现条件转移指令时则系统猜测可能会跳转到的语句,如果猜测正确,则流水线正常运行,如果猜测错误,则需要清空当前流水线的内容。如图1-6(a)所示。还有一种需要编译系统的支持的方法,如图1-6(b)所示。方法是这样的:将必须执行的D指令提前执行,在D指令执行之后,条件转移指令的结果出来后,再判断是B或者C进入流水线。同样也可以把A指令前的指令滞后到A指令执行后执行,这样能保持流水线闲置的时间尽可能少。但是必须在D和B、C指令不存在前后依存关系的情况下采用。统计的结果还是不错的,50%的条件转移指令能够进行这样的优化。2.资源共享(数据相关性)由于使用流水线,因此当相邻的两条指令都对同一个资源进行操作时,或者前一条指令的输出是后一条指令的输入时,在没有流水线的情况下是正常的,在有流水线时就可能出现错误。例如:前一条指令是写,后一条指令是读,当前一条指令保存结果没有完成时,后一条指令的读操作数就已经开始,这样后一条指令读到的就是未改写的数据。为了解决这个问题,当遇到资源冲突时,就只好暂停后续指令进入流水线,这样也就降低了流水线的效率,显然,流水线步骤越多越容易引起资源冲突的发生。解决方法是:当发现相邻的语句存在资源共享冲突的时候,在两者之间插入其他语句,将两条指令进入流水线的时间拉开,以避免错误。3.寄存器相关(功能部件冲突)相邻的指令使用了相同的寄存器,也会使流水线失常。通常的解决方法是如果此时还有其他寄存器可用,则给两个指令分配不同的寄存器,以避免冲突的发生;4.中断系统当有中断发生时,和条件转移指令类似,流水线也不得不停止,以载入中断处理程序,由于中断的其他方面的优点,这种影响对流水线而

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论