[全]软件工程专业基础综合考研真题详解[下载全]
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件工程专业基础综合考研真题详解1下列关于线程的描述中,错误的是()。[2019年408统考]
A.内核级线程的调度由操作系统完成
B.操作系统为每个用户级线程建立一个线程控制块
C.用户级线程间的切换比内核级线程间的切换效率高
D.用户级线程可以在不支持内核级线程的操作系统上实现
【答案】B查看答案
【解析】用户级线程仅存在于用户空间中,与内核无关,其线程库对用户线程的调度算法与OS的调度算法无关,不需要操作系统为每个用户级线程建立一个线程控制块。
2下列选项中,可能将进程唤醒的事件是()。[2019年408统考] Ⅰ.I/O结束
Ⅱ.某进程退出临界区
Ⅲ.当前进程的时间片用完
A.仅Ⅰ
B.仅Ⅲ
C.仅Ⅰ、Ⅱ
D.Ⅰ、Ⅱ、Ⅲ
【答案】C查看答案
【解析】可能唤醒进程的事件包括I/O结束、某进程退出临界区等。当前进程的时间片用完会引起另一个进程的调度并运行,不是唤醒进程。
3下列关于系统调用的叙述中,正确的是()。[2019年408统考] Ⅰ.在执行系统调用服务程序的过程中,CPU处于内核态
Ⅱ.操作系统通过提供系统调用避免用户程序直接访问外设
Ⅲ.不同的操作系统为应用程序提供了统一的系统调用接口
Ⅳ.系统调用是操作系统内核为应用程序提供服务的接口
A.仅Ⅰ、Ⅳ
B.仅Ⅱ、Ⅲ
C.仅Ⅰ、Ⅱ、Ⅳ
D.仅Ⅰ、Ⅲ、Ⅳ
【答案】C查看答案
【解析】系统调用接口是连接操作系统和应用程序的桥梁,而接口是以具体程序中的函数实现的,称之为系统调用,在不同的操作系统中,具有不同的系统调用,但是它们实现的功能是基本相同的。
4下列选项中,可用于文件系统管理空闲磁盘块的数据结构是()。[2019年408统考]
Ⅰ.位图
Ⅱ.索引节点
Ⅲ.空闲磁盘块链
Ⅳ.文件分配表(FAT)
A.仅Ⅰ、Ⅱ
B.仅Ⅰ、Ⅲ、Ⅳ
C.仅Ⅰ、Ⅲ
D.仅Ⅱ、Ⅲ、Ⅳ
【答案】B查看答案
【解析】文件系统管理空闲磁盘块的数据结构包括位图、链表、文件分配表。索引结点是指在许多类Unix文件系统中的一种数据结构。每个索引节点保存了文件系统中的一个文件系统对象的元信息数据,但不包括数据内容或者文件名。
5若下列指令已装入指令寄存器,执行时不可能导致CPU从用户态变为内核态的是()。[电子科技大学2016研]
A.DIV R0,R1; (R0)/(R1)→R0
B.INT n; 产生软中断
C.NOT R0; 寄存器R0的内容取非
D.MOV R0,addr; 把地址addr处的内存数据放入寄存器R0中
【答案】C查看答案
【解析】A项中,除法操作时若出现除数为零,则会产生内中断,CPU从用户态转为内核态进行处理;B项,该指令会直接产生中断;C项,不会产生异常;D项,有缺页异常的可能。因此答案为C。
6在下列进程调度算法中,不存在进程饥饿现象的调度算法的是()。[电子科技大学2016研]
A.先来先服务
B.反馈调度算法
C.短进程优先
D.基于静态优先级调度算法
【答案】A查看答案
【解析】先来先服务调度算法中每个进程都会被调度,不会产生饥饿现象;B项中反馈调度算法会使长进程一直得不到执行;C项中会使长进程一直得不到执行;D项中会使低优先级的进程一直得不到执行。因此答案选A。
复习笔记
一、软件危机
1软件危机的介绍
(1)概念
软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。(2)典型表现
①对软件开发成本和进度的估计不准确。
②用户对“已完成的”软件系统不满意的现象经常发生。
③软件产品的质量往往靠不住。
④软件常常是不可维护的。
⑤软件通常没有适当的文档资料。
⑥软件成本在计算机系统总成本中所占的比例逐年上升。
⑦软件开发跟不上计算机应用迅速普及深入的趋势。
【注意】考试中常考查软件的概念,记住公式:软件=程序+数据+文档。
2产生软件危机的原因
(1)客观原因
①软件是计算机系统中的逻辑部件,缺乏“可见性”,因此管理和控制软件开发过程相当困难。
②软件维护通常意味着改正或修改原来的设计,因此软件较难维护。
③软件规模庞大,而程序复杂性将随着程序规模的增加而呈指数上升。
(2)主观原因
①存在与软件开发和维护有关的许多错误认识和做法。
②对用户要求没有完整准确的认识就匆忙着手编写程序。
③开发人员只重视程序而忽视软件配置的其余成分(文档和数据等)。
④软件开发人员轻视维护。
3消除软件危机的途径
(1)应该对计算机软件有一个正确的认识。
(2)应该充分认识到软件开发是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目。
(3)应该推广使用在实践中总结出来的开发软件的成功的技术和方法,并且研究探索更好更有效的技术和方法。
(4)应该开发和使用更好的软件工具。
二、软件工程
1软件工程的介绍
(1)概念
采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。
(2)本质特征
①软件工程关注于大型程序的构造;
②软件工程的中心课题是控制复杂性;
③软件经常变化;
④开发软件的效率非常重要;
⑤和谐的合作是开发软件的关键;
⑥软件必须有效地支持它的用户;
⑦软件工程领域由具有一种文化背景的人替具有另一种文化背景的人创造产品。