(操作系统题目题型总结)第五章:设备管理
文章目錄
- 費翔林課本習題
- 思考題
- 應用題
費翔林課本習題
思考題
1.試述設備管理的基本功能(★★★)
【答案】
- 克服由于設備和CPU速度不匹配所引起的問題,使主機和設備能夠并行工作,提高設備使用效率
- 將所有設備抽象為文件,將其統一在文件系統下,賦予文件屬性,對設備的操作就類似于對文件的操作
- 對各種設備進行抽象,配置設備驅動程序,屏蔽物理細節和操作過程,提供統一使用界面
基本功能有
- 設備中斷處理
- 緩沖區管理
- 設備分配和回收
- 設備驅動管理
- 實現虛擬設備
2.試述各種I/O控制方式的優缺點(★★★)
【答案】
①輪詢方式
- 特點:CPU與I/O串行工作
- 優點:接口設計簡單,設備量少
- 缺點:CPU在信息傳送過程中藥花費很多時間用于查詢和等待,而且一段時間內只能和一臺外設交換信息,效率大大降低
②中斷方式
- 優點:I/O由于不必輪詢設備的準備情況,CPU和設備可實現部分并行操作,資源利用更加充分
- 缺點:如果中斷次數太多,會耗費大量CPU時間
③DMA方式
優點
- 它使主存與CPU的固定聯系脫鉤,主存既可以被CPU訪問,又可以被外設訪問
- 在數據塊傳送時,主存地址的確定、傳送數據的計數都由硬件電路直接實現
- 主存開辟專門的數據緩沖區,及時供給和接受外設的數據
- DMA傳送塊,CPU和外設并行工作,提高了系統效率
- DMA在傳送開始前要通過程序進行預處理,結束之后采用中斷方式進行后處理
缺點
- 每發出一次I/O指令,只能讀寫一個數據塊。如果希望一次能夠讀寫讀個離散數據塊,并把他么傳送到不同的內存區域,則需要CPU發出多條指令以及多次中斷才能完成
④:通道方式
優點:
- 可以再次減少CPU對I/O操作的的干預
- 由通道來管理和控制I/O操作,大大減少設備和CPU之間的邏輯聯系,將CPU從瑣碎的I/O的操作中解放了出來,實現了CPU和設備的并行操作、通道之間的并行操作、設備之間的并行操作,提高了整個系統的效率
3.試述DMA傳輸信息的工作原理
【答案】
分為預處理、數據傳送、后處理這三個過程
①預處理
由CPU完成一些必要的準備工作
首先,CPU執行幾條I/O指令,用以測試I/O設備狀態,再向DMA控制器的有關寄存器置初值、設置傳送方向,啟動該設備等等。然后CPU繼續執行原來的程序,直到I/O設備準備好發送的數據(輸入情況)或接受的數據(輸出情況)時,I/O設備向DMA控制器發送DMA請求,再由DMA控制器向CPU發送總線請求,用以傳輸數據
- 主存起始地址->AR
- I/O設備地址->DAR
- 傳送數據個數->WC
- 啟動I/O設備
②數據傳送
DMA的數據傳輸可以單字節(或字)為基本單位,也可以數據塊為基本單位。對于以數據塊為單位的傳送(如硬盤),DMA占用總線后的數據輸入和輸出操作都是通過循環來實現的。需要指出的是,這一循環也是由DMA控制器而非通過CPU執行程序實現的,即數據傳送階段完全由DMA(硬件)控制
- 設備將輸入寫入DR,發出DMA請求
- 控制邏輯檢測到一個數據后,向CPU發出總線請求,CPU給予反饋信號
- DMA控制器接管總線,進行數據傳送
- 主存地址計數器+1,長度計數器+1
- 傳輸完多個字后,長度計數器溢出,溢出信號傳送給中斷機構,向CPU發出中斷請求
③后處理
DMA控制器向CPU發出中斷請求,CPU執行中斷服務程序做DMA結束處理,包括校驗送入主存的數據是否正確,測試傳送過程中是否出錯(如果出錯則轉入診斷程序)以及決定是否繼續使用DMA傳送其他數據塊等等
接著,CPU繼續執行主程序
4.什么是通道?為何引入
【答案】
DMA方式與程序中斷方式相比,進一步減少了CPU對I/O操作的干預,但每發出一次I/O指令,只能讀寫一個數據塊,用戶希望一次能夠讀寫多個離散數據塊,并把它們傳送到不同的內存區域或相反,則需要由CPU發出多條啟動I/O指令及進行多次I/O中斷處理才能完成。通道方式是DMA方式的發展,能夠再次減少CPU對I/O操作的干預。同時,為了充分發揮CPU和設備之間的并行工作能力,也為了讓種類繁多且物理特性各異的設備能夠以標準的接口連接倒系統中,計算機系統引入自成體系的通道結構,通道方式的出現是現代計算機系統功能不斷完善,性能不斷提高的結果,是計算機技術的重要進步
5.I/O軟件主要涉及哪些任務(★★★)
【答案】
- 設備無關性:程序員編寫訪問文件數據的程序時,與具體物理設備無關
- 出錯處理:數據傳輸過程中產生的錯誤應該在盡可能靠近硬件的地方處理,底層軟件能夠解決的錯誤不讓高層軟件感知
- 同步/異步處理:CPU在啟動I/O操作之后既可以繼續執行其他工作,直到中斷到達,這叫做異步傳輸又可以采用阻塞方式,讓啟動I/O操作的進程掛起等待,直到數據傳輸完成,這叫做同步傳輸,I/O軟件應該支持這兩種工作方式
- 緩沖技術:建立數據庫緩沖區,讓數據的到達率與離去率相匹配,以提高系統吞吐率
6.試述I/O系統的層次及其功能(★★★)
‘’、
【答案】
①:I/O中斷處理程序:
- 當進程請求I/O操作時,通常被掛起,直到數據傳輸結束并產生I/O中斷時,操作系統接管CPU后轉向中斷處理程序執行
- 當設備向CPU提出中斷請求時,CPU先響應請求并轉入中斷處理程序,它需要做的工作有:檢查設備狀態寄存器內容,判斷產生中斷原因,根據I/O操作的完成情況進行相應處理;若數據傳輸有錯誤,應該向上層軟件報告設備出錯信息;若正常結束,應該喚醒等待傳輸的進程,使其轉換為就緒態
②:設備驅動程序
- 設備驅動程序包括與設備密切相關的所有代碼,其任務是把用戶提交的邏輯I/O請求轉化為物理I/O操作的啟動和執行,同時監督設備是否正確執行,管理數據緩沖區,進行必要的糾錯處理
- 三個功能:設備初始化、執行涉筆驅動例程、調用和執行中斷處理程序
③:獨立于設備的I/O軟件
- 基本功能是執行適用于所有設備的常用I/O功能,并向用戶層軟件提供一致性接口
- 功能:設備命名和保護、提供與設備無關的塊尺寸、緩沖技術、設備分配和狀態追走、錯誤報告
④:用戶層軟件
- 用戶層軟件實現了與用戶交互的接口,用戶可以直接使用該層提供的、與I/O操作相關的庫函數對設備進行操作
- 接著,用戶層軟件就會負責將用戶的請求翻譯為等價的系統調用
總結:
I/0軟件分為4層:設備中斷處理程序、設備驅動程序獨立于設備的I/0軟件、用戶空間的I/O軟件。設備中斷處理程序通常是設備驅動程序的組成部分,置于底層,其主要工作有分析中斷類型以做出相應的處理,檢查和修改進程狀態等,它的任務要盡量少,以便提高性能;設備驅動程序中包括與設備相關的所有代碼,其工作是把用戶提交的邏輯I/O請求轉化為物理I/O操作的啟動和執行,如設備名轉化為端口地址、邏輯記錄轉化為物理記錄、邏輯操作轉化為物理操作等,它為上層軟件屏蔽所有硬件細節;獨立于設備的I/O軟件的基本功能是實現適用于所有設備的常用I/O0 操作并向上層軟件提供一致性接口,如設備命名、設備保護緩沖管理、存儲塊分配等;用戶空間的I/O軟件包括在用戶空間運行的I/O庫函數和SPOOLing程序
7.外部設備與CPU并行工作的基礎是什么
【答案】
通道
8.什么是通道命令字(CCW)和通道程序
【答案】
通道是一個具有特殊功能的處理器,它有自己的指令和程序,專門負責數據輸入輸出的傳輸控制 (CPU把傳輸控制的功能下放給通道)。通道受CPU的I/O指令啟動、停止或改變其工作狀態。通道的基本功能是按I/O指令要求啟動I/O設備,執行通道指令,組織I/O設備和主存進行數據傳輸,向CPU報告中斷等
-
?通道指令:又叫通道控制字 (CCW),它是通道用于執行I/O操作的指令,它可以由管理程序存放在主存的任何地方,由通道從主存取出并執行
-
?通道程序:由通道指令組成,它完成某種外圍設備與主存傳送信息的操作,如將磁帶記錄區的部分內容送到指定地址的主存緩沖區內
9.什么是通道地址字(CAW)和通道狀態字(CSW)
-
CAW:用來存放通道程序首地址的主存固定單元稱為“通道地址字”。
-
CSW:用于記錄通道和設備執行情況的主存單元
10.試述采用通道技術時I/O操作的全過程
【答案】
具有通道裝置的計算機系統的主機、通道、控制器和設備之間采用四級連接,實施
三級控制。一個CPU通常可以連接若干通道,一個通道可以連接若干控制器,一個控制器可以連接若干設備。CPU通過執行I/O指令對通道實施控制,通道通過執行通道命令對控制器實施控制,控制器發出動作序列對設備實施控制,設備執行相應I/O操作。采用I/O通道設計后,I/O操作過程如下:CPU在執行主程序時遇到I/O請求,啟
動在指定通道上選址的設備,一旦啟動成功,通道開始控制設備進行操作,這時CPU就可以執行其他任務并與通道并行工作,直到I/0操作完成;當通道發出I/O操作結束中斷時,處理器才響應并停止當前工作,轉而處理I/0操作結束事件
11.為什么要引入緩沖技術,基本思想是什么(★★★)
【答案】
引入原因
- 解決CPU與設備之間速度不匹配的矛盾與協調邏輯記錄大小與物理記錄大小不一致的問題
- 提高CPU和設備的并行性
- 減少I/O操作對CPU的中次數
- 放寬對CPU中斷響應時間的要求
基本思想:實現緩沖技術的基本思想如下:當進程執行寫操作輸出數據時.先向系統申請一個輸出緩沖區然后將數據送至緩沖區,若是順序寫請求.則不斷地把數據填人緩沖區,直到裝滿為止,此后進程可以繼續計算,同時,系統將緩沖區的內容寫到設備上。當進程執行讀操作輸人數據時,先向系統申請一個輸 人緩沖區,系統將設備上的一條物理記錄讀至緩沖區,根據要求把當前所需要的邏輯記錄從緩沖區中選出并傳送給進程
12.試述常用的緩沖技術(★★★)
【答案】
單緩沖:采用該策略,操作系統會在主存中為其分配一個緩沖區(一個緩沖區大小一般就是一個塊)。具體來說:
- 當緩沖區數據非空時,不能向緩沖區沖入數據,只能從緩沖區中把數據傳出
- 當緩沖區數據為空時,可以向緩沖區沖入數據,但必須把緩沖區沖滿以后,才能從緩沖區中傳出數據
雙緩沖:采用該策略,操作系統會在主存中為其分配兩個緩沖區(一個緩沖區大小一般就是一個塊)
循環緩沖區:有時單緩沖和雙緩沖并不能滿足條件,所以可以將多個大小相等的緩沖區鏈接成一個循環隊列
緩沖池:和線程池等概念類似,它由系統中共用的緩沖區組成。這些緩沖區按照使用狀況可以分為
- 空緩沖隊列
- 裝滿輸入數據的緩沖隊列
- 裝滿輸出數據的緩沖隊列
13.什么是驅動調度?有哪些常用的驅動調度技術
【答案】
在繁重的I/O負載下,同時會有若干傳輸請求來到并等待處理,系統必須采用一種調度策略,能夠按照最佳次序執行要求訪問的諸多請求,這叫做驅動調度,所使用的的算法叫做驅動調度算法
14.外部設備分為哪些類型,各類設備的物理特點是什么?(★★★)
【答案】
- 存儲型設備:如磁盤機等,以存儲大量信息和快速檢索為目標,在系統中存儲持久性信息,它作為內存的擴充,又叫做外存
- I/O型設備:如顯示器等,他們把外界信息輸入計算機,把計算結果從計算機中輸出,完成計算機之間的通信或人際交互
15.什么是設備獨立性(★★★)
【答案】
用戶通常不指定物理設備,而是指定邏輯設備,使得用戶作業和物理設備分離開來,再通過其他途徑建立邏輯設備和物理設備之間的映射,設備的這種特性叫做設備獨立性
在具有設備獨立性的系統中,用戶編寫的程序可以訪問任何設備而無需事先指定物理設備號,也即程序中所指定的設備與物理設備無關,邏輯設備名是用戶命名的,是可以更改的,物理設備名是系統規定的,不能更改。設備管理功能之一就是把邏輯設備名轉換為物理設備名
16.解釋設備類、設備相對號和設備絕對號
【答案】
實現設備分配,系統中應該建立設備分配數據結構:設備類表和設備表。
- 系統擁有一張設備類表,每類設備對應于設備類表的一個表項,其中包括設備類、總臺數、空閑臺數和設備表起始地址
- 每類設備有各自的設備表,用來登記該類設備中的每臺物理設備,所包含的內容有物理設備號,邏輯設備號,占有設備的進程號,已分配/未分配
17.解釋靜態分配與動態分配
【答案】
- 靜態分配:在作業執行前,將所需要的設備全部分配給它,當作業在執行過程中不再需要使用這類設備或者作業結束將要撤銷時再收回設備
- 動態分配:在作業執行過程中要求輸出一批信息時,系統才把打印機分配給作業,當一個文件輸出完畢要關閉時,系統就收回分配給此作業的打印機
18.什么是井、輸入井、輸出井?
【答案】
輸入井和輸出井是指在磁盤上開辟出的連個存儲區域
- 輸入井模擬脫機輸入時的磁盤,用于收容I/O設備輸入的數據
- 輸出井模擬脫機輸出時的磁盤,用于說榮用戶程序的輸出數據
19.井管理程序有什么功能?它是如何工作的
【答案】
作業執行過程中要求啟動某臺設備進行I/O操作時,作業控制程序截獲這個要求并調用井管理程序控制從相應輸入井讀取信息,或將信息傳送至輸出井
20.什么是虛擬技術?實現虛擬設備的主要條件是什么(★★★)
【答案】
虛擬技術:在一臺共享設備上模擬若干臺獨享設備的操作,把獨占設備變成邏輯上的共享設備,這種技術叫做虛擬設備技術
實現虛擬設備的條件是硬件要有大容量的緩沖區,軟件要有預輸入程序和緩輸出程序,井管理程序
21.試述SPOOLing系統和作業調度之間的關系
【答案】
SPOOLing系統是用一類物理設備模擬另一類物理設備的技術,能使獨占式設備變為共享式設備。作業調度程序根據預定的調度算法選擇收容狀態的作業運行作業表示作業調度程序運行作業調度的依據,是SPOOLing系統和作業調度程序共享的數據結構
22.為什么SPOOLing技術又叫做假脫機技術
【答案】
所謂脫機指的就是脫離主機的控制進行輸入/輸出操作,SPOOLing的意思是外部設備同時聯機操作,是一種用軟件模擬的脫機技術
23.SPOOLing是如何把獨占式設備改造成共享式設備的(★★★)
【答案】
由于現代計算機有較強的并行操作能力,處理器在執行計算的同時可進行聯機外
部設備操作,操作系統將一批作業從輸入設備上預先輸人至磁盤的輸人緩沖區中暫存,這稱為“預輸人”。此后,由作業調度程序調度作業執行,作業使用數據時不必再啟動輸入設備,只要從磁盤的輸人緩沖區中讀人即可;類似地,作業執行過程中不必直接啟動輸出設備,只要將作業的輸出數據暫時保存到磁盤的輸出緩沖區,當作業執行完畢后,由操作系統組織信息成批輸出,這稱為“緩輸出”。這樣,不但設備利用率提高,作業運行時間也縮短了,因為作業執行時需要1/0數據時不再和低速設備聯系,而是與高速磁盤交互。可見,操作系統提供外部設備聯機操作功能后,不但系統效率會有很大提高,而且使得每個作業感覺各自擁有所需的獨古型設備。例如,雖然系統只有兩臺物理打印機,但是運行的5個作業都感到各自擁有一臺速度如同磁盤樣快的打印機,可以說采用這種技術的操作系統提供了虛擬設備。SPOOLing 技術是用類物理設 備模擬另一類物理設備的技術,是使獨古型設備變成共享設備的種技術
應用題
【答案】
- 處理次序為:100-110-129-147-186-78-64-41-27-18-12-10-8
- 移動總柱面數為:264
【答案】
按照次序5、3、2、1、4進行調度可以使磁盤的旋轉圈數最少。平均用1/2周定位,再加上1/4周讀出記錄。總處理時間為12+14+12+14+1+12+14+1=4.25\frac{1}{2} +\frac{1}{4}+\frac{1}{2}+\frac{1}{4}+1+\frac{1}{2}+\frac{1}{4}+1=4.2521?+41?+21?+41?+1+21?+41?+1=4.25圈
【答案】
- FCFS:11-1-36-16-34-9-12,移動量為10+35+20+18+25+3=111
- SSTF:11-12-9-16-1-34-36,移動量為1+3+7+15+33+2=61
- SCAN:11-12-16-34-36-39-9-1(向高地址),移動量為1+4+18+30+8=61;11-9-1-0-12-16-34-36(向低地址),移動量為2+8+1+12+4+18+2=47
【答案】
- 對位于當前柱面的新請求,只要–到達就可得到服務,但對其他柱面的服務則不然。如SST下算法,一個離當前柱面遠的請求,可能其后不斷有離當前柱面近的請求到達而得不到服務(饑餓)
- 可劃定一個時間界限,把這段時間內尚未得到服務的請求強制移到隊列首部,并標記任何新請求不能插到這些請求前。對于SSTF算法來說,可以重新排列這些老請求,以優先處理
- 可避免分時進程等待時間過長而拉長響應時間
【答案】
每個柱面的物理塊數是20×8=160塊,606/16=3余126,所以是第三個柱面的126物理塊中
【答案】
(1)如果不成組,那么一個邏輯記錄就會占用一個物理塊,而0.6英寸就是480個字符。所以利用率為160/(480+160)=25%
- 這里假如以5個邏輯記錄為一組:此時每5個邏輯記錄會構成一個物理塊,所以利用率就是(160×5)÷(480+160×5)=62.5%
(2)不成組,此時1500×((480+160)/800)=1200
(3)假定為x,那么就要滿足不等式160X÷(480+160X)>=0.5,所以至少為3塊
【答案】
凌亂存放
- 讀一塊的時間:13×6+100+25=203ms
- 100塊:20300ms
優化存放
- 讀一塊的時間:2×6+100+25=137ms
- 100塊:13700ms
【答案】
總結
以上是生活随笔為你收集整理的(操作系统题目题型总结)第五章:设备管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTML中的div标签
- 下一篇: (王道408考研操作系统)第三章内存管理