字符驱动https://github.com/derekmolloy/exploringBB/blob/master/extras/kernel/ebbchar/ebbchar.c可惜的是函数不完整,只有几个块设备驱动http://blog.csdn.net/fulinus/article/details/8637957网络设备驱动http://blog.chinaunix.net/uid-25885064-id-3077098.htmlMakefil..
分类:
系统相关 时间:
2016-10-30 17:26:43
阅读次数:
188
块设备是通过generic_make_request提交请求给I/O调度层,然后驱动层通过调用blk_init_queue来准备请求,这节来看看怎么样写一个块设备驱动程序。一个块设备的是由一个gendisk结构体来描述,每一个gendisk可以支持多个分区,内核对于块设备的访问,都是基于这个结构体展 ...
分类:
其他好文 时间:
2016-06-18 18:23:19
阅读次数:
124
上回最后面介绍了相关数据结构,下面再详细介绍 块设备对象结构 block_device 内核用结构block_device实例代表一个块设备对象,如:整个硬盘或特定分区。如果该结构代表一个分区,则其成员bd_part指向设备的分区结构。如果该结构代表设备,则其成员bd_disk指向设备的通用硬盘结构 ...
分类:
系统相关 时间:
2016-06-17 17:10:32
阅读次数:
237
块设备驱动注册与注销 块设备驱动中的第1个工作通常是注册它们自己到内核,完成这个任务的函数是 register_blkdev(),其原型为:int register_blkdev(unsigned int major, const char *name); major 参数是块设备要使用的主设备号, ...
分类:
系统相关 时间:
2016-06-17 16:52:26
阅读次数:
234
基本概念 块设备(blockdevice) 是一种具有一定结构的随机存取设备,对这种设备的读写是按块进行的,他使用缓冲区来存放暂时的数据,待条件成熟后,从缓存一次性写入设备或者从设备一次性读到缓冲区。 字符设备(Character device) 是一个顺序的数据流设备,对这种设备的读写是按字符进行 ...
分类:
系统相关 时间:
2016-06-17 16:48:10
阅读次数:
153
1. 块设备概念:块设备是指只能以块为单位进行访问的设备,块的大小一般是512个字节的整数倍。常见的块设备包括硬件,SD卡,光盘等。
2. 块设备驱动的系统架构
2.1 系统架构---VFS
VFS是对各种具体文件系统的一种封装,用户程序访问文件提供统一的接口。
2.2 系统架构---Cache
当用户发起文件访问请求的时候,首先回到Disk Cache中寻址文件...
分类:
其他好文 时间:
2016-06-12 03:25:59
阅读次数:
191
通过generic_make_request提交请求给I/O调度层,这个函数最后调用到q->make_request_fn(q, bio),那么对于这个函数的调用就是I/O调度层的入口点,首先来看看这个make_request_fn在哪被赋于能量的 从上面可以看出,这个函数是设置一些请求队列的参数, ...
分类:
其他好文 时间:
2016-06-10 21:41:46
阅读次数:
321
通过generic_make_request提交请求给I/O调度层,这个函数最后调用到q->make_request_fn(q, bio),那么对于这个函数的调用就是I/O调度层的入口点,首先来看看这个make_request_fn在哪被赋于能量的 从上面可以看出,这个函数是设置一些请求队列的参数, ...
分类:
编程语言 时间:
2016-06-10 20:19:13
阅读次数:
199
转自:http://bbs.chinaunix.net/thread-2017377-1-1.html 本章的目的用尽可能最简单的方法写出一个能用的块设备驱动。所谓的能用,是指我们可以对这个驱动生成的块设备进行mkfs,mount和读写文件。为了尽可能简单,这个驱动的规模不是1000行,也不是500 ...
分类:
其他好文 时间:
2016-05-16 23:21:04
阅读次数:
678
1:下载内核源码包
内核源码树目录:
arch:包含和硬件体系结构相关的代码,每种平台占一个相应的目录。和32位PC相关的代码存放在i386目录下,其中比较重要的包括kernel(内核核心部分)、mm(内存管理)、math-emu(浮点单元仿真)、lib(硬件相关工具函数)、boot(引导程序)、pci(PCI总线)和power(CPU相关状态)。
block:部分块设备驱动程序。
cry...
分类:
其他好文 时间:
2016-04-19 14:23:25
阅读次数:
246