自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 由preempt_disable的实现想到的

  #define preempt_disable() /  do { /      inc_preempt_count(); /      barrier(); /  } while (0)  实现很简单,就两行代码,第一行把进程描述符中的preempt_count加1,第二行加一个优化屏障。展开inc_preempt_count()后就是:  current->thread_info->preempt_count++;  barrier();  看到这个实现的时候,觉的很奇怪,用个优

2010-12-19 23:40:00 4432 2

原创 RCU实现原理

<br />  RCU是linux 2.6 kernel实现的一种高效的同步机制,适用于读者多,写者少的情况。它的适用场合和读写锁是很相似的。但是和读写锁来比,它可以提高了读者的效率。因为使用RCU的读者在访问共享数据的时候不需要加锁,而使用读写锁的读者则需要加读锁,在多CPU环境中会有高速缓存行失效的问题,所以效率稍低。<br />  但是没有天下没有免费的午餐。RCU有它自身的缺点和使用限制。首当其冲的缺点就是写者的效率问题,RCU要求写者在更新共享数据的时候,先拷贝一份,修改,然后在更新,写者做了太多

2010-11-17 21:56:00 2182

原创 linux设备文件实现

<br />  Linux将一些硬件设备抽象成文件,使得程序员可以用文件系统的接口对设备进行访问,这是unix类系统的一大特色。那么这个抽象是怎么实现的呢?这首先要归功于VFS,它将文件的概念抽象提升成一种可以进行输入输出操作的对象。这样它就不仅仅能表示磁盘上的普通文件,也可以表示某种设备。设备文件主要有字符设备文件和块设备文件两种。网络设备由于其自身的特殊性,不能用设备文件来表示。那么具体VFS是怎么将某个设备文件和某个设备联系起来的呢?这要分两个部分进行说明,一是设备文件的创建,一是设备文件的访问。下面

2010-10-30 16:27:00 1680

原创 SPI master驱动程序概述

<br />  SPI驱动程序包括两部分,一部分是SPI设备的驱动程序,另一部分是SPI Master的驱动程序。SPI设备驱动程序架设在SPI Master驱动程序的上层,它通过SPI Master驱动提供的接口来对SPI设备进行操作。SPI设备一般都是EEPROM或者FLASH等比较简单的设备,其设备驱动程序比较简单。本文主要描述SPI Master的驱动程序。<br />  首先描述一下SPI Master和SPI设备之间的硬件连线,有CLK,MOSI,MISO,片选等。CLK是时钟信号。MOSI即M

2010-08-10 00:24:00 1774 6

原创 如何掌握一种体系结构

<br />  对于一种体系,各种文档很多,一个一个都看过来要花很多的精力,而且效果还不一定好,很容易出现前面看后面忘的状况。我总结出现这个问题的主要原因就是太快进入细节而没有一个整体框架。太多的细节会给人一种很累的感觉,有了整体框架在向下扩展到细节会轻松很多。而且有了整体框架后,很多细节根本都不需要关注,用到的时候查阅手册就可以了。<br />  下面我就讨论一下体系结构的整体框架的各个方面,对于每个方面都提出一些问题,解决了这些问题就基本上掌握了体系结构的整体框架。带这问题去读文档,效率会高很多。<br

2010-07-18 16:16:00 738

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除