linux设备驱动程序之字符设备驱动.docVIP

  • 5
  • 0
  • 约1.68万字
  • 约 19页
  • 2017-02-07 发布于重庆
  • 举报
linux设备驱动程序之字符设备驱动

linux设备驱动程序之字符设备驱动 一、linux系统将设备分为3类:字符设备、块设备、网络设备 字符设备:是指只能一个字节一个字节读写的设备,不能随机读取设备内存中的某一数据,读取数据需要按照先后数据。字符设备是面向流的设备,常见的符设备有鼠标、键盘、串口、LED设备等。字符设备的上层没有文件系统,其中file_oprations是字符设备驱动的核心。 2、块设备:是指可以从设备的任意位置读取一定长度数据的设备。块设备包括硬盘、磁盘、U盘和SD卡等。块设备的上层有磁盘文件系统(如ext2、jffs2、fat等),这些文件系统对实现对VFS的file_oprations的成员函数,块设备驱动层看不到file_oprations的存在,磁盘文件系统和设备驱动会将对磁盘上的文件的访问最终转换为对磁盘上柱面和扇区的访问。 每一个字符设备或块设备都在/dev目录下对应一个设备文件(或称设备节点)。Linux用户程序通过设备文件来使用驱动程序操作字符设备或块设备。 字符设备驱动程序基础: 1、主设备号和次设备号(二者一起为设备号):   一个字符设备或块设备都有一个主设备号和一个次设备号。主设备号是与驱动对应的概念,用来反映设备类型,同一类设备一般使用相同的主设备号(也不排除在同一主设备号下包含一定差异的设备,因为同一驱动可以支持多个同类设备)。次设备号用来区分同类型的设备,用来描

文档评论(0)

1亿VIP精品文档

相关文档