驅動程序屬於內核的一個部分。准確的說是內核的一個組件。不包含驅動的內核也叫做內核,並且這也是我們常說的內核。內核要干的事情無非5件。 1,內存管理 2,虛擬文件系統 3,進程調度 4,網絡接口 5,進程間通信
驅動更像是內核的擴展組件來幫助內核實現硬件的連接和操控。內核通過提供統一的驅動操作接口供用戶層使用,驅動就是在這層統一的接口下實現硬件的操控的中間層。
首先,要理解操作系統的概念,操作系統是用戶和硬件之間的一層媒介程序。不管是Linux還是Windows或者安卓、iOS,它的主要功能有兩點:
1、有效管理硬件。
2、方便用戶操作。
其次,Linux內核是Linux系統的核心程序,主要完成任務調度、內存管理、IO設備管理等等功能,主要目的是為了應用程序提供一個穩定良好的運行環境,這是一個基礎。
再次,驅動程序是操作系統有效管理硬件的一個途徑。應用程序是方便用戶操作提供的程序,比如Shell,Linux中的bash shell以及KDE、gnome等圖形Shell都是應用程序。 你可以簡單的理解為驅動程序實現了操作系統對硬件的有效管理,應用程序實現了操作系統方便用戶操作的目的。
最后,從編程角度來看,Linux內核就是一個調用庫,應用程序通過調用Linux提供的API函數來實現操作,Linux內核通過與驅動通信實現對硬件的有效管理。具體的編程細節,需要自己在實踐編程中體會。這是一個整體的描述。