Linux块设备驱动(2) 块驱动中相关相关模块模板
1.块设备驱动的模块加载与卸载
1)块设备驱动的模块加载完成的工作如下:
Ø 分配,初始化请求队列,绑定请求队列和请求函数
Ø 分配,初始化gendisk,给gendisk的major,fops,queue等成员赋值,最后添加gendisk.
Ø 注册块设备驱动.
代码1:使用blk_alloc_queue函数完成块设备驱动的模块加载模板
static int __init xxx_init(void){
//分配gendisk
xxx_disks = alloc_disk(1);
if(!xxx_disks){
goto out;
}
//块设备驱动注册
if(register_blkdev(xxx_MAJOR, "xxx"){
err = -EIO;
goto out;
}
//"请求队列"分配
xxx_queue = blk_alloc_queue(GFP_KERNEL);
if(!xxx_queue){
goto out_queue;
}
blk_queue_make_request(xxx_queue, &xxx_make_request);//绑定"制造请求"函数
blk_queue_hardsect_size(xxx_queue,xxx_blocksize);//告知内核硬件扇区尺寸
//gendisk初始化
xxx_disks->major = xxx_MAJOR;
xxx_disks->first_minor = 0
相关文档:
1、查看telent是否安装:rpm -q
telnet
[root@localhost root]#rpm -qa Linux telnet
Linux telnet-0.17-25
//Linux&n ......
1.变更用户: su root 或 su - 注意(若只用su,则只换用户,不换shell)。
2.创建文件夹: mkdir -m777 tool 创建too并设置权限 mkdir -p tool2/tool3 连级创建文件夹。
3.删除文件或文件夹: rm -r tool2 递归删除,连同子目录一起删除。 rm -fr 不用提示,直接强制递归删除。
4.移动目录: mv -iv ......
USB是大家常见的,设备总线。 这个USB分为两个部分:主机,设备。 他是一个树形的关系: 主机
设备 设备 设备 主机里装的是,主机控制器,设备中装的是设备控制器 Host Controller ......
从按下PC电源,到出现熟悉的bash提示符"$"或进入漂亮的KDE/GNOME桌面,这是我们每天开机必经的过程。那么,在这短短几十秒内,Linux是怎样启动的呢?本文介绍Linux的启动过程。
平台:PC机, Ubuntu 5.10
基础知识
BIOS (Basic I/O System,基本输入/输出系统)
& ......