freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[教育學]第5章設(shè)備管理(編輯修改稿)

2025-02-17 13:14 本頁面
 

【文章內(nèi)容簡介】 f(in,number)則從輸入緩沖隊列中取出一個裝滿輸入數(shù)據(jù)的緩沖區(qū) number作為輸入緩沖區(qū) sin,當 CPU從中提取完所需數(shù)據(jù)之后,系統(tǒng)調(diào)用過程put_buf(em, sin)將該緩沖區(qū)釋放和插入空白緩沖隊列 em中。 OS I/O 軟 件 I/O軟件的設(shè)計目標和原則 從系統(tǒng)的觀點出發(fā),采用多種技術(shù)和措施,解決由于外部設(shè)備與 CPU速度不匹配所引起的問題,提高主機和外設(shè)的并行工作能力,提高系統(tǒng)效率,成為操作系統(tǒng)的一個重要目標。 具體而言 , I/O軟件應(yīng)達到下面的幾個目標: OS 1) 與具體設(shè)備無關(guān) 對于 I/O系統(tǒng)中許多種類不同的設(shè)備,作為程序員,只需要知道如何使用這些資源來完成所需要的操作,而無需了解設(shè)備的有關(guān)具體實現(xiàn)細節(jié)。例如,應(yīng)用程序訪問文件時,不必去考慮被訪問的是硬盤、軟盤還是 CDROM;對于管理軟件,也無需因為 I/O設(shè)備變化,而重新編寫涉及設(shè)備管理的程序。 為了提高 OS的可移植性和易適應(yīng)性, I/O軟件應(yīng)負責屏蔽設(shè)備的具體細節(jié),向高層軟件提供抽象的邏輯設(shè)備,并完成邏輯設(shè)備與具體物理設(shè)備的映射。 OS 2) 統(tǒng)一命名 要實現(xiàn)上述的設(shè)備無關(guān)性,其中一項重要的工作就是如何給 I/O設(shè)備命名。不同的操作系統(tǒng)有不同的命名規(guī)則,一般而言,是在系統(tǒng)中對各類設(shè)備采取預先設(shè)計的、統(tǒng)一的邏輯名稱進行命名,所有軟件都以邏輯名稱訪問設(shè)備。這種統(tǒng)一命名與具體設(shè)備無關(guān),換言之,同一個邏輯設(shè)備的名稱,在不同的情況下可能對應(yīng)于不同的物理設(shè)備。 OS 3) 對錯誤的處理 一般而言,錯誤多數(shù)是與設(shè)備緊密相關(guān)的,因此對于錯誤的處理,應(yīng)該盡可能在接近硬件的層面處理,在低層軟件能夠解決的錯誤就不讓高層軟件感知,只有低層軟件解決不了的錯誤才通知高層軟件解決。許多情況下,錯誤恢復可以在低層得到解決,而高層軟件不需要知道。 OS 4) 緩沖技術(shù) 由于 CPU與設(shè)備之間的速度差異,無論是塊設(shè)備還是字符設(shè)備,都需要使用緩沖技術(shù)。對于不同類型的設(shè)備,其緩沖區(qū) (塊 )的大小是不一樣的,塊設(shè)備的緩沖是以數(shù)據(jù)塊為單位的,而字符設(shè)備的緩沖則以字節(jié)為單位。就是同類型的設(shè)備,其緩沖區(qū) (塊 )的大小也是存在差異的,如不同的磁盤,其扇區(qū)的大小有可能不同。因此, I/O軟件應(yīng)能屏蔽這種差異,向高層軟件提供統(tǒng)一大小的數(shù)據(jù)塊或字符單元,使得高層軟件能夠只與邏輯塊大小一致的抽象設(shè)備進行交互。 OS 5) 設(shè)備的分配和釋放 對于系統(tǒng)中的共享設(shè)備,如磁盤等,可以同時為多個用戶服務(wù)。對于這樣的設(shè)備,應(yīng)該允許多個進程同時對其提出 I/O請求。但對于獨占設(shè)備,如鍵盤和打印機等,在某一段時間只能供一個用戶使用,對其分配和釋放的不當,將引起混亂,甚至死鎖。對于獨占設(shè)備和共享設(shè)備帶來的許多問題, I/O軟件必須能夠同時進行妥善的解決。 OS 6) I/O控制方式 針對具有不同傳輸速率的設(shè)備,綜合系統(tǒng)效率和系統(tǒng)代價等因素,合理選擇 I/O控制方式,如像打印機等低速設(shè)備應(yīng)采用中斷驅(qū)動方式,而對磁盤等高速設(shè)備則采用 DMA控制方式等,以提高系統(tǒng)的利用率。為方便用戶, I/O軟件也應(yīng)屏蔽這種差異,向高層軟件提供統(tǒng)一的操作接口。 OS 在層次式結(jié)構(gòu)的 I/O軟件中 , 只要層次間的接口不變 ,對每個層次中的軟件進行的修改都不會引起其下層或高層代碼的變更 , 僅最低層才會涉及到硬件的具體特性 。 通常把I/O 軟件組織成四個層次: (1) 用戶層軟件:實現(xiàn)與用戶交互的接口,用戶可直接調(diào)用在用戶層提供的、與 I/O操作有關(guān)的庫函數(shù),對設(shè)備進行操作。 目前在 I/O軟件中已普遍采用了層次式結(jié)構(gòu), 將系統(tǒng)中的設(shè)備操作和管理軟件分為若干個層次,每一層都利用其下層提供的服務(wù),完成輸入、輸出功能中的某些子功能,并屏蔽這些功能實現(xiàn)的細節(jié),向高層提供服務(wù)。 OS (2) 設(shè)備獨立性軟件:負責實現(xiàn)與設(shè)備驅(qū)動器的統(tǒng)一接口 、 設(shè)備命名 、 設(shè)備的保護以及設(shè)備的分配與釋放等 , 同時為設(shè)備管理和數(shù)據(jù)傳送提供必要的存儲空間 。 (3) 設(shè)備驅(qū)動程序:與硬件直接相關(guān) , 負責具體實現(xiàn)系統(tǒng)對設(shè)備發(fā)出的操作指令 , 驅(qū)動 I/O設(shè)備工作的驅(qū)動程序 。 (4) 中斷處理程序:用于保存被中斷進程的 CPU環(huán)境,轉(zhuǎn)入相應(yīng)的中斷處理程序進行處理,處理完后再恢復被中斷進程的現(xiàn)場后返回到被中斷進程。 OS 圖 516 I/O系統(tǒng)的層次及功能 用戶層軟件設(shè)備獨立性軟件設(shè)備驅(qū)動程序中斷處理程序硬件I / O 應(yīng)答產(chǎn)生 I / O 請求、格式化 I / O 、 S po ol i ng映射、保護、分塊、緩沖、分配設(shè)置設(shè)備寄存器,檢查寄存器狀態(tài)執(zhí)行 I / O 操作OS 中斷處理程序 P179*5個步驟 1. 喚醒被阻塞的驅(qū)動 (程序 )進程 當中斷處理程序開始執(zhí)行時,首先去喚醒處于阻塞狀態(tài)的驅(qū)動 (程序 )進程。如果是采用了信號量機制,則可通過執(zhí)行 signal操作,將處于阻塞狀態(tài)的驅(qū)動 (程序 )進程喚醒;在采用信號機制時,將發(fā)送一信號給阻塞進程。 OS 2. 保護被中斷進程的 CPU環(huán)境 通常由硬件自動將 處理機狀態(tài)字 PSW和程序計數(shù)器 (PC)中的內(nèi)容,保存在中斷保留區(qū) (棧 )中 ,然后把被中斷進程的CPU現(xiàn)場信息 (即包括所有的 CPU寄存器,如通用寄存器、段寄存器等內(nèi)容 )都壓入中斷棧中,因為在中斷處理時可能會用到這些寄存器。 OS 3. 轉(zhuǎn)入相應(yīng)的設(shè)備處理程序 由處理機對各個中斷源進行測試,以確定引起本次中斷的 I/O設(shè)備,并發(fā)送一應(yīng)答信號給發(fā)出中斷請求的進程,使之消除該中斷請求信號,然后將相應(yīng)的設(shè)備中斷處理程序的入口地址裝入到程序計數(shù)器中,使處理機轉(zhuǎn)向中斷處理程序。 OS 4. 中斷處理 對于不同的設(shè)備,有不同的中斷處理程序。該程序首先從設(shè)備控制器中讀出設(shè)備狀態(tài),以判別本次中斷是正常完成中斷,還是異常結(jié)束中斷。若是前者,中斷程序便進行結(jié)束處理;若還有命令,可再向控制器發(fā)送新的命令,進行新一輪的數(shù)據(jù)傳送。若是異常結(jié)束中斷,則根據(jù)發(fā)生異常的原因做相應(yīng)的處理。 OS 5. 恢復被中斷進程的現(xiàn)場 當中斷處理完成以后,便可將保存在中斷棧中的被中斷進程的現(xiàn)場信息取出,并裝入到相應(yīng)的寄存器中 ,其中包括該程序下一次要執(zhí)行的指令的地址 N+處理機狀態(tài)字 PSW,以及各通用寄存器和段寄存器的內(nèi)容。這樣,當處理機再執(zhí)行本程序時,便從 N+1處開始,最終返回到被中斷的程序。 OS I/O操作完成后 , 驅(qū)動程序必須檢查本次 I/O操作中是否發(fā)生了錯誤 , 并向上層軟件報告 , 最終向調(diào)用者報告本次 I/O的執(zhí)行情況 。 除了上述的第 4步外 , 其它各步驟對所有 I/O設(shè)備都是相同的 , 因而對于某種操作系統(tǒng) , 例如 UNIX系統(tǒng) , 是把這些共同的部分集中起來 , 形成 中斷總控程序 。 每當要進行中斷處理時 , 都要首先進入中斷總控程序 。 而對于第 4步 ,則對不同設(shè)備須采用不同的設(shè)備中斷處理程序繼續(xù)執(zhí)行 。 圖518示出了中斷處理流程 。 OS 圖 518 中斷處理流程 喚醒被阻塞的驅(qū)動程序進程對被中斷進程的C P U環(huán)境進行保護分析中斷原因,轉(zhuǎn)入相應(yīng)的中斷處理程序終端中斷處理程序打印機中斷處理程序磁盤中斷處理程序?恢復被中斷進程的 C P U現(xiàn)場?返回被中斷的進程,繼續(xù)執(zhí)行中斷請求信號OS 設(shè)備驅(qū)動程序 設(shè)備驅(qū)動程序通常又稱為設(shè)備處理程序,它是 I/O進程與設(shè)備控制器之間的通信程序,又由于它常以進程的形式存在,故以后就簡稱之為設(shè)備驅(qū)動進程。 其主要任務(wù)是接收上層軟件發(fā)來的抽象 I/O要求,如 read或 write命令,在把它轉(zhuǎn)換為具體要求后,發(fā)送給設(shè)備控制器,啟動設(shè)備去執(zhí)行;此外,它也將由設(shè)備控制器發(fā)來的信號傳送給上層軟件。 OS 1. 設(shè)備驅(qū)動程序的功能 (5個 ) 為了實現(xiàn) I/O進程與設(shè)備控制器之間的通信 , 設(shè)備驅(qū)動程序應(yīng)具有以下功能: (1) 接收由設(shè)備獨立性軟件發(fā)來的命令和參數(shù) , 并將命令中的抽象要求轉(zhuǎn)換為具體要求 , 例如 , 將磁盤塊號轉(zhuǎn)換為磁盤的盤面 、 磁道號及扇區(qū)號 。 (2) 檢查用戶 I/O請求的合法性 , 了解 I/O設(shè)備的狀態(tài) , 傳遞有關(guān)參數(shù) , 設(shè)置設(shè)備的工作方式 。 (3) 發(fā)出 I/O命令。如果設(shè)備空閑,便立即啟動 I/O設(shè)備去完成指定的 I/O操作;如果設(shè)備處于忙碌狀態(tài),則將請求者的請求塊掛在設(shè)備隊列上等待。 OS (4) 及時響應(yīng)由控制器或通道發(fā)來的中斷請求 , 并根據(jù)其中斷類型調(diào)用相應(yīng)的中斷處理程序進行處理 。 (5) 對于設(shè)置有通道的計算機系統(tǒng),驅(qū)動程序還應(yīng)能夠根據(jù)用戶的 I/O請求,自動地構(gòu)成通道程序。 OS 2. 設(shè)備處理方式 (1) 為每一類設(shè)備設(shè)置一個進程 , 專門用于執(zhí)行這類設(shè)備的 I/O操作 。 比如 , 為所有的交互式終端設(shè)置一個交互式終端進程;又如 , 為同一類型的打印機設(shè)置一個打印進程 。 (2) 在整個系統(tǒng)中設(shè)置一個 I/O進程 , 專門用于執(zhí)行系統(tǒng)中所有各類設(shè)備的 I/O操作 。 也可以設(shè)置一個輸入進程和一個輸出進程 , 分別處理系統(tǒng)中所有各類設(shè)備的輸入或輸出操作 。 (3) 不設(shè)置專門的設(shè)備處理進程,而只為各類設(shè)備設(shè)置相應(yīng)的設(shè)備處理程序 (模塊 ),供用戶進程或系統(tǒng)進程調(diào)用。 OS 3. 設(shè)備驅(qū)動程序的特點 設(shè)備驅(qū)動程序?qū)儆诘图壍南到y(tǒng)例程 , 它與一般的應(yīng)用程序及系統(tǒng)程序之間有下述明顯差異 : (1) 驅(qū)動程序主要是指在請求 I/O的進程與設(shè)備控制器之間的一個通信和轉(zhuǎn)換程序。它將進程的 I/O請求經(jīng)過轉(zhuǎn)換后,傳送給控制器;又把控制器中所記錄的設(shè)備狀態(tài)和 I/O操作完成情況及時地反映給請求 I/O的進程。 OS (2) 驅(qū)動程序與設(shè)備控制器和 I/O設(shè)備的硬件特性緊密相關(guān) , 因而對不同類型的設(shè)備應(yīng)配置不同的驅(qū)動程序 。 例如 ,可以為相同的多個終端設(shè)置一個終端驅(qū)動程序 , 但有時即使是同一類型的設(shè)備 , 由于其生產(chǎn)廠家不同 , 它們也可能并不完全兼容 , 此時也須為它們配置不同的驅(qū)動程序 。 (3) 驅(qū)動程序與 I/O設(shè)備所采用的 I/O控制方式緊密相關(guān)。常用的 I/O控制方式是中斷驅(qū)動和 DMA方式,這兩種方式的驅(qū)動程序明顯不同,因為后者應(yīng)按數(shù)組方式啟動設(shè)備及進行中斷處理。 OS (4) 由于驅(qū)動程序與硬件緊密相關(guān) , 因而其中的一部分必須用匯編語言書寫 。 目前有很多驅(qū)動程序的基本部分 , 已經(jīng)固化在 ROM中 。 (5) 驅(qū)動程序應(yīng)允許可重入 。 一個正在運行的驅(qū)動程序常會在一次調(diào)用完成前被再次調(diào)用 。 例如 , 網(wǎng)絡(luò)驅(qū)動程序正在處理一個到來的數(shù)據(jù)包時 , 另一個數(shù)據(jù)包可能到達 。 (6) 驅(qū)動程序不允許系統(tǒng)調(diào)用。但是為了滿足其與內(nèi)核其它部分的交互,可以允許對某些內(nèi)核過程的調(diào)用,如通過調(diào)用內(nèi)核過程來分配和釋放內(nèi)存頁面作為緩沖區(qū),以及調(diào)用其它過程來管理 MMU定時器、 DMA控制器、中斷控制器等。 OS 4. 設(shè)備驅(qū)動程序的處理過程 不同類型的設(shè)備應(yīng)有不同的設(shè)備驅(qū)動程序 , 但大體上它們都可以分成兩部分 , 其中 , 除了要有能夠驅(qū)動 I/O設(shè)備工作的驅(qū)動程序外 , 還需要有設(shè)備中斷處理程序 , 以處理 I/O完成后的工作 。 設(shè)備驅(qū)動程序的主要任務(wù)是啟動指定設(shè)備。但在啟動之前,還必須完成必要的準備工作,如檢測設(shè)備狀態(tài)是否為“ 忙 ” 等。在完成所有的準備工作后,才最后向設(shè)備控制器發(fā)送一條啟動命令。 OS 設(shè)備驅(qū)動程序的處理過程 (P183) 1) 將抽象要求轉(zhuǎn)換為具體要求 2) 檢查 I/O請求的合法性 3) 讀出和檢查設(shè)備的狀態(tài) 4) 傳送必要的參數(shù) 5) 工作方式的設(shè)置 6) 啟動 I/O設(shè)備 OS 設(shè)備獨立性軟件 1. 設(shè)備獨立性的概念 基本含義 : 應(yīng)用程序獨立于具體使用的物理設(shè)備。為了實現(xiàn)設(shè)備獨立性而引入了邏輯設(shè)備和物理設(shè)備這兩個概念。在應(yīng)用程序中,使用邏輯設(shè)備名稱來請求使用某類設(shè)備;而系統(tǒng)在實際執(zhí)行時,還必須使用物理設(shè)備名稱。 兩方面的好處: 1) 設(shè)備分配時的靈活性 2) 易于實現(xiàn) I/O重定向 OS 2. 設(shè)備獨立性軟件 驅(qū)動程序是一個與硬件 (或設(shè)備 )緊密相關(guān)的軟件。為了實現(xiàn)設(shè)備獨立性,必須再在驅(qū)動程序之上設(shè)置一層軟件,稱為設(shè)備獨立性軟件。 主要功能可分為以下兩個方面:
點擊復制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1