第六章 設(shè)備驅(qū)動(dòng)程序

設(shè)備驅(qū)動(dòng)程序是I/O系統(tǒng)的高層與設(shè)備控制器之間的通信程序,其主要任務(wù):

????接收上層軟件發(fā)來的抽象I/O要求,如read、write等命令;

????再把它轉(zhuǎn)化為具體要求,發(fā)送給設(shè)備控制器,啟動(dòng)設(shè)備去執(zhí)行。

????反方向,它也將由設(shè)備控制器發(fā)來的信號(hào),傳送給上層軟件。

1.驅(qū)動(dòng)程序的功能

(1)接收由與設(shè)備無關(guān)的軟件發(fā)來的命令和參數(shù),并將命令中的抽象要求,轉(zhuǎn)換為與設(shè)備相關(guān)的低層操作序列;

(2)檢查用戶I/O請(qǐng)求的合法性,了解I/O設(shè)備的工作狀態(tài),傳遞與I/O設(shè)備操作有關(guān)的參數(shù),設(shè)置設(shè)備的工作方式;

(3)發(fā)出I/O命令,如果設(shè)備空閑,便立即啟動(dòng)I/O設(shè)備,完成指定的I/O操作;如果設(shè)備忙碌,則將請(qǐng)求者掛在設(shè)備隊(duì)列上等待;

(4)及時(shí)響應(yīng)由設(shè)備控制器發(fā)來的中斷請(qǐng)求,并根據(jù)其中斷類型,調(diào)用相應(yīng)的中斷處理程序進(jìn)行處理。

2.設(shè)備驅(qū)動(dòng)程序的特點(diǎn)

(1)驅(qū)動(dòng)程序是與設(shè)備無關(guān)的軟件和設(shè)備控制器之間通信和轉(zhuǎn)換的程序。

(2)驅(qū)動(dòng)程序,與設(shè)備控制器和I/O設(shè)備的硬件特性,緊密相關(guān)。?????

(3)驅(qū)動(dòng)程序與I/O設(shè)備所采用的I/O控制方式緊密相關(guān)。

(4)由于驅(qū)動(dòng)程序與硬件緊密相關(guān),因而其中的一部分必須用匯編語言編寫。

(5)驅(qū)動(dòng)程序應(yīng)允許可重入,一個(gè)正在運(yùn)行的驅(qū)動(dòng)程序常會(huì)在一次調(diào)用完成前被再次調(diào)用。

3.設(shè)備處理方式

具體分類

(1)為每一類設(shè)備設(shè)置一個(gè)進(jìn)程,專門用于執(zhí)行這類設(shè)備的I/O操作。這種方式比較適合于較大的系統(tǒng);

(2)在整個(gè)系統(tǒng)中設(shè)置一個(gè)I/O進(jìn)程,專門用于執(zhí)行系統(tǒng)中所有各類設(shè)備的I/O操作。也可以設(shè)置一個(gè)輸入進(jìn)程和一個(gè)輸出進(jìn)程,分別處理系統(tǒng)中的輸入或輸出操作;

(3)不設(shè)置專門的設(shè)備處理進(jìn)程,而只為各類設(shè)備設(shè)置相應(yīng)的設(shè)備驅(qū)動(dòng)程序,供用戶或系統(tǒng)進(jìn)程調(diào)用。這種方式目前用得較多。

4.驅(qū)動(dòng)程序處理過程

I/O設(shè)備與控制器間的通信轉(zhuǎn)換程序

????了解抽象命令,了解控制器內(nèi)部的寄存器結(jié)構(gòu)

與硬件密切相關(guān),每類設(shè)備配備一種驅(qū)動(dòng)程序

????功能:接受解釋指令(有通道的系統(tǒng),自動(dòng)通道程序)、相關(guān)判斷、發(fā)送設(shè)備命令、響應(yīng)中斷

????特點(diǎn),控制方式不同程序不同,部分固化進(jìn)硬件,代碼可重入。



5.?I/O控制方式

程序I/O方式

1、中斷驅(qū)動(dòng)I/O方式

2、直接存儲(chǔ)器訪問DMA(字節(jié)—塊)

3、I/O通道控制方式(組織傳送的獨(dú)立)

宗旨:減少主機(jī)對(duì)I/O控制的干預(yù),將CPU從繁雜的I/O控制事物中解脫出來。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容