计算机操作系统设备管理ppt,计算机操作系统设备管理.ppt
《計算機操作系統設備管理.ppt》由會員分享,可在線閱讀,更多相關《計算機操作系統設備管理.ppt(54頁珍藏版)》請在裝配圖網上搜索。
1、計算機操作系統,制作者:張曉艷 2010年5月,第四章 設備管理 設備管理程序的功能: (1)提供和進程管理系統的接口。 (2)進行設備分類。按照設備類型和相應的分配算法把設備和其他有關的硬件分別給請求該設備的進程,并把未分配到所請求設備或其他有關硬件的進程放入等待隊列。 (3)實現設備和設備、設備和CPU等之間的并行操作。 (4)進行緩沖管理,解決低速I/O設備與高速CPU之間傳送數據不匹配問題。,4.3 緩沖管理 引入緩沖技術的目的 改善中央處理器與外圍設備之間速度不配的矛盾,凡是數據到達和離去速度不匹配的地方均可采用緩沖技術。 減少對CPU的中斷頻率,放寬對CPU中斷響應時間的限制, 提。
2、高CPU和I/O設備的并行性。,緩沖技術實現的基本思想: 進程執行寫操作輸出數據時,向系統申請一個緩沖區,若為順序寫請求,則不斷把數據填到緩沖區,直到被裝滿。此后,進程繼續它的計算,系統將緩沖區內容寫到I/O設備上。 進程執行讀操作輸入數據時,向系統申請一個緩沖區,系統將一個物理記錄的內容讀到緩沖區,根據進程要求,把當前需要的邏輯記錄從緩沖區中選出并傳送給進程。,在輸出數據時,只有在系統還來不及騰空 緩沖而進程又要寫數據時,它才需要等待; 在輸入數據時,僅當緩沖區空而進程又要從 中讀取數據時,它才被迫等待。 根據系統對緩沖區的不同設置,可把緩沖技 術分為以下幾類: 單緩沖 雙緩沖 循環緩沖 緩。
3、沖池,單緩沖 單緩沖是操作系統提供的最簡單的一種緩沖形式。每當一個進程發出一個I/O請求時,操作系統便在主存中為之分配一緩沖區,該緩沖區用來臨時存放輸入/輸出數據。 對于塊設備,單緩沖機制如下工作: OS為進程分配一緩沖區,塊設備輸入時從磁盤把一塊數據輸入緩沖區的時間為T,OS將緩沖區的數據傳送給用戶區的時間為M,計算時間為C,則T和C時可以并行的。數據處理時間約為 maxC,T+M。,對于字符設備,緩沖區用于暫存用戶輸入的一行數據,輸入時,進程掛起等待輸入完畢;輸出時進程將一行數據輸入到緩沖區,繼續執行處理。如果前面的數據尚未提取完畢,則進程應阻塞。,工作區,用戶進程,處理機,單緩沖,輸入(。
4、T),傳送(M),I/O設備,緩沖區屬于臨界資源,不允許多個進程同時對一個緩沖區操作,讀、寫在單緩沖上互斥發生,因此單緩沖無法實現CPU與設備的并行操作。,?,緩沖區屬于臨界資源,不允許多個進程同時對一個緩沖區操作,讀、寫在單緩沖上互斥發生,因此單緩沖無法實現CPU與設備的并行操作。,一次僅允許一個進程訪問的資源稱為臨界資源。 硬件資源 如打印機、磁帶機等。 軟件資源 如共享變量、表格、隊列、棧等。,?,雙緩沖提高設備并行操作 輸入數據時,首先填滿緩沖區A,操作系統可從緩沖區A把數據送到用戶進程區,用戶進程便可對數據進行加工計算;與此同時,輸入設備填充緩沖區B。 當緩沖區A空出后,輸入設備再次。
5、向緩沖區1輸入。操作系統又可把緩沖區B的數據傳送到用戶進程區,用戶進程開始加工緩沖B的數據。,雙緩沖,工作區,用戶進程,處理機,緩沖區A,緩沖區B,I/O設備,寫,讀,雙緩沖,工作區,用戶進程,處理機,緩沖區A,緩沖區B,I/O設備,寫,讀,如果CT,當上一塊數據計算完畢后,需把一個緩沖區中的數據傳送到用戶區,花費時間為M,再對這塊數據進行計算,花費時間為C,所以,一塊數據的傳輸和處理時間為C+M、即max(C,T)+M,這種情況下進程不必要等待I/O。,?,計算機系統中的外圍設備較多,讀/寫 數據速度有很大的差異,在向緩沖區讀/寫 數據的過程中,高速設備等待的情況仍然 比較嚴重,設備利用率比。
6、較低。,雙緩沖,循環緩沖 環形緩沖技術是在主存中分配一組大小相等的存儲區作為緩沖區,并將這些緩沖區鏈接起來,每個緩沖區中有一個指向下一個緩沖的指針,最后一個緩沖區的指針指向第一個緩沖區,這樣n個緩沖區就成了一個環形。 三種類型的緩沖區:用于裝輸入數據的空緩沖區R、已經裝滿數據的緩沖區G、以及計算進程正在訪問的工作緩沖區C。 設置了四個指針。,循環緩沖,Nexti :指示寫進程下次可用的空緩沖區R,循環緩沖,Nextg :指示讀進程下一個可用的緩沖區G,循環緩沖,Current_R: 指示讀進程正在使用的緩沖區,循環緩沖,Current_W: 指示寫進程正在使用的緩沖區,進程同步問題,(1)Ne。
7、xti指針追趕上Nextg指針。 這意味著進程輸入數據的速度大于進程取數據的速度,已把全部緩沖區裝滿。此時,寫進程應阻塞,直到讀進程把某個緩沖區的數據全部提取完,使之成為空緩沖區R,并調用Releasebuf過程將它釋放時,才將寫進程喚醒。 (2)Nextg指針追趕上Nexti指針 這意味著讀進程取數據的速度高于寫進程輸入數據的速度,使全部緩沖區都被抽空,讀進程只能阻塞,直到寫進程裝滿某個緩沖區,調用Releasebuf過程將它釋放時,才去喚醒計算進程。,循環緩沖,循環緩沖,?,循環緩沖區僅適用于某特定的I/O進程和 計算進程,屬于專用緩沖,共享程度低。 當系統較大時,將會有許多這樣的緩沖區,。
8、這不僅要消耗大量的內存空間,而且其利用率不高。,緩沖池 從自由主存中分配一組緩沖區即可構成緩池。 1緩沖池的組成 緩沖池中的緩沖區一般有以下三種類型:空閑緩沖區、裝滿輸入數據的緩沖區和裝滿輸出數據的緩沖區。 為了管理將相同類型的緩沖區鏈成三個隊列: 空緩沖隊列emq 輸入隊列inq 輸出隊列outq,除了上述三種隊列外,還應具有四種工作緩區: 用于收容輸入數據的工作緩沖區hin; 用于提取輸入數據的工作緩沖區sin; 用于收容輸出數據的工作緩沖區hout; 用于提取輸出數據的工作緩沖區sout;,緩沖池,2. Getbuf過程和Putbuf過程,隊列是臨界資源互斥且同步 信號量 為使諸進程能互。
9、斥地和同步地訪問緩沖池隊列, 可分別為每一隊列設置一個互斥訪問信號量S1(type), 初值為1。 另外一個是資源同步信號量S2(type), 初值為n,表示該類緩沖區的數目。,Getbuf與Putbuf流程圖,3.緩沖區的工作方式,3.緩沖區的工作方式,1)收容輸入工作方式 調用Getbuf(emp) emp隊列的隊首摘下一個空緩沖區 hin 輸入數據 調用Putbuf(inq,hin) 將hin掛到inq隊列的隊尾 2)提取輸入工作方式 調用Getbuf(inq) 輸入隊列的隊首摘下一個緩沖區 sin 提取數據 調用Putbuf(emp,sin) 將sin掛到emp隊列的隊尾 3)收容輸出。
10、工作方式 調用Getbuf(emp) emp隊列的隊首摘下一個空緩沖區 hout 輸出數據 調用Putbuf(outq,hout) 將hout掛到outq隊列的隊尾 4)提取輸出工作方式 調用Getbuf(outp) 輸出隊列的隊首摘下一個緩沖區 hin 提取數據 調用Putbuf(emp,sout) 將sout掛到emp隊列的隊尾,設備分配的總原則 (1)既要充分發揮設備的使用效率,又要避免由于不合理的分配方法而造成進程死鎖 (2)實現設備的獨立性,即把用戶程序和具體物理設備隔離開來。,4.4設備分配, 系統分配時要考慮的因素 1.設備分配方式 靜態分配方式 不會出現死鎖 設備利用率低,一般。
11、不使用 動態分配方式 提高了設備利用率,但可能造成死鎖 1)先請求先分配 2)優先級高者先分配,系統分配時要考慮的因素 2.設備特性 獨占設備 獨享分配策略(靜態分配) 設備利用率低 共享設備 虛擬設備 同時分配給多個進程使用(動態分配) 合理調度訪問次序,系統分配時要考慮的因素 3.設備分配中的安全性 安全分配方式 摒棄了“請求和保持”條件 CPU與I/O設備串行工作,進程進展緩慢 不安全分配方式 一個進程可同時操作多個設備,進程推進迅速 可能造成死鎖,應進行安全性計算, 設備分配中的數據結構 1.設備控制表DCT, 設備分配中的數據結構 2.系統設備表SDT, 設備分配中的數據結構 3.控。
12、制器控制表COCT, 設備分配中的數據結構 4.通道控制表CHCT, 設備分配算法, 設備分配算法,單通路I/O,多通路I/O,設備獨立性 應用程序獨立于具體使用的物理設備 設備分配時的靈活性 易于實現I/O重定向,邏輯設備表(LUT),用于單用戶系統,用于多用戶系統,4.5 設備虛擬性,脫機輸入輸出 增加不與主機相連而專門用于 輸入/輸出的外圍計算機 SPOOLing(Simultaneous Peripheral Operations On-line 外圍設備同時聯機操作) 假脫機操作,SPOOLing系統的組成,(1)提高了I/O的速度 (2)將獨占設備改造成了共享設備 (3)實現了虛擬。
13、設備功能,SPOOLing系統的特點,SPOOLing系統的應用 共享打印機,設備處理是通過設備處理程序來實現的,通常又稱為設備驅動程序。它是I/O進程和設備控制器之間的通信程序,常以進程的形式被CPU調度。,4.6 設備處理過程,設備驅動程序的特點 (1) 驅動程序主要是在請求I/O的進程與設備控制器之間的一個通信程序。它將進程的I/O請求傳送給控制器,而把設備控制器中所記錄的設備狀態、I/O操作完成情況,反映給請求I/O的進程。 (2) 驅動程序與I/O設備的特性緊密相關。一般情況下,各類設備包括不同廠家生產的同一類設備都采用不同的驅動程序。目前有很多驅動程序,其基本部分已經固化,放在RO。
14、M中。 (3) 根據不同的I/O控制方式,驅動程序驅動設備完成相應的I/O工作。,設備驅動程序的主要功能 (1) 將接收到的抽象要求轉換為具體要求。 (2) 檢查用戶I/O請求的合法性,了解I/O設備的狀態,傳遞有 關參數,設置設備的工作方式。 (3) 發出I/O命令,啟動分配到的I/O設備,完成指定的I/O操作。 (4) 及時響應由控制器或通道發來的中斷請求,并根據其中斷 類型調用相應的中斷處理程序進行處理。 (5) 對于設置有通道的計算機系統,驅動程序還應能夠根據 用戶的I/O請求,自動地構成通道程序。,設備處理流程,每類(個)設備設置一個專門的I/O進程,且該進程只能在系統態下執行。 整個系統設置一個I/O進程,全面復雜系統的數據傳送工作。 每類(個)設備設置一個專門的I/O進程,但該進程既可以用在用戶態也可以在系統態下執行。,設備處理方式,謝謝大家。
總結
以上是生活随笔為你收集整理的计算机操作系统设备管理ppt,计算机操作系统设备管理.ppt的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自用笔记本电脑搭建自己的网站
- 下一篇: php nginx 负载均衡