设备驱动程序的分类

来源:互联网 发布:中国进出口最新数据 编辑:程序博客网 时间:2024/04/30 09:15

在Linux操作系统中,设备驱动程序对各种设备提供了一致的访问接口,用户程序可以像对普通文件一样对设备文件进行打开和读写操作。Linux包含如下3类设备驱动程序:

(1)字符设备

Linux下的字符设备是指发送和接收数据以字符的形式进行的设备。字符设备接口支持面向字符的I/O操作,不经过系统的快速缓存,所以它们负责管理自己的缓冲区结构。字符设备接口只支持顺序存取的有限长度的I/O操作,典型的字符设备包括串行接口、LED灯、键盘等设备。

(2)块设备

块设备是以块的方式进行I/O操作的设备。块设备利用一块系统内存作缓冲区,如果用户进程对设备的请求能满足用户的要求,就返回请求的数据,否则调用请求函数来进行实际的I/O操作。块设备主要是针对磁盘等慢速设备设计的,以免耗费过多的CPU时间来等待响应。块设备支持随机存取功能,几乎可以支持任意位置和任意长度的I/O请求。典型的块设备包括硬盘、CF卡、SD卡等存储设备。

(3)网络设备

Linux操作系统中的网络设备是一类特殊的设备。Linux的网络子系统主要基于BSD UNIX的socket机制,在网络子系统和驱动程序之间定义有专门的数据结构(sk_buff)进行数据的传递。Linux操作系统支持对发送数据和接收数据的缓存,提供流量控制机制,提供对多种网络协议的支持。

Linux系统为每个设备分配了一个主设备号与次设备号,主设备号唯一地标识了设备类型,次设备号标识具体设备的实例。由同一个设备驱动程序控制的所有设备具有相同的主设备号,从设备号则被用来区分具有相同主设备号的不同设备。

每一个字符设备或块设备在文件系统中都有一个特殊设备文件与之对应,这个文件就是设备结点。网络设备接口不保存在Linux的文件系统中,应用层可以通过套接字访问网络设备。字符设备和块设备的设备结点在/dev目录下面:

  1. [root@/dev]#ls -l |more  
  2. crw-rw----    1 root     root       5,   1 Dec 31 19:00 console  
  3. crw-rw----    1 root     root      13,  63 Dec 31 19:00 mice  
  4. crw-rw----    1 root     root      90,   0 Dec 31 19:00 mtd0  
  5. crw-rw----    1 root     root      90,   1 Dec 31 19:00 mtd0ro  
  6. crw-rw----    1 root     root      90,   2 Dec 31 19:00 mtd1  
  7. crw-rw----    1 root     root      90,   3 Dec 31 19:00 mtd1ro  
  8. crw-rw----    1 root     root      90,   4 Dec 31 19:00 mtd2  
  9. crw-rw----    1 root     root      90,   5 Dec 31 19:00 mtd2ro  
  10. crw-rw----    1 root     root      90,   6 Dec 31 19:00 mtd3  
  11. crw-rw----    1 root     root      90,   7 Dec 31 19:00 mtd3ro  
  12. brw-rw----    1 root     root      31,   0 Dec 31 19:00 mtdblock0  
  13. brw-rw----    1 root     root      31,   1 Dec 31 19:00 mtdblock1  
  14. brw-rw----    1 root     root      31,   2 Dec 31 19:00 mtdblock2  
  15. brw-rw----    1 root     root      31,   3 Dec 31 19:00 mtdblock3  
  16. brw-rw----    1 root     root      43,   0 Dec 31 19:00 nbd0  
  17. brw-rw----    1 root     root      43,   1 Dec 31 19:00 nbd1  

其中每行第一个字母为c表示字符设备,为b表示块设备。上面第4列就是设备的主设备号,第5列为设备的次设备号,最后一列为设备结点的名称。
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 闭经2个月了怎么办 闭经怎么办我才19岁 闭经3 4个月怎么办 月经来了十多天了还不走怎么办 3个月没有来月经怎么办 48岁突然没月经怎么办 月经来了疼的厉害怎么办 月经肚子疼怎么办快速止疼 来月经疼的厉害怎么办 22岁闭经6个月怎么办 月经推迟16天了怎么办 月经半年没来了怎么办 月经推迟两个月了还不来怎么办 四个月月经不来怎么办 快两个月没来月经了怎么办 月经停了两个月怎么办 别人诬告我我该怎么办 有人造谣我我该怎么办 宝宝晚上不睡觉哭闹怎么办 婴儿晚上不睡觉哭闹怎么办 2月宝宝排便困难怎么办 3岁宝宝老是哭闹怎么办 2岁了囟门闭合晚怎么办 宝宝卤门闭合慢怎么办 手经常碰水脱皮怎么办 迅雷文件已移除怎么办 手机不读sd卡怎么办 g买卖卖错账号怎么办 森林被野人拖走怎么办 我的世界没有羊怎么办 黑魂3杀死铁匠后怎么办 幻境7下8走错了怎么办 换了手机号微信怎么办 微信游戏没了怎么办 找sf网站被劫持怎么办 护发精油抹多了怎么办 用了护发素洗头怎么办 电脑c盘空间不足怎么办 把水蛭吃肚子里怎么办 不小心喝到蚂蟥怎么办 水蛭喝进肚子里怎么办