首页 > 其他分享 >操作系统原理 -- IPC

操作系统原理 -- IPC

时间:2023-11-27 17:22:25浏览次数:43  
标签:IPC 操作系统 进程同步 -- 互斥 进程 操作

引用:

https://www.bilibili.com/video/BV1i94y1k7oA?p=54&vd_source=e05f4a55dd5d8e27f74472aa7fd97ace

1. IPC(interprocess communication):进程间通信

2. 进程通信:

  • 共享存储:

    共享数据结构是由操作系统已经定义提供的。

  • 消息传递:

 

    广播方式与共享存储区的区别:它是使用操作系统原语操作的,它操作的内存是固定的;共享内存是动态申请的。

  • 管道通信:

 

3.进程同步:

  这里狭义的同步是相互合作以实现同一个目标。

 

4.进程同步:互斥的软件实现方法:

  P1如果需要再次执行时,将无法进入临界区 

  P0,P1交替执行时会出问题

5.进程同步:互斥的硬件实现方法: 

6. 信号量:代表可用资源的数量

  signal会被反复调用直到所有等待队列中的进程都被唤醒为止。

7. 分析进程同步和互斥的方法步骤:

  1. 分析关系:
    1. 分析进程的数量:
    2. 分析进程间的同步或互斥关系
    3. 前驱关系

  2. 整理思路:根据进程的操作流程确定P操作,V操作的大致顺序。

  3. 设置信号量初始值

 

标签:IPC,操作系统,进程同步,--,互斥,进程,操作
From: https://www.cnblogs.com/nick-qiu/p/17859438.html

相关文章

  • 记录一下vue如果全局引入scss变量
    开始首先一些普通的css,可以在App.vue中引入然后项目中会经常用到一些功能型的scss,比如mixin,和函数等,这个时候在main.js和app.vue是无效的。首先查看自己的sass和sass-loader版本,注意sass-loader的安装版本,如果是v8的版本使用prependDatea,以上的版本使用additionalData(翻......
  • 2019年-fibonacci数列与黄金分割
    目录题目法一、递归法二、迭代题目法一、递归deffib(n):ifn==1orn==2:return1returnfib(n-1)+fib(n-2)n=int(input())a=fib(n)b=fib(n+1)print("{:.8f}".format(a/b))只通过了60%的测试法二、迭代#动态规划#deffib(n):#dp=[0]*(n+1)#......
  • 【2023-11-25】连岳摘抄
    23:59不为明天忧虑。早上醒来,充分地好好活这一天,最近我只留心这件事。以前老爱仰赖明天、敷衍当下,现在也不会了。只是一天一天,非常珍惜地过日子。                                        ......
  • bat文件关闭打开的图片时弹出提示框
    @echooff&cd\&color0a&clsechosetwindowsdefaultpictureviewregadd"HKLM\SOFTWARE\Microsoft\WindowsPhotoViewer\Capabilities\FileAssociations"/v".jpg"/tREG_SZ/dPhotoViewer.FileAssoc.Tiff/fregadd&qu......
  • 聪明办法学python chap4 条件 5循环
    Python(四)条件if-elif-elsex=5ifx<0:print("x小于0")elifx==0:print("x等于0")else:print("x大于0")match-casedefcheck_value(value):matchvalue:case1:print("Valueis1&......
  • JAVA替换replaceAll方法报错:Illegal group reference
     Exceptioninthread"main"java.lang.IllegalArgumentException:Illegalgroupreference atjava.util.regex.Matcher.appendReplacement(Matcher.java:857) atjava.util.regex.Matcher.replaceAll(Matcher.java:955) atjava.lang.String.replaceAll(String......
  • Markdown使用规范
    Markdown使用规范目录Markdown使用规范0、使用VSCode编写Markdown代码1、正文段落2、标记3、分割线4、标题5、引用6、列表有序列表无序列表7、代码段段落内嵌代码代码区块8、插入图片9、插入链接10、公式11、表格12、代办事项13、列出全部标题TOC参考资料和网址0、使用VSCode编......
  • .net 依赖注入“传染性”
    .net依赖注入使用的是构造函数注入方式,并且具有传染性。比如有一个控制器中使用了日志和存储两个类,而存储中使用了日志类和配置类,则都只需要在其构造函数中写需要的类,然后在容器中注册,就可以直接使用。日志类代码//日志接口publicinterfaceILog{publicvoidLog(str......
  • 解析中小地震破裂过程的方法、应用与展望--孟浩然南科大
                  需要远场地震台站数据。  ......
  • VM虚拟机安装系统出现架构不兼容提示
    报错内容:无法打开此虚拟机的电源,因为此虚拟机需要使用Arm计算机架构,而该架构与此X86计算机架构主机不兼容。请参见知识库文章84273。解决方法:这是因为镜像所需的架构和计算机本身的架构不兼容,比如我下载的就是arm64架构的iso镜像,但是我本身的电脑是win11系统,是x86_64系统,......