Board logo

标题: linux下的设备驱动程序以及设备是什么? [打印本页]

作者: cuicaifeng    时间: 2010-12-17 14:54     标题: linux下的设备驱动程序以及设备是什么?


作者: 我天下无双    时间: 2010-12-17 14:55

在驱动程序中,当多个线程同时访问相同的资源时(驱动程序中的全局变量是一种典型的共享资源),可能会引发"竞态",因此我们必须对共享资源进行并发控制。Linux内核中解决并发控制的最常用方法是自旋锁与信号量(绝大多数时候作为互斥锁使用)。
  自旋锁与信号量"类似而不类",类似说的是它们功能上的相似性,"不类"指代它们在本质和实现机理上完全不一样,不属于一类。
  自旋锁不会引起调用者睡眠,如果自旋锁已经被别的执行单元保持,调用者就一直循环查看是否该自旋锁的保持者已经释放了锁,"自旋"就是"在原地打转"。而信号量则引起调用者睡眠,它把进程从运行队列上拖出去,除非获得锁。这就是它们的"不类"。
  但是,无论是信号量,还是自旋锁,在任何时刻,最多只能有一个保持者,即在任何时刻最多只能有一个执行单元获得锁。这就是它们的"类似"。
   鉴于自旋锁与信号量的上述特点,一般而言,自旋锁适合于保持时间非常短的情况,它可以在任何上下文使用;信号量适合于保持时间较长的情况,会只能在进程 上下文使用。如果被保护的共享资源只在进程上下文访问,则可以以信号量来保护该共享资源,如果对共享资源的访问时间非常短,自旋锁也是好的选择。但是,如 果被保护的共享资源需要在中断上下文访问(包括底半部即中断处理句柄和顶半部即软中断),就必须使用自旋锁。21,SPI 总线
作者: yima001    时间: 2012-10-16 18:53

  这颗杏子树苗旋转筛是我从亲戚家要来的,也不知道是什么品种,先种下来再说。杏树的生长期比较慢,直到我高中的时候,才听家里人说,它开过花,结过几个果实。可是,我每次回家都不是时候,从来都没有尝过它的味道。直到参加工作后,有一次父亲生日时回家超声波震动筛父亲的生日在农历四月间,正是杏桃成熟时。那是我第一次品尝它的味道,酸酸的,甜甜的。
  相对来说摇摆筛吃樱桃和李子机会比吃杏子多得多。樱桃在劳动节前后成熟,而李子在暑假里。母亲说,每次吃这些水果的时候,都会想起我,想起我在另外一个城市里,却很少能吃到家乡的水果。母亲说这话的时候,眼睛总是红红的,中国有句俗话叫做“前人栽树,后人乘凉”。许多时候,当我们亲手种下的劳动果实被更多人分享时,那才是最快乐的http://www.iwinscreen.com/
作者: 冰____    时间: 2012-10-17 09:46

PCB抄板、PCB设计、芯片解密、样机制作-------www.pcbwap.com
作者: woshishuiya    时间: 2012-11-3 20:55

帮你顶上去!!!!!
作者: icchaoshi    时间: 2012-11-16 14:22

来看看,不是太懂专业知识




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0