操作系統(tǒng)原理-方敏-設備管理_第1頁
操作系統(tǒng)原理-方敏-設備管理_第2頁
操作系統(tǒng)原理-方敏-設備管理_第3頁
操作系統(tǒng)原理-方敏-設備管理_第4頁
操作系統(tǒng)原理-方敏-設備管理_第5頁
已閱讀5頁,還剩43頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第七章設備管理操作系統(tǒng)課程組一、引言設備的概念一個計算機系統(tǒng)就是由大量的設備構成的,例如:CPU,磁盤,顯卡、顯示器、鼠標、鍵盤等。這些設備的特點和功能各不相同。在這些設備中,有一類是作為計算機系統(tǒng)與外界交互的工具使用的,它具體負責計算機與外部的輸入輸出工作,我們稱這類設備為外部設備簡稱為外設,本章重點研究的就是操作系統(tǒng)中對這類設備的管理策略。設備管理的目標如何提高設備的利用率:就是提高CPU與I/O設備之間的并行操作程度。為用戶提供方便統(tǒng)一的界面:方便是指用戶能獨立于具體設備的復雜物理特性之外而方便地使用設備;統(tǒng)一是指對不同的設備盡量使用統(tǒng)一的操作方式。2一、引言設備管理的任務動態(tài)地掌握并記錄設備的狀態(tài)設備分配和釋放緩沖區(qū)管理實現(xiàn)物理I/O設備的操作提供設備使用的用戶接口設備的訪問和控制I/O緩沖和調度3二、I/O系統(tǒng)概述I/O系統(tǒng)的結構單總線結構具有通道系統(tǒng)的I/O系統(tǒng)bus4二、I/O系統(tǒng)概述I/O系統(tǒng)的控制方式直接控制方式CPU優(yōu)點:簡單。缺點:CPU的大部分時間都用于對硬件進行測試,效率低下。5二、I/O系統(tǒng)概述中斷驅動I/OCPU啟動外設data發(fā)出中斷優(yōu)點:在外設進行數(shù)據(jù)處理時,CPU不必等待,可以繼續(xù)執(zhí)行該程序或其他程序。提高了CPU的利用率。中斷技術使得CPU和外設之間的并行工作成為可能。缺點:數(shù)據(jù)仍然需要通過CPU進行傳輸,由于CPU每次處理的數(shù)據(jù)量少,因此這種方式只適于數(shù)據(jù)傳輸率較低的設備。6二、I/O系統(tǒng)概述直接存儲訪問I/O(DMA,DirectMemoryAccess)CPU啟動外設data發(fā)出中斷DMA控制器啟動指令中斷優(yōu)點:CPU只需干預I/O操作的開始和結束,而其中的數(shù)據(jù)讀寫無需CPU控制,適于高速設備。7CPU二、I/O系統(tǒng)概述通道控制方式I/OI/O處理機一個CPU可以連接若干個通道,一個通道可以連接若干個控制器,一個控制器可以連接若干個設備。優(yōu)點:解決了I/O操作的獨立性和各部件工作的并行性。通道把中央處理機從繁瑣的輸入輸出操作中解放出來。采用通道技術后,不僅能實現(xiàn)CPU和通道的并行操作,而且通道與通道之間也能實現(xiàn)并行操作,各通道上的外圍設備也能實現(xiàn)并行操作,從而可達到提高整個系統(tǒng)的效率的根本目的。8二、I/O系統(tǒng)概述I/O設備的分類按數(shù)據(jù)組織分類塊設備(BlockDevice):指以數(shù)據(jù)塊為單位來組織和傳送數(shù)據(jù)信息的設備。這類設備用于存儲信息,有磁盤和磁帶等。它屬于有結構設備。磁盤設備的基本特征是:①傳輸速率較高,通常每秒鐘為幾兆位;②它是可尋址的,即可隨機地讀/寫任意一塊;③磁盤設備的I/O采用DMA方式。字符設備(CharacterDevice):指以單個字符為單位來傳送數(shù)據(jù)信息的設備。這類設備一般用于數(shù)據(jù)的輸入和輸出,有交互式終端、打印機等。它屬于無結構設備。字符設備的基本特征是:①傳輸速率較低;②不可尋址,即不能指定輸入時的源地址或輸出時的目標地址;③字符設備的I/O常采用中斷驅動方式。9二、I/O系統(tǒng)概述從資源分配角度分類獨占設備:指在一段時間內只允許一個用戶(進程)訪問的設備,大多數(shù)低速的I/O設備,如用戶終端、打印機等屬于這類設備。因為獨占設備屬于臨界資源,所以多個并發(fā)進程必須互斥地進行訪問。共享設備:指在一段時間內允許多個進程同時訪問的設備。典型的共享設備是磁盤。共享設備不僅可以獲得良好的設備利用率,而且是實現(xiàn)文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)的物質基礎。虛擬設備:指通過虛擬技術將一臺獨占設備變換為若干臺供多個用戶(進程)共享的邏輯設備。一般可以利用假脫機技術(SPOOLing技術)實現(xiàn)虛擬設備。10二、I/O系統(tǒng)概述按數(shù)據(jù)傳輸率分類低速設備:指傳輸速率為每秒鐘幾個字節(jié)到數(shù)百個字節(jié)的設備。典型的設備有鍵盤、鼠標、語音的輸入等;中速設備:指傳輸速率在每秒鐘數(shù)千個字節(jié)至數(shù)十千個字節(jié)的設備。典型的設備有行式打印機、激光打印機等;高速設備:指傳輸速率在數(shù)百千個字節(jié)至數(shù)兆字節(jié)的設備。典型的設備有磁帶機、磁盤機、光盤機等。11三、I/O軟件的組成設備管理軟件的組成部分I/O交通管制程序:負責各I/O設備之間的協(xié)調工作;I/O調度程序:負責設備的分配和調度;I/O設備處理程序:負責每類設備的具體操作。I/O軟件的設計目標設備獨立性(deviceindependence)通過某種技術使得軟件和硬件彼此相對比較獨立。這樣,除了直接與設備打交道的低層軟件之外,其他部分的軟件并不依賴于硬件。優(yōu)點:降低操作系統(tǒng)和底層硬件之間的耦合性,增強了操作系統(tǒng)的適應能力。方便了用戶的使用。12三、I/O軟件的組成統(tǒng)一命名系統(tǒng)中,每種設備都是有名稱的,如何命名以方便系統(tǒng)管理和用戶使用是一個重要的問題。這里的統(tǒng)一命名是指在系統(tǒng)中采取預先設計的、統(tǒng)一的邏輯名稱,對各類設備進行命名,并且應用在同設備有關的全部軟件模塊中。命名方式:通常的做法是,用一個序列字符串或一個整數(shù)來表征一個輸入輸出設備的名字。這個統(tǒng)一命名不依賴于設備,也就是說在同一個名稱,其對應的物理設備可能發(fā)生了變化,但它并不在該名稱上體現(xiàn)。例如在UNIX中,設備采用統(tǒng)一命名和處理的方式。13三、I/O軟件的組成I/O軟件的結構外部I/O設備用戶設備驅動程序與設備無關的系統(tǒng)軟件用戶級軟件分層設計思想中斷處理程序14三、I/O軟件的組成中斷處理程序中斷機制原理設備管理程序與中斷的關系設置中斷的目的:解決高速處理設備和低速輸入輸出設備之間的矛盾,提高系統(tǒng)工作效率。設備管理程序外設啟動指令中斷請求data15三、I/O軟件的組成設備驅動程序設備驅動程序是直接同硬件打交道的軟件模塊。一般而言,設備驅動程序的任務為:接受來自與設備無關的上層軟件的抽象請求;進行與設備相關的處理。具體說來,其功能主要有:控制和監(jiān)督各I/O控制器的正確執(zhí)行,并進行必要的錯誤處理。處理和設備相關的操作,如排隊、掛起、喚醒等。緩沖區(qū)管理。進行一些較為底層的和具體設備相關的處理工作。16三、I/O軟件的組成設備驅動程序的特點與I/O設備的硬件結構密切聯(lián)系,是操作系統(tǒng)底層中唯一知道各種輸入輸出設備的控制器細節(jié)及其用途的部分。 例如,只有磁盤驅動程序具體了解磁盤的區(qū)段、磁道、柱面、磁頭、磁臂的運動、交錯訪問系數(shù)、馬達驅動器、磁頭定位次數(shù)以及所有保證磁盤正常工作的機制,其他軟件根本不過問這些硬件操作的細節(jié)。17三、I/O軟件的組成設備驅動程序的結構由于驅動程序和硬件的結構有著密切的聯(lián)系,因此不同的硬件其啟動程序的結構以也不同。但是對于略有差異的同一類設備,為了方面使用,系統(tǒng)往往會提供一個通用的設備驅動程序。當然為了追求更好的性能,用戶可以使用廠家提供的專門為該設備編寫的設備驅動程序。18三、I/O軟件的組成與設備無關的系統(tǒng)軟件是建立在設備驅動程序之上的,與具體設備無關的I/O功能的集合(例如所有設備都需要的I/O功能)。功能:統(tǒng)一命名:將設備的符號名映射到相應的設備驅動程序上,對外提供同一的命名方式。設備保護:對設備進行必要的保護,防止無授權的應用或用戶的非法使用。提供與設備無關的邏輯塊:屏蔽底層各種I/O設備空間大小、處理速度和傳輸速率的差異,只向上層提供大小統(tǒng)一的邏輯塊尺寸。緩沖管理19三、I/O軟件的組成存儲設備的塊分配:查找一個存儲設備的空閑塊并進行分配。獨占設備的分配和釋放出錯處理:一般來說I/O錯誤有兩種操作故障:由驅動程序處理。非操作故障:如磁盤受損而不能再讀,由與設備無關的系統(tǒng)軟件處理,并向上層返回出錯信息。用戶空間的I/O軟件常見的主要有I/O系統(tǒng)調用Spooling系統(tǒng):構成虛擬設備。20三、I/O軟件的組成I/O系統(tǒng)的層次結構與每層的主要功能21四、具有通道的設備管理通道CPUI/O處理機22四、具有通道的設備管理通道的類型字節(jié)多路通道(ByteMultiplexorChannel)數(shù)組選擇通道(BlockSelectorChannel)主通道子通道1子通道2子通道n設備1…設備2設備n低速設備,傳輸單位為字節(jié)可以獲得較好的通道利用率可分配型通道設備1設備2設備n高速設備,一次傳輸一組數(shù)據(jù)可以獲得較好的數(shù)據(jù)傳輸速率23四、具有通道的設備管理數(shù)組多路通道(BlockMultiplexorChannel)“瓶頸”問題主通道子通道1子通道2子通道n設備1…設備2設備n高速設備,一次傳輸一組數(shù)據(jù)即具有很高的數(shù)據(jù)傳輸速率,又能獲得令人滿意的通道利用率。CPU24四、具有通道的設備管理術語:通道命令(ChannelCommandWord,CCW):通道又稱為I/O處理機,具有自己的指令系統(tǒng),常常把I/O處理機的指令稱通道命令。通道程序:用通道命令編寫的程序稱通道程序,通道通過執(zhí)行通道程序控制I/O設備運行。通道地址字(ChannelAddressWord,CAW):用來存放通道程序首地址的內存單元稱通道地址字。通道狀態(tài)字(ChannelStatusWord,CSW):是通道向操作系統(tǒng)報告工作情況的狀態(tài)匯集。25四、具有通道的設備管理通道的工作原理26五、與設備管理有關的技術DMA技術(DirectMemoryAccess,DMA)CPU啟動外設data發(fā)出中斷DMA控制器啟動指令中斷優(yōu)點:CPU只需干預I/O操作的開始和結束,而其中的數(shù)據(jù)讀寫無需CPU控制,適于高速設備。內存?zhèn)魉鸵粋€數(shù)據(jù)塊高速設備27五、與設備管理有關的技術緩沖技術緩沖區(qū)是一種交換數(shù)據(jù)的區(qū)域。緩沖技術的分類單緩沖技術(singlebuffer)只設置一個緩沖,CPU和外設輪流使用。CPU28五、與設備管理有關的技術雙緩沖(doublebuffer)適合于外設速度較高的情況。29五、與設備管理有關的技術環(huán)形緩沖用于低速I/O設備結構30五、與設備管理有關的技術環(huán)形緩沖的兩種現(xiàn)象系統(tǒng)受限計算:Nexti追上Nextg系統(tǒng)受限I/O:Nextg追上Nexti31五、與設備管理有關的技術緩沖池(bufferpool)可供多個進程共享的雙向緩沖技術。緩沖池空緩沖隊列輸入隊列輸出隊列32五、與設備管理有關的技術總線技術總線的定義:計算機中連接各個部件的一組線路。優(yōu)點:便于部件和設備的擴充,使不同設備間的互連更加容易??偩€的結構單總線bus優(yōu)點:簡單缺點:總線只能分時工作,使信息傳送的吞吐量受到限制。33五、與設備管理有關的技術雙總線bus存儲總線在雙總線結構中,因為CPU可以通過存儲總線訪問主存,故減輕了系統(tǒng)總線的負擔,同時加大了信息傳送的吞吐量。34五、與設備管理有關的技術三總線三總線結構采用了通道(I/O處理機),它減輕了CPU的數(shù)據(jù)的I/O控制,是整個系統(tǒng)的效率得到了很大的提高,所以,在中型、大型計算機系統(tǒng)中采用三總線結構。35五、與設備管理有關的技術總線的類型內部總線計算機內部各外圍芯片與處理器之間的總線,用于芯片一級的互連。系統(tǒng)總線系統(tǒng)總線是計算機中各插件板與系統(tǒng)板之間的總線,用于插件板一級的互連。外部總線計算機和外部設備之間的總線,它用于設備一級的互連。36六、UNIX設備管理UNIX的設備種類塊設備字符設備UNIX設備管理的主要特點塊設備與字符設備具有相似的層次結構。這是指對它們的控制方法和所采用的數(shù)據(jù)結構、層次結構幾乎相同。將設備作為一個特殊文件,并賦予一個文件名。這樣,對設備的使用類似于對文件的存取,具有統(tǒng)一的接口。采用完善的緩沖區(qū)管理技術。引入“預先讀”、“異步寫”和“延遲寫”方式,進一步提高系統(tǒng)效率。37六、UNIX設備管理UNIX設備管理用到的主要數(shù)據(jù)結構緩存與緩存控制塊緩沖池容量:512/2048字節(jié)structbuf{intb_flage;/*緩沖區(qū)標志*/structbuf*b_forw;/*設備隊列前向指針*/structbuf*b_back;/*設備隊列后向指針*/structbuf*av_forw;/*自由隊列前向指針*/structbuf*av_back;/*自由隊列后向指針*/dev_tb_dev;/*邏輯設備號*/unsignedb_bcount;/*傳送數(shù)據(jù)字節(jié)數(shù)*/union{caddr_tb_addr;/*緩沖區(qū)內存首地址*/intb_words;/*要刷新的起始地址*/structfilsys*b_filsys;/*超級塊*/structdinode*b_dino;/*磁盤inode表*/daddr_t*b_daddr;/*間接塊*/}b_un;daddr_tb_blkno;/*磁盤上數(shù)據(jù)的塊號*/charb_error;/*返回給調用者的出錯信息*/unsignedintb_resid;/*因出錯而未被傳送的數(shù)據(jù)字節(jié)數(shù)*/time_tb_start;/*I/O請求起始時間*/structproc*b_proc;/*執(zhí)行物理或兌換I/O的進程*/}buf[NBUF];38六、UNIX設備管理塊設備表UNIX中為每個塊設備設置了一張管理表,稱為塊設備表。結構:塊設備表structiobuf{intb_flags;/*設備隊列的狀況標志*/structbuf*b_forw;/*指向本設備的第一個緩沖區(qū)*/structbuf*b_back;/*指向本設備的最后一個緩沖區(qū)*/structbuf*b_actf;/*指向本設備I/O請求隊列中的第一個緩沖區(qū)*/structbuf*b_actl;/*指向本設備I/O請求隊列中的最后一個緩沖區(qū)*/dev_tb_dev;/*設備名*/char_b_active;/*設備正在執(zhí)行一個I/O請求的標志*/char_b_errcnt;/*出錯計數(shù)*/structeblock*io_erec;/*指向塊設備錯誤記錄塊*/intio_nreg;/*設備寄存器的個數(shù)*/physadrio_addr;/*設備控制狀態(tài)寄存器地址*/physadrio_mba;/*MBA配置結構寄存器地址*/structiostat*io_stp;/*指向部件I/O統(tǒng)計塊*/time_tio_start;/*輸入輸出啟動時間*/intio_s1;/*驅動程序留用位數(shù)*/intio_s2;/*驅動程序留用位數(shù)*/};39六、UNIX設備管理塊設備開關表UNIX中每類設備都有驅動程序,每個驅動程序都包含了用于執(zhí)行不同操作的多個函數(shù),如打開、關閉、啟動設備、讀和寫等函數(shù)。為了

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論