c++ 线程软件看门狗_山东大学849软件工程专业基础综合考研真题详解——才聪学习网...

b62f823e343d3ed46d30966b1cca7791.png

考研真题精选

一、选择题

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)本质特征

①软件工程关注于大型程序的构造;

②软件工程的中心课题是控制复杂性;

③软件经常变化;

④开发软件的效率非常重要;

⑤和谐的合作是开发软件的关键;

⑥软件必须有效地支持它的用户;

⑦软件工程领域由具有一种文化背景的人替具有另一种文化背景的人创造产品。

2软件工程的基本原理

(1)七条基本原理

①用分阶段的生命周期计划严格管理;

②坚持进行阶段评审;

③实行严格的产品控制;

④采用现代程序设计技术;

⑤结果应能清楚地审查;

⑥开发小组的人员应该少而精;

⑦承认不断改进软件工程实践的必要性。

(2)意义

这七条原理是确保软件产品质量和开发效率的原理的最小集合,它们是互相独立的,而且是缺一不可的最小集合,然而这七条原理又是相当完备的。

3软件工程方法学

(1)概念

通常把软件生命周期全过程中使用的一整套技术方法的集合称为方法学,也称为范型。目前使用得最广泛的软件工程方法学,分别是传统方法学和面向对象方法学。

(2)三要素

软件工程方法学包括3个要素:方法、工具和过程。

(3)传统方法学(生命周期方法学或结构化范型)

①定义

采用结构化技术(结构化分析、结构化设计和结构化实现)来完成软件开发的各项任务,并使用适当的软件工具或软件工程环境来支持结构化技术的运用。

②优点

a.把软件生命周期划分成若干相对独立、简单的阶段,便于不同人员分工协作,降低开发的困难程度;

b.开发过程中采用科学的管理技术和良好的技术方法,且在每个阶段结束之前都进行严格的审查,保证了软件的质量,提高了软件的可维护性;

c.大大提高了软件开发的成功率和生产率。

③缺点

a.不适用于软件规模庞大、或者对软件的需求是模糊的或会随时间变化而变化的情况。

b.结构化范型技术把数据和操作人为地分离成两个独立的部分,增加了软件开发与维护的难度。

麻烦大家关注+点赞,谢谢!!

考研真题、考资格证、考试题库就选才聪学习网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值