信息量机制问题

信息量机制
1:进程互斥
2:进程同步
3:前驱
信号量是一个变量,用于记录资源的数量。
在进程访问临界区这个过程中,有三大管家:
一个是处理机管家,为进程服务,使得进程能够进行;
一个是wait原语和signal原语,简称pv操作,他俩是一对管家,当进程想要使用资源时,wait原语申请资源,用于为进程申请资源和释放资源,同时进行关开中断操作和对信号量操作;
一个是block原语,当wait原语管家为进程申请不到资源时,他会带进程排队去,进入阻塞队列。
一·进程互斥
进程访问临界区这一操作只能一个进程访问,别的进程想要访问,必须要等里面的进程访问完之后,才能访问,也就是说一山不容二虎,访问的时候,只能一个一个来。
也就是说完成一件事,必须单独一个进程去进行。
为了保护进程在完成的时候,不被打扰中断其工作,wait和signal管家发挥作用,在获得资源之前,wait管家发挥作用,关闭中断,并且向系统申请资源,在完成工作之后,signal原语发挥作用,开启中断,并且释放资源。
二·进程同步
意思是完成某一件事,需要两个进程共同完成,且两个进程有先后顺序,不能插队,并且当前一个进程的工作完成之后,后面的进程必须跟上去,不可以让其余的进程工作。
当进程并发执行的时候,由于进程具有异步性,会使得不老实,不知道哪个进程会进去工作,工作的步骤随意变换。
所以为了使进程能够按照我们规划的步骤来进行工作,不得已为进程使用pv操作。
若A进程需要先执行两段代码,B进程在A进程执行完两端代码之后,执行自己的的两段代码。
则A进程在执行完两段代码之后,需要执行v操作,使用signal管家,释放资源,开启中断,使得进程可以被切换,切换到B进程,防止继续执行A进程剩余的代码。同时设置同步信号量,初始值为0,执行v操作,使信号量代表的资源+1,释放一个资源。
A进程执行两端代码之前,为了保证A进程两端代码可以优先执行,不可以执行任何pv操作。
B进程在执行自己的代码之前,需要执行p操作,向系统申请资源,关闭中断,同时使信号量减一,申请一个资源。
执行p操作一方面是为了阻止B进程优先执行代码,也是为了A进程执行完之后,B进程能够立刻跟上去。关闭中断,防止B进程被切换。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值