当前位置: 首页 > news >正文

计算机操作系统(慕课版)第二章课后题答案

一、简答题
(1)什么是前趋图?试画出下面四条语句的前趋图.
S1:a=x+y;
S2:b=z+1;
S3:c=a-b;
S4:w=c+1;
在这里插入图片描述
答:前趋图(Precedence Graph)是一个有向无循环图,记为DAG(DirectedAcyclicGraph),用于描述进程之间执行的前后关系。

(2)什么是进程? OS中为什么要引入进程?它会产生什么样的影响?

答:进程: 一段可并发执行的具有头独立功能的程序,是关于某个数据集的一次执行过程。也是os进行资源分配和保护的基本单位 影响:
实现多个程序的并发执行(传统的程序不能与其他程序并发执行,只有在为之创建了进程后,其才能与其他程序并发执行)。极大提高了资源利用率和系统吞吐量

(3)进程最基本的状态有哪些?哪些事件可能会引起不同状态间的转换?

答:运行态、就绪、阻塞
1.运行→等待:等待使用资源或某事件发生
2.等待→就绪:资源得到满足或某事件已经发生
3.运行→就绪:时间片到,或者有更高优先级进程到达
4.就绪→运行:CPU空闲时间调度选中一个就绪进程需要其运行

(4)为什么要引入进程的挂起状态?

答:挂机,实际上就是一种静止状态。被挂起后,无论是否处于就绪状态,系统都不会分配处理机。引入挂起的原因:①终端用户的需要②父进程请求③负荷调节的需要④os的需要

(5)叙述组成进程的基本要素,并说明它们的作用。

答:基本要素:PCB、程序块、数据块、堆栈
作用:PCe的作用是进程创建时建立PCB、进程撒销时回收PCB;程序块即被执行的程序;数据块即程序运行时需加工处理的对象;堆栈:每个进程都将捆绑一个堆栈

(6)请给出PCB的主要内容。描述当进程状态发生转换(就绪一运行、运行一阻塞)时、Os需要使用/修改PCB的哪些内容?

答:PCB主要用于描述进程的基本情况以及进程的运行变化过程,是进程存在的唯一标志。 PCB的内容可以分成【调度信息】和【现场信息】两部分
PCB的内容:进程名、进程号、存储信息、优先级、当前状态、资源清单、家族关系、消息队列指针等。
现场信息:用于保留运行进程所需保存的CPU现场信息。内容包括通用寄存器、控制寄存器的内容等等
Os需要使用/修改的PCB内容包括:就绪→运行;运行→就绪

(7)试说明引起进程创建的主要事件。

答:用户登录、作业调度、提供服务、应用请求

(8)在创建一个进程时,os需要完成的主要工作是什么?

答:调用进程创建原语→申请一个空白PCB→填写用于控制和管理进程的信息→分配运行时所需的资源→把PCB转入就绪状态→插入到就绪队列中

(9)试说明引起进程终止的主要事件。

答:正常结束、异常结束、外界干预

(10)在终止一个进程时,os要完成的主要工作是什么?

答:(1)根据被终止进程标识符.从PCB集中检索出指定进程的PCB
(2)若被终止进程处于执行状态,则立即终止该进程的执行,置调度标志为真,用于指示该进程被终止后应重新进行调度;(3)若该进程还有子孙进程,则将其所有子孙进程也都予以终止以防它们成为不可控的进程;
(4)将被终止进程拥有的全部资源或者归还给其父进程,或者归还给系统;
(5)将被终止进程的PCB从所在队列或链表中移出等待其他程序来搜集信息。

(11)试说明引起进程阻塞或被唤醒的主要事件。

答:①向系统请求共享资源失败(运行→阻塞) ②等待完成某种操作(阻塞) ③尚未到达新的数据(阻塞) ④等待到达新任务(阻塞)

(12)试比较进程间的低级与高级通信工具

答:低级通信工具:效率低,通信对用户不透明,所有的操作必须由程序员实现 高级通信工具:直接利用Os提供的—组通信命令来高效地传送大量数据

(13)当前有哪几种高级通信机制?

答案:①共享存储器系统通信机制 ②管道通信系统通信机制 ③消息传递系统通信机制 ④客户机-服务器系统通信机制

(14)试说明使用管道文件( pipe文件)进行通信的优缺点。

答:优点:进程间可以不断传送大量信息,且无需占用宝贵的内存控件
缺点:进程间地信息传递需要启动读/写磁盘,相对于消息缓冲队列而言通信速度缓慢;需要时间开销

(15)试比较直接通信方式和间接通信方式。

答:【发送原语和接收原语的区别】 直接通信: send(receiver , message) receive(sender ,
message)简介通信: send(mailbox , message) receive(mailbox , message)
【提供给对方的标识符、通信链路、实时性】

(16)为什么要在OS中引入线程?

答:为了减少进程在并发执行时所付出的时空开销
进程是分配资源的基本单位,线程是系统调度的基本单位〈即进程还是作为资源分配的基本单位,但是不作为调度的基本单位)

(17)试说明线程的属性。

答:线程是一个轻型实体、可独立调度和分派的基本单位;线程可并发执行,可以共享所属进程的资源

(18)何谓用户级线程和内核支持线程?

答:用户级线程:仅存在于用户空间中的线程,无需内核支持,无需利用系统调用实现
内核支持线程:在内核支持下运行的线程,在内核空间中每个内核还被设置了TCB线程控制块

(19)用户级线程和内核支持线程有何区别?

答:用户级线程:用户空间中,TCB在用户空间中,用户空间中完成对线程的操作,可以在不支持线程的OS中实现,CPU执行时间相对于内核线程更少
内核支持线程:内核支持下,TCB在内核中,系统功能调用相应的程序,必须在支持线程的oS实现,可以得到更多的CPu执行时间

(20)试说明用户级线程和内核支持线程的实现方法。

答:用户级线程:运行在【运行时系统】和【内核控制线程】的中间系统上。
内核支持线程:分配任务数据区PTDA,包括若干个TCB空间一创建一个线程则分配一个TCB→写入信息到TCB,分配必要资源。当PTDA中的TCB用完,而进程又有新的线程时,只要所创建的线程数目未超过系统允许值,则系统可再为之分配新的TCB。

二、综合应用题
(21)试从调度、并发、拥有资源和系统开销这4个方面对传统进程和线程进行比较。

答:(1)调度性:在传统的操作系统中,拥有资源的基本单位独立调度和分派的基本单位都是进程,而在引入线程的操作系统中,把线程作为调度和分派的基本单位进程,只是拥有资源的基本单位,而不再是调度和分派的基本单位。

(2)并发性:在引入进程的操作系统中,不仅进程之间可以并发执行,而且在一个进程中的多个线程之间亦可并发执行,因此,比传统的操作系统具有更好的并发性。

(3)拥有资源:在这两种操作系统中,拥有资源的基本单位都是进程,线程除了一点在运行中必不可少的资源,本身并不拥有系统资源,但他可共享其隶属进程的资源。

(4)独立性:每个进程都能独立的申请资源和独立运行,但是同一进程中的不同线程则共享进程的内存地址空间和资源,他们之间的独立性比进程之间的独立性低。
(5)系统开销:在创建或撤销进程时,系统都要为之配和回收资源,在进程切换时所要保存和设置的线程信息也明显多于线程,因此,操作系统在创建、撤销和切换进程时所付出开销显著大于线程。

(22)(考研真题)
(1)为支持多进程的并发执行,系统必须建立哪些关于进程的数据结构?

答:PCB(进程控制块)、队列结构(就绪队列、等待队列、运行指针)

(2)为支持进程状态的变迁,系统至少应提供哪些进程控制原语?

答:创建、阻塞、唤醒、撤销原语

(3)在执行每一个进程控制原语时,进程状态会发生什么变化?相应的数据结构会发生什么变化?

答:①创建原语:创建PCB并初始化→进程变为就绪状态,加入到就绪队列 ②阻塞原语:运行变为阻塞状态→阻塞进程的PCB插入相应的阻塞队列
③唤醒原语:阻塞变为就绪状态→阻塞队列中删除该进程,插入到就绪队列中 ④撤撒销原语:运行变为消亡状态→系统撤销该进程的PCB

相关文章:

计算机操作系统(慕课版)第二章课后题答案

一、简答题 (1)什么是前趋图?试画出下面四条语句的前趋图. S1:axy; S2:bz1; S3:ca-b; S4:wc1; 答:前趋图(Precedence Graph)是一个有向无循环图,…...

【离散数学】置换群和伯恩赛德定理编程题

1:置换的轮换表示 给出一个置换,写出该置换的轮换表示。比如 (1 2 3 4 5 6 7 8 9) (3 1 6 2 9 7 8 4 5) 表示为(1 3 6 7 8 4 2)(5 9) 输入: 置换后的序列 输出: 不相杂的轮换乘积,每行表示一个轮换(轮换的起…...

【自然语言处理】 - 作业2: seq2seq模型机器翻译

课程链接: 清华大学驭风计划 代码仓库:Victor94-king/MachineLearning: MachineLearning basic introduction (github.com) 驭风计划是由清华大学老师教授的,其分为四门课,包括: 机器学习(张敏教授) , 深度学习(胡晓林教授), 计算…...

随身WIFI折腾日记(四)---拓展USB接口读取U盘内容

五、USB行为控制 随身WIFI对外交互的接口只有WIFI和USB接口。如果要想接入其他硬件设备,拓展USB接口至关重要,对于USB接口的控制,参考如下链接: openstick项目官方教程:控制usb行为 HandsomeMod/gc: A Simple Tool To Control Usb Gadget …...

【C++初阶】类与对象(中)之取地址及const取地址操作符重载(了解即可)

👦个人主页:Weraphael ✍🏻作者简介:目前学习C和算法 ✈️专栏:C航路 🐋 希望大家多多支持,咱一起进步!😁 如果文章对你有帮助的话 欢迎 评论💬 点赞&#x1…...

代驾公司如何管理司机

在这个几乎人人都能学车,人人都能开车的时代,代驾职业也越来越专业化和正规化。因此,想要成为一名优秀的代驾司机,一定得有过人之处,对于代驾公司来说,如何管理司机也是尤为的重要。 对于代驾公司来说&…...

面了一个5年经验的测试工程师,自动化都不会也敢喊了16k,我也是醉了····

在深圳这家金融公司也待了几年,被别人面试过也面试过别人,大大小小的事情也见识不少,今天又是团面的一天, 一百多个人都聚集在一起,因为公司最近在谈项目出来面试就2个人,无奈又被叫到面试房间。 整个过程…...

ChatGPT:你真的了解网络安全吗?浅谈攻击防御进行时之网络安全新定义

ChatGPT:你真的了解网络安全吗?浅谈网络安全攻击防御进行时 网络安全新定义总结 ChatGPT(全名:Chat Generative Pre-trained Transformer),美国OpenAI 研发的聊天机器人程序,是人工智能技术驱动…...

LeetCode_DFS_困难_1377.T 秒后青蛙的位置

目录 1.题目2.思路3.代码实现(Java) 1.题目 给你一棵由 n 个顶点组成的无向树,顶点编号从 1 到 n。青蛙从 顶点 1 开始起跳。规则如下: 在一秒内,青蛙从它所在的当前顶点跳到另一个未访问过的顶点(如果它…...

第四十九天学习记录:C语言进阶:结构体

结构体 结构体的声明 结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量 struct tag {member-list; }variable-list;问:C的new和C语言的结构体有什么异同? ChatAI答: C中的new是一个运算符&#xff…...

LeeCode [N字形变换]算法解析

关键字:数学归纳法 一、题目 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 "PAYPALISHIRING" 行数为 3 时,排列如下: P A H N A P L S I I G Y I R …...

CPU性能提升:流水线

一条指令的执行一般要经过取指令,翻译指令,执行指令3个基本流程。CPU内部的电路分为不同的单元,取指但愿,译码单元,执行单元等。指令的执行也是按照流水线工序一步步执行的。如图2-34所示,我们假设每一个步…...

C语言指针初级

目录 一、什么是指针 二、指针和指针类型 三、野指针 1.野指针的成因: 2.如何规避野指针 四、指针运算 1.指针-整数 2. 指针之间的加减 五、二级指针 六、指针数组 一个男人,到底要走多少的路,才能成为一个真正的男人 本专栏适用于…...

C++的历史

C是一种广泛使用的编程语言。C于1983年由丹尼斯里奇(Dennis Ritchie)在贝尔实验室创造,它是C语言的扩展。C的设计初衷是为了提高代码的可重用性和可维护性。它允许开发人员使用面向对象编程(OOP)范例,这使得…...

保姆级别!!!--全网绝对教你会!!教你如何使用MQTTFX连接阿里云平台中的设备----下期告诉你如何创建!

本期需要下载的软件 MQttfx安装包,本人打包的-嵌入式文档类资源-CSDN文库 目录 第一步:建造阿里云设备 这个可以先忽略建造步骤,下期将提供步骤。 第二步:下载mqttfx软件 第三步:填写密钥信息进行连接 查看三元…...

Unexpected token ‘‘‘, “‘{“type“:““... is not valid JSON

尝试低代码schema解析JSON时报错,奇怪的是控制台解析正常,项目js执行JSON.parse()报错,简直无语了,,, 只能挨个检查了,首先温习了下JSON 的标准格式: JSON的合法符号:{(左大括号) }(右大括号) "(双引号) :(冒号) ,(逗号) [(左中括号) ](右中括号) JSON字符串:…...

关于C语言的杂记5

文章目录 引入正文内部函数与外部函数相关数组的知识点数组的初始化测试一维数组在内存中存储的地址:遍历二维数组的值测试二维数组的地址(观察内存情况)数组下标为0开始的由来 两个数交换位置的三种方法 引入 写在前面:关于C语言这部分内容,…...

YOLOv5 vs YOLOv6 vs YOLOv7目标检测模型速度和准确度的性能比较——深入研究

如果您正在进行目标检测项目,您很可能会选择众多 YOLO 模型中的一种。从现有的 YOLO 对象检测模型的数量来看,如何选择最佳模型是一个艰难的选择。 您可能会发现自己正在考虑: 选择哪种 YOLO 模型以获得最佳 FPS? CPU 与 GPU 的推理速度如何?选择哪种 GPU?微型、小型、…...

如何增加网站权重?有效提高网站权重的技巧方法

权重对于网站优化来说非常的重要,那什么是网站权重呢?网站权重是指搜索引擎给网站(包括网页)赋予一定的权威值,对网站(含网页)权威的评估评价。一个网站权重越高,在搜索引擎所占的份…...

路径规划 | 图解快速随机扩展树RRT算法(附ROS C++/Python/Matlab仿真)

目录 0 专栏介绍1 什么是RRT算法?2 图解RRT算法原理3 算法仿真与实现3.1 ROS C++实现3.2 Python实现3.3 Matlab实现0 专栏介绍 🔥附C++/Python/Matlab全套代码🔥课程设计、毕业设计、创新竞赛必备!详细介绍全局规划(图搜索、采样法、智能算法等);局部规划(DWA、APF等);…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端,它允许HTTP与Elasticsearch 集群通信,而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

idea大量爆红问题解决

问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...

PHP和Node.js哪个更爽?

先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...

AI Agent与Agentic AI:原理、应用、挑战与未来展望

文章目录 一、引言二、AI Agent与Agentic AI的兴起2.1 技术契机与生态成熟2.2 Agent的定义与特征2.3 Agent的发展历程 三、AI Agent的核心技术栈解密3.1 感知模块代码示例:使用Python和OpenCV进行图像识别 3.2 认知与决策模块代码示例:使用OpenAI GPT-3进…...

前端倒计时误差!

提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

高频面试之3Zookeeper

高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制&#xff0…...

新能源汽车智慧充电桩管理方案:新能源充电桩散热问题及消防安全监管方案

随着新能源汽车的快速普及,充电桩作为核心配套设施,其安全性与可靠性备受关注。然而,在高温、高负荷运行环境下,充电桩的散热问题与消防安全隐患日益凸显,成为制约行业发展的关键瓶颈。 如何通过智慧化管理手段优化散…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...

06 Deep learning神经网络编程基础 激活函数 --吴恩达

深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案

JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停​​ 1. ​​安全点(Safepoint)阻塞​​ ​​现象​​:JVM暂停但无GC日志,日志显示No GCs detected。​​原因​​:JVM等待所有线程进入安全点(如…...