已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Linux设备管理,模块的安装和卸载设备管理,模块的安装和卸载,模块:可以作为独立程序来编译的函数和数据结构的集合。它可以动态的增加内核的功能。装载:静态装载:在内核启动时动态装载:在内核运行时注:当前装载的模块可以在/proc/modeles读出。模块一旦被装入系统,就在内核地址空间中管态下执行。模块中的每个新函数都必须在模块装入内核中时进行注册。模块卸载时,函数必须注销。,模块的装载insmode过程:1、新模块加入到内核空间2、查找导出的内核符号对模块中的外部符号引用进行解析,并确保该模块所引用的其它模块均已装入系统。3、为新模块分配内存空间4、装载新模块,并导出该模块定义的符号。5、调用新模块中的初始化函数,模块的安装和卸载,模块的卸载rmmod过程:注销相应的函数和内核符号取消虚拟地址映像释放模块使用空间说明:如有其它模块引用它,则不能卸载。,模块的安装和卸载,设备管理,系统中的所有硬件设备看起来都和一般的文件一样,它们可以使用处理文件的标准系统调用来打开、关闭和读写。系统中的每一个设备都由一个设备文件来代表,设备文件名由主设备号和从设备号组成。例如,主IDE硬盘的设备文件是/dev/hda。一个设备驱动程序控制的所有设备有一个相同的主设备号,通过不同的从设备号来区分设备和它们的控制器。例如,主IDE硬盘的每一个分区都有一个不同的从设备号,这样主IDE硬盘的第二个分区的设备文件是/dev/hda2。Linux系统使用主设备号和系统中的一些表来将系统调用中使用的设备文件映射到设备驱动程序中。,Linux系统支持三种类型的硬件设备字符设备:字符设备是直接读取的,不必使用缓冲区。块设备:块设备每次只能读取一定大小的块的倍数,通常一块是512或者1024字节。块设备通过缓冲区读写,并且可以随机地读写。块设备可以通过它们的设备文件存取,但通常是通过文件系统存取。只有块设备支持挂接的文件系统。网络设备:网络设备是通过BSD套接字接口存取的。,设备管理,Linux系统支持多种设备,这些设备的驱动程序之间有一些共同的特点:内核代码:设备驱动程序是系统内核的一部分,所以如果驱动程序出现错误的话,将可能严重地破坏整个系统。内核接口:设备驱动程序必须为系统内核或者它们的子系统提供一个标准的接口。内核机制和服务:设备驱动程序利用一些标准的内核服务,例如内存分配等。可装入:大多数的Linux设备驱动程序都可以在需要时装入内核,在不需要时卸载。可设置:Linux系统设备驱动程序可以集成为系统内核的一部分,至于哪一部分需要集成到内核中,可以在系统编译时设置。动态性:当系统启动并且各个设备驱动程序初始化以后,驱动程序将维护其控制的设备。如果设备驱动程序控制的设备并不存在,也并不妨碍系统的运行。,设备管理,设备管理,Linux内核和设备驱动程序之间使用标准的交互接口。设备驱动程序在其初始化时就在系统内核中进行登记。Linux系统使用设备驱动程序的登记表作为内核和驱动程序接口的一部分。这些表中包括指向处理程序的指针和其他信息。,主设备号,chrdevs数组,blkdevs数组,VFSinode,数组元素均为device_struct结构,设备管理,字符设备,name:指向登记的设备驱动程序名fops:指向一个包括各种文件操作过程的地址的数组。此数组中包括的地址指向设备驱动程序中处理文件的操作,例如,打开、读写和关闭子过程。,块设备内核对块设备的操作要使用缓冲区。因此,每一个块设备驱动程序必须既向缓冲区提供接口,也提供一般的文件操作接口。每一个块设备都在blk_dev数组中有一个blk_dev_struct结构的记录。数据结构blk_dev_struct包括:request_queue:指向请求数据结构链表的指针,每一个请求数据结构都代表一个来自缓冲区的请求queue:请求过程的地址data:辅助信息,帮助找到特定设备的请求队列,设备管理,设备管理,每当缓冲区希望和一个在系统中注册的块设备交换数据,它都会在blk_dev_struct中添加一个请求数据结构。每一个请求都有一个指针指向一个或者多个buffer_head数据结构,每一个buffer_head结构都是一个读写数据块的请求。每一个请求结构都在一个静态链表all_requests中。如果请求添加到了一个空的请求链表中,则调用设备驱动程序的请求函数来开始处理请求队列。否则,设备驱动程序只是简单地处理请求队列中的每一个请求。一旦设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国细胞治疗临床试验进展与产业化路径报告
- 2025-2030中国医药智能仓储系统投资回报分析报告
- 2025啤酒购销运输合同
- 酒店反恐知识试题及答案
- 初中化学黄金题库及答案
- 2025年租赁合同样本:店铺商铺出租协议范本
- 2025-2030中国企业邮箱云迁移决策因素与信息安全防护需求报告
- 2025授权股票交易委托合同
- 小学数学教材试题及答案
- 2025秋招:自媒体笔试题及答案
- 阳光房全套施工方案
- 黄桃采购合同
- 铭记历史荣光共盼祖国统一!课件-2025-2026学年高二上学期台湾光复纪念日主题班会
- 海港机械设备维护及安全措施
- 血酮体测定方法
- 2025年全国《滴滴网约车》司机从业资格驾驶证考试题(附答案)
- 2025江苏南京玄武区招聘社区工作者和“两新”组织专职党务工作人员70人考试参考试题及答案解析
- DB32-T 1086-2022 高速公路建设项目档案管理规范
- 2025年兰州铁路局秋招笔试题目
- 职业教育技能大赛指导手册
- 大货车安全事故教育培训课件
评论
0/150
提交评论