操作系统习题4—进程死锁

1、试解释在十字路口产生的交通死锁现象中包括了死锁产生的 4 个必要条件,并给出避免产生交通死锁的简要规则。

四个必要条件:

  • ① 互斥:同一时刻只能有一辆车占据道路上的同一个空间位置
  • ② 占有等待:一辆车占据道路上的一个空间位置并等待着前进
  • ③ 非剥夺:一辆车不能从道路上当前空间位置挪走
  • ④ 循环等待:每辆车都等待着前面的车辆前进,形成一个循环

简明规则:

在十字路口设立一组红绿灯,前两分钟只允许南北方向的车辆同行,后两分钟只允许东西方向的车辆同行。每两分钟切换一次红绿灯,可以避免这个交通死锁。

2、设三个进程共享四个资源,每次资源分配与请求只能以一个单位进行。已知每一进程最多需要 2 个单位的资源,那么系统中会发生死锁现象吗?试说明原因。

系统中不会出现死锁现象。

四个单位资源分配给三个进程,根据抽屉原理,至少会有一个进程分配到两个单位资源。因为一个进程最多需要两个单位资源,这个进程可以顺利执行完毕,然后此进程将资源释放出去,其他进程得到了资源就能够继续执行,所有的进程都能在有限时间内得到所需资源而执行完毕。

3、系统在某一时刻的状态如下表所示,使用银行家算法回答下列问题。

(1)请给出 Need 矩阵。
Need=Max−Allocation=[00000750100200200642]Need = Max-Allocation =\begin{bmatrix} 0&0&0&0\\ 0&7&5&0\\ 1&0&0&2\\ 0&0&2&0\\ 0&6&4&2\\ \end{bmatrix}Need=Max−Allocation=⎣⎢⎢⎢⎢⎡​00100​07006​05024​00202​⎦⎥⎥⎥⎥⎤​

(2)当前系统是否处于安全状态?

初始化矢量 Work=Available(1,5,2,0)

系统安全性分析:

因为存在一个安全序列<P0、P3、P2、P1、P4>,所以系统处于安全状态

(3)如果从进程 P1发来一个请求(0,4,2,0),这个请求能否立刻满足?

Request1(0,4,2,0) < Need1(0,7,5,0)
Request1(0,4,2,0) < Available(1,5,2,0)

假设先试着满足进程 P1 点这个请求,则 Available 变为(1,1,0,0)

系统状态变化为:

再对系统进行安全性分析:

因为存在一个安全序列<P0、P2、P3、P1、P4>,所以系统仍然处于安全状态

进程 P1 这个请求应该马上被满足

4.化简下面的资源分配图,并判断系统中是否存在死锁。

尝试化简的资源分配图如下:

这个资源图不可完全简化,系统会发生死锁

操作系统习题4—进程死锁相关推荐

  1. 操作系统习题3—进程的互斥与同步

    操作系统习题3-进程的互斥与同步 1.例举两个现实生活中需要同步与互斥的例子. 我们去吃自助餐时,店里的厨师会在后台厨房制作食物,然后将食物运送到公共饮食区域,让顾客自行挑选.如果公共饮食区域的食物都 ...

  2. 进程死锁的危害、导致原因和解决方法

    在多个程序同时执行的情况下,多个进程可能出现竞争一定数量的资源.若某个进程申请资源,且此时资源不可用,那么该进行将进入等待状态.如果所申请的资源被其他等待进程占有,那么该等待进程有可能永远处于等待状态 ...

  3. java课程设计进程管理_GitHub - Shadow-Java/OS: 操作系统课程设计,关键词:进程同步与互斥、进程死锁、LRU页面替换算法、时间片轮转算法、时钟等...

    可视化仿真实现作业管理与虚页内存管理 ℹ️设计要求 在多任务的作业并发环境下,仿真实现作业及进程并发环境.MMU 地址变换.进程原语.页表生成与虚页调度算法(至少实现LRU).三级作业调度过程及算法( ...

  4. 操作系统-进程死锁:银行家算法

    文章目录 进程死锁:银行家算法 问题描述 实验环境 输入 输出 测试数据 实验设计 数据结构 主要函数功能和参数 系统框架图 流程图 实验结果与分析 结果展示与描述 结果分析 总结 源代码 进程死锁: ...

  5. 《操作系统》实验四:预防进程死锁的银行家算法

    [实验题目]:预防进程死锁的银行家算法 [实验学时]:4学时 [实验目的] 通过这次实验,加深对进程死锁的理解,进一步掌握进程资源的分配.死锁的检测和安全序列的生成方法. [实验内容] 问题描述: 设 ...

  6. 用计算机答题答案提交后能否改错,南京晓庄计算机操作系统习题库含答案全1-5章...

    第一章 一. 判断改错题(正确的打√,错误的打×并改正) (1) 实时系统只能应用于生产控制系统,不能应用于信息处理系统.( ) (2) 并发含有"同时进行"的概念,是指两个或者是 ...

  7. 操作系统习题自用(三)

    操作系统习题三 每次做题都触及到了我的知识盲区,所以谨以此来记录自己的不足.欢迎大家评论指正,谢谢. 知识点 死锁:在一个进程集合中,所有的进程都在等待只能由该进程集合中的其它进程才能引发的事件,这就 ...

  8. 操作系统习题知识点总结

    目录 操作系统习题知识点总结 第一章 第二章 第三章 操作系统习题知识点总结 第一章 计算机开机后,操作系统最终被加载到RAM. 计算机操作系统的功能是管理计算机资源并提供用户接口. 操作系统的特征是 ...

  9. 操作系统习题自用(一)

    由第一次操作系统作业而进行的查漏补缺 操作系统习题自用(一) 操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在"裸机" ...

最新文章

  1. My deep learning reading list
  2. android控件跟随手势滑动改变位置
  3. Delegate(QLabel和QComboBox)
  4. 基于CDS view生成的OData服务的metadata是如何生成的
  5. Jquery 每天记一点2009-7-2
  6. 吴裕雄 01-mysql管理
  7. Swift高仿喜马拉雅APP之一Charles抓包、图片资源获取等
  8. ADC前端电压跟随器和ADC相关参数之---分辨率和精度(INL和DNL)
  9. dell r630 配置raid_DELL服务器RAID配置图文教程
  10. 计算机新生导学课心得,新生导学课论文_新生导学课感想_大一新生导学课心得...
  11. 微信小程序报错unshift is not a function
  12. 64位计算机装32位系统,32位装64位系统教程
  13. 量化金融模型ARCH模型官方例程(中文翻译版)
  14. 解决Android 拍照图片被旋转问题
  15. 各种手机的User-Agent
  16. animal farm 第一章阅读笔记
  17. java I/O流
  18. 将自己的 ubuntu 系统制作为ISO镜像
  19. jsDOM编程-小球在盒子里来回撞击
  20. 【BI学习作业15-数据分析思维】

热门文章

  1. Spring Boot导出jar包发布
  2. TCP核心概念-慢启动,ssthresh,拥塞避免,公平性的真实含义
  3. 【Python】青少年蓝桥杯_每日一题_5.03_判断是否是三角形
  4. Java 洛谷 P1161 开灯
  5. cgi web 调用多次启动_简单说明CGI和动态请求是什么
  6. 数据中心运营商如何选择合适的蓄电池
  7. DataScience:初学者进阶数学处理专家,学会Excel中50个常用功能带你飞
  8. ML之kNN:k最近邻kNN算法的简介、应用、经典案例之详细攻略
  9. Keras之Mask R-CNN:《极限挑战》第四季第2期助力高考—使用Mask R-CNN代替Photoshop抠图、颜色填充框出目标检测/图像分割/语义分割
  10. AI:一个20年程序猿的学习资料大全—结构分析软件/办公软件/电气制造控制/高级语言编程/平面三维设计/视频编辑/FQ格式转换软件——只有你不想要的,没有你找不到的