操作系统 进程互斥--软件方法实现

进程互斥–软件方法实现

下面来介绍一下进程的概念。动态分配共享资源给正在执行的程序。一般来说每个软件都有自己的进程。例如qq,浏览器,word等。那么当这些进程共享资源时,就有可能产生互斥。

先来说下软件方式解决资源互斥。

所谓软件方法实现。就是自己编写代码来实现对进程的控制。

我们先要明白进程的临界区。访问临界资源的代码成为临界区。

比如下面的代码。

int flag[2]={0,0};            //代表两个进程是否在临界区中执行。
...
p1
{
    while(1)
    {
        flag[0]=1;turn=2;
        while(flag[1]&&turn==2)
        {
            no-ap;                //flag[1]其他进程在临界区中,则p1进程空操作
        }
        cirtical section          //进入临界区
        flag[0]=0;
    }
}

但是这种算法当p1进程需要申请临界区资源时,并不会释放cpu资源。还是不太妥当。

所以一般是不用软件方式实现进程控制

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值