电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

设备管理与模块机制(1)VIP免费

设备管理与模块机制(1)_第1页
1/52
设备管理与模块机制(1)_第2页
2/52
设备管理与模块机制(1)_第3页
3/52
1设备管理与模块机制Linux设备分类与识别设备驱动程序设备注册与注销块设备的请求队列模块机制2Linux系统的设备管理在Linux系统中,用户通过文件系统与设备接口。利用标准的系统调用可在设备上进行打开、关闭、读取或写入操作。当用户进程发出I/O请求时,系统将请求处理的权限放在文件系统,文件系统通过驱动程序提供的接口将任务下放到驱动程序,驱动程序根据需要,对设备控制器进行操作,设备控制器再去控制设备本身进行I/O操作。驱动程序向文件系统提供的接口屏蔽了设备的物理特性。但是,在内核中设备文件和普通文件的索引节点有区别,可以确认出是硬件设备还是普通文件,确定要访问相应的设备驱动程序还是文件。3用户进程硬件设备本身设备控制器设备驱动程序文件系统中的设备文件进程请求设备服务的流程4Linux系统的设备管理设备管理具有下列共性:(1)每个设备都对应文件系统中的一个索引节点,都有一个文件名。(2)应用程序通常可以通过系统调用open()打开设备文件,建立起与目标设备的连接。(3)对设备的使用类似于对文件的存取。(4)设备驱动程序都是系统内核的一部分,它们必须为系统内核或者它们的子系统提供一个标准的接口。(5)设备驱动程序利用一些标准的内核服务,如内存分配等5基本概念字符设备、块设备、网络设备字符设备(c):以字节为单位进行数据处理,无需缓冲直接读写设备,通常只允许按顺序访问。如打印机、键盘,终端等。块设备(b):将数据按可寻址的块为单位进行处理,可以随机访问,利用缓冲技术。如磁盘,光盘。只有块设备才能支持可安装文件系统。网络设备:是一类特殊的设备,每块网卡有名字但没有设备文件与之对应。网络设备则可以通过BSD套接字进行访问。查看系统中的设备:/proc/devices。字符设备和块设备的主要区别在对字符设备发出读/写请求时,实际的硬件I/O一般紧接着发生;块设备则利用一块系统内存作缓冲区。6基本概念设备标识:设备类型+主设备号+次设备号主设备号和次设备号由同一个设备驱动程序控制的所有设备具有相同的主设备号。次设备号被用来区分具体设备的实例。/dev/hda代表系统中的第一个IDE硬盘,/dev/hdb代表系统中的第二个IDE硬盘;hda1代表第1个分区,hda2代表第2个分区查看设备及其类型“ls-l/dev”7设备文件Structfile{Structdentry*f_dentry;Structfile_operations*f_op;Unsignedshortf_flags;Undignedshortf_count;Mode_tf_modeLoff_tf_pos;Unsignedlongf_reada,f_ramax,f_reddb,f_rawin;Structfile*f_next,f_prev;Structfown_structf_owner;Intf_error;Unsignedlongf_version;Void*private_data;structinode*f_inode;}8设备文件系统所有的设备文件都存放在dev设备子目录下。每一个设备文件也使用唯一的i节点来标识;在i节点中包含设备的主设备号和次设备号,并且和一组文件操作函数的指针相联系。设备文件i节点不指向文件系统中的任何实际的物理块,不占用数据空间,通过这个i节点可以访问相应的设备驱动,对设备文件的操作就是直接对设备本身进行相应的操作。9设备文件文件描述符fd是系统调用与设备驱动程序的接口。在操作时,内核通过fd找到代表该文件的structfile结构,得到打开文件的i节点。在i节点中检查文件类型,如果是设备(块或字符)文件,则从索引节点中提取主设备号和次设备号,再通过主设备号定位块或者字符设备转换表中相应的设备驱动程序。根据用户发出的系统调用的功能,进一步确定应该调用哪一个操作函数,并确定传递的参数。启动该函数。10两个设备转换表设备转换表是一个数据结构,由它定义了每个设备必须支持的入口点,由fops,bdops描述。这些入口点函数的功能由各个驱动程序具体实现。根据设备的类型和主设备号可以在设备表中找到相应的驱动函数。一旦内核想在某台设备上完成某个动作,它必须首先在转换表中定位该设备的驱动程序,再调用相应的驱动程序函数。设备转换表定义的是抽象接口。每个驱动程序提供了这些功能的特定实现,都在其对应数组中占据一个项。块设备转换表(blk_dev)字符设备转换表(chrdevs)设备文件的的主设备号必...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

设备管理与模块机制(1)

您可能关注的文档

教育教学文库+ 关注
实名认证
内容提供者

本店有大量的教育教学资料,课件

相关文档

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部