自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (2)
  • 收藏
  • 关注

转载 关于模块的分工

最近工作有点感触, 关于如何分工的。我觉得所谓设计和实现是无论如何都很难分拆出去的。就是说你不实现你设想的结构,永远都很难知道哪里有问题;即使没有问题,换一个人来实现你想的东西,也无法把设计意图全部传达过去。如果可以做到,那么耗费的时间和精力足够你自己来实现了。这也是为什么我之前说,软件项目需要很多人一起完成可能是一个骗局 。但毕竟,一个人精力有限,项目时间也有限。分工是无奈之举。可这件事

2012-01-11 18:51:37 924

原创 一个好用的grep插件

发现了一个新的grep的插件,EasyGrep,默认使用vimgrep,可以在windows下完美使用。可以方便的替换多个文件里的同一个词,方便的查找调用。具体介绍,可以看下面vim官网链接:http://www.vim.org/scripts/script.php?script_id=2438

2012-01-09 23:58:24 993

原创 硬中断 和软中断以及时钟中断

<br />软中断是中断处理的下半部。从其需求上就是不需要像硬中断的响应那么快。<br />查了些书,并未有详细描述硬中断是在何时执行,我觉得应该是在每个时钟信号结束之后吧。<br />而软中断只有在几个特定的时刻被激活:<br />1 do_IRQ()完成了中断处理的时候。<br />2 时钟中断到来后会执行软中断。<br />这也就是为什么软中断没有硬中断的实时性强的缘故把。<br /> <br />而内核的动态定时器就是由软中断来处理的,本地时钟中断中不会处理内核的定时器操作。而多核下,cpu本地的a

2010-06-20 19:38:00 2988

原创 内核线程的使用

首先介绍几个创建线程相关的函数:  struct task_struct *kthread_create(int (*threadfn)(void *data), void *data, const char namefmt[],

2010-05-27 11:09:00 901

原创 linux内核编译中的i2o选项

The Intelligent Input/Output (I2O) architecture allows hardware drivers to be split into two parts: an operating system specific module called the OSM and an hardware specific module called the HDM. T

2010-05-24 21:43:00 719

转载 raid10 raid01 raid5详解

RAID基础,RAID10与RAID01比较,RAID10与RAID5比较文档中,RAID10与RAID5抄袭了piner的文章,敬请谅解。文档内容3部分:1、基本的RAID级别介绍2、RAID10和RAID01的比较3、RAID10和RAID5的比较RAID10和RAID01的比较 RAID10是先做镜象,然后再做条带。 RAID01则是先做条带,然后再做镜象。比如以6个盘为例,RA

2010-05-19 10:22:00 1674 1

原创 gtags在vim中的应用

尽管ctags对于c语言的编写已经帮助很大,但在分析大型程序时,使用gtags则能够更准确的定位函数。gtags的功能就不多说了,请参看:http://www.gnu.org/software/global/我用的是windows下的gvim,下面具体讲一下如何在vim中运用gtags。首先在vimrc中添加一个映射来生成gtags的文件:map   :exec "!gtags

2009-12-19 14:34:00 7877

原创 lun与volume的关系(摘自wiki)

To provide a practical example, a typical disk array has multiple physical SCSI ports, each with one SCSI target address assigned. Then the disk array is formatted as a RAID and then this RAID is

2009-09-22 10:32:00 3408

转载 qnx简介

黄  峰    单家方    匡光力(中国科学院等离子体物理研究所10室  230031)摘要: 本文介绍QNX6.20系统下设备资源管理器的运行机理和体系系统。结合PXI总线设备的体系结构,我们采用三级分离的方式开发PXI多功能采集卡的驱动程序。文章具体

2009-09-13 09:00:00 4889 1

原创 装了win7的体验

前几天给自己的x61装了win7现在主要有几个感受:1 散热量比windows大了(都是在性能最优的情况下)2 内存还是会耗多了,啥都不干500M。现在2g的内存只能说勉强应付工作(vmware+doc+vim+firefox+pdf)3 杀毒软件从mcafee换成了nod32,因为mcafee无法正确安装4 小红帽不好用了,装不上联想提供的ultranav for win7

2009-08-22 21:08:00 651

原创 vim配置文件

set nocompatiblesource $VIMRUNTIME/vimrc_example.vimsource $VIMRUNTIME/mswin.vimbehave mswinset diffexpr=MyDiff()function MyDiff()  let opt = -a --binary   if &diffopt =~ icase | let opt = opt .

2009-08-11 09:35:00 638

原创 c.vim

  | 首页 | vim插件使用(二) -- OmniCppComplete  >>2009-02-28vim插件使用(一) -- c.vim - [linux]版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://vitaminj.blogbus.com/logs/35851648.html

2009-07-31 09:41:00 1793

原创 windows下gvim+ctags+cscope+taglist

下载-----------------------------------下载cscope15.6-win32.zip安装 -----------------------------------安装很简单,只要将cscope的可执行文件放到PATH环境变量包含的目录中即可。(1) 推荐Windows用户将上面下载到的cscope.exe与gvim.exe放在同一个目

2009-07-30 11:08:00 11671 1

原创 cscope配置

""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" CSCOPE settings for vim """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

2009-07-30 11:02:00 1062

转载 kzalloc函数

这个函数就是原来的两个函数的整合,即原来我们每次申请内存的时候都会这么做,先是用kmalloc()申请空间,然后用memset()来初始化,而现在省事了,一步到位,直接调用kzalloc(),效果等同于原来那两个函数,所有申请的元素都被初始化为0.其实对写驱动的来说

2009-07-29 17:10:00 2855

原创 buffer_head

buffer_head是disc cache中每个片段的头部。通过buffer_head可以找到disc中对应的数据的位置。要写盘时,通过buffer_head为bio结构体赋值,以保证io操作能正确执行。

2009-07-28 15:57:00 761

转载 EXPORT_SYMBOL标签

一个模块mod1中定义一个函数func1;在另外一个模块mod2中定义一个函数func2,func2调用func1。在模块mod1中,EXPORT_SYMBOL(func1);在模块mod2中,extern int func1();就可以在mod2中调用func1了。参考:http://topic.csdn.net/u/20070910/09/ee2cff13-9179-4

2009-07-27 10:41:00 1278

转载 块设备读写流程

  块设备与字符设备的区别1、  从字面上理解,块设备和字符设备最大的区别在于读写数据的基本单元不同。块设备读写数据的基本单元为块,例如磁盘通常为一个sector,而字符设备的基本单元为字节。所以Linux中块设备驱动往往为磁盘设备的驱动,但是由于磁盘设备的IO性能与CPU相比很差,因此,块设备的数据流往往会引入文件系统的Cache

2009-07-24 15:58:00 2277

原创 并发与竞态

    并发与竞态的产生有两个原因:多线程和临界资源。而linux通过信号量和自旋锁来避免出现竞态。    信号量与自旋锁的原理都来自于PV操作,而其(自旋锁与互斥体)主要区别在于:在拥有信号量时,线程可以进入休眠,而在拥有自旋锁时则不能进入休眠。自旋锁会不停的轮询以获得锁。    将信号量的初始值设为1,则称为互斥体(mutex--mutual exclusion)。    信号量与

2009-07-23 11:13:00 657

原创 Vmalloc与kmalloc的区别

Vmalloc与kmalloc的区别:1)kmalloc分配的物理地址与虚拟地址只有一个PAGE—OFFSET偏移,不需要为地址段修改页表。Vmalloc类函数地址完全虚拟,每次分配都需要对页表进行设置,当然效率低。2)vmalloc使用的正确场合是分配一大块,连续的,只在软件中存在的,用于缓冲的内存区域。不能在微处理器之外使用。3)vmalloc 中调用了 

2009-07-22 17:28:00 1473

原创 ioctl参数命令设置

#define SCULL_IOC_MAGIC k #define SCULL_IOCRESET _IO(SCULL_IOC_MAGIC, 0) #define SCULL_IOCSQUANTUM _IOW(SCULL_IOC_MAGIC, 1, int) #define SCULL_IOCSQSET _IOW(SCULL_IOC_MAGIC, 2, int) #define

2009-07-22 16:59:00 1246

转载 GCC设定include和库路径

一、头文件  gcc 在编译时寻找所需要的头文件 :  ※搜寻会从-I开始  ※然后找gcc的环境变量 C_INCLUDE_PATH,CPLUS_INCLUDE_PATH,OBJC_INCLUDE_PATH(这些变量在windows下对应的是include环境变量)  ※再找内定目录/usr/include

2009-07-21 10:12:00 15967

linux设备驱动程序(第三版)

以 Linux 为代表的自由操作系统的很多优点之一, 是它们的内部是开放给所有人看的. 操作系统, 曾经是一个隐藏的神秘的地方, 它的代码只局限于少数的程序员, 现在已准备好让任何具备必要技能的人来检查, 理解以及修改. Linux 已经帮助使操作系统民主化. Linux 内核保留有大量的复杂的代码, 但是, 那些想要成为内核 hacker 的人需要一个入口点, 这样他们可以进入代码中, 不会被代码的复杂性压倒. 通常, 设备驱动提供了这样的门路.

2009-07-20

空空如也

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

TA关注的人

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