計算機操作系統(tǒng)設備管理課件.ppt
《計算機操作系統(tǒng)設備管理課件.ppt》由會員分享,可在線閱讀,更多相關《計算機操作系統(tǒng)設備管理課件.ppt(54頁珍藏版)》請在匯文網(wǎng)上搜索。
1、,計算機操作系統(tǒng),制作者:張曉艷 2010年5月,第四章 設備管理設備管理程序的功能: (1)提供和進程管理系統(tǒng)的接口。 (2)進行設備分類。按照設備類型和相應的分配算法把設備和其他有關的硬件分別給請求該設備的進程,并把未分配到所請求設備或其他有關硬件的進程放入等待隊列。 (3)實現(xiàn)設備和設備、設備和CPU等之間的并行操作。 (4)進行緩沖管理,解決低速I/O設備與高速CPU之間傳送數(shù)據(jù)不匹配問題。,4.3 緩沖管理 引入緩沖技術的目的 改善中央處理器與外圍設備之間速度不配的矛盾,凡是數(shù)據(jù)到達和離去速度不匹配的地方均可采用緩沖技術。 減少對CPU的中斷頻率,放寬對CPU中斷響應時間的限制, 提
2、高CPU和I/O設備的并行性。,緩沖技術實現(xiàn)的基本思想: 進程執(zhí)行寫操作輸出數(shù)據(jù)時,向系統(tǒng)申請一個緩沖區(qū),若為順序?qū)懻埱?,則不斷把數(shù)據(jù)填到緩沖區(qū),直到被裝滿。此后,進程繼續(xù)它的計算,系統(tǒng)將緩沖區(qū)內(nèi)容寫到I/O設備上。 進程執(zhí)行讀操作輸入數(shù)據(jù)時,向系統(tǒng)申請一個緩沖區(qū),系統(tǒng)將一個物理記錄的內(nèi)容讀到緩沖區(qū),根據(jù)進程要求,把當前需要的邏輯記錄從緩沖區(qū)中選出并傳送給進程。,在輸出數(shù)據(jù)時,只有在系統(tǒng)還來不及騰空緩沖而進程又要寫數(shù)據(jù)時,它才需要等待; 在輸入數(shù)據(jù)時,僅當緩沖區(qū)空而進程又要從中讀取數(shù)據(jù)時,它才被迫等待。 根據(jù)系統(tǒng)對緩沖區(qū)的不同設置,可把緩沖技術分為以下幾類: 單緩沖 雙緩沖 循環(huán)緩沖 緩沖池,
3、單緩沖 單緩沖是操作系統(tǒng)提供的最簡單的一種緩沖形式。每當一個進程發(fā)出一個I/O請求時,操作系統(tǒng)便在主存中為之分配一緩沖區(qū),該緩沖區(qū)用來臨時存放輸入/輸出數(shù)據(jù)。 對于塊設備,單緩沖機制如下工作: OS為進程分配一緩沖區(qū),塊設備輸入時從磁盤把一塊數(shù)據(jù)輸入緩沖區(qū)的時間為T,OS將緩沖區(qū)的數(shù)據(jù)傳送給用戶區(qū)的時間為M,計算時間為C,則T和C時可以并行的。數(shù)據(jù)處理時間約為 maxC,T+M。,對于字符設備,緩沖區(qū)用于暫存用戶輸入的一行數(shù)據(jù),輸入時,進程掛起等待輸入完畢;輸出時進程將一行數(shù)據(jù)輸入到緩沖區(qū),繼續(xù)執(zhí)行處理。如果前面的數(shù)據(jù)尚未提取完畢,則進程應阻塞。,工作區(qū),用戶進程,處理機,單緩沖,輸入(T),
4、傳送(M),I/O設備,緩沖區(qū)屬于臨界資源,不允許多個進程同時對一個緩沖區(qū)操作,讀、寫在單緩沖上互斥發(fā)生,因此單緩沖無法實現(xiàn)CPU與設備的并行操作。,?,緩沖區(qū)屬于臨界資源,不允許多個進程同時對一個緩沖區(qū)操作,讀、寫在單緩沖上互斥發(fā)生,因此單緩沖無法實現(xiàn)CPU與設備的并行操作。,一次僅允許一個進程訪問的資源稱為臨界資源。 硬件資源 如打印機、磁帶機等。 軟件資源 如共享變量、表格、隊列、棧等。,?,雙緩沖提高設備并行操作 輸入數(shù)據(jù)時,首先填滿緩沖區(qū)A,操作系統(tǒng)可從緩沖區(qū)A把數(shù)據(jù)送到用戶進程區(qū),用戶進程便可對數(shù)據(jù)進行加工計算;與此同時,輸入設備填充緩沖區(qū)B。 當緩沖區(qū)A空出后,輸入設備再次向緩沖
5、區(qū)1輸入。操作系統(tǒng)又可把緩沖區(qū)B的數(shù)據(jù)傳送到用戶進程區(qū),用戶進程開始加工緩沖B的數(shù)據(jù)。,雙緩沖,工作區(qū),用戶進程,處理機,緩沖區(qū)A,緩沖區(qū)B,I/O設備,寫,讀,雙緩沖,工作區(qū),用戶進程,處理機,緩沖區(qū)A,緩沖區(qū)B,I/O設備,寫,讀,如果CT,當上一塊數(shù)據(jù)計算完畢后,需把一個緩沖區(qū)中的數(shù)據(jù)傳送到用戶區(qū),花費時間為M,再對這塊數(shù)據(jù)進行計算,花費時間為C,所以,一塊數(shù)據(jù)的傳輸和處理時間為C+M、即max(C,T)+M,這種情況下進程不必要等待I/O。,?,計算機系統(tǒng)中的外圍設備較多,讀/寫數(shù)據(jù)速度有很大的差異,在向緩沖區(qū)讀/寫數(shù)據(jù)的過程中,高速設備等待的情況仍然比較嚴重,設備利用率比較低。,雙緩
6、沖,循環(huán)緩沖 環(huán)形緩沖技術是在主存中分配一組大小相等的存儲區(qū)作為緩沖區(qū),并將這些緩沖區(qū)鏈接起來,每個緩沖區(qū)中有一個指向下一個緩沖的指針,最后一個緩沖區(qū)的指針指向第一個緩沖區(qū),這樣n個緩沖區(qū)就成了一個環(huán)形。 三種類型的緩沖區(qū):用于裝輸入數(shù)據(jù)的空緩沖區(qū)R、已經(jīng)裝滿數(shù)據(jù)的緩沖區(qū)G、以及計算進程正在訪問的工作緩沖區(qū)C。 設置了四個指針。,循環(huán)緩沖,Nexti :指示寫進程下次可用的空緩沖區(qū)R,循環(huán)緩沖,Nextg :指示讀進程下一個可用的緩沖區(qū)G,循環(huán)緩沖,Current_R: 指示讀進程正在使用的緩沖區(qū),循環(huán)緩沖,Current_W: 指示寫進程正在使用的緩沖區(qū),進程同步問題,(1)Nexti指針追
7、趕上Nextg指針。這意味著進程輸入數(shù)據(jù)的速度大于進程取數(shù)據(jù)的速度,已把全部緩沖區(qū)裝滿。此時,寫進程應阻塞,直到讀進程把某個緩沖區(qū)的數(shù)據(jù)全部提取完,使之成為空緩沖區(qū)R,并調(diào)用Releasebuf過程將它釋放時,才將寫進程喚醒。(2)Nextg指針追趕上Nexti指針這意味著讀進程取數(shù)據(jù)的速度高于寫進程輸入數(shù)據(jù)的速度,使全部緩沖區(qū)都被抽空,讀進程只能阻塞,直到寫進程裝滿某個緩沖區(qū),調(diào)用Releasebuf過程將它釋放時,才去喚醒計算進程。,循環(huán)緩沖,循環(huán)緩沖,?,循環(huán)緩沖區(qū)僅適用于某特定的I/O進程和計算進程,屬于專用緩沖,共享程度低。當系統(tǒng)較大時,將會有許多這樣的緩沖區(qū),這不僅要消耗大量的內(nèi)存
- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 計算機 操作系統(tǒng) 設備管理 課件