【系统架构设计师】第一章:操作系统(1.2.3)续:管程

【系统架构设计师】第一章:操作系统(1.2.3)续:管程上节链接【系统架构设计师】第一章:操作系统(1.2.3)死锁问题这一节其实想水一章来着。。。因为书上的东西实在是太少,管程就提到了一点,我也不好写太多。不过细想一下,还是决定写点吧。1.2.3管程书上给的东西太少,而且写的很难懂,所以这里我就先不引用书上的东西了,直接写一些自己的理解了。本文参考链接:https://blog.csdn.net/zy702432103/article/details/84259683https://blog.csdn.net/qq_32534441/a.

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

上节链接
【系统架构设计师】第一章:操作系统(1.2.3)死锁问题
这一节其实想水一章来着。。。
因为书上的东西实在是太少,管程就提到了一点,我也不好写太多。
不过细想一下,还是决定写点吧。

1.2.3 管程

书上给的东西太少,而且写的很难懂,所以这里我就先不引用书上的东西了,直接写一些自己的理解了。
本文参考链接:
https://blog.csdn.net/zy702432103/article/details/84259683
https://blog.csdn.net/qq_32534441/article/details/95231632
https://www.zhihu.com/question/30641734
http://c.biancheng.net/view/1234.html

概念引入

管程也是用于进程之中的,和信号量以及pv操作起到类似的作用。然而,我们之前提到过,pv操作需要成对出现,因为进程使用完资源以后需要告诉系统。
这种操作其实是不安全的,因为一旦我们的pv操作没有成对出现,系统就会出现问题。因此,为了解决这些问题,就产生了管程的概念。
在这里插入图片描述
我们可以很形象的将使用管程的进程这样想:

  • 当一个进程使用管程的时候,那么,它会将一些用到的变量和操作进行封装,像管道一样。这样,我们就可以保证,整个操作是完整的,不会像pv操作中忘记p或v就会使系统产生问题。
  • 由于使用管程的进程是被封装的,所以其他进程不能进行使用,必须等待管程使用完毕才能进行使用。

细节的一些东西

我们使用管程是为了更安全,而不是彻底的封闭,因此,在一些编程语言中提供了几个方法来控制管程中进程的状态。这个我就直接截图了,书上是没有详细讲这个的。
在这里插入图片描述
这几个方法实现了我们之前使用pv操作中挂起,同步等。由于管程的特殊性,所以引入了enter,leave等操作。
剩下的就没什么好介绍的了,本来书上说的也不深,就当我水了一贴。

操作系统五大功能之一的处理器管理的内容已经写完了。后面会继续写其他4个。
下章链接
【系统架构设计师】第一章:操作系统(1.2.4)文件管理

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/206767.html原文链接:https://javaforall.net

(0)
上一篇 2025年8月4日 下午10:01
下一篇 2025年8月4日 下午10:43


相关推荐

  • tpshop带微分销_TPshop分销商城的分销模式

    tpshop带微分销_TPshop分销商城的分销模式TPshop针对不同的应用场景提供了多款微商城模板,今天我们一起来看看TPshop分销系统支持哪些分销模式,如何促进分销渠道的扩展和分销商管理,是否支持三级分销?推客模式:是微商城系统提供的最基础的一种分销模式,即以粉丝为中心、以社交分享为主要推广裂变方式、以佣金结算为激励手段的分销。推客模式采取的是“无限级分销、三级分佣”的模式,也就是每一个推客都可以推荐发展下一级推客,佣金的计算从直接完成销售…

    2022年5月13日
    37
  • UEFI+GPT安装Win7的完整指南与常见问题解答

    UEFI+GPT安装Win7的完整指南与常见问题解答

    2026年3月16日
    2
  • 麒麟系统安装splint

    麒麟系统安装splint1 登陆 splint 官网下载原码 http www splint org download html 这里要注意 由于机器是 mips 所以选择上面的原码自行编译 2 tar xzfsplint 3 1 2 src tgzsudo configure prefix usr local splintsudoma 修改配置文件

    2026年3月16日
    2
  • Pycharm控制台输出乱码——已解决

    Pycharm控制台输出乱码——已解决Pycharm 控制台输出乱码点开设置 将编码格式选为 GBK

    2026年3月19日
    3
  • “UEFI虚拟机”以及“EFI SHELL”介绍「建议收藏」

    “UEFI虚拟机”以及“EFI SHELL”介绍「建议收藏」含UEFIBIOS的电脑并不是所有网友都有,为了让大家都能体验“UEFI”,现在将VMware(8.0以上的版本)打造成“UEFI虚拟机”,具体方法去年提供过,现在为了本系列教程的完整性,重新提供:新建虚拟机后,在虚拟机目录下找到后缀为vmx的文件,使用记事本打开后,添加一行文字(红色):—————–firmware=”efi”———-…

    2022年7月19日
    22
  • java的运行环境是什么_Java运行环境是什么

    java的运行环境是什么_Java运行环境是什么Java运行环境是什么时间:2017-07-03来源:华清远见JAVA学院相信许多人第一次接触java,都分不清Java开发环境和Java运行环境是什么。看似简单的jdk安装,却令许多新手哭笑不得。一方面是电脑环境不同而造成安装方式也不同,另一方面就是对Java开发环境和Java运行环境的概念和关系不太了解。Java运行环境是什么?Java运行环境顾名思义,就是运行Java程序时所需要的…

    2022年7月9日
    17

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号