Chinaunix首页 | 论坛 | 博客
  • 博客访问: 67148
  • 博文数量: 17
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 213
  • 用 户 组: 普通用户
  • 注册时间: 2014-12-24 12:38
个人简介

专注的力量很大,它能把一个人的潜力发挥到极致,一旦达到那种状态你就没有了自我的概念,所有的精力集中到了一点。

文章分类
文章存档

2015年(11)

2014年(6)

我的朋友

分类: LINUX

2015-01-25 20:56:49

1.什么是并发和竟态。
并发:多个执行单元同时执行(执行单元:软中断,硬件中断,多进程...)
竟态:并发的多个单元同时访问共享资源引起竞争的状态

2.竟态形成的条件
    1.必须要有并发
    2.共享资源(硬件资源,软件上的全局变量等)
    3.并发要同时访问共享资源

3.互斥访问
    多个执行单元对共享内存进访问的时候,我的作用就是只能够让其中一个执行单元对共享资源的访问,其他的执行单元就会被禁止访问。就好比动物世界里某些的动物的首领一样,只有首领最先能够吃到食物,首领在进食的时候,他的小弟不能同时进食,只有在首领用餐结束的时候在能去进食。

4.临界区
    访问共享资源的代码的区域,所以互斥访问就是对这块临界区的访问!就好比上个例子里面的食物。
    例: static int open_cnt = 1;
            if (--open_cnt != 0)
            {
                    printk ("首领正在进食,还没轮到你呢!\n");
                    open_cnt ++;                //为下一次判断作准备
                    return -EBUSY;             //返回设备忙
            }
    
5.linux内核产生竟态的情形
    1.多CPU
    2.进程之间的抢占
    3.中断和进程
    4.中断和中断          
    优先顺序:硬件中断>软件中断>进程

6.linux内核解决竟态的方法
    1.中断屏蔽
    2.原子操作
    3.自旋锁
    4.信号量
阅读(1748) | 评论(0) | 转发(0) |
0

上一篇:select监听

下一篇:进程和多线程编程

给主人留下些什么吧!~~