Linux裝置驅動框架、配置檔案及載入(轉)
Linux裝置驅動框架、配置檔案及載入(轉)[@more@] 本講主要概述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 列出當前系統中載入的模組,例如:
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 列出當前系統中載入的模組,例如:
CODE:
#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] 來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-960036/,如需轉載,請註明出處,否則將追究法律責任。
下一篇:
wxdfast安裝問題(轉)
請登入後發表評論
登入
全部評論
|
相關文章
- 字元裝置驅動 —— 字元裝置驅動框架字元框架
- Linux裝置驅動程式 (轉)Linux
- Linux下的硬體驅動——USB裝置(上)(驅動配置部分)(轉)Linux
- Linux裝置驅動之字元裝置驅動Linux字元
- linux掛載裝置檔案Linux
- linux裝置驅動編寫入門Linux
- 裝置驅動程式INF檔案——INF檔案的節
- LINUX下的裝置驅動程式 (轉)Linux
- 深入淺出:Linux裝置驅動之字元裝置驅動Linux字元
- 乾坤合一:Linux裝置驅動之塊裝置驅動Linux
- 入門文章:教你學會編寫Linux裝置驅動(轉)Linux
- 驅動載入到proc檔案下
- Linux塊裝置驅動Linux
- 蛻變成蝶:Linux裝置驅動之字元裝置驅動Linux字元
- 蛻變成蝶~Linux裝置驅動之字元裝置驅動Linux字元
- 給核心裝置驅動增加sysfs除錯檔案除錯
- 【linux】驅動-7-平臺裝置驅動Linux
- Linux裝置驅動程式學習----1.裝置驅動程式簡介Linux
- 乾坤合一:Linux裝置驅動之USB主機和裝置驅動Linux
- Linux的input輸入子系統:裝置驅動之按鍵驅動Linux
- 框架-裝置與驅動的拆分及實現-I2C框架
- 作業系統——裝置驅動和檔案系統作業系統
- 【linux】驅動-6-匯流排-裝置-驅動Linux
- Linux下的硬體驅動——USB裝置(下)(驅動開發部分)(轉)Linux
- 判斷裝置驅動有沒有被載入的方法
- 認識 Linux 檔案屬性及檔案配置(轉)Linux
- linux 裝置驅動基本概念Linux
- express框架路由配置及controller自動載入Express框架路由Controller
- Linux裝置驅動探究第1天----spi驅動(1)Linux
- 深入淺出分析Linux裝置驅動程式中斷(轉)Linux
- RTOS裝置驅動向嵌人式Linux的移植(轉)Linux
- Linux驅動開發筆記(四):裝置驅動介紹、熟悉雜項裝置驅動和ubuntu開發雜項裝置DemoLinux筆記Ubuntu
- platform_driver驅動及裝置驅動匹配識別符號Platform符號
- Linux驅動模組載入方法和如何判斷Linux驅動是否載入成功Linux
- 在Linux中,什麼是裝置驅動程式?如何安裝和解除安裝裝置驅動程式?Linux
- MyBatis載入配置檔案MyBatis
- 【轉載】MAVEN環境變數配置及安裝及專案配置Maven變數
- linux裝置驅動編寫基礎Linux