2020 作業系統複習 第六章 裝置管理

2021-10-14 11:51:52 字數 2017 閱讀 5362

6.4 裝置驅動程式

6.4.3 對i/o裝置的控制方式

使用輪詢的可程式設計i/o方式

使用中斷的可程式設計i/o方式

直接儲存器訪問方式

i/o通道控制方式(需要cpu干預最少的i/o控制方式)

6.6 使用者層的i/o軟體

6.6.2 假離線(spooling)系統

設計思想:用常駐記憶體的程序去模擬外圍機,從而用一台主機完成離線技術中需用三颱計算機完成的工作。

功能: 把獨佔裝置改造為邏輯共享裝置。

 把一台物理i/o裝置虛擬為多台邏輯i/o裝置。

spooling 系統的組成: 1 輸入井和輸出井

2 輸入緩衝區和輸出緩衝區

3 輸入程序和輸出程序

4 井管理程式

輸入井和輸出井(外存中)

 輸入井和輸出井是在磁碟上開闢的兩個大的儲存空間,分別模擬輸入裝置和輸出裝置。

 輸入井用於暫存 i/o 裝置輸入的資料。輸出井用於暫存使用者程式的輸出資料。

輸入緩衝區和輸出緩衝區(記憶體中)

 輸入緩衝區和輸出緩衝區是為了緩和 cpu、磁碟、i/o 裝置之間速度不匹配的矛盾而設定的。

 i/o 裝置(輸入裝置) ⇒ 輸入緩衝區 ⇒ 輸入井

 輸出井 ⇒ 輸出緩衝區 ⇒ i/o 裝置(輸出裝置)

輸入程序和輸出程序

 輸入程序和輸出程序用於控制 i/o 裝置與磁碟井之間的資訊交換。

 輸入程序 spi 相當於離線輸入控制器。

控制:i/o 裝置 ⇒ 輸入 buf⇒ 輸入井

 輸出程序 spo 相當於離線輸出控制器。

控制:輸出井 ⇒ 輸出 buf⇒i/o 裝置

井管理程式

磁碟訪問時間:

 尋道時間ts:將磁頭從當前位置移到指定磁軌所經歷的時間ts=m×n+s。s為啟動磁臂的時間,n為移動的磁軌數,m為常數。

 旋轉延遲時間tr:指定扇區移動到磁頭下面所經歷的時間。設每秒r轉,則tr =1/2r(均值)

 傳輸時間tt:將扇區上的資料從磁碟讀出或向磁碟寫入資料所經歷的時間tt= b/rn。其中b:讀寫位元組數,n:每道上的位元組數。

 控制器時間tc

訪問時間ta:ta=m×n+s+1/2r+b/rn+tc

 適當地集中資料傳輸,將有利於提高傳輸效率。

 資訊在儲存空間的排列方式會影響訪問等待時間。

6.8.2 早期的磁碟排程演算法

先來先服務 fcfs

 根據程序請求訪問磁碟的先後次序進行排程。

 可能造成磁頭臂來回反覆移動,增加了等待時間,而且對機械結構不利。

 磁頭引臂橫向移動的速度很慢,若按照請求發出的次序依次讀/寫各個磁碟塊,則磁頭引臂在內磁軌和外磁軌之間頻繁地移動,造成較大的時間開銷,影響效率。

 這種演算法通常可用於輸入/輸出負載較輕的系統。

最短尋道時間優先 sstf

 要求訪問的磁軌與當前磁頭所在的磁軌距離最近。

 與先來先服務排程演算法相比,磁頭引臂的機械運動明顯減少,所需時間大幅度降低。

 存在的缺點:磁臂粘著、磁軌歧視。

6.8.3 基於掃瞄的磁碟排程演算法

掃瞄演算法(scan)/電梯(look)演算法

 更優先考慮的是磁頭當前的移動方向。

 起始時磁頭處於最外柱面,並向內柱面移動。在移動的過程中,如果途經的柱面有訪問請求,則為其服務。一旦內柱面沒有訪問請求,則改變移動方向(如外柱面有請求)或停止移動(外柱面也無請求)。

 不掃瞄到頭

 對於靠近邊緣的柱面,最壞情況的移動量為2n-1(n為柱面數);對於靠近中部的柱面,最壞情況為n-1。平均情況分別約為n和n/2。

作業系統 第六章 同步

協作程序能與系統內的其他執行程序相互影響。協作程序或能直接共享邏輯位址空間 即 和資料 或能通過檔案或訊息來共享資料,然而共享資料的併發訪問可能導致資料的不一致 共享資料併發 並行訪問 例 有界緩衝 防止競爭條件方法 併發程序同步或互斥 互斥若能保證諸程序互斥進入關聯的臨界區,可實現對臨界資源的互斥...

第六章複習

一.迴圈語句 while do while.for 1.while 迴圈控制表示式 括號內容為真時執行,假時退出。語句序列 迴圈體 2.do while 迴圈控制表示式 真實執行假時退出。注意 該迴圈體內語句至少執行一次。3.for 初始化表示式 迴圈控制表示式 增值表示式 使用的一般原則 迴圈次數...

作業系統概念第六章 同步

多個程序併發訪問和操作同一資料並且執行結果與訪問順序有關,稱為競爭條件。為防止出現競爭條件,需確保一次只有乙個程序可以運算元據,為此要求這些程序按照一定方式來進行同步。同步的解決方案1 互斥鎖 當乙個程序試圖獲取不可用的鎖時,它會阻塞,知道鎖被釋放。當有乙個程序在臨界區時,任何其他程序在進入臨界區時...