本讲主要概述Linux设备驱动框架、驱动程序的配置文件及常用的加载驱动程序的方法;并且介绍Red Hat Linux安装程序是如何加载驱动的,通过了解这个过程, 我们可以自己将驱动程序放到引导盘中;安装完系统后,使用kudzu自动配置硬件程序。
Linux设备驱动概述
1. 内核和驱动模块
操作系统是通过各种驱动程序来驾驭硬件设备,它为用户屏蔽了各种各样的设备,驱动硬件是操作系统最基本的功能,并且提供统一的操作方式。正如我们查看屏幕上的文档时,不用去管到底使用nVIDIA芯片,还是ATI芯片的显示卡,只需知道输入命令后,需要的文字就显示在屏幕上。硬件驱动程序是操作系统最基本的组成部分,在Linux内核源程序中也占有较高的比例。
Linux内核中采用可加载的模块化设计(LKMs ,Loadable Kernel Modules),一般情况下编译的Linux内核是支持可插入式模块的,也就是将最基本的核心代码编译在内核中,其它的代码可以选择是在内核中,或者编译为内核的模块文件。
如果需要某种功能,比如需要访问一个NTFS分区,就加载相应的NTFS模块。这种设计可以使内核文件不至于太大,但是又可以支持很多的功能,必要时动态地加载。这是一种跟微内核设计不太一样,但却是切实可行的内核设计方案。
我们常见的驱动程序就是作为内核模块动态加载的,比如声卡驱动和网卡驱动等,而Linux最基础的驱动,如CPU、PCI总线、TCP/IP协议、APM(高级电源管理)、VFS等驱动程序则编译在内核文件中。有时也把内核模块就叫做驱动程序,只不过驱动的内容不一定是硬件罢了,比如ext3文件系统的驱动。
理解这一点很重要。因此,加载驱动时就是加载内核模块。下面来看一下有关模块的命令,在加载驱动程序要用到它们:lsmod、modprob、insmod、rmmod、modinfo。
lsmod 列出当前系统中加载的模块,例如:
#lsmod (与cat /proc/modules 得出的内容是一致的) Module Size Used by Not tainted radeon 115364 1 agpgart 56664 3 nls_iso8859-1 3516 1 (autoclean) loop 12120 3 (autoclean) smbfs 44528 2 (autoclean) parport_pc 19076 1 (autoclean) lp 9028 0 (autoclean) parport 37088 1 (autoclean) [parport_pc lp] autofs 13364 0 (autoclean) (unused) ds 8704 2 yenta_socket 13760 2 pcmcia_core 57184 0 [ds yenta_socket] tg3 55112 1 sg 36940 0 (autoclean) sr_mod 18104 0 (autoclean) microcode 4724 0 (autoclean) ide-scsi 12208 0 scsi_mod 108968 3 [sg sr_mod ide-scsi] ide-cd 35680 0 cdrom 33696 0 [sr_mod ide-cd] nls_cp936 124988 1 (autoclean) nls_cp437 5148 1 (autoclean) vfat 13004 1 (autoclean) fat 38872 0 (autoclean) [vfat] keybdev 2976 0 (unused) mousedev 5524 1 hid 22212 0 (unused) input 5888 0 [keybdev mousedev hid] ehci-hcd 20104 0 (unused) usb-uhci 26412 0 (unused) usbcore 79392 1 [hid ehci-hcd usb-uhci] ext3 91592 2 jbd 52336 2 [ext3]
上一页12 下一页相关文章
- Linux内核模块是如何被调入
- 减少Linux内核空循环
- 基于Linux操作系统上的C编程
- 介绍Linux内核函数Start_ker
- 概述Linux系统的驱动框架及
- Linux操作系统中关于负载的
- Linux内核升级
- Linux
- Debian
- skyeye编译问题及解决方法
热点关注
- 在SUSE Linux系统下安装ADSL
- skyeye编译问题及解决方法
- 概述Linux系统的驱动框架及
- Linux Shell命令解释器:权
- Debian
- Linux
- Linux内核升级
- 基于Linux操作系统上的C编程
- 新手学堂:Linux和Windows系
- 实用技巧:让Linux系统有效
随机推荐
- 让Ubuntu Linux操作系统开启
- VMware环境下Linux内核编译
- Linux操作系统下Snmp的配置
- 概述Linux系统的驱动框架及
- 介绍Linux内核函数Start_ker
- 系统维护:SUSE Linux登录黑
- 在SUSE Linux系统下安装ADSL
- 减少Linux内核空循环
- Linux
- 腾讯QQ首次表态 官方支持Lin
栏目列表