linux驅動簡單介紹

2022-09-22 03:39:11 字數 1428 閱讀 1947

linux驅動簡單介紹

驅動。顧名思義就是「驅使硬體裝置行動」。裝置驅動與底層硬體之間打交道,按照硬體裝置的具體操作方式來讀寫裝置暫存器,最終完成一系列操作。

裝置 驅動充當了應用程式和應用軟體直接的紐帶,它使得應用軟體只需要呼叫系統軟體的應用程式設計介面就可以讓硬體完成響應的操作。

硬體、裝置驅動和應用軟體的關係

linux裝置驅動與整個軟硬體的關係

linux下裝置驅動一般分為三大類:字元裝置驅動,塊裝置驅動,網路裝置驅動。除了網路裝置驅動以外,字元裝置和塊裝置都是通過linux虛擬檔案系統進行管理(vfs)。

抽象出簡單的呼叫關係圖如下:

對於乙個32位作業系統,它的定址空間(虛擬位址空間)為4g(2^32)。也會是說每個程序的虛擬位址空間為4g。作業系統的核心是核心,它獨立於普通的應用程式,可以訪問受保護的應用程式,也有訪問底層硬體裝置的所有許可權。為保護核心安全,現代作業系統一般都強制使用者程序不能直接操作核心,具體實現由作業系統將虛擬位址空間劃分為兩部分:核心空間和使用者空間

總結:最高的1g核心空間是被所有程序共享 

如下圖所示,應用程式一般處於使用者空間,而系統呼叫和驅動處於核心空間,故,當應用程式需要和驅動進行資料互動時,需進行位址轉換。不能直接訪問。

linux裝置驅動提供兩個介面函式copy_from_user()與copy_to_user():

1 unsigned long copy_to_user(void _ _user *to, const

void *from, unsigned long

count);

2 unsigned long copy_from_user(void *to, const

void _ _user *from, unsigned long count)

linux 核心空間與使用者空間

linux 裝置驅動開發詳解第二版.宋寶華

Linux簡單介紹

說到linux不得不說下unix,兩者操作起來差不多,linux的開發也借鑑了unix很多東西.計算機的發展史非常短.如果從1946第一台電子計算機eniac算起,才67年.剛好跟新中國的歷史差不多.當然了1946的之前已經有過很多跟計算機相關的研究和簡單應用了.對我們普通的程式設計師來說,在浩如煙...

Linux簡單介紹

在我們的專案開發完全之後,我們只能在內網訪問,要怎麼樣才能實現公網訪問呢?我們需要把我們的專案打包傳送到專業的伺服器上面才能實現公網訪問 軟體伺服器 web伺服器,把寫好的web資源共享到網路之中,方便別人能直接看到 硬體伺服器 安裝了伺服器軟體的電腦就是硬體伺服器 企業中的伺服器都是專業伺服器,每...

Linux簡單介紹

由芬蘭人 林納斯 託瓦斯在上大學期間由於 個人興趣愛好 去編寫的核心。核心仿照unix系統來的。特點 開源 不完全免費,有些系統中加入了收費的軟體 多使用者 系統可以保證個使用者之間的安全和隱私 支援多平台 可以在多種硬體平台上安裝和執行,如x86或嵌入系統,安裝系統的底層就是linux的核心。企業...