操作系统习题(1)

操作系统习题1答案 孟庆昌 习题1 1.计算机系统主要由哪些部分组成? 计算机系统由软件和硬件组成。 从硬件角度看,现代的计算机系统由CPU、内存、和若干I/O设备组成; 从功能上看,由五大部件组成:运算器、控制器、存储器、输入设备和输出设备; 软件分为系统软件、支撑软件和应用软件。系统软件由操作系统、实用程序、编译程序等组成。支撑软件有接口软件、工具软件、环境数据库等,它能支持用机的环境,提供软件研制工具。支撑软件也可认为是系统软件的一部分。应用软件是用户按其需要自行编写的专用程序,它借助系统软件和支援软件来运行,是软件系统的最外层 阅读详情

1.设有三个进程P1,P1,P3,各按如下所示顺序执行程序代码:

进程P1             进程P2            进程P3

¯ ¯ ¯

P(s1)     P(s3) P(s2)

P(s2)     P(s1) P(s3)

… …   …

V(s1)     V(s3) V(s2)

V(s2)     V(s1) V(s3)

¯ ¯ ¯

其中s1,s2,s3是信号量,且初值均为1.

在执行时能否产生死锁?如果可能产生死锁,请说明在什么情况下产生死锁?并给出一个防止死锁产生的修改办法。

参考答案:

可能产生死锁。

当进程P1执行P(s1),进程P2执行P(s3),进程P3执行P(s2)后,三个资源(即信号量s1,s2,s3)被三个进程分别占用,接下来任何一个进程都无法得到所申请的资源,于是都无限地循环等待,造成死锁。

一个防止死锁产生的办法是:进程申请信号量时,按序申请,如图: 

进程P1             进程P2            进程P3

¯ ¯ ¯

P(s1)     P(s1) P(s2)

P(s2)     P(s3) P(s3)

┉ ┉   ┉

V(s1)     V(s1) V(s2)

V(s2)     V(s3) V(s3)

¯ ¯ ¯

这里是按s1,s2,s3顺序申请信号量,也可按相反顺序申请,即s3,s2,s1

另外,也可以采用资源预分配策略(同时申请两个信号量)防止死锁发生。

2..设系统中有三种类型的资源(A,B,C)和五个进程(P1,P2,P3,P4,P5),A资源的数量为17,B资源的数量为5,C资源的数量为20.在T0时刻系统状态如表1所示。系统采用银行家算法来避免死锁。


① T0时刻是否为安全状态?若是,请给出安全序列。

② 在T0时刻,若进程P2请求资源(0,3,4),能否实现资源分配,为什么?

③ 在②的基础上,若进程P4请求资源(2,0,1),能否实现资源分配,为什么?

④ 在③的基础上,若进程P1请求资源(0,2,0),能否实现资源分配,为什么?  

进程

最大资源需求量

已分配资源数量

系统剩余资源数量

A    B     C

A    B     C

A    B     C

P1

P2

P3

P4

P5

5   5   9

5   3   6

4   0  11

4   2   5

4   2   4

2   1   2

4   0   2

4   0   5

2   0   4

3   1   4

2   3   3

                                            表1

解答:(1)A(17)、B(5)、C(20)      Work=(2,3,3)

 进程

Work

剩余数

Allocation


Need


W+A

Finish

A   B  C

A   B   C

A   B   C

A   B   C

P5

P4

P3

P2

P1

2  3  3

5  4  7

7  4  11

操作系统复习题1 一、选择题 1. 计算机启动是执行的一个程序是( )。 A.引导扇区 B.boot C.BIOSD.Load 解析:CPU加电后会首先执行BIOS程序,其中POST加电自检程序是执行的第一个例行程序。 2. 执行进程调度就是( )。 A.一号变迁 B.二号变迁 C.三号变迁 D.四号变迁 解析:进程调度就是就绪态到执行态,也就是一号变迁 操作系统的主要功能是管理... 阅读详情

相关推荐

磁带库Scalar i6000界面基本操作步骤

(注:磁带库的前面的门不要打开,日常维护:主要就是简单看下磁带库的状态;绿色代表正常;黄色代表报警但不影响磁带库正常使用;红色代表报警,不能正常使用,及时和厂家联系报修。) 一、磁带库管理页面 1、首先,磁带库前面(具体作用如图) 2、查看状态和管理页面 3、管理页面登陆。用户名:service 密码:xxxxxx 4、磁带机背面 二、电脑连接磁带库进入管理页面 1.用网线把电脑和磁带库的维护接口(磁带库背面)进行连接 2.电脑环境:JAVA。把电脑的IP设置成自...

杀神lwz的博客 5352

UE5实战:如何用Georeference插件搞定百度地图坐标转换(附完整代码)

本文详细解析了在UE5中使用Georeference插件实现百度地图坐标转换的全流程,包括BD-09到UE内部坐标的转换算法、UTM投影配置及性能优化技巧。通过完整代码示例和实战案例,帮助开发者高效解决数字孪生项目中的地理坐标转换难题。

weixin_30955617的博客 94

树莓派5使用CSI摄像头 | 树莓派5接上CSI摄像头后命令行操作显示检测无设备

此系列用于记录树莓派5的一些操作,这篇文章讲述树莓派5如何使用CSI摄像头。

beyourself_he的博客 8796

别再傻傻分不清PBR和NPR了!从《原神》到《双城之战》,聊聊游戏里那些让你眼前一亮的渲染风格

本文深入解析了PBR(基于物理的渲染)与NPR(非真实感渲染)在游戏视觉风格中的应用差异,通过《原神》和《双城之战》的案例,展示了两种渲染技术如何创造出截然不同的艺术效果。从技术原理到实战案例,帮助读者理解如何根据项目需求选择合适的渲染风格。

weixin_30425949的博客 147

智能体在车联网中的应用:第31天 基于RLlib的多智能体PPO实战:MAPPO算法解决simple_spread合作任务

本文介绍了如何利用RLlib框架实现多智能体强化学习算法MAPPO,解决simple_spread任务。首先分析了RLlib的架构设计理念和多智能体支持特性,包括策略映射、环境包装等核心组件。然后详细解析了simple_spread环境的任务定义、观察空间和奖励函数设计。最后回顾了MAPPO算法原理,说明其如何在RLlib中实现集中式训练与分布式执行的CTDE范式。文章提供了完整的安装指南和环境配置方法,帮助读者快速搭建多智能体强化学习实验环境。

IT深耕十余载,大道之简 1332

3.摄像头组件- CVP (ISP)

本文介绍 车载摄像头组件-ISP

2401_83458819的博客 1617

GNN(图神经网络)的 MATLAB 仿真

图神经网络(Graph Neural Network, GNN)是一种用于处理图结构数据的深度学习模型。GNN 通过聚合节点及其邻居的信息,能够有效捕捉图结构中的复杂关系,广泛应用于社交网络分析、推荐系统、化学分子分析等领域。GNN 通过消息传递机制聚合节点及其邻居的信息,能够有效处理图结构数据。MATLAB 仿真展示了 GNN 的基本流程和节点分类性能,适用于社交网络分析、推荐系统、化学分子分析和知识图谱等多种应用场景。

走向CTO的路上... 837

一文吃透 SAP IDoc 状态码:从 TEDS1 到 WE02 排障,再到 ABAP 自动化监控

在 SAP 集成场景里,IDoc 往往是最常见、也最容易被低估的一条生命线:采购订单、发票、主数据、库存移动……只要系统之间要稳定地交换结构化业务数据,IDoc 就经常登场。真正让人头疼的,并不是 IDoc 本身,而是它在链路里到底走到了哪一步、卡在了哪里、该找谁背锅。这篇文章把常用的 IDoc 状态码按出站、入站拆开讲清楚,并且把每个状态对应的真实世界故障现象、排查入口、以及可以落地的 ABAP 监控代码串起来,让你看到状态码就能想到动作。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 405

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

上一篇: 页式地址变换-虚地址结构(整理)
下一篇: 算法实验(整理)
macandroid
博客等级 码龄14年 35粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值