【文章內(nèi)容簡介】
程序進程對被中斷進程的C P U 環(huán)境進行保護分析中斷原因,轉(zhuǎn)入相應(yīng)的中斷處理程序終端中斷處理程序打印機中斷處理程序磁盤中斷處理程序?恢復(fù)被中斷進程的 C P U 現(xiàn)場?返回被中斷的進程,繼續(xù)執(zhí)行中斷請求信號 ? 設(shè)備驅(qū)動程序 A. 主要功能 ? 接收上層軟件(比如 I/O進程)發(fā)來的命令和參數(shù),并將其轉(zhuǎn)換成具體的操作要求 ? 向控制器發(fā) I/O指令,啟動設(shè)備工作,并進行中斷響應(yīng)和處理 ? 在有通道的 I/O系統(tǒng)中,生成通道程序 B. 設(shè)備處理的方式 ? 為每類設(shè)備設(shè)置一個驅(qū)動進程 ? 整個系統(tǒng)設(shè)置一個驅(qū)動進程 ? 不設(shè)置進程,僅設(shè)置相應(yīng)驅(qū)動程序供調(diào)用 ?無論何種處理方式,都必須有一組相應(yīng)的驅(qū)動程序 C. 驅(qū)動程序特點 ? I/O請求與設(shè)備控制器之間的通信和轉(zhuǎn)換程序 ? 與設(shè)備控制器和 I/O設(shè)備硬件特性相關(guān) ? 與采用的 I/O控制方式相關(guān) ? 其中部分必須是匯編語言實現(xiàn) D. 設(shè)備驅(qū)動的處理過程 ? 轉(zhuǎn)換上層軟件的抽象要求為具體操作要求 ? 對 I/O請求進行合法性檢查 ? 對控制器、設(shè)備的工作狀態(tài)進行檢測 ? 向控制器傳送參數(shù)和命令,啟動設(shè)備工作 ? 設(shè)備獨立性軟件 A. 設(shè)備獨立性 : ? 概念: 應(yīng)用程序獨立于物理設(shè)備即與具體設(shè)備無關(guān) ? 好處 :增加了設(shè)備分配的靈活性;利于設(shè)備的更新( I/O重定向 ) ? 實現(xiàn) :應(yīng)用程序采用 邏輯設(shè)備名 請求使用某類設(shè)備 ,實際執(zhí)行時使用物理設(shè)備名稱 。 系統(tǒng)通過 邏輯設(shè)備表(LUT)為之實現(xiàn)邏輯設(shè)備到物理設(shè)備的轉(zhuǎn)換 。 B. 設(shè)備獨立性軟件 基本任務(wù)是 實現(xiàn)所有設(shè)備都需要的功能,并且向用戶級軟件提供一個統(tǒng)一的接口 。其中所有設(shè)備共有的操作包括: ? 獨占設(shè)備的分配和釋放 ? 邏輯設(shè)備名到物理設(shè)備名的映射 ? 設(shè)備保護 ? 提供與設(shè)備無關(guān)的邏輯塊 ? 緩沖管理 ? 差錯控制 設(shè)備分配 設(shè)備分配程序按照一定的策略把設(shè)備分配給 I/O請求用戶以解決資源的無序競爭問題 , 確保設(shè)備安全 , 正確地共享使用 。 1)設(shè)備分配的相關(guān)數(shù)據(jù)結(jié)構(gòu) ?設(shè)備控制表 DCT ?控制器控制表 COCT ?通道控制表 CHCT ?系統(tǒng)設(shè)備表 SDT ? 設(shè)備控制表( DCT) 每個設(shè)備一張, 描述設(shè)備特性和狀態(tài) 。反映設(shè)備特性、設(shè)備和控制器的連接情況。 設(shè)備類型 t y p e設(shè)備標識符: d e v i c e i d設(shè)備狀態(tài):等待/ 不等待 忙/ 閑指向控制器表的指針重復(fù)執(zhí)行次數(shù)或時間設(shè)備隊列的隊首指針D C T 1D C T 2D C T n設(shè)備控制表集合 ?控制器控制( COCT) ?通道控制表( CHCT) ?系統(tǒng)設(shè)備表( SDT) 系統(tǒng)內(nèi)一張,反映 系統(tǒng)中設(shè)備資源的狀態(tài) ,記錄所有設(shè)備的狀態(tài)及其設(shè)備控制表的入口 ( c ) 系統(tǒng) 設(shè)備表 S D T控制器標識符: c o n t r o l l e r i d控制器狀態(tài):忙/ 閑與控制器連接的通道表指針控制器隊列的隊首指針控制器隊列的隊尾指針通道標識符: c h a n n e l i d通道狀態(tài):忙/ 閑與通道連接的控制器表首址通道隊列的隊首指針通道隊列的隊尾指針( a ) 控制器表 C O C T ( b ) 通道表 C H C T表目 1?表目 i?設(shè)備類設(shè)備標識符D C T驅(qū)動程序入口 各表間的關(guān)系示意圖 DCT COCT CHCT SDT表目 PCB … PCB ? 2)設(shè)備分配應(yīng)考慮的相關(guān)因素 ? 設(shè)備的使用屬性 ? 設(shè)備分配的策略(算法) ? 設(shè)備分配的安全性 ? 設(shè)備的獨立性(無關(guān)性) ?設(shè)備使用屬性 ? 獨占設(shè)備 : ? 共享設(shè)備 : ? 虛擬設(shè)備 : 一次只能分配給一個用戶(進程)使用 可同時分配給多個進程使用(比如磁盤) 邏輯上可同時分配給多個進程,物理上仍是一個進程一個進程依次使用 ? 設(shè)備分配算法