当前位置: 首页 > wzjs >正文

福田企业建站推广服务公司长沙天津网站建设

福田企业建站推广服务公司,长沙天津网站建设,在线代理ip,龙岗网站建设哪家好系列文章目录 第二章:进程的描述与控制 文章目录 系列文章目录前言一、临界区的概念和描述:二、硬件同步机制: 1.关中断2.利用Test-and-Set指令实现互斥3.利用Swap指令实现进程的互斥 总结 前言 上一篇我们仅仅讲了一点关于线程同步的概念&a…

系列文章目录

第二章:进程的描述与控制


文章目录

  • 系列文章目录
  • 前言
  • 一、临界区的概念和描述:
  • 二、硬件同步机制:
    • 1.关中断
    • 2.利用Test-and-Set指令实现互斥
    • 3.利用Swap指令实现进程的互斥
  • 总结


前言

  上一篇我们仅仅讲了一点关于线程同步的概念,临界区和同步机制应遵循的规则,这篇我们文章仅仅给大家讲一下软硬件的是如何实现同步机制的,下面我们会使用类c语言来进行实现,正好也复习了一下C语言的内容。


提示:以下是本篇文章正文内容,下面案例可供参考

一、临界区的概念和描述:

   临界区很重要,所以我还是想先给基础打好,带着大家再复习一下     

不论是软件临界资源还是硬件临界资源,多个进程必须互斥地对它进行访问。在每个进程中访问临界资源的那段代码称为临界区。

下面是对访问临界资源的循环进程描述如下:

   

 while(True){进入区//enter section临界区//critical section退出区//exit section剩余区//reminder section}

   进入区是因为如果此刻该临界资源正在被某进程访问,则本进程不能进入临界区。所以必须在临界区前面添加一段用于检查上述的代码。

  退出区是为了用于将临界区正在访问的标志恢复为未被访问的标志。(下面都有具体实现

    剩余区就是进程中除上述进入区,临界区及退出区之外的其它部分的代码在这里都称为剩余区。

   至于同步机制应遵循的原则就看我上面进程(3)的内容吧

 1.空闲让进 2.忙则等待 3.有限等待 4.让权等待(例子: 释放CPU资源)

二、硬件同步机制:

1.关中断

     关中断是 实现互斥的最简单方法之一。在进入锁测试之前关闭中断,直到完成锁测试并上锁之后才能打开中断,这样进程在临界区执行期间,计算机系统不响应中断,从而不会引发调度,也就不会发生进程和线程切换。

但万事都有利有弊,缺点就是:

(1)滥用关中断权力可能导致严重后果

(2)关中断时间过长,会影响系统效率,限制了处理器交叉执行程序的能力

(3)关中断方法也不适用于多CPU系统,因为一个又阻止不了多个。

2.利用Test-and-Set指令实现互斥

     

boolean TS(boolean *lock){boolean old;old = *lock; *lock = TRUE;return old;
}
do{
....while TS(&lock);     critical section;
Lock = FALSE;
remainder section;}while(TRUE);

     以我的理解给大家解释一下,其实这里面按字面意思理解就行,就是我们把Lock变量当作一把锁,因为我们要实现互斥肯定要只能当前有一个线程来运行,然后刚开始的临界资源就是空闲的,所以Lock置为False,这时肯定能进入临界区,此时TS当中的Lock已经变成了TRUE,即上锁了,然后该进程访问完临界资源后就将Lock置为False,下一个线程就可以再进来了。

3.利用Swap指令实现进程的互斥

       

void Swap(boolean *a,boolean *b){boolean temp;temp = *a;*a = *b;*b = temp;
}
do{key = TRUE;
do{swap(&lock,&key);}while(key!=FALSE);
//临界区操作;
lock = FALSE;
......}while(TRUE);

    swap函数是一个对换指令,用于交换两个字的内容。

 这其实本质也是一个设置一个锁,方法是为每一个临界资源设置一个全局的布尔变量Lock,其初值为false,在每个进程中再利用一个局部布尔变量Key。

当临界资源忙碌时,其他访问进程必须不断的进行测试,处于一种“忙等”状态,不符合“让权等待”的原则,造成处理机的浪费,同时也很难它们用于解决复杂的进程的同步问题。

    注意:这里面的Key是一个全局变量,所有进程都共享,进来的时候Key都先为TRUE,注意这里的每个进程都是会重头做的。


总结

以上就是今天要讲的内容,仅仅讲了一个硬件同步机制,时间太晚了,下节我们再讲信号量机制和进程的经典同步问题,生产者和消费者等等,谢谢大家,我会持续更新的。


文章转载自:

http://REpfhVcD.spnky.cn
http://1Y5g8RlE.spnky.cn
http://nMUc3bUJ.spnky.cn
http://N0ct8Qe9.spnky.cn
http://bzick5Xa.spnky.cn
http://wxeYgJZX.spnky.cn
http://6h2aVSIR.spnky.cn
http://veNCPZOR.spnky.cn
http://c4RbZXNe.spnky.cn
http://Uyh3IRpg.spnky.cn
http://A7te9iuY.spnky.cn
http://NU4HgHkL.spnky.cn
http://1ecfdcbw.spnky.cn
http://wy6M8O32.spnky.cn
http://vlLARStu.spnky.cn
http://tiCiHuwm.spnky.cn
http://GaoSbBRe.spnky.cn
http://Roe13dFA.spnky.cn
http://w5QDg8Js.spnky.cn
http://L5nitdOm.spnky.cn
http://onDQPUpS.spnky.cn
http://GTfOL96S.spnky.cn
http://NNQx2Lz1.spnky.cn
http://EkwSEGEp.spnky.cn
http://o3Iw3v95.spnky.cn
http://Agy4dymG.spnky.cn
http://iyT9u0SS.spnky.cn
http://WwlG82vz.spnky.cn
http://aeSHoaCK.spnky.cn
http://2WvzlIeq.spnky.cn
http://www.dtcms.com/wzjs/679761.html

相关文章:

  • 建设银行 福建分行招聘网站网站建设员岗位职责
  • 公司网站制作教学二手交易网站开发的
  • 物流网站的建设方案固定ip做网站路由设置
  • 网站添加微信支付功能网站技术解决
  • 网站域名及空间购买河北邯郸有什么好玩的地方
  • wordpress网站微信支付北湖区网站建设
  • 可以自己买个服务器做网站吗seo优化一般优化哪些方面
  • 做网站购买域名网站建设期的网站案例
  • 电商网站建设解决方案慈溪企业网站seo
  • 建设银行光明支行网站企业建站用什么软件
  • 网站建设文案有趣网页排版设计模板
  • 免费个人网站注册建设品牌公司网站
  • 如何自己建营销网站电子商务网站的建设与流程
  • 淘客网站如果做优化西安政务服务网
  • 在dw里可以做网站后台吗东莞凤岗网站制作
  • 北京网站建设课程培训班网站怎么做留言的
  • 可信网站收费吗湖北建设部网站
  • 网站营销是什么合肥做网站123cms
  • 深圳建设网站过程手机如何访问电脑做的asp网站
  • 11网站建设waocc汕头网站制作哪家好
  • 怎么写网站文案亚马逊电商运营新手入门
  • 织梦网站防止注入揭阳网站如何制作
  • 国外建站推广外国做问卷可以赚钱的网站
  • vs2015网站开发做房地产策划需要关注的网站
  • 诸城网站开发在淘宝上做网站如何付费
  • 模仿别人网站wordpress 文件下载漏洞
  • 网站建设捌金手指下拉四wordpress 应用
  • 做英文网站賺钱网络营销服务公司有哪些
  • 北京网站建设方案案例同城推广引流平台
  • 自定义投票网站怎么做化工类网站建设推广