裝置驅動程式

2022-04-04 03:14:33 字數 965 閱讀 3247

我們已經知道.使用者或者應用程式是通過作業系統使用裝置的,而作業系統並不直接操縱裝置,作業系統通過管理裝置的馭動程式來間接使用裝置。

裝置馭動程式(device driver)是由生產裝置廠家提供的,所有與裝置相關的**都放在裝置馭動程式中。如果裝置的類別差別很小.系統可以遮蔽其差別.使用同乙個程式**操縱這個裝置。在計算機系統中,鍵盤、顯示器、滑鼠等都作為標準裝置.作業系統使用標準的裝置驅動程式,為使用者提供這些裝置的使用。

如果乙個效能和原理完全不同的裝置,例如雷射印表機和針式印表機就是兩種不同型別的裝置,系統需要分別為其建立馭動程式。實際上由於效能上的差異.為了使裝置能夠發揮最大效能.往往同一類不同型號的裝置都採用專門的馭動程式。

每個裝置的電路中都有若干個接受命令的埠,而驅動程式就是向這些埠發出命令或者讀取埠的狀態,並把這些狀態通知作業系統。例如我們需要列印翰出.作業系統負貴把列印的要求和列印的資料傳翰給印表機的驅動程式,或者啟動列印驅動程式到某個區城中去讀取列印命令或資料,作業系統剩下的工作獲是檢視列印狀態:是否在列印、是否出現列印錯誤、是否列印結束等。整個列印工作由駱動程式和印表機互動完成。當然作業系統在處理列印前需要為列印任務進行資料組織。

驅動程式向裝置埠發出命令之後.作業系統有兩種處理方法。一是等待裝置完成操作.馭動程式阻寒自己.等待操作完成後解除阻塞。這種阻塞的目的是防止裝置還沒有執行完前乙個操作而接受新的命令導致操作發生混亂。另一種是不需要阻塞的情況,如滑鼠操控螢幕的滾動,往往在很短時間內就被執行完畢(顯示器控制處理速度很快,但實際顯示需要時間是大為受到顯示器本身的掃瞄速度限制).因此系統可以不需耍阻塞,直接再繼續對其進行進一步的操作。

作業系統需要檢查裝置馭動程式的工作狀態以決定採取何種處理。如果一切正常,則可以進行新的程序.如列印多個任務時.完成了乙個列印後啟動排在列印佇列中的下乙個新的列印程序。如果發現有問題則需要判斷問題的性質,並進行相應的處理,如告訴使用者不能列印的原因是印表機缺紙,或者印表機塞紙導致印表機發生故障。

蜂王漿的***

linux裝置驅動程式 字元裝置驅動程式

先留個 有一起學習驅動程式的加qq295699450 字元裝置驅動 這篇比較惱火。載入成功,但是讀不出來資料,有知道怎麼回事的,留個言,一起討論下 資料結構 struct scull mem struct scull dev dev 整個驅動程式 如下 include include include...

Linux裝置驅動程式 字元裝置驅動程式

1.檢視主裝置號,次裝置號 進入 dev目錄執行ls l,第四,五列分別為主次裝置號,10,180,1,5,這些是主裝置號,而60,63這些就是次裝置號 130 shell android dev ls l crw rw r system radio 10,60 1969 12 31 21 00 a...

裝置驅動程式

首先要問,什麼是裝置驅動程式?又名裝置處理程式,是i o系統的高層與裝置控制器之間的通訊程式 起乙個翻譯的作用 這個東西能幹什麼?簡要來說就是啟動指定裝置,完成上層指定的i o工作 裝置驅動程式的特點 略,書上193頁有 裝置處理方式 為每一類裝置設定乙個程序,專門用於執行這類裝置的i o操作 一對...