potplayer 多个进程_操作系统 | 进程同步与进程互斥

主题 

           进程同步与进程互斥           

7d1806f903c1bb5347970fd4015d479b.gif

ce8cd109e07cdb6f0dd8ee44642cc77c.png

01

进程同步 

问题

在多道批处理系统中,多个进程是并发执行的,而并发执行的进程具有异步性,也就是说,各个进程以各自独立的、不可预知的速度向前推进。这样会带来什么问题呢?如果有 AB 两个进程分别进行读写数据的操作,那么写数据应该发生在读数据之前,而实际上,由于异步性的存在,可能会发生先读后写的情况,而此时由于缓冲区为空,该读数据进程就会被阻塞。

解决方法:

所以,我们要通过进程同步来解决此类问题。与进程同步相关的也就是直接制约关系,指的是多个进程一起完成某个任务,这些进程因为合作、因为需要在某些位置上协调他们的工作次序而产生了某些制约关系。

 1  概念

进程同步机制对相关进程在执行次序上进行协调,使并发的进程之间按一定规则共享资源,使程序的执行具有可再现性。2a1965b29296184db8040d790dd5ddf0.gif【题目】在操作系统中,要对并发进程进行同步的原因是()。A.进程必须在有限的时间内完成B.进程具有动态性C.并发进程是异步的D.进程具有结构性解析:C。进程同步是指进程之间一种直接的协同工作关系,这些进程的并发是异步的,它们相互合作,共同完成一项任务。

02

进程互斥 

问题

在多道批处理系统中,多个进程是并发执行的,而并发执行的进程不可避免地需要共享一些系统资源(比如内存、打印机、摄像头等)。有些资源在一个时间段内只允许一个进程使用,诸如各种物理设备、变量、数据、内存缓冲区等,这些称之为临界资源——也就是说,一方面,并发执行的进程需要共享资源;另一方面,临界资源的访问又必须是互斥地进行(不能同时共享),这会导致资源访问上的矛盾。2a1965b29296184db8040d790dd5ddf0.gif【题目】以下()不属于临界资源。A. 打印机B. 非共享数据C. 共享变量D. 共享缓冲区解析:B。临界资源是互斥共享资源,非共享数据不属于临界资源。打印机、共享变量和共享缓冲区都只允许一次供一个进程使用。【题目】以下()属于临界资源。A. 磁盘存储介质B. 公用队列C. 私用数据D. 可重入的程序代码解析:B。临界资源与共享资源的区别在于,在一段时间内能否允许被多个进程访问(并发使用),显然磁盘属于共享设备。公用队列可供多个进程使用,但一次只可供一个进程使用,试想若多个进程同时使用公用队列,势必造成队列中的数据混乱而无法使用。私用数据仅供一个进程使用,不存在临界区问题,可重入的程序代码一次可供多个进程使用。

解决方法:

所以,我们要通过进程互斥来解决此类问题。与进程互斥相关的也就是间接制约关系,指的是当 A 进程在访问某个临界资源时,另一个也想要访问该资源的 B 进程就必须等着,直到 A 进程访问结束并释放资源后,B 进程才能去访问。

03

两种形式的制约 

 1  概念

由于进程具有独立性和异步性等并发特征,计算机的资源有限,导致了进程之间的资源竞争和共享,也导致了对进程执行过程的制约。

① 间接制约:进程间无关,但都要使用临界资源

直接制约:进程间协作,需要按照某些规则运行

2a1965b29296184db8040d790dd5ddf0.gif

例:进程A和进程B通过共享缓冲区协作完成数据处理,进程A负责产生数据并放入缓冲区,进程B从缓冲区读数据并输出。进程A和进程B之间的制约关系是( )。

A.  互斥关系B.同步关系C.  互斥和同步关系D.  无制约关系解析:C。并发进程因为共享资源而产生相互之间的制约关系,可以分为两类:①互斥关系指进程之间因相互竞争使用独占型资源(互斥资源)所产生的制约关系;②同步关系指进程之间为协同工作需要交换信息、相互等待而产生的制约关系。本题中两个进程之间的制约关系是同步关系,进程B必须在进程A将数据放入缓冲区后才能从缓冲区中读出数据。此外,共享的缓冲区一定是互斥访问的,所以它们也具有互斥关系。

实现

do {    extry section;       // 进入区    critical section;    // 临界区    exit section;        // 退出区    remainder section;   // 剩余区} while(true)

04

进程对临界资源的访问过程 

1  概念进入区A 进程想要访问临界资源,首先会在进入区检查是否可以进入,由于此时没有其它进程占用临界资源,所以检查通过,同时它设置了一个 Flag 标志当前自己正在访问临界资源;临界区实际访问临界资源的那段代码退出区负责解除之前的 Flag剩余区其它处理对于 B 进程,如果此时它也想要访问这个资源,同样就会在进入区做一个检查,它知道了 A 进程正在访问,所以自己就不能访问了。这样就实现了资源访问的互斥。2a1965b29296184db8040d790dd5ddf0.gif例:在一段时间内只允许一个进程访问的资源,称为( )。A.共享资源B.临界区C.临界资源D.共享区解析:C.在一段时间内只允许一个进程访问的资源称为临界资源或独占资源。计算机系统中的大多数物理设备,以及某些软件中所用的栈、变量和表格,都属于临界资源,它们要求被互斥地共享。

05

四个原则 

1  概念空闲让进临界区空闲时,说明没有进程使用临界资源,此时应该让想要进入临界区的进程立刻进来忙则等待如果已经有进程进入临界区,则其它同样想要进入的进程只能等着有限等待不能让进程一直干等着,要保证他在有限的时间内可以进入临界区让权等待当进程不能进入自己的临界区时,应该立刻释放处理机,防止进程陷入“忙等”状态。2a1965b29296184db8040d790dd5ddf0.gif例:以下不是同步机制应遵循的准则的是()。A. 让权等待B. 空闲让进C. 忙则等待D. 无限等待解析:D。同步机制的4个准则是空闲让进忙则等待让权等待有限等待。b4599a830384518ba585cb60418fc8ea.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/434372.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java中间件:淘宝网系统高性能利器

【TechTarget中国原创】淘宝网是亚太最大的网络零售商圈,其知名度毋庸置疑,吸引着越来越多的消费者从街头移步这里,成为其忠实粉丝。如此多的用户和交易量,也意味着海量的信息处理,其背后的IT架构的稳定性、可靠性也显…

@autowired注解 抽象类_别再用ifelse了,用注解去代替他吧

来自公众号:咖啡拿铁策略模式经常在网上看到一些名为“别再if-else走天下了”,“教你干掉if-else”等之类的文章,大部分都会讲到用策略模式去代替if-else。策略模式实现的方式也大同小异。主要是定义统一行为(接口或抽象类),并实现…

卸载mysql8.0卸载程序_程序卸载失败,来使用微软官方的Windows卸载工具试试

在我们实际的Windows操作系统使用中,总会遇到一些程序无法成功卸载的情况。当然,我们可以使用第三方软件来进行尝试卸载。要么,第三方软件会进行收费。要么,免费的会带给你捆绑软件的安装或者烦人的广告。还可能会造成系统文件的误…

英特网rst服务器未在运行,技术员示范win7系统提示“英特尔(R)RST服务未在运行”的详细办法...

不知道大家有没有遇到过win7系统提示“英特尔(R)RST服务未在运行”的问题,最近有很多朋友来向我咨询win7系统提示“英特尔(R)RST服务未在运行”的问题如何解决,于是小编就个大家整理的win7系统提示“英特尔(R)RST服务未在运行”的解决步骤,就…

小米手机电池恢复代码_解决小米手机屏幕问题的方法

屏幕在我们的小米手机中永远不会失败,因为没有它,我们将无法使用可用的应用程序和功能。为了帮助大家,我们汇总了小米和Redmi手机中最常见的问题,为您提供了针对我们所面临的每种情况的解决方案。MIUI定制层汇集了适用于小米手机的…

【原】winform高效导出Excel带格式设置

参考网上的方法修改,1000条记录导出只要3S(1GRDM,C2.8CPU).1.项目添加excel对象类库的引用,Microsoft Excel 11.0 object library(不同版本的Excel,类库不同,这是2003的) 2.代码1//-…

vscode 逗号不换行_来自一个插件的疯狂夸赞,VS Code「彩虹屁」插件问世,网友:我想要郭德纲版...

听说有人开发了「虚拟程序员鼓励师」,安装使用后的我疯狂捶墙,导致我家变成了单间。机器之心报道,机器之心编辑部。你可能从未想过,会有这么一个人:对你写的每一行代码都不吝夸赞,知道你什么时候想骂人&…

电压源和电流的关联参考方向_结点电压法解题系列之四:电流源支路

利用结点电压法求解时,有的结点之间连接的是电流源支路。如图1所示电路中,结点2与参考结点4之间连接的是5A电流源。对结点2列写标准形式KCL,或直接利用KCL列出结点电压方程,都很容易,也不易出错。只需要注意&#xff1…

狼人杀服务器紧急维护中,狼人杀最可怕的武器是那张嘴?禁言长老:你已被管理员禁言一天!...

语言的能力有多强?不论是用来攻击对手,或是讨好他人,讽刺或是欺骗,语言有着神秘的力量,仿佛能够颠倒黑白。对于那些"口吐芬芳"的人,更是恨不得在他嘴上贴个封条,让他好好安静一会。相…

炎炎夏日需要一个清凉的地 - 自制水冷系统(十一 指尖的思绪之程序篇)

前段时间接手了一个项目,所以DIY的进程有些停滞。实际编写的程序并没有多长时间,得益于Keil这个强大的IDE。能在第一次做51开发的时候,如此顺利的完成代码。不多说废话了,说明下代码的具体思路。具体思路根据(八 系统设…

wordpress 后台慢_建站经验-wordpress用户注册收不到验证邮件

背景我的一个博客http://axuretop.com,已经在后台开放注册了,注册用户默认为“订阅者”。一旦发布新的文章,会订阅邮件给用户。后台有300多个订阅用户,但是发现评论文章的很少,严重怀疑他们无法订阅我的文章&#xff0…

ai字体行间距怎么调整_字体基础知识(一)

本期教程主要讲解字体基础知识:字体、字号、字形、字重、行高、行距、字间距、字偶间距。本文所用软件为Microsoft PowerPoint 2013。1 字体文字的风格样式,就是我们平时常说的黑体、宋体、楷体、Segoe UI Black、Courier New、Consolas。如下图所示&…

免费的crm系统部署在自己的服务器,crm系统本地部署与云端部署的区别

CRM系统的部署方式通常有三种模式,分别是:本地部署、云端部署、公有云部署等三种模式。通常企业在选择的部署方式是本地部署与云端部署。那么他们部署方式得区别是什么?本地部署CRM系统本地部署的CRM软件:是意味着保存在企业自身的服务器中。…

gitee怎么仓库间传文件_实现一个简单的基于码云(Gitee) 的 Storage

实现一个简单的基于码云(Gitee) 的 StorageIntro上次在 asp.net core 从单机到集群 一文中提到存储还不支持分布式,并立了一个 flag基于 github 或者 开源中国的码云实现一个 storage于是这两天就来填坑了。。实现了一个简单的基于开源中国的码云的 storage准备工作…

载波聚合或双连接的方式进行_智能电表常用远程抄表方式,您想知道吗?--老兵聊电之...

智能电表的远程抄表方式有多种方式,但老王更喜欢以下几种抄表方式,希望您能接受。一、智能电表的工作原理1.智能电表主要是由电子元器件构成,其工作原理是先通过对用户供电电压和电流的实时采样,再采用专用的电能表集成电路&#…

搞个服务器安装黑群晖系统,牛人闲置电脑大改造!超低成本组建家用黑群晖NAS...

一、前言:大家好,俺又来了。这篇原创很早就在构思怎么写了,因为确实作为一个数码爱好者来说,当得知有 群晖 威联通 这种NAS 的东西存在的时候,就忍不住想体验体验。但是奈何自己的资金不够,想一想&#xff…

立体旋转查看图片

声明:如果程序有问题,请各位大虾多多指点,谢谢。 基于psoft.js制作的一款立体旋转查看图片应用 1.可以通过鼠标滑动来操作图片的旋转,可以向右,向左拖动 a。向左滑动 b。向右滑动 c。向左转到一下 2.代码实现&#xff…

asterisk架构

从架构的角度看来,Asterisk是由许多不同的模块组成的。在设计基于Asterisk的系统时,这种模块化的特性,提供了几乎无限的灵活必。作为Asterisk系统管理员,你拥有选择加载模块的权利。你所加载的每一个模块,都提供了不同…

esp虚拟服务器,esp8266接入云服务器

esp8266接入云服务器 内容精选换一换公有云平台提供的云监控,可以对云耀云服务器的运行状态进行日常监控。您可以通过管理控制台,直观地查看云耀云服务器的各项监控指标。云耀云服务器正常运行。关机、故障、删除状态的云耀云服务器,无法在云…

c++ primer 第六版 pdf_A3N630 塑壳断路器如何更换.pdf

太阳能单晶炉专用配套变压器,是我公司研发的生产太阳能单晶硅的单晶炉设备专用变压器,本产品作为太阳能单晶炉设备的配套产品,它将电网电源的三相380V电压转换成较低的三相交流50V电压,为加热提供电源,以得到设备加热所…