摘要: 这些宏包括 __init、__initdata、__initfunc()、asmlinkage、ENTRY()、FASTCALL()等等。它们的定义主要位于 Include\linux\linkage.h和 include\asm-i386\Init.h以及其他一些.h文件中。 1) __init位置:include\asm-i386\Init.h 定义:#define __init __attribute__ ((__section__ (".text.init"))) 注释:这个标志符和函数声明放在一起,表示gcc编译器在编译的时候需要把这个函数放.text.init 阅读全文
posted @ 2013-02-27 18:49 wust.zjf 阅读(1052) 评论(0) 推荐(0) 编辑
摘要: 系统中能够随机(不需要按顺序)访问固定大小数据片(chunks)的设备被称作块设备,这些数据片就称作块。最常见的块设备是硬盘,除此以外,还 有软盘驱动器、CD-ROM驱动器和闪存等等许多其他块设备。注意,它们都是以安装文件系统的方式使用的——这也是块设备的一般访问方式。 另一种基本的设备类型是字符设备。字符设备按照字符流的方式被有序访问,像串口和键盘就都属于字符设备。如果一个硬件设备是以字符流的方式被访问的话,那就应该将它归于字符设备;反过来,如果一个设备是随机(无序的)访问的,那么它就属于块设备。 这两种类型的设备的根本区别在于它们是否可以被随机访问——换句话说就是,能否在访问设备时随... 阅读全文
posted @ 2013-02-27 18:46 wust.zjf 阅读(279) 评论(0) 推荐(0) 编辑