已閱讀5頁,還剩101頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
操作系統(tǒng)原理,第五章 設(shè)備管理,2,5.1 概述,5.1.1 設(shè)備的概念與分類 一基本概念 1. I/O設(shè)備:指計(jì)算機(jī)所能控制的一切控制對象及相聯(lián)系的媒體,既包括了I/O物理設(shè)備,又包括設(shè)備控制器,中斷控制器,I/O通道,虛擬設(shè)備。 2. I/O系統(tǒng):I/O硬件和OS設(shè)備管理的I/O軟件統(tǒng)稱為I/O系統(tǒng)。 3. I/O操作:內(nèi)存與I/O設(shè)備之間的信息傳送。,3,5.1 概述,二.設(shè)備分類 1. 按從屬關(guān)系,可將外設(shè)分為: (1)系統(tǒng)設(shè)備:系統(tǒng)生成時(shí)就已登記在OS中,納入OS的管理范圍的標(biāo)準(zhǔn)設(shè)備。 例如:鍵盤,顯示器,磁盤等。 (2)用戶設(shè)備:OS生成時(shí)未登記的非標(biāo)準(zhǔn)設(shè)備,由用戶向OS提供驅(qū)動(dòng)程序以便OS代管。 例如:MS-DOS中,在系統(tǒng)配置文件config.sys,4,5.1 概述,中,使用DEVICE命令把特定的設(shè)備驅(qū)動(dòng)程序安裝,格式為: DEVICEC:CD-ROMIDESONYIDE.SYS 2. 按工作特性,分為: (1)I/O設(shè)備:又可分為輸入設(shè)備和輸出設(shè)備,這些設(shè)備都以字符為單位I/O,也稱字符設(shè)備。 輸入設(shè)備:把信息從外設(shè)輸入到內(nèi)存的設(shè)備,如鍵盤,掃描儀,鼠標(biāo)等。,5,5.1 概述,輸出設(shè)備:把信息從內(nèi)存輸出到外設(shè)的設(shè)備,如顯示器,打印機(jī),繪圖儀等。 (2)存儲設(shè)備:用于存儲大容量信息,又可以隨機(jī)訪問這些信息的設(shè)備,OS中作為內(nèi)存的擴(kuò)充。交換信息以成塊(組)方式,每塊固定大小,為1281024字節(jié),也稱為塊設(shè)備。 例如:磁盤和磁帶,光盤等。 3. 按資源分配特性,分為: (1)獨(dú)占設(shè)備:一段時(shí)間內(nèi)只允許一個(gè)用戶,6,5.1 概述,使用的設(shè)備,一旦分配給某個(gè)進(jìn)程使用,就為其獨(dú)占,直到運(yùn)行完成 ,才釋放給OS。否則,不能保證信息的完整和連續(xù)性。是排它性使用。 例如:打印機(jī),終端等多數(shù)低速的字符設(shè)備都屬于獨(dú)占設(shè)備。 (2)共享設(shè)備:一段時(shí)間內(nèi)允許多個(gè)進(jìn)程同時(shí)使用的設(shè)備,宏觀上它們同時(shí)使用,微觀上交替的對它進(jìn)行信息讀和寫操作。是可尋址和可隨機(jī)訪問的設(shè)備。 例如:磁盤,幾個(gè)進(jìn)程可以同時(shí)交替的從一臺磁盤機(jī)上讀/寫信息。共享設(shè)備有較高的利用率,是文件系統(tǒng)的基礎(chǔ)。,7,5.1 概述,(3)虛擬設(shè)備(virtual device):以大容量外存為支持,通過虛擬技術(shù)(spooling)將一臺獨(dú)占設(shè)備改造成共享的設(shè)備,這種改造后的設(shè)備是一種邏輯上概念上的設(shè)備,稱為虛擬設(shè)備。 例如:采用假脫機(jī)技術(shù),用磁盤的一部分空間來代替打印機(jī),用戶的打印操作實(shí)際上是對磁盤的寫操作,一旦打印機(jī)不忙,再從盤上取出打印,將慢速的獨(dú)占設(shè)備改造成了可共享的設(shè)備。,8,5.1 概述,5.1.2 設(shè)備管理的目標(biāo)和功能 一. 設(shè)備管理的目標(biāo) 1. 方便性 方便用戶使用計(jì)算機(jī),使用戶從各種原始的設(shè)備使用方式中解脫出來,為此,OS提供了統(tǒng)一方便的外設(shè)使用界面,使用戶感到方便靈活的使用方式。OS隱藏了設(shè)備的物理特性,為用戶的I/O要求完成I/O程序設(shè)計(jì),控制設(shè)備的傳送。 2. 并行性,9,5.1 概述,既要使CPU與外設(shè)之間并行工作,也要使外部設(shè)備之間并行工作,以提高設(shè)備的利用率。OS的任務(wù)是合理地分配外設(shè),協(xié)調(diào)其關(guān)系,發(fā)揮硬件的并行性。 3. 均衡性 現(xiàn)在OS中,由于多個(gè)進(jìn)程的并發(fā)執(zhí)行,共享系統(tǒng)資源必將引起對資源的競爭,因此,設(shè)備管理既要使設(shè)備保持忙碌,又要使設(shè)備保持忙碌的均衡性。避免由于傳輸特性而忙閑不均,充分發(fā)揮外設(shè)的潛力。 例如:通過外存實(shí)現(xiàn)虛擬設(shè)備。,10,5.1 概述,4. 獨(dú)立性 即設(shè)備無關(guān)性,用戶編程時(shí)盡量使用邏輯設(shè)備名,避免直接使用實(shí)際的設(shè)備名,由OS的設(shè)備管理建立其對應(yīng)關(guān)系??梢越鉀Q外設(shè)故障,增加設(shè)備分配的靈活性。 二.設(shè)備管理功能 1. 設(shè)備的分配與回收 多道程序環(huán)境下,多個(gè)用戶進(jìn)程可能會同時(shí)對某一類設(shè)備提出使用請求,設(shè)備管理軟件應(yīng)按一定的算法決定把設(shè)備具體分配給哪個(gè)進(jìn) 程,分配控制器和通道,11,5.1 概述,,建立從外設(shè)到內(nèi)存之間的信息通路。 2. 地址轉(zhuǎn)換和設(shè)備驅(qū)動(dòng) OS要將用戶提供的邏輯設(shè)備名轉(zhuǎn)換成設(shè)備的物理地址,設(shè)備管理還調(diào)用設(shè)備驅(qū)動(dòng)程序,啟動(dòng)外設(shè),進(jìn)行實(shí)際的I/O操作,完成后將結(jié)果通知用戶進(jìn)程。 3. I/O中斷處理 當(dāng)信息傳送完成后或有錯(cuò)時(shí),由DMA或通道,12,5.1 概述,等硬件發(fā)出中斷信號向CPU報(bào)告,設(shè)備管理程序?qū)⑼ㄟ^該類設(shè)備的I/O中斷服務(wù)程序分別處理。 4. 緩沖區(qū)管理 目的是解決CPU和外設(shè)速度上的差距,提高并行性。OS在內(nèi)存中開辟了緩沖區(qū)暫存信息。 例如:下圖所示,13,5.1 概述,5.1.3 I/O設(shè)備的組成 I/O設(shè)備由機(jī)械部件和電子部件二部分組成。,14,5.1 概述,一.物理設(shè)備 泛指I/O設(shè)備中為完成規(guī)定的操作必有的物理裝置,是設(shè)備的主體部分。 二.電子部件 負(fù)責(zé)接收和發(fā)送主機(jī)與物理設(shè)備之間的控制命令和I/O數(shù)據(jù)。主要有兩種形式: 1. I/O設(shè)備控制器,主要功能有: (1)端口地址譯碼:將端口發(fā)來的設(shè)備總線,15,5.1 概述,地址譯碼,以確定是哪一臺設(shè)備被系統(tǒng)選中。 (2)按規(guī)定的格式和過程,接受和發(fā)送控制信號或數(shù)據(jù)。 (3)數(shù)據(jù)的緩沖存儲:控制器中有數(shù)據(jù)緩沖寄存器,以暫存I/O數(shù)據(jù)。 (4)控制I/O設(shè)備:如啟動(dòng),停止,正轉(zhuǎn),反轉(zhuǎn),回車,換行等機(jī)械動(dòng)作,并且進(jìn)行數(shù)據(jù)加工。 2. I/O設(shè)備接口:主要功能有:,16,5.1 概述,(1)實(shí)現(xiàn)數(shù)據(jù)緩沖,使CPU與外設(shè)在工作速度上匹配。 (2)實(shí)現(xiàn)數(shù)據(jù)格式轉(zhuǎn)換。如并/串行數(shù)據(jù)轉(zhuǎn)換。 (3)提供I/O設(shè)備和接口的狀態(tài),使CPU根據(jù)狀態(tài)信息對外設(shè)控制。接口中設(shè)立了狀態(tài)寄存器供CPU讀取和判斷。 (4)實(shí)現(xiàn)主機(jī)與外設(shè)之間的通訊聯(lián)絡(luò)控制,包括:設(shè)備選擇,操作時(shí)序控制,中斷請求,批準(zhǔn),DMA方式請求,主機(jī)命令與I/O設(shè)備狀態(tài)交換與傳遞等。,17,5.1 概述,三. I/O接口的分類 1. 按數(shù)據(jù)傳輸寬度分類 (1)并行接口 主機(jī)與接口,接口與外設(shè)之間都是可以同時(shí)傳送多位數(shù)據(jù)(一個(gè)字節(jié),一個(gè)字),因此并行接口的數(shù)據(jù)通路是按字或字節(jié)設(shè)置的。適用于離主機(jī)較近的設(shè)備,如打印機(jī)一般接在并行口上。 (2)串行接口(每次只傳送一位數(shù)據(jù)) 接口與主機(jī)之間按并行的方式傳遞,接口與外設(shè),18,5.1 概述,之間按串行方式,每個(gè)字節(jié)是按位依次傳遞。接口要求設(shè)立移位功能的數(shù)據(jù)緩沖器,每傳來一位移位到相應(yīng)的位上接收字位,實(shí)現(xiàn)數(shù)據(jù)格式的并串轉(zhuǎn)換。適用于低速設(shè)備如鼠標(biāo)和調(diào)制解調(diào)器。 2. 按操作節(jié)拍分類,根據(jù)接口與CPU之間的協(xié)調(diào)關(guān)系分 (1)同步接口:按照CPU的控制節(jié)拍進(jìn)行數(shù)據(jù)傳送,CPU與接口,接口與外設(shè)的交換都聽從CPU的控制節(jié)拍的協(xié)調(diào),與CPU節(jié)拍同步,操 作時(shí)間 必須與,19,5.1 概述,CPU時(shí)鐘同步,取時(shí)鐘的整數(shù)倍。 (2)異步接口:不由CPU的時(shí)鐘控制,與時(shí)鐘節(jié)拍無關(guān),利用應(yīng)答方式實(shí)現(xiàn)CPU與I/O設(shè)備的信息交換。CPU為主設(shè)備,向接口發(fā)出“請求”I/O信號,接口傳給設(shè)備。I/O設(shè)備為從設(shè)備,完成I/O后向主設(shè)備發(fā)“回答”信號。 3. 按數(shù)據(jù)傳送的控制方式分類 (1)程序控制的I/O接口 (2)程序中斷I/O接口 (3)DMA接口(直接存儲器存取),20,5.1 概述,5.1.4 I/O接口的概念和作用 一.接口的概念 1. 為什么設(shè)立I/O接口 (1)外設(shè)的結(jié)構(gòu)和工作原理與主機(jī)差異很大,都有單獨(dú)的時(shí)鐘,時(shí)序控制和狀態(tài)標(biāo)志。 (2)主機(jī)與外設(shè)工作速度不同,相差幾個(gè)數(shù)量級,主機(jī)在ns級而外設(shè)在秒,毫秒一級上。 (3)主機(jī)外設(shè)的數(shù)據(jù)格式不同,外設(shè)用,21,5.1 概述,ASCII碼標(biāo)識數(shù)據(jù),而主機(jī)用二進(jìn)制碼表示數(shù)據(jù),因此為了協(xié)調(diào)主機(jī)與外設(shè)之間的速度差異,進(jìn)行數(shù)據(jù)的格式轉(zhuǎn)換,提供狀態(tài)信息,控制通訊聯(lián)絡(luò)。,22,5.2 I/O控制方式,5.2.0 數(shù)據(jù)傳送的控制方式 1. 早期的I/O系統(tǒng)是由程序控制的,外設(shè)的啟動(dòng),停止等全由CPU通過程序控制,外設(shè)與CPU不能并行工作,設(shè)備之間不能并行工作。 2. 為了提高速度,在外設(shè)接口中增設(shè)了緩沖器,數(shù)據(jù)I/O在主存和緩沖器之間進(jìn)行,但CPU仍要停止工作等待外設(shè)數(shù)據(jù)。 3. 60年代發(fā)展了中斷概念,程序中斷來處理I/O。但中斷過分頻繁,使CPU忙于處理中斷。,23,5.2 I/O控制方式,例如:輸入機(jī)每秒傳1000個(gè)字節(jié),要發(fā)出1000次中斷,如每次中斷處理用100s,為傳1000字節(jié)就要發(fā)生1000次中斷,所以每秒內(nèi)CPU就要用去0.1秒處理中斷。 4. 系統(tǒng)結(jié)構(gòu)的發(fā)展,在I/O系統(tǒng)增設(shè)了數(shù)據(jù)reg,地址reg,計(jì)數(shù)器等,使外設(shè)和MM內(nèi)存之間不通過CPU而直接進(jìn)行,成為DMA(direct memory access)工作方式。 5. 將這些控制部分統(tǒng)一起來,具有I/O指令程序來執(zhí)行I/O的過程,就形成自成獨(dú)立體系的,24,5.2 I/O控制方式,通道結(jié)構(gòu)(channel),使各類設(shè)備的標(biāo)準(zhǔn)的接口連入系統(tǒng),形成通道方式。 數(shù)據(jù)傳送的五種控制方式如下圖所示:,25,5.2 I/O控制方式,26,5.2 I/O控制方式,5.2.1 循環(huán)I/O測試方式(程序查詢方式) 一. I/O總線 1. 總線:是連接計(jì)算機(jī)系統(tǒng)內(nèi)各部件的共享高速通路,總線結(jié)構(gòu)是決定計(jì)算機(jī)性能,功能,可擴(kuò)展性和標(biāo)準(zhǔn)化程度的重要因素。早期微機(jī)使用ISA, EISA總線,現(xiàn)在用VESA, PCI總線。 2. I/O總線包括 (1)控制器總線:傳送控制信號,指明數(shù)據(jù),27,5.2 I/O控制方式,傳送性質(zhì)的信號(讀,寫數(shù)據(jù)寬度和數(shù)據(jù)定時(shí)信號)。 (2)地址總線:用于傳送I/O設(shè)備的地址和數(shù)據(jù)的內(nèi)存地址。 (3)數(shù)據(jù)總線:用于傳送數(shù)據(jù),狀態(tài)和指令。 二. 程序直接控制的基本概念 由計(jì)算機(jī)程序控制數(shù)據(jù)在CPU和外設(shè)之間傳輸,是在CPU主動(dòng)控制下完成的。,28,5.2 I/O控制方式,在用戶程序中安排一段由I/O指令和其它指令組成的I/O服務(wù)程序,直接控制I/O設(shè)備。 當(dāng)I/O時(shí),CPU暫停執(zhí)行主程序,轉(zhuǎn)去執(zhí)行I/O服務(wù)程序,根據(jù)其中的I/O指令進(jìn)行數(shù)據(jù)傳輸。 這是一種簡單,經(jīng)濟(jì)的I/O方式,只需很少硬件,多個(gè)外設(shè)時(shí),CPU輪流查詢多個(gè)外設(shè)的狀態(tài),又稱為輪詢方式。 三. 接口組成,29,5.2 I/O控制方式,1. 設(shè)備選擇電路(設(shè)備地址譯碼器):包括片選端,地址寄存器,地址譯碼器。 功能:根據(jù)設(shè)備地址碼來判別接口所接的設(shè)備是否被CPU選中。 2. 數(shù)據(jù)緩沖寄存器 功能:作為CPU與外設(shè)之間的數(shù)據(jù)傳送的緩沖區(qū),I/O中數(shù)據(jù)必須由它為中介。 3. 設(shè)備狀態(tài)標(biāo)志(位)(設(shè)備狀態(tài)位),30,5.2 I/O控制方式,功能:標(biāo)志設(shè)備的工作狀態(tài),以便接口對外設(shè)進(jìn)行監(jiān)視,它是接口中標(biāo)志觸發(fā)器,如:“忙”,“準(zhǔn)備就緒”,“錯(cuò)誤”。 四. 工作原理 1. CPU利用數(shù)據(jù)總線向接口輸出命令字,啟動(dòng)外設(shè)輸入,用測試指令先查看I/O設(shè)備狀態(tài)是否“忙”,為1表示“忙”,則需要循環(huán)檢測反復(fù)查;如為0表示不忙,將其設(shè)為“忙”,占有設(shè)備。,31,5.2 I/O控制方式,2. 接口接到CPU發(fā)來的命令后,啟動(dòng)外設(shè)輸入。 3. 輸入數(shù)據(jù)送到接口中的數(shù)據(jù)寄存器。 4. 外設(shè)I/O完成,將接口就緒位置為1。 5. CPU檢測就緒位為1。 6. 從接口的數(shù)據(jù)緩沖器讀入數(shù)據(jù),將忙位置為0。 五. 特點(diǎn),32,5.2 I/O控制方式,1. 優(yōu)點(diǎn):接口硬件簡單,控制方式簡單。 2. 缺點(diǎn):CPU與外設(shè)串行工作,因?yàn)镃PU比外設(shè)速度快,要等待;循環(huán)檢測,效率很低。,33,5.2 I/O控制方式,34,5.2 I/O控制方式,其中服務(wù)子程序的功能: (1)實(shí)現(xiàn)數(shù)據(jù)傳送,輸入:從設(shè)備將數(shù)據(jù)輸入到內(nèi)存,輸出正好相反。 (2)修改內(nèi)存地址,為下一次I/O準(zhǔn)備。 (3)修改傳送字節(jié)數(shù),以修改傳送長度。 (4)狀態(tài)分析。 5.2.3 程序中斷方式 1. 中斷(interrupt)的定義:計(jì)算機(jī)暫停執(zhí)行當(dāng)前程序,轉(zhuǎn)而執(zhí)行更緊急的程序,并能執(zhí)行結(jié),35,5.2 I/O控制方式,束后自動(dòng)恢復(fù)原被中斷的程序。 2. 程序中斷方式 的傳輸過程如下: (1)進(jìn)程請求I/O時(shí),由程序啟動(dòng)I/O接口,I/O接口向外設(shè)發(fā)啟動(dòng)信號,啟動(dòng)外設(shè)。 (2)進(jìn)程放棄CPU,等待完成。進(jìn)程調(diào)度程序?qū)PU分配給其他進(jìn)程,與外設(shè)并行工作。 (3)I/O完成時(shí),I/O接口通過中斷請求線向CPU發(fā)出中斷信號,CPU在一條指令執(zhí)行后響應(yīng)中斷,轉(zhuǎn)入管態(tài)由OS的I/O中斷服務(wù)程序處理。 (4)解除請求I/O的進(jìn)程的阻塞態(tài),轉(zhuǎn)入就緒態(tài),加入就緒隊(duì)列。,36,5.2 I/O控制方式,5.2.4 DMAI/O方式 中斷方式改善了CPU的利用率,但CPU仍直接控制I/O,并忙于處理I/O中斷,耗費(fèi)時(shí)間,不適合大批量數(shù)據(jù)傳送的場合,為了大批量的進(jìn)行數(shù)據(jù)傳送,在I/O系統(tǒng)中引入了直接存儲器存取方式。 一. 概述 1. DMA方式:在進(jìn)行數(shù)據(jù)傳送時(shí),CPU讓出總線控制權(quán),由DMA控制器硬件從CPU中接管總線控制權(quán),數(shù)據(jù)交換不經(jīng)過CPU而直接在內(nèi)存和外設(shè)之間大批量傳送,以提高速度和傳輸效率。,37,5.2 I/O控制方式,2. CPU很少干預(yù)數(shù)據(jù)的I/O,只在數(shù)據(jù)傳送開始前,初始化DMA控制器的設(shè)備地址寄存器,內(nèi)存地址寄存器和傳送字計(jì)數(shù)器,CPU不干預(yù)數(shù)據(jù)傳送開始后的工作。 3. DMA方式的特點(diǎn) (1)DMA使內(nèi)存既可被CPU訪問,也可被快速外設(shè)(盤)訪問。 (2)由硬件完成地址確定,數(shù)據(jù)傳送,計(jì)數(shù),38,5.2 I/O控制方式,控制。 (3)內(nèi)存中開辟專用緩沖區(qū),及時(shí)提供或接收數(shù)據(jù)。 (4)外設(shè)完全與CPU并行工作,提高系統(tǒng)效率。 二. DMA控制器的組成 (在中斷接口基礎(chǔ)上再加上DMA機(jī)構(gòu)組成) 1. 內(nèi)存地址寄存器 存放內(nèi)存交換數(shù)據(jù)的地址。DMA傳送前,用程序?qū)?shù)據(jù)塊的內(nèi)存的首地址送入。而當(dāng)DMA傳送時(shí),每傳,39,5.2 I/O控制方式,送一次數(shù)據(jù),地址加1,給出下一次交換的數(shù)據(jù)地址。 2. 字計(jì)數(shù)器 記錄傳送數(shù)據(jù)塊的長度(字?jǐn)?shù))。DMA開始前,由程序預(yù)置,通常以補(bǔ)碼形式表示,每傳送一個(gè)字,加1,溢出,即最高位產(chǎn)生進(jìn)位時(shí),此數(shù)據(jù)塊傳送完畢,DMA控制器向CPU發(fā)出中斷信號。,40,5.2 I/O控制方式,3. 數(shù)據(jù)緩沖寄存器 暫存每次傳送的一個(gè)字,輸入時(shí)由設(shè)備(盤)送往這里,再通過數(shù)據(jù)總線送到主存或相反。 4. DMA請求觸發(fā)器 每當(dāng)設(shè)備準(zhǔn)備好一個(gè)數(shù)據(jù)后,給DMA控制器一個(gè)控制信號,使“DMA請求”標(biāo)志置1,通知DMA數(shù)據(jù)已就緒,該標(biāo)志置位后,向“控制/狀態(tài)”邏輯發(fā)出DMA請求, “控制/狀態(tài)”邏,41,5.2 I/O控制方式,輯向CPU發(fā)出總線使用權(quán)請求(HOLD)。 5. “控制/狀態(tài)”邏輯 由控制和時(shí)序電路以及狀態(tài)標(biāo)志等組成,用于修改內(nèi)存地址計(jì)數(shù)器和字計(jì)數(shù)器,指定傳送方向(輸入或輸出),并對“DMA請求”信號和CPU響應(yīng)信號協(xié)調(diào)和同步。 6. 中斷機(jī)構(gòu) 當(dāng)字計(jì)數(shù)器溢出(全0)時(shí),意味著一組數(shù),42,5.2 I/O控制方式,據(jù)交換完畢,由溢出信號觸發(fā)中斷機(jī)構(gòu),向CPU提出中斷,請求CPU處理DMA傳送后工作。這與I/O中斷用的技術(shù)相同,但目的不同,前者為了數(shù)據(jù)I/O,而這里是為了一組數(shù)據(jù)傳送結(jié)束,是不同的中斷事件。,43,5.2 I/O控制方式,44,5.2 I/O控制方式,三. DMA控制器的工作原理 1. DMA預(yù)處理 由CPU執(zhí)行I/O指令測試設(shè)備狀態(tài),向DMA控制器發(fā)設(shè)備地址,將內(nèi)存地址存入內(nèi)存地址寄存器,字節(jié)計(jì)數(shù)存入字節(jié)計(jì)數(shù)器。設(shè)備準(zhǔn)備好數(shù)據(jù)向DMA控制器發(fā)DMA請求,DMA控制器向CPU發(fā)DMA請求,CPU讓出總線控制權(quán)。 2. 數(shù)據(jù)傳送階段:以數(shù)據(jù)塊為單位傳送 輸入: (1)從外設(shè)中讀入一個(gè)數(shù)據(jù)到數(shù)據(jù)緩沖器中; (2)地址計(jì)數(shù)器內(nèi)容讀入到內(nèi)存地址寄存器,接口的數(shù)據(jù)緩沖器內(nèi)容讀入內(nèi)存的數(shù)據(jù)寄存器,45,5.2 I/O控制方式,(3)控制啟動(dòng)內(nèi)容的寫操作,寫入指定位置; (4)地址計(jì)數(shù)器加1,字計(jì)數(shù)器內(nèi)容減1; (5)為0時(shí)向CPU發(fā)中斷,否則循環(huán)(1)-(4)。 輸出: (1)DMA內(nèi)存地址計(jì)數(shù)器內(nèi)容讀入內(nèi)存地址寄存器中;,46,5.2 I/O控制方式,(2)啟動(dòng)內(nèi)存讀操作,將內(nèi)存數(shù)據(jù)寄存器內(nèi)容讀入DMA數(shù)據(jù)緩沖器中; (3)啟動(dòng)外設(shè),將數(shù)據(jù)緩沖器內(nèi)容輸出到外設(shè) ; (4)內(nèi)存地址計(jì)數(shù)器加1,字計(jì)數(shù)器減1; (5)為0時(shí),停止,發(fā)中斷;否則循環(huán)(1)(4)。 3. DMA后處理階段,47,5.2 I/O控制方式,DMA中斷請求得到響應(yīng),CPU轉(zhuǎn)入中斷服務(wù)程序完成結(jié)束處理,對數(shù)據(jù)校驗(yàn),出錯(cuò)處理,繼續(xù)傳送否。 5.2.5 通道控制方式和外圍處理機(jī)方式 一. 通道(channel)的結(jié)構(gòu) 1. 通道:是具有特殊功能的處理機(jī),它有自己的指令和程序,專門負(fù)責(zé)數(shù)據(jù)I/O的傳輸控制。 2. CPU將傳輸控制權(quán)交給通道,由通道完成I/O控制,通道與CPU分時(shí)共享主存。,48,5.2 I/O控制方式,二. 通道分類 1. 字節(jié)多路通道(Byte multiplexor channel) 連接大量低速外設(shè),如紙帶機(jī),卡讀機(jī),打印機(jī)等,這些設(shè)備速度很低。 字節(jié)多路通道包括多個(gè)子通道,如IBM 370通道為該類通道,有128條子通道,每個(gè)子通道服務(wù)一個(gè)設(shè)備控制器,控制多臺設(shè)備,獨(dú)立的執(zhí)行通道指令。 所有子通道共享相同的控制部件,每個(gè)子,49,5.2 I/O控制方式,通道的指令和參數(shù)存放在內(nèi)存固定的單元中,進(jìn)行I/O時(shí)從內(nèi)存讀出,送公共控制部分。 采用分時(shí)的方式控制多臺外設(shè)“并行”工作,每臺設(shè)備輪流占用通道的一個(gè)時(shí)間片,各自執(zhí)行各自的I/O。 信息傳送方式:字節(jié)交叉方式。 2. 選擇通道(selector channel) 連接高速外設(shè),如磁盤,磁帶;,50,5.2 I/O控制方式,由于設(shè)備速率快,每次只能從所連接的外設(shè)中選擇一臺設(shè)備的通道程序執(zhí)行,獨(dú)占通道,直到I/O完成 ; 信息以成組方式高速I/O; 只能一臺設(shè)備獨(dú)占,但高速外設(shè)的尋找,延遲時(shí)長,通道要等待,利用率低。 3. 數(shù)組多路通道 連接高速外設(shè),以成組方式I/O ;,51,5.2 I/O控制方式,可以控制多臺高速外設(shè)同時(shí)進(jìn)行控制性操作; 每一時(shí)刻只能讓一臺設(shè)備占有通道I/O; 保留了選擇通道高速傳送的優(yōu)點(diǎn),又利用了字節(jié)多路通道分時(shí)控制外設(shè)并行進(jìn)行控制性操作,使通道充分發(fā)揮,在實(shí)際系統(tǒng)中較多應(yīng)用。 三. 通道的工作方式 通道的I/O操作由兩種指令實(shí)現(xiàn)控制:,52,5.2 I/O控制方式, I/O指令:包括啟動(dòng)I/O(SIO),查詢通道(TCH),停止I/O(HIO)等,均為特權(quán)指令。指令中,除操作碼外,還包含通道地址和設(shè)備地址。 CCW通道命令字:CCW是通道本身執(zhí)行的指令,一般有讀,寫控制和轉(zhuǎn)移等功能。 1. SIO命令格式(start I/O),53,5.2 I/O控制方式,(B1)+D1形成了存放通道號和設(shè)備號的單元地址 功能:啟動(dòng)指定的通道和設(shè)備工作。 2. CCW的格式,54,5.2 I/O控制方式,通道程序的第一個(gè)CCW的地址由通道地址字CAW(channel address word)指明,必須把相應(yīng)的CAW存入主存的(72)10號單元,在執(zhí)行SIO命令時(shí),通道硬件根據(jù)(72)10號單元中存放的CAW得到CCW鏈的首地址,取到第一條CCW命令,執(zhí)行通道程序。CAW的格式為:,55,5.2 I/O控制方式, 03位:存儲保護(hù)鍵,此鍵信息寫入相應(yīng)通道的寄存器,當(dāng)數(shù)據(jù)寫入主存時(shí),即檢驗(yàn)此鍵與存儲器的保護(hù)鍵是否一致,無保護(hù)鍵時(shí),應(yīng)為0。 47位:為0。 831位:指出第一個(gè)CCW在主存的位置。 CCW命令字的格式為: 07位:通道指令碼,指出應(yīng)執(zhí)行何種,56,5.2 I/O控制方式,操作。 831位:指出主存中I/O字節(jié)地址,它是CCW所確定的存儲區(qū)的頭一單元。對讀操作表示目的地址,對寫操作表示源地址。 3236位:表示特性,通道程序的連接方式或標(biāo)志通道命令特點(diǎn)。 32位:數(shù)據(jù)鏈CD(chain data),為1:則在計(jì)數(shù)器為0后,取下一條CCW,下一條CCW確定了新的數(shù)據(jù)地址,新的特性,新的計(jì)數(shù),,57,5.2 I/O控制方式,但是不管新的操作碼是什么,繼續(xù)執(zhí)行原來的操作。 33位:命令鏈CC(chain command),為1:則在計(jì)數(shù)器為0后執(zhí)行下一條CCW,新的CCW操作碼有效,程序中每條CCW除了最后一條以下,或應(yīng)給32位,或應(yīng)給33位,或者說當(dāng)32和33位全為0時(shí),則是通道程序中的最后一條。 34位:封鎖錯(cuò)誤長度SLI(suppress length,58,5.2 I/O控制方式,indicator),為0:如通道程序給定的字節(jié)數(shù)同I/O設(shè)備所規(guī)定的字節(jié)數(shù)不符,便向程序發(fā)出錯(cuò)誤長度信號;為1:便封鎖出錯(cuò)信號,如有些讀卡機(jī)中規(guī)定的字節(jié)數(shù)為80,而通道程序中規(guī)定的不是80,則34位置為0。 35位:封鎖寫入存儲(SKIP),該位為1時(shí),在做讀出,反向讀出或斷定狀態(tài)的操作時(shí),不寫入存儲器,這樣就可以掠過某些設(shè)備的某些信息,而不用在存儲器內(nèi)為它們留出位,59,5.2 I/O控制方式,置,實(shí)現(xiàn)假讀。 36位:程序控制中斷PCI(program controller interrupt),此位為1,則只要通道一取出該CCW并開始操作,通道立即向CPU發(fā)中斷信號,該中斷屬于I/O中斷,將通道程序操作沿鏈推進(jìn)的程度用中斷方式通知CPU。 3739位應(yīng)為0,若不為0,看作通道程序出錯(cuò)。 4063位:給定該CCW所確定的存儲區(qū),60,5.2 I/O控制方式,的字節(jié)數(shù)。 3. 通道方式的I/O過程 (1)當(dāng)進(jìn)程發(fā)出I/O請求后,經(jīng)過中斷進(jìn)入OS運(yùn)行。 (2)當(dāng)前發(fā)出I/O請求的進(jìn)程被阻塞,加入該設(shè)備的阻塞隊(duì)列,等待I/O完成。 (3)通道被啟動(dòng)后,自動(dòng)到內(nèi)存(72)10單元中取出CAW中的通道程序的首地址,按此地址到內(nèi)存中取出第一條CCW執(zhí)行。,61,5.2 I/O控制方式,(4)當(dāng)執(zhí)行完一條CCW后,即計(jì)數(shù)器為0時(shí),如果32或33特征位為1,還有下一條CCW則繼續(xù)執(zhí)行;否則傳輸完成,通道向CPU發(fā)出I/O中斷請求,同時(shí)把通道狀態(tài)字CSW(channel status word)存入內(nèi)存(64)10單元(IBM 370)。 (5)CPU響應(yīng)I/O中斷,再次轉(zhuǎn)入管態(tài),由OS的I/O中斷服務(wù)程序進(jìn)行處理,根據(jù)內(nèi)存(64)10單元中的CSW分析本次中斷的原因并處,62,5.2 I/O控制方式,理。,63,5.3 緩沖技術(shù)和Spooling技術(shù),5.3.1 緩沖技術(shù)引入 一. 引入目的 1. 緩解CPU與外設(shè)速度差距,提高CPU與I/O設(shè)備之間的并行性 例1:打印機(jī)的字符緩沖隊(duì)列,64,5.3 緩沖技術(shù)和Spooling技術(shù),例2:,65,5.3 緩沖技術(shù)和Spooling技術(shù),66,5.3 緩沖技術(shù)和Spooling技術(shù),2. 減少I/O中斷次數(shù)和CPU的中斷處理時(shí)間,67,5.3 緩沖技術(shù)和Spooling技術(shù),3. 解決DMA或通道方式中可能出現(xiàn)的瓶頸問題。 二. 實(shí)現(xiàn)緩沖區(qū)的方法 1. 硬件緩沖區(qū):位于I/O接口,通道及I/O控制器以專用的數(shù)據(jù)緩沖寄存器作為緩沖區(qū),暫存數(shù)據(jù)。但由于成本高,容量一般都小。 2. 軟件緩沖區(qū):在內(nèi)存中開辟一片單元作為緩沖區(qū),專用于存放I/O操作要存放的數(shù)據(jù)。,68,5.3 緩沖技術(shù)和Spooling技術(shù),5.3.2 緩沖區(qū)的種類 1. 單緩沖區(qū):讓輸入設(shè)備與輸出設(shè)備共用一個(gè)buffer。 適于數(shù)據(jù)到達(dá)率與離去率相差很大的情況。如輸入很慢,讀出處理很快時(shí),二者串行工作。 缺點(diǎn):I/O設(shè)備并行性差,效率低。,69,5.3 緩沖技術(shù)和Spooling技術(shù),2. 雙緩沖區(qū) 為輸入和輸出分配兩個(gè)緩沖區(qū),交替使用。 例1:,70,5.3 緩沖技術(shù)和Spooling技術(shù),例2:解決終端設(shè)備與打印機(jī)之間的并行操作問題。,71,5.3 緩沖技術(shù)和Spooling技術(shù),3. 緩沖池(buffer pool) 將多個(gè)大小相同的buffer連接起來,統(tǒng)一管理,每個(gè)buffer既可以用于輸入也可用于輸出的一種結(jié)構(gòu)。 OS中設(shè)立了有管理的數(shù)據(jù)結(jié)構(gòu),定義了分配,釋放函數(shù)。緩沖池由多個(gè)緩沖區(qū)組成,每個(gè)緩沖區(qū)由兩部分組成,一一對應(yīng)。,72,5.3 緩沖技術(shù)和Spooling技術(shù),(1)緩沖首部(buffer head):存放緩沖區(qū)管理控制信息。如:設(shè)備號,讀/寫標(biāo)志,緩沖區(qū)首地址,I/O字節(jié)計(jì)數(shù)和與其他緩沖區(qū)首部的勾鏈指針等。 (2)緩沖區(qū):存放數(shù)據(jù)用的緩沖體。 例:UNIX V6中,為磁盤定義了15個(gè)緩沖區(qū)的緩沖池 struct buffer ,73,5.3 緩沖技術(shù)和Spooling技術(shù),int b-flags; 標(biāo)志字位串, (0位1:讀盤,1位1:I/O完成,2位1:I/O出錯(cuò),3位1:忙, 6位1:忙等待, 8位1:異步I/O,9位1:延遲) struct buffer *b-forw; struct buffer *b-back; struct buffer *av-forw; struct buffer *av-back; int b-dev; 設(shè)備號,74,5.3 緩沖技術(shù)和Spooling技術(shù),int b-wcount; 傳送字補(bǔ)碼 char *b-addr; 內(nèi)存地址,為buffer首地址 char *b-blkno; 盤物理塊號 buffer15; 5.3.3 虛擬設(shè)備 一. 問題提出 1. 提出虛擬設(shè)備的原因 (1)獨(dú)占型設(shè)備數(shù)量少,不能滿足多用戶 的使用要求;,75,5.3 緩沖技術(shù)和Spooling技術(shù),(2)獨(dú)占型設(shè)備的工作時(shí)間短,大部分時(shí)間空閑,不能充分利用設(shè)備; (3)獨(dú)占型設(shè)備速度低,由于等待I/O而延長了程序的執(zhí)行時(shí)間; (4)獨(dú)占型設(shè)備采用分配釋放的方式,用戶獨(dú)占使用。 為此,現(xiàn)代OS提供了虛擬設(shè)備解決此問題。 2. 虛擬設(shè)備,76,5.3 緩沖技術(shù)和Spooling技術(shù),1.定義 在一個(gè)具有大容量的直接存取的共享設(shè)備中(如盤)開辟一個(gè)區(qū)域來代替某臺獨(dú)享設(shè)備,把分散使用的信息集中起來保存在此區(qū)域中,這樣需要用獨(dú)占設(shè)備的并發(fā)進(jìn)程都分到一個(gè)區(qū)域,稱為虛擬設(shè)備。 2. 特點(diǎn) (1)由獨(dú)占設(shè)備變成共享,提高效率; (2) 增加了外圍計(jì)算機(jī);,77,5.3 緩沖技術(shù)和Spooling技術(shù),(3)增加了操作員的手工操作; (4)不易實(shí)現(xiàn)作業(yè)搭配運(yùn)行。 聯(lián)機(jī)外設(shè)同時(shí)操作又稱為假脫機(jī)操作,采用這種技術(shù)的OS提供虛擬設(shè)備,OS中實(shí)現(xiàn)此功能的模塊稱為Spooling系統(tǒng)(simultaneous peripheral operations on-line)。 二. Spooling系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 1. Spooling系統(tǒng)的結(jié)構(gòu),78,5.3 緩沖技術(shù)和Spooling技術(shù),79,5.3 緩沖技術(shù)和Spooling技術(shù),2. 數(shù)據(jù)結(jié)構(gòu) (1)作業(yè)表:SPOOLing系統(tǒng)設(shè)置了一張作業(yè)表,以便登記進(jìn)入輸入井的各個(gè)作業(yè)的管理信息。下圖給出了作業(yè)表的格式。,80,5.3 緩沖技術(shù)和Spooling技術(shù),(2)預(yù)輸入表和緩輸出表:每個(gè)作業(yè)有一張預(yù)輸入表,也稱為作業(yè)控制塊(JCB),記錄了作業(yè)的有關(guān)信息;緩輸出表也是每個(gè)作業(yè)一張,用來登記作業(yè)產(chǎn)生的結(jié)果文件,其格式類似于預(yù)輸入表。 3. Spooling預(yù)輸入程序 功能:控制信息從設(shè)備 緩沖區(qū) 入井,為作業(yè)填寫作業(yè)表,預(yù)輸入表,分配井空間,讀入作業(yè)信息。,81,5.3 緩沖技術(shù)和Spooling技術(shù),井中作業(yè)狀態(tài):輸入,收容,執(zhí)行,完成。 4.井管理程序 輸入井管理程序:當(dāng)用戶作業(yè)發(fā)出讀的操作時(shí),從井中取出信息送入主存,根據(jù)文件名查預(yù)輸入表,得文件的位置。取出信息后,井歸還OS。 輸出井管理程序:將用戶輸出結(jié)果入井,并登記緩輸出表(與預(yù)輸入表類似),包含作業(yè)名,文件名,設(shè)備類,數(shù)據(jù)始地址等。 5.緩輸出程序,82,5.3 緩沖技術(shù)和Spooling技術(shù),將井中信息從設(shè)備輸出,并回收空間,查看緩輸出表,將輸出信息 相應(yīng)設(shè)備,格式加工。,83,5.4 I/O軟件,5-4-1 I/O軟件的目標(biāo)與層次結(jié)構(gòu) 1.I/O軟件的設(shè)計(jì)目標(biāo) (1)設(shè)備無關(guān)性 這是I/O軟件的一個(gè)關(guān)鍵的目標(biāo)。設(shè)備無關(guān)性也稱為設(shè)備獨(dú)立性,是指I/O軟件與實(shí)際使用的物理設(shè)備無關(guān)。 (2)錯(cuò)誤處理 一般說來,對于I/O錯(cuò)誤應(yīng)盡可能地由靠近,84,5.4 I/O軟件,它的硬件進(jìn)行處理。 (3)同步傳輸與異步傳輸 異步傳輸:是指CPU發(fā)出I/O指令,啟動(dòng)設(shè)備傳輸后,不等待I/O完成就返回繼續(xù)運(yùn)行其他的程序。 同步傳輸:是用戶程序請求系統(tǒng)執(zhí)行I/O后,相應(yīng)的進(jìn)程則轉(zhuǎn)入阻塞態(tài),等待I/O完成后,再繼續(xù)運(yùn)行。 2. I/O軟件的層次結(jié)構(gòu),85,5.4 I/O軟件,操作系統(tǒng)中一般把I/O軟件的結(jié)構(gòu)分成四個(gè)層次。按照由高層向低層的排列次序,這四個(gè)層次是: 用戶空間的I/O軟件 與設(shè)備無關(guān)的操作系統(tǒng)軟件 設(shè)備驅(qū)動(dòng)程序 中斷處理程序 I/O系統(tǒng)的層次結(jié)構(gòu)如下圖所示:,86,5.4 I/O軟件,87,5.4 I/O軟件,5.4.2 I/O中斷的處理 1. 操作正常結(jié)束 當(dāng)中斷的原因?yàn)橥ǖ澜Y(jié)束,控制器結(jié)束和設(shè)備結(jié)束時(shí),表示設(shè)備已完成了預(yù)先規(guī)定的所有操作,形成了I/O操作正常結(jié)束的中斷事件。 2. 操作異常結(jié)束 當(dāng)I/O操作中發(fā)生了設(shè)備故障或者設(shè)備特殊情況時(shí),就要產(chǎn)生操作異常結(jié)束的I/O中斷事件。,88,5.4 I/O軟件,(1)設(shè)備故障 當(dāng)執(zhí)行輸入輸出操作時(shí),如果發(fā)現(xiàn)設(shè)備本身出現(xiàn)故障,例如,硬件接口錯(cuò)、控制錯(cuò)、通道故障以及數(shù)據(jù)錯(cuò)(如校驗(yàn)碼不符合)等情況,則組織復(fù)執(zhí)。 (2)設(shè)備特殊情況 各種設(shè)備在工作中都可能出現(xiàn)一些特殊情況。例如,打印機(jī)發(fā)現(xiàn)紙已經(jīng)用完、寫磁帶時(shí)寫到了帶末點(diǎn)等等。,89,5.4 I/O軟件,5.4.3 設(shè)備驅(qū)動(dòng)程序 1. 設(shè)備驅(qū)動(dòng)程序的功能 (1)根據(jù)傳送要求設(shè)置I/O接口中有關(guān)的各種控制寄存器的值。 (2)向有關(guān)的I/O設(shè)備發(fā)出控制命令,啟動(dòng)設(shè)備、通道或DMA控制器工作,并且進(jìn)行一些設(shè)備錯(cuò)誤的檢測和處理。 (3)對該類設(shè)備的I/O請求隊(duì)列、睡眠、喚,90,5.4 I/O軟件,醒等操作進(jìn)行處理。 2. 設(shè)備驅(qū)動(dòng)程序的結(jié)構(gòu) 通常,設(shè)備驅(qū)動(dòng)程序與設(shè)備類型是一一對應(yīng)的,系統(tǒng)為每一種類型的設(shè)備設(shè)置一個(gè)設(shè)備驅(qū)動(dòng)程序。 為了對驅(qū)動(dòng)子程序進(jìn)行統(tǒng)一管理,系統(tǒng)為每一類設(shè)備又設(shè)置了一個(gè)數(shù)據(jù)結(jié)構(gòu),來存放這些操作子程序的入口地址,這個(gè)數(shù)據(jù)結(jié)構(gòu)稱為設(shè)備開關(guān)表DST(Device Switch Table)。,91,5.4 I/O軟件,5.4.4 與設(shè)備無關(guān)的I/O軟件 在I/O軟件中,除了設(shè)備驅(qū)動(dòng)程序與設(shè)備的硬件特性相關(guān)以外,大部分軟件是與設(shè)備無關(guān)的。 圖5-7給出了與設(shè)備無關(guān)軟件所實(shí)現(xiàn)的典型功能。,92,5.4 I/O軟件,93,5.4 I/O軟件,1. 設(shè)備命名 I/O軟件中,對I/O設(shè)備采用了統(tǒng)一命名。設(shè)備名包含了主設(shè)備號和次設(shè)備號。 2. 設(shè)備保護(hù) 設(shè)備保護(hù)防止未授權(quán)的用戶對設(shè)備的使用或者用戶的非法使用。 3. 提供與設(shè)備無關(guān)的邏輯塊 與設(shè)備無關(guān)的軟件隱藏各種設(shè)備的空間大,94,5.4 I/O軟件,小,存取速度上的差異,而向上層軟件提供大小統(tǒng)一的邏輯塊 。 4. 緩沖 緩沖技術(shù)可以解決數(shù)據(jù)傳送過程中的瓶頸問題,提高并行程度。塊設(shè)備和字符設(shè)備
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度寵物用品銷售及養(yǎng)護(hù)服務(wù)外包協(xié)議4篇
- 2025年度廠房租賃合同配套基礎(chǔ)設(shè)施完善協(xié)議4篇
- 旅游部門半年回顧
- 專用借款協(xié)議:2024年版詳盡協(xié)議版A版
- 2025年度智能家居產(chǎn)品定制生產(chǎn)合同范本4篇
- 二零二四三方國際貿(mào)易融資借款協(xié)議2篇
- 2025年度拆除項(xiàng)目環(huán)保驗(yàn)收合同模板4篇
- 二手房交易代簽合同范本2024年版版
- 個(gè)性化服務(wù)型酒店房間租賃協(xié)議版A版
- 二零二五版船艇交易環(huán)保與安全協(xié)議3篇
- SH/T 3046-2024 石油化工立式圓筒形鋼制焊接儲罐設(shè)計(jì)規(guī)范(正式版)
- 2024年??谑羞x調(diào)生考試(行政職業(yè)能力測驗(yàn))綜合能力測試題及答案1套
- 六年級數(shù)學(xué)質(zhì)量分析及改進(jìn)措施
- 一年級下冊數(shù)學(xué)口算題卡打印
- 真人cs基于信號發(fā)射的激光武器設(shè)計(jì)
- 【閱讀提升】部編版語文五年級下冊第三單元閱讀要素解析 類文閱讀課外閱讀過關(guān)(含答案)
- 四年級上冊遞等式計(jì)算練習(xí)200題及答案
- 法院后勤部門述職報(bào)告
- 2024年國信證券招聘筆試參考題庫附帶答案詳解
- 道醫(yī)館可行性報(bào)告
- 仙家送錢表文-文字打印版
評論
0/150
提交評論