設備驅動程序

    咱們已經知道.用戶或者應用程序是經過操做系統使用設備的,而操做系統並不直接操縱設備,操做系統經過管理設備的馭動程序來間接使用設備。
    設備馭動程序(Device Driver)是由生產設備廠家提供的,全部與設備相關的代碼都放在設備馭動程序中。若是設備的類別差異很小.系統能夠屏蔽其差異.使用同一個程序代碼操縱這個設備。在計算機系統中,鍵盤、顯示器、鼠標等都做爲標準設備.操做系統使用標準的設備驅動程序,爲用戶提供這些設備的使用。
    若是一個性能和原理徹底不一樣的設備,例如激光打印機和針式打印機就是兩種不一樣類型的設備,系統須要分別爲其創建馭動程序。實際上因爲性能上的差別.爲了使設備可以發揮最大效能.每每同一類不一樣型號的設備都採用專門的馭動程序。
    每一個設備的電路中都有若干個接受命令的端口,而驅動程序就是向這些端口發出命令或者讀取端口的狀態,並把這些狀態通知操做系統。例如咱們須要打印翰出.操做系統負貴把打印的要求和打印的數據傳翰給打印機的驅動程序,或者啓動打印驅動程序到某個區城中去讀取打印命令或數據,操做系統剩下的工做獲是查看打印狀態:是否在打印、是否出現打印錯誤、是否打印結束等。整個打印工做由駱動程序和打印機交互完成。固然操做系統在處理打印前須要爲打印任務進行數據組織。
    驅動程序向設備端口發出命令以後.操做系統有兩種處理方法。一是等待設備完成操做.馭動程序阻寒本身.等待操做完成後解除阻塞。這種阻塞的目的是防止設備尚未執行完前一個操做而接受新的命令致使操做發生混亂。另外一種是不須要阻塞的狀況,如鼠標操控屏幕的滾動,每每在很短期內就被執行完畢(顯示器控制處理速度很快,但實際顯示須要時間是大爲受到顯示器自己的掃描速度限制).所以系統能夠不需耍阻塞,直接再繼續對其進行進一步的操做。
    操做系統須要檢查設備馭動程序的工做狀態以決定採起何種處理。若是一切正常,則能夠進行新的進程.如打印多個任務時.完成了一個打印後啓動排在打印隊列中的下一個新的打印進程。若是發現有問題則須要判斷問題的性質,並進行相應的處理,如告訴用戶不能打印的緣由是打印機缺紙,或者打印機塞紙致使打印機發生故障。
蜂王漿的反作用
html

相關文章
相關標籤/搜索