• 0755-82538016
  • 0755-82560826
  • 深圳网站建设_APP小程序开发_博纳网络

    • 网站建设案例
      • ";

        营销网站建设

        全网营销网站

        高端网站建设

        商城网站建设

        外贸网站建设

        小程序开发

        区块链开发

        物联网项目开发

        定制app开发

        在线教育网站

        速成网站建设

        服装网站建设

        餐饮网站建设

        珠宝首饰网站

        机械制造网站

        文化旅游网站

        家装建材网站

        美容化妆品网站

        数码产品网站

        模板案例库

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 网站推广
      • ";

        网站优化基础

        建站优化

        网站优化

        营销推广

        整站优化

        推广帮助

        谷歌搜索

        推广方案

        推广套餐

        推广技巧

        百度排名

        巧用微博推广

        直播视频网站推广法

        微信推广网站方法

        网站外链推广

        公共微信号推广

        网站优化闲谈

        常见问题

        公司资讯

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 网站制作资讯
      • ";

        网站制作

        外贸网站建设

        网站设计

        网站代运营

        深圳网站建设专栏

        深圳小程序开发

        网站改版

        APP开发

        网站建设方案

        安全维护

        软件开发

        平台搭建

        建站行业资讯

        域名注册

        虚拟主机

        企业邮局

        国外主机

        VPS独享空间

        免备案香港服务器

        如何解析域名

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 网站报价
      • ";

        网站报价

        建站方案

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 公司动态
      • ";
        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 关注博纳
      • ";

        网站制作精英团队

        网站建设公司愿景

        公司介绍

        主营业务

        博纳文化

        加入博纳

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 联系我们
      • ";

        网站建设公司联系方式

        网站建设、网站制作公司乘车路线

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
      网站制作资讯

      当前位置:

        主页网站制作资讯APP开发 APP开发:程序运行环境的进程互斥与同步的工作原理

      APP开发:程序运行环境的进程互斥与同步的工作原理

      发布时间:2021-12-09

      文章编辑:网站建设 文章来源:APP开发 浏览量:次

        APP开发程序运行环境的进程互斥与同步的工作原理,进程互斥定义为:一组并发进程中一个或多个程序段,因共享某一共有资源而导致必须以一个不允许交叉执行的单位执行。也就是说互斥是要保证临界资源在某一时刻只被一个进程访问。APP开发公司理解进程同步定义为:把异步环境下的一组并发进程因直接制约而互相发送消息而进行互相合作、互相等待,使得各进程按一定的速度执行的过程称为进程同步。也就是说进程之间是异步执行的,同步即是使各进程按一定的制约顺序和速度执行。
      博纳网络APP开发资深工程师提示:简单一点来说,互斥是资源的竞争关系,而同步是进程间的协作关系。
      系统中有些资源可以供多个进程同时使用,有些资源则一次仅允许一个进程使用,将一次仅允许一个进程使用的资源称为临界资源,很多物理设备如打印
      机、磁带机等都属于临界资源,某些软件的变量、数据、表格也不允许两个进程同时使用,所以也是临界资源。
      进程在并发执行中可以共享系统中的资源。但是临界资源的访问则必须互斥进行,即各进程对临界资源进行操作的那段程序的执行也必须是互斥的,只有这样才能保证对临界资源的互斥访问。把一个进程访问临界资源的那段程序代码称为临界区,有了临界区的概念,进程间的互斥就可以描述为:禁止两个或两个以上的进程同时进入访问同一临界资源的临界区。为此,必须有专门的同步机构来协调它们,协调准则如下:
        
      (1)空闲让进。无进程处于临界区时,若有进程要求进入临界区则立即允许其进入;
      (2)忙则等待。当已有进程进入其临界区时,其他试图进入各自临界区的进程必须等待,以保证诸进程互斥地进入临界区;
      (3)有限等待。有若干进程要求进入临界区时,应在有限时间内使一进程进入临界区,即它们不应相互等待而谁也不进入临界区;
      (4)让权等待。对于等待进入临界区的进程必须释放其占有的CPU。
      信号量可以有效地实现进程的同步和互斥。在操作系统中,信号量是一个整数。当信号量大于等于o时,代表可供并发进程使用的资源实体数,当信号量小于零时则表示正在等待使用临界区的进程数。建立一个信号量必须说明所建信号量代表的意义和设置初值,以及建立相应的数据结构,以便指向那些等待使用该临界区的进程。
      对信号量只能施加特殊的操作:P操作和V操作。P操作和V操作都是不可分割的原子操作,也称为原语。因此,Р原语和V原语执行期间不允许中断发生。
      P (sem)操作的过程是将信号量sem值减l,若sem的值成负数,则调用P操作的进程暂停执行,直到另一个进程对同一信号量做V操作。V (sem)操作的过程是将信号量sem值加1,若sem的值小于等于o,从相应队列(与sem有关的队列)中选一个进程,唤醒它。
      一般P操作与V操作的定义如下所述。P操作:
      P{sem}i
      sem=sem - 1;
      if {sem < o}进程进入等待状态;else 继续进行;}
      V操作:
      v {sem}{sem=sem + 1;
      if {sem ≤ o}唤醒队列中的一个等待进程;else继续进行;}
      为了保护共享资源(如公共变量),使它们不被多个进程同时访问,就要阻止这些进程同时执行访问这些资源(临界资源)的代码段(临界区)﹔进程互斥不允许两个以上共享临界资源的并发进程同时进入临界区。利用P、V原语和信号量可以方便地解决并发进程对临界区的进程互斥问题。
      设信号量mutex是用于互斥的信号量,初值为1,表示没有并发进程使用该临界区。于是各并发进程的临界区可改写成下列形式的代码段:
      P( mutex) ;
      临界区v (mutex) ;
      要用P,V操作实现进程同步,需要引进私用信号量。私用信号量只与制约进程和被制约进程有关,而不是与整组并发进程相关。与此相对,进程互斥使用的信号量为公用信号量。首先为各并发进程设置私用信号量,然后为私用信号量赋初值,最后利用P,V原语和私用信号量规定各进程的执行顺序。
      经典同步问题的例子是“生产者一消费者”问题。这要求存后再取,取后再存,即有两个制约关系,为此,需要两个信号量,表示缓冲区中的空单元数和非空单元数,记为Bufempty和Buffull,它们的初值分别是1和o,相应的程序段形式是:
      生产者loop
      生产一产品next;P(Bufempty) ;
      next产品存缓冲区;V(Buffull) ;
      endloop
      消费者loop
      (Buffulll) ;V ( Bufempty) ;从缓冲区中取产品;使用产品
      endloop5.前趋图
      前趋图是一个由结点和有向边构成的有向无循环图。该图通常用于表现事务之间先后顺序的制约关系。图中的每个结点可以表示一个语句、一个程序段或是一个进程,结点间的有向边表示两个结点之间存在的前趋关系。
      例:在计算机中,经常采用流水线方式执行指令,每一条指令都可以分解为取指、分析和执行三步。取指操作为Ai,分析操作为Bi和执行操作为Ci(i=1,2,3)。如图2-4所示为三个任务各程序段并发执行的前驱图。
      图中Ay没有前趋结点,称为开始结点,它不受任何制约,可以直接执行;而
      B与A2只能在A执行完成之后才能开始,而B,必须在B1与A,完成之后才能开始;C没有后继结点,称为终止结点。
      在前趋图中,执行先后顺序的制约关系可分为两种:直接制约和间接制约。直接制约通常是指一个操作中,多个步骤之间的制约关系,也可以说是“同步的进程之间的制约关系”。如图2-4所示,A、B,、C,是一条指令的取指、分析、执行的三个步骤,所以它们之间的关系是直接制约。
      间接制约通常是指多个操作之间相同步骤的制约关系,也可以说是“互斥的进程之间的制约关系”。如图2-4所示,A、A、A之间就存在间接制约的关系。
      前趋图的应用广泛,在项目开发中,可用前趋图来分析哪些活动可以并行完成。同时项目管理工具:Pert图,单(双)代号网络图等都融入了前趋图的思想。好了,深圳APP开发公司本文关于“程序运行环境的进程互斥与同步的工作原理”的APP项目开发前期工作经验就分享到这里,谢谢关注,博纳网络编辑整理。

      当前文章链接:/construction/appkaifa/14402.html
      上一篇:APP开发:怎样理解时下最火热O2O电商平台APP应用 下一篇:大型电商直播APP开发关于上网日志数据处理方法
      返回列表
      如果您觉得案例还不错请帮忙分享:

      [声明]本网转载网络媒体稿件是为了传播更多的信息,此类稿件不代表本网观点,本网不承担此类稿件侵权行为的连带责任。故此,如果您发现本网站的内容侵犯了您的版权,请您的相关内容发至此邮箱【qin@198bona.com 】,我们在确认后,会立即删除,保证您的版权。

      相关案例推荐

      资讯分类

      • 网站制作
      • 外贸网站建设
      • 网站设计
      • 网站代运营
      • 深圳网站建设专栏
      • 深圳小程序开发
      • 网站改版
      • APP开发
      • 网站建设方案
      • 安全维护
      • 软件开发
      • 平台搭建
      • 建站行业资讯
      • 域名注册
      • 虚拟主机
      • 企业邮局
      • 国外主机
      • VPS独享空间
      • 免备案香港服务器
      • 如何解析域名

      最新发布

      • 社区APP开发上线后影响用户使用的粘性有哪些?
      • 为什么说大健产业O2OAPP开发潜力无限
      • 网络公司对社区O2OAPP开发基本认识
      • 工业4.0时代怎样做好一个APP的开发工作?
      • APP开发公司分析APP应用开发下一个巨头在哪些领域?
      • APP电子商务平台开发前景如何?
      • 社交类型APP开发需要具备的五个必要条件
      • 社交类型APP平台开发使用小程序还是APP模式好?
      • 使用HTML语言开发APP商城可以吗?
      • 社区O2OAPP开发的方向选择

      相关资讯

      • APP开发设计过程之设计网站和APP实操体验
      • APP开发前期项目需求研究在设计过程中的重要性
      • APP开发前期规划之谁会使用这个网站或APP?
      • APP开发经验之在敏捷与瀑布式环境中设计
      • APP开发规划之信息架构
      • APP开发规划之设计师要排出噪音意见
      • APP开发设计至如何将设计工作过渡到线框图
      • APP开发设计师的工作流程与重要性
      • APP开发设计师完成项目模型设计之后的下一环节是什么?
      • 电商开发APP需要权衡并制定功能的优先级

      热门搜索

      • 品牌网站建设
      • 模板网站建设
      • 商业网站制作
      • 网站开发公司
      • 深圳网站建设
      • 设计
      • 学校网站制作
      • 商城网站建设
      • 手机网站制作
      • 深圳app开发

      Copyright © 2021 博纳网络 版权所有  粤ICP备17054727号

      • 棣栭〉

      • 鍜ㄨ

      • 閫氳瘽

      • 妗堜緥

      • 杩斿洖

      🏠
      首页
      📞
      电话咨询
      💬
      立即咨询
      📁
      案例