概述linux操作系统地驱动框架及驱动加载

概述linux操作系统地驱动框架及驱动加载

ID:28714879

大小:43.50 KB

页数:8页

时间:2018-12-13

概述linux操作系统地驱动框架及驱动加载_第1页
概述linux操作系统地驱动框架及驱动加载_第2页
概述linux操作系统地驱动框架及驱动加载_第3页
概述linux操作系统地驱动框架及驱动加载_第4页
概述linux操作系统地驱动框架及驱动加载_第5页
资源描述:

《概述linux操作系统地驱动框架及驱动加载》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、实用标准文案本讲主要概述Linux设备驱动框架、驱动程序的配置文件及常用的加载驱动程序的方法;并且介绍RedHatLinux安装程序是如何加载驱动的,通过了解这个过程,我们可以自己将驱动程序放到引导盘中;安装完系统后,使用kudzu自动配置硬件程序。  Linux设备驱动概述  1.内核和驱动模块  操作系统是通过各种驱动程序来驾驭硬件设备,它为用户屏蔽了各种各样的设备,驱动硬件是操作系统最基本的功能,并且提供统一的操作方式。正如我们查看屏幕上的文档时,不用去管到底使用nVIDIA芯片,还是ATI芯片的显示卡,只需知道输入命令

2、后,需要的文字就显示在屏幕上。硬件驱动程序是操作系统最基本的组成部分,在Linux内核源程序中也占有较高的比例。  Linux内核中采用可加载的模块化设计(LKMs,LoadableKernelModules),一般情况下编译的Linux内核是支持可插入式模块的,也就是将最基本的核心代码编译在内核中,其它的代码可以选择是在内核中,或者编译为内核的模块文件。  如果需要某种功能,比如需要访问一个NTFS分区,就加载相应的NTFS模块。这种设计可以使内核文件不至于太大,但是又可以支持很多的功能,必要时动态地加载。这是一种跟微内核设

3、计不太一样,但却是切实可行的内核设计方案。  我们常见的驱动程序就是作为内核模块动态加载的,比如声卡驱动和网卡驱动等,而Linux最基础的驱动,如CPU、PCI总线、TCP/IP协议、APM(高级电源管理)、VFS等驱动程序则编译在内核文件中。有时也把内核模块就叫做驱动程序,只不过驱动的内容不一定是硬件罢了,比如ext3文件系统的驱动。  理解这一点很重要。因此,加载驱动时就是加载内核模块。下面来看一下有关模块的命令,在加载驱动程序要用到它们:lsmod、modprob、insmod、rmmod、modinfo。  lsmod

4、列出当前系统中加载的模块,例如:#lsmod(与cat/proc/modules得出的内容是一致的)ModuleSizeUsedbyNottaintedradeon1153641agpgart566643nls_iso8859-135161(autoclean)loop121203(autoclean)smbfs445282精彩文档实用标准文案(autoclean)parport_pc190761(autoclean)lp90280(autoclean)parport370881(autoclean)[parport_pclp

5、]autofs133640(autoclean)(unused)ds87042yenta_socket137602pcmcia_core571840[dsyenta_socket]tg3551121sg369400(autoclean)sr_mod181040(autoclean)microcode47240(autoclean)ide-scsi122080scsi_mod1089683[sgsr_modide-scsi]ide-cd356800cdrom336960[sr_modide-cd]nls_cp9361249881

6、(autoclean)nls_cp43751481(autoclean)vfat130041(autoclean)fat388720(autoclean)[vfat]keybdev29760(unused)mousedev55241hid222120(unused)input58880[keybdevmousedevhid]ehci-hcd201040(unused)usb-uhci264120(unused)usbcore793921[hidehci-hcdusb-uhci]ext3915922jbd523362[ext3]

7、  上面显示了当前系统中加载的模块,左边数第一列是模块名,第二列是该模块大小,第三列则是该模块使用的数量。  如果后面为unused,则表示该模块当前没在使用。如果后面有autoclean,则该模块可以被rmmod-a命令自动清洗。rmmod-a命令会将目前有autoclean的模块卸载,如果这时候某个模块未被使用,则将该模块标记为autoclean。如果在行尾的[]括号内有模块名称,则括号内的模块就依赖于该模块。例如:cdrom341440[sr_modide-cd]  其中ide-cd及sr_mod模块就依赖于cdrom模

8、块。  系统的模块文件保存在/lib/modules/2.4.XXX/kerne目录中,根据分类分别在fs、net等子目录中,他们的互相依存关系则保存在/lib/modules/2.4.XXX/modules.dep文件中。  需要注意,该文件不仅写入了模块的依存关系,同时内

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。