当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > linux设备驱动笔记:字符设备驱动

Unix/Linux
最新FreeBSD7.0下载
FreeBSD7.0编译安装nginx+php+mysql
FreeBSD下如何增加静态路由的方法
如何让FreeBSD上运行Windows软件
UNIX让普通用户具备关机权限的操作方法
FreeBSD6.2上搭建apache2.2.4+mysql5.1.7+php5.2.1+phpmyadmin
“incorrect super block” FreeBSD挂载CDROM时报错误的解决方法
FreeBSD操作系统下修改ip地址及捆定多个IP地址
FreeBSD的一些简单使用技巧
BSD系统让某个用户登陆就关机的办法
如何查看Freebsd 查看硬件信息
在Linux和FreeBSD下如何使用U盘
FreeBSD常用命令和packages使用方法讲解
FreeBSD常用命令--ports使用方法讲解
FreeBSD学习指南
FreeBSD在安装ports时时间过长的解决方法
FreeBSD实现3D桌面
FreeBSD下如何安装ports的方法
FREEBSD让root用户远程ssh登录的方法
FreeBSD6.0中文安装全过程

Unix/Linux 中的 linux设备驱动笔记:字符设备驱动


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 143 ::
收藏到网摘: n/a

       “全局性”是指,如果打开设备多次,所有打开它的文件描述符共享其中的数据。“持久性”是指,如果设备关闭后再次打开,数据不丢失。

       真实的驱动程序利用中断与它们的设备同步

 

主设备号和次设备号

       主设备号标识设备对应的驱动程序;次设备号由内核使用,用于正确确定设备文件所指的设备。我们可以通过次设备号获得一个指向内核设备的直接指针,也可将次设备号当作设备本地数组的索引,不管用哪种方式,除了知道次设备号用来指向驱动程序所实现的设备之外,内核本身基本上不关心关于次设备号的任何其他消息。

       设备编号的内部表达

n         在内核中,dev_t类型(在<linux/types.h>中定义)用来保存设备编号——包括主设备号和次设备号。

n         MAJOR(dev_t dev);      MINOR(dev_t dev)              MKDEV(int major, int minor)