




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第五章 設(shè) 備 管 理 1第五章第五章 設(shè)備管理設(shè)備管理 5.1 5.1 引言引言 5.2 5.2 操作系統(tǒng)與中斷處理操作系統(tǒng)與中斷處理 5.3 5.3 操作系統(tǒng)與時(shí)鐘系統(tǒng)操作系統(tǒng)與時(shí)鐘系統(tǒng) 5.4 5.4 操作系統(tǒng)對操作系統(tǒng)對I/OI/O操作的控制操作的控制 5.5 5.5 設(shè)備管理的數(shù)據(jù)結(jié)構(gòu)設(shè)備管理的數(shù)據(jù)結(jié)構(gòu) 5.6 5.6 磁盤調(diào)度磁盤調(diào)度 5.7 UNIX5.7 UNIX系統(tǒng)系統(tǒng)V V的設(shè)備管理的設(shè)備管理5.8 5.8 設(shè)備分配設(shè)備分配第五章 設(shè) 備 管 理 2第五章第五章 設(shè)備管理設(shè)備管理 5.1 引言引言 設(shè)備管理設(shè)備管理是指計(jì)算機(jī)系統(tǒng)中,除中央處理器、是指計(jì)算機(jī)系統(tǒng)中,除中央處理
2、器、主存儲器以外的設(shè)備的管理,是操作系統(tǒng)的主要主存儲器以外的設(shè)備的管理,是操作系統(tǒng)的主要功能之一功能之一. 通常把這些設(shè)備及其接口線路、控制部件和通常把這些設(shè)備及其接口線路、控制部件和管理軟件統(tǒng)稱為管理軟件統(tǒng)稱為I/O系統(tǒng)系統(tǒng)。 第五章 設(shè) 備 管 理 3在在I/O系統(tǒng)中,普遍地使用系統(tǒng)中,普遍地使用中斷中斷、通道通道、緩沖區(qū)緩沖區(qū)等等各種技術(shù),使主機(jī)和外設(shè)并行工作,改善了設(shè)備各種技術(shù),使主機(jī)和外設(shè)并行工作,改善了設(shè)備的使用效率。的使用效率。但是,在另一方面卻但是,在另一方面卻給用戶帶來困難給用戶帶來困難。用戶想使。用戶想使用一臺外部設(shè)備,除了需掌握相關(guān)用一臺外部設(shè)備,除了需掌握相關(guān) I/O部
3、分的原理部分的原理之外,還要求對接口、控制器以及設(shè)備的物理特之外,還要求對接口、控制器以及設(shè)備的物理特性都要有一定了解。性都要有一定了解。為了使用戶擺脫這些限制,操作系統(tǒng)承擔(dān)了這項(xiàng)為了使用戶擺脫這些限制,操作系統(tǒng)承擔(dān)了這項(xiàng)任務(wù),任務(wù),凡是有關(guān)外設(shè)的驅(qū)動、控制、分配等技術(shù)凡是有關(guān)外設(shè)的驅(qū)動、控制、分配等技術(shù)問題都統(tǒng)一由設(shè)備管理程序負(fù)責(zé)問題都統(tǒng)一由設(shè)備管理程序負(fù)責(zé)。第五章 設(shè) 備 管 理 45.1.1 5.1.1 設(shè)備的概念和分類設(shè)備的概念和分類 1. 設(shè)備的概念設(shè)備的概念 它既指進(jìn)行實(shí)際輸入輸出操作的它既指進(jìn)行實(shí)際輸入輸出操作的物理設(shè)備物理設(shè)備,也指控制這些設(shè)備并進(jìn)行也指控制這些設(shè)備并進(jìn)行I/O
4、操作的操作的支持設(shè)備支持設(shè)備和和支持部件支持部件,也指為提高設(shè)備利用率,采用某,也指為提高設(shè)備利用率,采用某種種 I/O技術(shù)形成的技術(shù)形成的邏輯設(shè)備邏輯設(shè)備和和虛擬設(shè)備虛擬設(shè)備。因此可以說,因此可以說,輸入輸出設(shè)備可指計(jì)算機(jī)系統(tǒng)輸入輸出設(shè)備可指計(jì)算機(jī)系統(tǒng)所能控制的一切控制對象或者與控制對象相聯(lián)所能控制的一切控制對象或者與控制對象相聯(lián)系的媒體系的媒體。第五章 設(shè) 備 管 理 52. 設(shè)備的分類設(shè)備的分類 按照功能分類:按照功能分類:可以分為輸入設(shè)備、輸出設(shè)備、存儲設(shè)可以分為輸入設(shè)備、輸出設(shè)備、存儲設(shè)備、供電設(shè)備、網(wǎng)絡(luò)聯(lián)網(wǎng)設(shè)備等。備、供電設(shè)備、網(wǎng)絡(luò)聯(lián)網(wǎng)設(shè)備等。 從設(shè)備的數(shù)據(jù)組織方式分類:從設(shè)備的數(shù)
5、據(jù)組織方式分類:可以分為塊設(shè)備可以分為塊設(shè)備(blockdevice)和字符設(shè)備()和字符設(shè)備(characterdevice)。)。塊設(shè)備塊設(shè)備以數(shù)據(jù)塊為單位組織和傳送數(shù)據(jù)以數(shù)據(jù)塊為單位組織和傳送數(shù)據(jù)。它將數(shù)據(jù)存儲在定。它將數(shù)據(jù)存儲在定長塊中,每個(gè)數(shù)據(jù)塊都有自己的地址,塊的大小與設(shè)備和具長塊中,每個(gè)數(shù)據(jù)塊都有自己的地址,塊的大小與設(shè)備和具體的操作系統(tǒng)有關(guān),一般在體的操作系統(tǒng)有關(guān),一般在5124096字節(jié)之間。塊設(shè)備的基字節(jié)之間。塊設(shè)備的基本特征是本特征是能夠單獨(dú)地讀寫每一個(gè)數(shù)據(jù)塊能夠單獨(dú)地讀寫每一個(gè)數(shù)據(jù)塊,所讀寫的塊與其他,所讀寫的塊與其他數(shù)據(jù)塊無關(guān)。數(shù)據(jù)塊無關(guān)。字符設(shè)備字符設(shè)備以字符為單位
6、組織和傳送數(shù)據(jù)以字符為單位組織和傳送數(shù)據(jù)。它傳送或接收一連。它傳送或接收一連串字符,數(shù)據(jù)組織不考慮塊結(jié)構(gòu),也不能單獨(dú)尋址。串字符,數(shù)據(jù)組織不考慮塊結(jié)構(gòu),也不能單獨(dú)尋址。第五章 設(shè) 備 管 理 6 從設(shè)備的管理模式分類從設(shè)備的管理模式分類,可以分為,可以分為物理設(shè)備物理設(shè)備和和邏輯設(shè)備邏輯設(shè)備。物理設(shè)備物理設(shè)備指計(jì)算機(jī)系統(tǒng)硬件配置的實(shí)際設(shè)備。這指計(jì)算機(jī)系統(tǒng)硬件配置的實(shí)際設(shè)備。這些設(shè)備在操作系統(tǒng)內(nèi)具有一個(gè)惟一的符號名稱,些設(shè)備在操作系統(tǒng)內(nèi)具有一個(gè)惟一的符號名稱,系統(tǒng)可以按照該名稱對相應(yīng)的設(shè)備進(jìn)行物理操作。系統(tǒng)可以按照該名稱對相應(yīng)的設(shè)備進(jìn)行物理操作。邏輯設(shè)備邏輯設(shè)備是指一種在邏輯意義上存在的設(shè)備,在
7、是指一種在邏輯意義上存在的設(shè)備,在未加以定義前,它不代表任何硬件設(shè)備和實(shí)際設(shè)未加以定義前,它不代表任何硬件設(shè)備和實(shí)際設(shè)備。邏輯設(shè)備是系統(tǒng)提供的,它也是獨(dú)立于物理備。邏輯設(shè)備是系統(tǒng)提供的,它也是獨(dú)立于物理設(shè)備而進(jìn)行輸入輸出操作的一種設(shè)備而進(jìn)行輸入輸出操作的一種“虛擬設(shè)備虛擬設(shè)備”。第五章 設(shè) 備 管 理 7從設(shè)備的資源屬性分類從設(shè)備的資源屬性分類,可以分為,可以分為獨(dú)占設(shè)備獨(dú)占設(shè)備、共享設(shè)備共享設(shè)備和和虛擬設(shè)備虛擬設(shè)備。獨(dú)占設(shè)備獨(dú)占設(shè)備在用戶作業(yè)或者進(jìn)程運(yùn)行期間為該用戶在用戶作業(yè)或者進(jìn)程運(yùn)行期間為該用戶所獨(dú)享,只有等它用完,才能讓別的用戶和進(jìn)程所獨(dú)享,只有等它用完,才能讓別的用戶和進(jìn)程使用;使用
8、;共享設(shè)備共享設(shè)備是指能被多個(gè)用戶或進(jìn)程是指能被多個(gè)用戶或進(jìn)程交替共用交替共用的設(shè)的設(shè)備,宏觀上似乎多個(gè)用戶同時(shí)在使用,如磁盤等備,宏觀上似乎多個(gè)用戶同時(shí)在使用,如磁盤等隨機(jī)存儲設(shè)備。隨機(jī)存儲設(shè)備。虛擬設(shè)備虛擬設(shè)備具有將一種物理設(shè)備模擬成另一種設(shè)備具有將一種物理設(shè)備模擬成另一種設(shè)備的能力。用戶進(jìn)行輸入輸出所使用的設(shè)備并不是的能力。用戶進(jìn)行輸入輸出所使用的設(shè)備并不是他所指定的設(shè)備,系統(tǒng)用另一種設(shè)備代替了用戶他所指定的設(shè)備,系統(tǒng)用另一種設(shè)備代替了用戶指定的設(shè)備。指定的設(shè)備。第五章 設(shè) 備 管 理 8SPOOLING技術(shù)技術(shù)l系統(tǒng)采用某種系統(tǒng)采用某種 I/O技術(shù)(如技術(shù)(如 SPOOLING),將)
9、,將某個(gè)獨(dú)占設(shè)備改進(jìn)為多用戶共享的設(shè)備,以提某個(gè)獨(dú)占設(shè)備改進(jìn)為多用戶共享的設(shè)備,以提高系統(tǒng)運(yùn)行效率和資源利用率。高系統(tǒng)運(yùn)行效率和資源利用率。l隨著隨著SPOOLING技術(shù)的引入,技術(shù)的引入,I/O 設(shè)備不再被看設(shè)備不再被看做僅僅是一個(gè)孤立的物理設(shè)備,而且把它們與做僅僅是一個(gè)孤立的物理設(shè)備,而且把它們與文件系統(tǒng)聯(lián)系起來,看做是一種流式文件(數(shù)文件系統(tǒng)聯(lián)系起來,看做是一種流式文件(數(shù)據(jù)流的據(jù)流的I/O),建立了),建立了設(shè)備文件設(shè)備文件的概念,采用了的概念,采用了直接直接I/O端口控制語句和文件操作語句來進(jìn)行端口控制語句和文件操作語句來進(jìn)行I/O設(shè)備操作,使設(shè)備操作,使I/O設(shè)備的操作更加靈活。設(shè)
10、備的操作更加靈活。第五章 設(shè) 備 管 理 95.1.2 I/O設(shè)備控制與驅(qū)動設(shè)備控制與驅(qū)動I/O 設(shè)備的控制和驅(qū)動技術(shù)包括了設(shè)備的控制和驅(qū)動技術(shù)包括了硬件控制驅(qū)動技硬件控制驅(qū)動技術(shù)術(shù)和和驅(qū)動軟件驅(qū)動軟件。 前者是前者是 I/O 設(shè)備廠商設(shè)計(jì)建立的與設(shè)備密切相關(guān)的技術(shù),設(shè)備廠商設(shè)計(jì)建立的與設(shè)備密切相關(guān)的技術(shù),這些技術(shù)根據(jù)不同的設(shè)備依賴性很大。這些技術(shù)根據(jù)不同的設(shè)備依賴性很大。 后者涉及系統(tǒng)所有后者涉及系統(tǒng)所有I/O 處理的軟件,通過它們完成整個(gè)處理的軟件,通過它們完成整個(gè) I/O 操作。操作。第五章 設(shè) 備 管 理 10操作系統(tǒng)中的操作系統(tǒng)中的I/O驅(qū)動(處理)軟件一般分為幾個(gè)層次,驅(qū)動(處理)
11、軟件一般分為幾個(gè)層次,如如中斷處理程序中斷處理程序、設(shè)備驅(qū)動程序設(shè)備驅(qū)動程序、操作系統(tǒng)操作系統(tǒng) I/O原語和用原語和用戶級軟件戶級軟件。中斷處理程序中斷處理程序位于最底層,它作為系統(tǒng)和位于最底層,它作為系統(tǒng)和I/O操作的激勵,操作的激勵,響應(yīng)來自系統(tǒng)內(nèi)部和外部的響應(yīng)來自系統(tǒng)內(nèi)部和外部的 I/O請求。請求。設(shè)備驅(qū)動程序設(shè)備驅(qū)動程序處理一種設(shè)備類型或者一類密切相關(guān)的設(shè)備,處理一種設(shè)備類型或者一類密切相關(guān)的設(shè)備,程序代碼依賴于設(shè)備操作,其任務(wù)是接收來自與設(shè)備無關(guān)程序代碼依賴于設(shè)備操作,其任務(wù)是接收來自與設(shè)備無關(guān)的上層軟件的抽象請求,確保操作的具體實(shí)施。的上層軟件的抽象請求,確保操作的具體實(shí)施。操作系
12、統(tǒng)操作系統(tǒng)I/O原語原語是系統(tǒng)和用戶進(jìn)程請求是系統(tǒng)和用戶進(jìn)程請求 I/O操作的抽象的操作的抽象的高級的操作,它們不針對某個(gè)具體設(shè)備,而在高級的操作,它們不針對某個(gè)具體設(shè)備,而在 I/O處理過處理過程中由設(shè)備控制表和設(shè)備驅(qū)動程序轉(zhuǎn)接到物理設(shè)備。程中由設(shè)備控制表和設(shè)備驅(qū)動程序轉(zhuǎn)接到物理設(shè)備。用戶級軟件用戶級軟件是用戶程序中負(fù)責(zé)處理是用戶程序中負(fù)責(zé)處理 I/O 操作的程序部分,操作的程序部分,經(jīng)編譯后產(chǎn)生對經(jīng)編譯后產(chǎn)生對I/O的高級處理,操作再逐層下交。的高級處理,操作再逐層下交。第五章 設(shè) 備 管 理 115.1.3 設(shè)備管理的設(shè)計(jì)要求和任務(wù)設(shè)備管理的設(shè)計(jì)要求和任務(wù)1.設(shè)計(jì)要求設(shè)計(jì)要求 第一第一,
13、為用戶提供方便、統(tǒng)一的設(shè)備使用界面,為用戶提供方便、統(tǒng)一的設(shè)備使用界面; 第二第二,提高外部設(shè)備的利用率,盡量提高并行,提高外部設(shè)備的利用率,盡量提高并行程度。程度。 第三第三,用戶程序應(yīng)獨(dú)立于設(shè)備,即實(shí)現(xiàn)程序與,用戶程序應(yīng)獨(dú)立于設(shè)備,即實(shí)現(xiàn)程序與設(shè)備的無關(guān)性,當(dāng)物理設(shè)備發(fā)生意外或有更改設(shè)備的無關(guān)性,當(dāng)物理設(shè)備發(fā)生意外或有更改時(shí),用戶程序不必修改,就可使用系統(tǒng)分配的時(shí),用戶程序不必修改,就可使用系統(tǒng)分配的其他設(shè)備其他設(shè)備第五章 設(shè) 備 管 理 122. 設(shè)備管理的任務(wù)設(shè)備管理的任務(wù)為了達(dá)到上述目標(biāo),管理功能通常包括為了達(dá)到上述目標(biāo),管理功能通常包括設(shè)備的配置和資設(shè)備的配置和資源分配源分配、設(shè)備
14、的控制和驅(qū)動設(shè)備的控制和驅(qū)動、系統(tǒng)與設(shè)備之間的緩沖協(xié)系統(tǒng)與設(shè)備之間的緩沖協(xié)調(diào)調(diào)、設(shè)備的調(diào)度與分配設(shè)備的調(diào)度與分配等。等。(1)設(shè)備配置和資源分配)設(shè)備配置和資源分配是針對是針對 I/O 設(shè)備本身的。由于設(shè)備本身的。由于系統(tǒng)要配置各種系統(tǒng)要配置各種 I/O 設(shè)備和部件,它們都要使用一定的設(shè)備和部件,它們都要使用一定的系統(tǒng)資源,包括系統(tǒng)資源,包括I/O通道、通道、I/O地址、地址、I/O端口、存儲器地端口、存儲器地址、中斷請求號及址、中斷請求號及 DMA 通道等,它們的共享在硬件和通道等,它們的共享在硬件和軟件上可能會產(chǎn)生沖突,必須由操作系統(tǒng)對軟件上可能會產(chǎn)生沖突,必須由操作系統(tǒng)對 I/O 設(shè)備進(jìn)
15、設(shè)備進(jìn)行正確的配置和分配。行正確的配置和分配。第五章 設(shè) 備 管 理 13(2)設(shè)備控制和驅(qū)動)設(shè)備控制和驅(qū)動主要是按照主要是按照 I/O 控制的方式,對不同控制的方式,對不同的設(shè)備完成相應(yīng)的的設(shè)備完成相應(yīng)的 I/O 中斷、設(shè)備控制器操作、讀寫操作等中斷、設(shè)備控制器操作、讀寫操作等物理過程。針對不同的設(shè)備請求,通過設(shè)備處理程序或設(shè)備物理過程。針對不同的設(shè)備請求,通過設(shè)備處理程序或設(shè)備驅(qū)動程序完成對設(shè)備的直接控制。驅(qū)動程序完成對設(shè)備的直接控制。(3)系統(tǒng)與設(shè)備間的協(xié)調(diào))系統(tǒng)與設(shè)備間的協(xié)調(diào)主要是速度上的協(xié)調(diào),通常要解主要是速度上的協(xié)調(diào),通常要解決快速的處理器與慢速的決快速的處理器與慢速的I/O 設(shè)
16、備之間的操作匹配的問題,設(shè)備之間的操作匹配的問題,在操作系統(tǒng)中在操作系統(tǒng)中采用緩沖區(qū)的方式采用緩沖區(qū)的方式來緩解這個(gè)矛盾,設(shè)備管理來緩解這個(gè)矛盾,設(shè)備管理要實(shí)現(xiàn)這些緩沖區(qū)的建立、分配、釋放與回收。要實(shí)現(xiàn)這些緩沖區(qū)的建立、分配、釋放與回收。(4)設(shè)備調(diào)度與分配)設(shè)備調(diào)度與分配是針對兩種不同情況:是針對兩種不同情況: 對等待設(shè)備和對等待設(shè)備和I/O 操作的進(jìn)程操作的進(jìn)程進(jìn)行調(diào)度;進(jìn)行調(diào)度; 對對多個(gè)進(jìn)程爭用設(shè)備多個(gè)進(jìn)程爭用設(shè)備進(jìn)行分配。進(jìn)行分配。第五章 設(shè) 備 管 理 14UNIX設(shè)備管理設(shè)備管理在在UNIX操作系統(tǒng)中,采用比較統(tǒng)一的方法對外操作系統(tǒng)中,采用比較統(tǒng)一的方法對外設(shè)進(jìn)行管理。設(shè)進(jìn)行管理
17、。首先將各種外部設(shè)備分成特性迥然不同的兩大類,首先將各種外部設(shè)備分成特性迥然不同的兩大類,即即塊設(shè)備塊設(shè)備和和字符設(shè)備字符設(shè)備;接著又把與設(shè)備物理特性密切相關(guān)的部分與設(shè)備接著又把與設(shè)備物理特性密切相關(guān)的部分與設(shè)備管理的基本方式和使用的基本技術(shù)分離開來。管理的基本方式和使用的基本技術(shù)分離開來。系統(tǒng)為各個(gè)設(shè)備設(shè)置單獨(dú)的數(shù)據(jù)結(jié)構(gòu),然后用基系統(tǒng)為各個(gè)設(shè)備設(shè)置單獨(dú)的數(shù)據(jù)結(jié)構(gòu),然后用基本相同的方式和技術(shù)對同類設(shè)備的本相同的方式和技術(shù)對同類設(shè)備的I/O操作進(jìn)行操作進(jìn)行處理。處理。第五章 設(shè) 備 管 理 155.2 5.2 操作系統(tǒng)與中斷處理操作系統(tǒng)與中斷處理中斷中斷是參與計(jì)算機(jī)系統(tǒng)設(shè)備管理的一個(gè)重要因是參與
18、計(jì)算機(jī)系統(tǒng)設(shè)備管理的一個(gè)重要因素和重要結(jié)構(gòu)。它是操作系統(tǒng)中與硬件最接近素和重要結(jié)構(gòu)。它是操作系統(tǒng)中與硬件最接近的一部分,是操作系統(tǒng)和硬件的界面,是由軟、的一部分,是操作系統(tǒng)和硬件的界面,是由軟、硬件結(jié)合形成的一套中斷機(jī)構(gòu)實(shí)施的。硬件結(jié)合形成的一套中斷機(jī)構(gòu)實(shí)施的。第五章 設(shè) 備 管 理 165.2.1 中斷的基本概念中斷的基本概念當(dāng)一個(gè)正在運(yùn)行的過程被另外一個(gè)過程打斷,停止運(yùn)行過程當(dāng)一個(gè)正在運(yùn)行的過程被另外一個(gè)過程打斷,停止運(yùn)行過程而轉(zhuǎn)向執(zhí)行另一過程的活動稱為而轉(zhuǎn)向執(zhí)行另一過程的活動稱為中斷中斷。中斷的過程是打斷目前正在進(jìn)行的工作,轉(zhuǎn)而處理更緊急的中斷的過程是打斷目前正在進(jìn)行的工作,轉(zhuǎn)而處理更緊
19、急的事務(wù),處理完成后再繼續(xù)原來的工作。事務(wù),處理完成后再繼續(xù)原來的工作。計(jì)算機(jī)系統(tǒng)的中斷既來自系統(tǒng)內(nèi)部,也來自系統(tǒng)外部,分別計(jì)算機(jī)系統(tǒng)的中斷既來自系統(tǒng)內(nèi)部,也來自系統(tǒng)外部,分別稱為稱為內(nèi)(部)中斷內(nèi)(部)中斷和和外(部)中斷外(部)中斷。內(nèi)部中斷是計(jì)算機(jī)系統(tǒng)本身在工作過程中出現(xiàn)的各種需要緊內(nèi)部中斷是計(jì)算機(jī)系統(tǒng)本身在工作過程中出現(xiàn)的各種需要緊急處理的事務(wù),如出錯中斷、程序中斷等,也稱為急處理的事務(wù),如出錯中斷、程序中斷等,也稱為軟件中斷軟件中斷。內(nèi)部中斷多采用程序陷入(內(nèi)部中斷多采用程序陷入(trap)的方式。)的方式。外部中斷主要是來自外部中斷主要是來自 I/O 設(shè)備的中斷,如設(shè)備請求中斷、打
20、設(shè)備的中斷,如設(shè)備請求中斷、打印中斷、掉電中斷、數(shù)據(jù)傳輸中斷等,大部分是印中斷、掉電中斷、數(shù)據(jù)傳輸中斷等,大部分是硬件中斷硬件中斷。第五章 設(shè) 備 管 理 17第五章 設(shè) 備 管 理 185.2.2 中斷的類型中斷的類型(1)I/O中斷中斷這是來自通道或者各種外部設(shè)備的中斷,用于這是來自通道或者各種外部設(shè)備的中斷,用于反映通道或設(shè)備的工作情況。例如,打印機(jī)打反映通道或設(shè)備的工作情況。例如,打印機(jī)打印結(jié)束、磁盤傳輸完成、利用終端進(jìn)行印結(jié)束、磁盤傳輸完成、利用終端進(jìn)行 I/O 操操作等,也包括外設(shè)在執(zhí)行作等,也包括外設(shè)在執(zhí)行 I/O 操作時(shí)出錯而引操作時(shí)出錯而引起的中斷。起的中斷。第五章 設(shè) 備
21、管 理 19(2)時(shí)鐘中斷)時(shí)鐘中斷一類特殊的一類特殊的 I/O 完成中斷,它不一定與具體的完成中斷,它不一定與具體的 I/O 相連,既可由硬件引起,也可由軟件引起。相連,既可由硬件引起,也可由軟件引起。經(jīng)由硬件定時(shí)芯片產(chǎn)生規(guī)則的時(shí)鐘間隔(時(shí)間經(jīng)由硬件定時(shí)芯片產(chǎn)生規(guī)則的時(shí)鐘間隔(時(shí)間片)或者由軟件計(jì)數(shù)產(chǎn)生的時(shí)間間隔,每一次片)或者由軟件計(jì)數(shù)產(chǎn)生的時(shí)間間隔,每一次中斷都意味著一段固定時(shí)間已到,時(shí)鐘中斷需中斷都意味著一段固定時(shí)間已到,時(shí)鐘中斷需要定時(shí)、復(fù)位和更新。要定時(shí)、復(fù)位和更新。第五章 設(shè) 備 管 理 20(3)系統(tǒng)請求中斷)系統(tǒng)請求中斷向操作系統(tǒng)提出的請求服務(wù),是由系統(tǒng)指令產(chǎn)向操作系統(tǒng)提出的
22、請求服務(wù),是由系統(tǒng)指令產(chǎn)生的。系統(tǒng)調(diào)用指令是這一類中斷的特例。生的。系統(tǒng)調(diào)用指令是這一類中斷的特例。各種各種 I/O 指令,如指令,如 TRAP、IOT 等均可產(chǎn)生系等均可產(chǎn)生系統(tǒng)請求。該中斷把命令傳送到操作系統(tǒng),以確統(tǒng)請求。該中斷把命令傳送到操作系統(tǒng),以確定一個(gè)進(jìn)程需要什么樣的服務(wù),操作系統(tǒng)對請定一個(gè)進(jìn)程需要什么樣的服務(wù),操作系統(tǒng)對請求做出分析并提供所需要的服務(wù)。求做出分析并提供所需要的服務(wù)。第五章 設(shè) 備 管 理 21(4)報(bào)警中斷)報(bào)警中斷一般由計(jì)算機(jī)系統(tǒng)的外部條件引起,如計(jì)算機(jī)一般由計(jì)算機(jī)系統(tǒng)的外部條件引起,如計(jì)算機(jī)的中斷鍵、啟動鍵、求助鍵等,以及由外部通的中斷鍵、啟動鍵、求助鍵等,以
23、及由外部通信信號和網(wǎng)絡(luò)傳輸信號到達(dá)產(chǎn)生的中斷。信信號和網(wǎng)絡(luò)傳輸信號到達(dá)產(chǎn)生的中斷。(5)程序錯誤中斷)程序錯誤中斷因編程錯誤、邏輯條件判斷或分支錯誤、運(yùn)行參因編程錯誤、邏輯條件判斷或分支錯誤、運(yùn)行參數(shù)錯誤而產(chǎn)生的中斷。它通常會通過用戶終端或數(shù)錯誤而產(chǎn)生的中斷。它通常會通過用戶終端或顯示器給予提示。這類中斷的類型包括:除數(shù)為顯示器給予提示。這類中斷的類型包括:除數(shù)為零、浮點(diǎn)運(yùn)算溢出、存儲器使用無效、地址越界、零、浮點(diǎn)運(yùn)算溢出、存儲器使用無效、地址越界、使用特權(quán)或非法指令、越權(quán)訪問、錯誤的格式化使用特權(quán)或非法指令、越權(quán)訪問、錯誤的格式化數(shù)據(jù)等數(shù)據(jù)等第五章 設(shè) 備 管 理 22(6)機(jī)器錯誤中斷)機(jī)
24、器錯誤中斷對應(yīng)于系統(tǒng)硬件的錯誤中斷。如存儲器錯誤、對應(yīng)于系統(tǒng)硬件的錯誤中斷。如存儲器錯誤、I/O 設(shè)備錯誤、顯示器錯誤、接口通道錯誤等。設(shè)備錯誤、顯示器錯誤、接口通道錯誤等。一般操作系統(tǒng)只報(bào)告這些錯誤,并終止操作。一般操作系統(tǒng)只報(bào)告這些錯誤,并終止操作?,F(xiàn)代的操作系統(tǒng)會隔離錯誤的部分或?qū)⑵滏i定,現(xiàn)代的操作系統(tǒng)會隔離錯誤的部分或?qū)⑵滏i定,而用其他的部分繼續(xù)工作而用其他的部分繼續(xù)工作。第五章 設(shè) 備 管 理 23UNIX 中斷機(jī)構(gòu)中斷機(jī)構(gòu)處理一切外部設(shè)備的處理一切外部設(shè)備的 I/O 中斷。中斷。陷入機(jī)構(gòu)陷入機(jī)構(gòu)處理在系統(tǒng)內(nèi)發(fā)生的需要立即干預(yù)的事處理在系統(tǒng)內(nèi)發(fā)生的需要立即干預(yù)的事件,包括使用指令的陷
25、入(自陷)和由于軟、硬件,包括使用指令的陷入(自陷)和由于軟、硬件故障或錯誤造成的陷入。件故障或錯誤造成的陷入。系統(tǒng)調(diào)用系統(tǒng)調(diào)用是是UNIX操作系統(tǒng)面向在用戶態(tài)下運(yùn)行操作系統(tǒng)面向在用戶態(tài)下運(yùn)行的程序的界面,在的程序的界面,在C語言和匯編語言級上都允許語言和匯編語言級上都允許用戶態(tài)程序使用系統(tǒng)調(diào)用。用戶態(tài)程序使用系統(tǒng)調(diào)用。在匯編語言級上,系統(tǒng)調(diào)用使用在匯編語言級上,系統(tǒng)調(diào)用使用trap指令,經(jīng)由指令,經(jīng)由陷入機(jī)構(gòu)使處理機(jī)從用戶態(tài)轉(zhuǎn)變?yōu)楹诵膽B(tài),由操陷入機(jī)構(gòu)使處理機(jī)從用戶態(tài)轉(zhuǎn)變?yōu)楹诵膽B(tài),由操作系統(tǒng)執(zhí)行相應(yīng)處理程序,提供所需的服務(wù)。作系統(tǒng)執(zhí)行相應(yīng)處理程序,提供所需的服務(wù)。第五章 設(shè) 備 管 理 24(
26、 (補(bǔ)充)系統(tǒng)調(diào)用命令補(bǔ)充)系統(tǒng)調(diào)用命令操作系統(tǒng)里預(yù)先編制了很多不同功能的子程序。用操作系統(tǒng)里預(yù)先編制了很多不同功能的子程序。用戶可以在自己的程序里調(diào)用這些子程序,請求操作戶可以在自己的程序里調(diào)用這些子程序,請求操作系統(tǒng)提供服務(wù)。這些子程序稱為系統(tǒng)提供服務(wù)。這些子程序稱為“系統(tǒng)功能調(diào)用系統(tǒng)功能調(diào)用”程序。程序。每個(gè)操作系統(tǒng)都提供幾百種系統(tǒng)調(diào)用,包括:外存每個(gè)操作系統(tǒng)都提供幾百種系統(tǒng)調(diào)用,包括:外存文件與目錄的讀寫,各種文件與目錄的讀寫,各種I/OI/O設(shè)備的使用,在程序設(shè)備的使用,在程序中啟動另一個(gè)程序,查詢和統(tǒng)計(jì)系統(tǒng)資源使用情況中啟動另一個(gè)程序,查詢和統(tǒng)計(jì)系統(tǒng)資源使用情況等等。等等。系統(tǒng)調(diào)用
27、是操作系統(tǒng)程序模塊的一部分,它應(yīng)該在系統(tǒng)調(diào)用是操作系統(tǒng)程序模塊的一部分,它應(yīng)該在管態(tài)下執(zhí)行。不能直接被用戶程序調(diào)用,用戶程序管態(tài)下執(zhí)行。不能直接被用戶程序調(diào)用,用戶程序只有通過系統(tǒng)提供的只有通過系統(tǒng)提供的“訪管訪管”指令指令,才能實(shí)現(xiàn)由目,才能實(shí)現(xiàn)由目態(tài)轉(zhuǎn)為管態(tài)、進(jìn)而調(diào)用這些功能程序的目的。態(tài)轉(zhuǎn)為管態(tài)、進(jìn)而調(diào)用這些功能程序的目的。第五章 設(shè) 備 管 理 25訪管指令訪管指令訪管指令訪管指令:是一條非特權(quán)指令,功能是執(zhí)行它就:是一條非特權(quán)指令,功能是執(zhí)行它就會產(chǎn)生一個(gè)軟中斷,促使處理器由目態(tài)轉(zhuǎn)換到管會產(chǎn)生一個(gè)軟中斷,促使處理器由目態(tài)轉(zhuǎn)換到管態(tài),進(jìn)入操作系統(tǒng),并處理中斷。態(tài),進(jìn)入操作系統(tǒng),并處理中
28、斷。利用訪管指令的這種功能,編譯程序就把源程序利用訪管指令的這種功能,編譯程序就把源程序中的系統(tǒng)調(diào)用都轉(zhuǎn)換成訪管指令,把具體的功能中的系統(tǒng)調(diào)用都轉(zhuǎn)換成訪管指令,把具體的功能轉(zhuǎn)換成不同的編碼。這樣,就能使處理機(jī)執(zhí)行訪轉(zhuǎn)換成不同的編碼。這樣,就能使處理機(jī)執(zhí)行訪管指令由目態(tài)進(jìn)入管態(tài),再根據(jù)編碼,轉(zhuǎn)到相應(yīng)管指令由目態(tài)進(jìn)入管態(tài),再根據(jù)編碼,轉(zhuǎn)到相應(yīng)的功能處理程序去執(zhí)行。的功能處理程序去執(zhí)行。第五章 設(shè) 備 管 理 26例:在例:在c c語言中,語言中,write(fd,buf,count)write(fd,buf,count)系統(tǒng)調(diào)用命令。系統(tǒng)調(diào)用命令。C編譯程序在編譯編譯程序在編譯C的源程序時(shí),總把系
29、統(tǒng)調(diào)的源程序時(shí),總把系統(tǒng)調(diào)用命令翻譯成能夠引起軟中斷的訪管指令用命令翻譯成能夠引起軟中斷的訪管指令trap.該指令長兩個(gè)字節(jié),第一個(gè)字節(jié)為該指令長兩個(gè)字節(jié),第一個(gè)字節(jié)為操作碼操作碼,第,第二個(gè)字節(jié)為系統(tǒng)調(diào)用命令的二個(gè)字節(jié)為系統(tǒng)調(diào)用命令的功能編碼功能編碼。Trap功能碼FdBufcount第五章 設(shè) 備 管 理 27Trap指令中的功能碼是用來區(qū)分不同的功能調(diào)指令中的功能碼是用來區(qū)分不同的功能調(diào)用的。用的。在在UNIX操作系統(tǒng)中,有一張操作系統(tǒng)中,有一張“系統(tǒng)調(diào)用程序系統(tǒng)調(diào)用程序入口地址表入口地址表”。該表表目從。該表表目從0開始、以系統(tǒng)調(diào)開始、以系統(tǒng)調(diào)用命令所對應(yīng)的功能碼為順序排列。用命令所對
30、應(yīng)的功能碼為順序排列。第五章 設(shè) 備 管 理 28系統(tǒng)調(diào)用處理過程系統(tǒng)調(diào)用處理過程語言語言編譯編譯程序程序產(chǎn)生產(chǎn)生中斷中斷查看查看入口入口表表Write處處理程序理程序Write入口3104404(trap 04)C C語言源程序語言源程序目標(biāo)程序目標(biāo)程序TrapTrap中斷處中斷處理程序理程序345第五章 設(shè) 備 管 理 29系統(tǒng)調(diào)用與一般過程調(diào)用的區(qū)別系統(tǒng)調(diào)用與一般過程調(diào)用的區(qū)別(1)一般過程調(diào)用,調(diào)用者與被調(diào)用者都運(yùn)行在相同的一般過程調(diào)用,調(diào)用者與被調(diào)用者都運(yùn)行在相同的cpu狀態(tài)。但發(fā)生系統(tǒng)調(diào)用時(shí),發(fā)出調(diào)用命令的調(diào)用者運(yùn)行狀態(tài)。但發(fā)生系統(tǒng)調(diào)用時(shí),發(fā)出調(diào)用命令的調(diào)用者運(yùn)行在目態(tài),而被調(diào)用者
31、運(yùn)行在管態(tài)。在目態(tài),而被調(diào)用者運(yùn)行在管態(tài)。(2)一般過程調(diào)用,是直接通過轉(zhuǎn)移指令轉(zhuǎn)向被調(diào)用程序一般過程調(diào)用,是直接通過轉(zhuǎn)移指令轉(zhuǎn)向被調(diào)用程序的;但發(fā)生系統(tǒng)調(diào)用時(shí),只能通過軟中斷指令提供的一個(gè)的;但發(fā)生系統(tǒng)調(diào)用時(shí),只能通過軟中斷指令提供的一個(gè)統(tǒng)一入口,由目態(tài)進(jìn)入管態(tài),經(jīng)分析后,才轉(zhuǎn)向相應(yīng)的命統(tǒng)一入口,由目態(tài)進(jìn)入管態(tài),經(jīng)分析后,才轉(zhuǎn)向相應(yīng)的命令處理程序。令處理程序。(3)一般過程調(diào)用,在被調(diào)用者執(zhí)行完后,就徑直返回?cái)嘁话氵^程調(diào)用,在被調(diào)用者執(zhí)行完后,就徑直返回?cái)帱c(diǎn)繼續(xù)執(zhí)行;但系統(tǒng)調(diào)用可能會招致進(jìn)程狀態(tài)的變化,從點(diǎn)繼續(xù)執(zhí)行;但系統(tǒng)調(diào)用可能會招致進(jìn)程狀態(tài)的變化,從而引起系統(tǒng)重新分配處理機(jī)。因此,系統(tǒng)調(diào)
32、用結(jié)束后,不而引起系統(tǒng)重新分配處理機(jī)。因此,系統(tǒng)調(diào)用結(jié)束后,不一定是返回調(diào)用者斷點(diǎn)處繼續(xù)執(zhí)行。一定是返回調(diào)用者斷點(diǎn)處繼續(xù)執(zhí)行。第五章 設(shè) 備 管 理 301與進(jìn)程管理和控制有關(guān)的系統(tǒng)調(diào)用與進(jìn)程管理和控制有關(guān)的系統(tǒng)調(diào)用屬于這一類的有屬于這一類的有21種。種。 進(jìn)程的創(chuàng)建和消亡:進(jìn)程的創(chuàng)建和消亡:fork、exit。 進(jìn)程間的同進(jìn)程間的同步:步:wait、pause等。等。2 與文件系統(tǒng)有關(guān)的系統(tǒng)調(diào)用與文件系統(tǒng)有關(guān)的系統(tǒng)調(diào)用屬于這一類的有屬于這一類的有28種。種。 文件生成和取消:文件生成和取消:creat、unlink。 文件打開、文件打開、關(guān)閉及控制:關(guān)閉及控制:open、close、fcnt
33、l。 UNIX SVR4 提供了提供了 53 種系統(tǒng)調(diào)用,它們大致種系統(tǒng)調(diào)用,它們大致可分為可分為 3 類。類。第五章 設(shè) 備 管 理 313其他其他系統(tǒng)調(diào)用系統(tǒng)調(diào)用屬于這一類的有屬于這一類的有4種。種。 設(shè)置和獲得系統(tǒng)或進(jìn)程時(shí)間:設(shè)置和獲得系統(tǒng)或進(jìn)程時(shí)間:stime、time、times。 在指定時(shí)間后發(fā)告警信號:在指定時(shí)間后發(fā)告警信號:alarm第五章 設(shè) 備 管 理 325.2.3 中斷的響應(yīng)和實(shí)現(xiàn)過程中斷的響應(yīng)和實(shí)現(xiàn)過程中斷是在中斷是在中斷控制機(jī)構(gòu)中斷控制機(jī)構(gòu)的管理下實(shí)現(xiàn)的。設(shè)備的管理下實(shí)現(xiàn)的。設(shè)備提出的中斷請求信號由中斷控制機(jī)構(gòu)響應(yīng),然提出的中斷請求信號由中斷控制機(jī)構(gòu)響應(yīng),然后予以實(shí)
34、施。后予以實(shí)施。中斷控制機(jī)構(gòu)的中斷控制機(jī)構(gòu)的主要功能主要功能如下。如下。 記錄各中斷源的中斷請求信號,以便于分別記錄各中斷源的中斷請求信號,以便于分別處理。處理。 在在CPU硬件中,每當(dāng)執(zhí)行完一條指令,或開硬件中,每當(dāng)執(zhí)行完一條指令,或開始取一條指令前,檢測有無中斷請求,若有則始取一條指令前,檢測有無中斷請求,若有則硬件自動轉(zhuǎn)入中斷處理周期。硬件自動轉(zhuǎn)入中斷處理周期。第五章 設(shè) 備 管 理 33 系統(tǒng)對不同的中斷類型規(guī)定了不同的優(yōu)先級,系統(tǒng)對不同的中斷類型規(guī)定了不同的優(yōu)先級,當(dāng)同時(shí)存在多個(gè)中斷請求時(shí),選優(yōu)先級最高的當(dāng)同時(shí)存在多個(gè)中斷請求時(shí),選優(yōu)先級最高的予以響應(yīng)。予以響應(yīng)。 如果兩個(gè)中斷的優(yōu)先
35、級相等,將按照一定算如果兩個(gè)中斷的優(yōu)先級相等,將按照一定算法,如先來先服務(wù)(法,如先來先服務(wù)(FIFO)等進(jìn)行處理。)等進(jìn)行處理。 優(yōu)先級機(jī)制可能使中斷服務(wù)形成嵌套,即優(yōu)優(yōu)先級機(jī)制可能使中斷服務(wù)形成嵌套,即優(yōu)先級低的中斷處理程序的執(zhí)行會被優(yōu)先級高先級低的中斷處理程序的執(zhí)行會被優(yōu)先級高的中斷打斷,從而又調(diào)用了另一個(gè)處理程序。的中斷打斷,從而又調(diào)用了另一個(gè)處理程序。在有的操作系統(tǒng)(如實(shí)時(shí)系統(tǒng))中是不允許在有的操作系統(tǒng)(如實(shí)時(shí)系統(tǒng))中是不允許中斷嵌套的。中斷嵌套的。第五章 設(shè) 備 管 理 34 響應(yīng)中斷后,根據(jù)中斷源找出相應(yīng)的中斷處理響應(yīng)中斷后,根據(jù)中斷源找出相應(yīng)的中斷處理程序入口地址,以便轉(zhuǎn)去執(zhí)行
36、。程序入口地址,以便轉(zhuǎn)去執(zhí)行。 如何轉(zhuǎn)入相應(yīng)的中斷處理程序,目前常用的結(jié)如何轉(zhuǎn)入相應(yīng)的中斷處理程序,目前常用的結(jié)構(gòu)是構(gòu)是中斷矢量中斷矢量(interruptvector)結(jié)構(gòu)。)結(jié)構(gòu)。 中斷矢量結(jié)構(gòu)中斷矢量結(jié)構(gòu)是一類是一類地址指針的集合地址指針的集合,在主存,在主存中開辟了一個(gè)特殊的存儲區(qū)域來存放這種結(jié)構(gòu),中開辟了一個(gè)特殊的存儲區(qū)域來存放這種結(jié)構(gòu),其中的某一個(gè)或者幾個(gè)存儲單元存放一個(gè)指向其中的某一個(gè)或者幾個(gè)存儲單元存放一個(gè)指向中斷處理程序的地址,它被稱為中斷矢量。一中斷處理程序的地址,它被稱為中斷矢量。一個(gè)中斷發(fā)生,總可以在固定的位置找到這個(gè)指個(gè)中斷發(fā)生,總可以在固定的位置找到這個(gè)指針,再根據(jù)
37、指針?biāo)傅奈恢茫粗羔樀膬?nèi)容)針,再根據(jù)指針?biāo)傅奈恢茫粗羔樀膬?nèi)容)獲得相應(yīng)的處理程序或者驅(qū)動程序入口地址。獲得相應(yīng)的處理程序或者驅(qū)動程序入口地址。第五章 設(shè) 備 管 理 35 保護(hù)現(xiàn)場保護(hù)現(xiàn)場,以便中斷返回時(shí)可以在斷點(diǎn)處繼續(xù),以便中斷返回時(shí)可以在斷點(diǎn)處繼續(xù)執(zhí)行。執(zhí)行。 中斷現(xiàn)場中斷現(xiàn)場主要指:相應(yīng)中斷時(shí)主要指:相應(yīng)中斷時(shí)指令計(jì)數(shù)器指令計(jì)數(shù)器PC的的內(nèi)容(即下一條指令的地址,也稱為斷點(diǎn));內(nèi)容(即下一條指令的地址,也稱為斷點(diǎn));進(jìn)程運(yùn)行參數(shù)和條件進(jìn)程運(yùn)行參數(shù)和條件;現(xiàn)運(yùn)行程序狀態(tài)寄存器現(xiàn)運(yùn)行程序狀態(tài)寄存器 PS 的內(nèi)容以及的內(nèi)容以及累加器累加器或或通用寄存器通用寄存器的內(nèi)容和標(biāo)的內(nèi)容和標(biāo)記,
38、有的計(jì)算機(jī)也把記,有的計(jì)算機(jī)也把 PC 和和PS 合起來統(tǒng)稱為合起來統(tǒng)稱為程程序狀態(tài)字序狀態(tài)字 PSW。 現(xiàn)場保護(hù)是把它們保存到主存中的特殊區(qū)域現(xiàn)場保護(hù)是把它們保存到主存中的特殊區(qū)域(一般是堆棧)中,并保證中斷過程中原有現(xiàn)(一般是堆棧)中,并保證中斷過程中原有現(xiàn)場不做任何改變。場不做任何改變。第五章 設(shè) 備 管 理 36 當(dāng)正在進(jìn)行某一中斷處理時(shí),或在執(zhí)行程序當(dāng)正在進(jìn)行某一中斷處理時(shí),或在執(zhí)行程序的某些階段,有時(shí)不允許響應(yīng)某些中斷,所以的某些階段,有時(shí)不允許響應(yīng)某些中斷,所以應(yīng)該在程序控制下,禁止響應(yīng)某些中斷,即應(yīng)該在程序控制下,禁止響應(yīng)某些中斷,即屏屏蔽這些中斷蔽這些中斷。當(dāng)不需要屏蔽時(shí),又
39、能及時(shí)在程。當(dāng)不需要屏蔽時(shí),又能及時(shí)在程序控制下撤銷屏蔽。序控制下撤銷屏蔽。在實(shí)時(shí)系統(tǒng)中中斷屏蔽必須小型化,并且嚴(yán)格在實(shí)時(shí)系統(tǒng)中中斷屏蔽必須小型化,并且嚴(yán)格限制中斷處理程序的執(zhí)行時(shí)間。限制中斷處理程序的執(zhí)行時(shí)間。第五章 設(shè) 備 管 理 375.2.4 中斷處理程序和驅(qū)動程序中斷處理程序和驅(qū)動程序中斷處理程序也叫做中斷處理程序也叫做中斷服務(wù)程序中斷服務(wù)程序,它是與設(shè),它是與設(shè)備硬件密切相關(guān)的處理程序,一般情況下,處備硬件密切相關(guān)的處理程序,一般情況下,處理設(shè)備的各個(gè)理設(shè)備的各個(gè) I/O 操作的細(xì)節(jié)是采用匯編語言操作的細(xì)節(jié)是采用匯編語言和機(jī)器語言編寫。和機(jī)器語言編寫。為了將這種與設(shè)備有關(guān)的程序?qū)τ?/p>
40、戶透明,使為了將這種與設(shè)備有關(guān)的程序?qū)τ脩敉该鳎褂脩舨槐厝チ私饷恳环N設(shè)備操作的具體細(xì)節(jié),用戶不必去了解每一種設(shè)備操作的具體細(xì)節(jié),通常采用統(tǒng)一的簡單方式,如上述的中斷矢量通常采用統(tǒng)一的簡單方式,如上述的中斷矢量方式來進(jìn)行。方式來進(jìn)行。第五章 設(shè) 備 管 理 38在微型機(jī)和個(gè)人計(jì)算機(jī)中,常常把在微型機(jī)和個(gè)人計(jì)算機(jī)中,常常把I/O 中斷處中斷處理程序理程序以以設(shè)備驅(qū)動程序設(shè)備驅(qū)動程序的方式作為操作系統(tǒng)設(shè)的方式作為操作系統(tǒng)設(shè)備管理和控制的依據(jù),用戶采用一種備管理和控制的依據(jù),用戶采用一種通用的界通用的界面和操作面和操作來使用這些設(shè)備。來使用這些設(shè)備。例如,例如,UNIX和和 DOS 操作系統(tǒng)中都把設(shè)
41、備作為操作系統(tǒng)中都把設(shè)備作為一種一種虛擬的文件虛擬的文件對待,每個(gè)設(shè)備有一個(gè)像文件對待,每個(gè)設(shè)備有一個(gè)像文件名那樣的名字,并對它像一個(gè)文件那樣存取。名那樣的名字,并對它像一個(gè)文件那樣存取。設(shè)備驅(qū)動程序設(shè)備驅(qū)動程序被作為一種特殊的文件存放在系被作為一種特殊的文件存放在系統(tǒng)輔助存儲設(shè)備(如磁盤)中,在需要時(shí)由操統(tǒng)輔助存儲設(shè)備(如磁盤)中,在需要時(shí)由操作系統(tǒng)裝入使用。作系統(tǒng)裝入使用。第五章 設(shè) 備 管 理 39在操作系統(tǒng)設(shè)計(jì)時(shí),考慮了所有可能與計(jì)算機(jī)在操作系統(tǒng)設(shè)計(jì)時(shí),考慮了所有可能與計(jì)算機(jī)系統(tǒng)配置的設(shè)備,所有設(shè)備的驅(qū)動程序隨操作系統(tǒng)配置的設(shè)備,所有設(shè)備的驅(qū)動程序隨操作系統(tǒng)軟件一起提供給用戶,用戶在安
42、裝操作系系統(tǒng)軟件一起提供給用戶,用戶在安裝操作系統(tǒng)時(shí),根據(jù)當(dāng)時(shí)配置的統(tǒng)時(shí),根據(jù)當(dāng)時(shí)配置的 I/O 設(shè)備情況,調(diào)入相設(shè)備情況,調(diào)入相應(yīng)的設(shè)備驅(qū)動程序文件,將它們設(shè)置并嵌入操應(yīng)的設(shè)備驅(qū)動程序文件,將它們設(shè)置并嵌入操作系統(tǒng)中,做好系統(tǒng)運(yùn)行操作的環(huán)境準(zhǔn)備。如作系統(tǒng)中,做好系統(tǒng)運(yùn)行操作的環(huán)境準(zhǔn)備。如果操作系統(tǒng)的設(shè)備配置有變化,則需要重新引果操作系統(tǒng)的設(shè)備配置有變化,則需要重新引導(dǎo)或者重新配置安裝操作系統(tǒng)。導(dǎo)或者重新配置安裝操作系統(tǒng)。第五章 設(shè) 備 管 理 40在在UNIX系統(tǒng)中,將設(shè)備分成兩類:系統(tǒng)中,將設(shè)備分成兩類:塊設(shè)備塊設(shè)備和和字符設(shè)備字符設(shè)備。核心與驅(qū)動程序的接口是由。核心與驅(qū)動程序的接口是由塊
43、設(shè)備塊設(shè)備開關(guān)表開關(guān)表和和字符設(shè)備開關(guān)表字符設(shè)備開關(guān)表描述的描述的.第五章 設(shè) 備 管 理 415.2.5 中斷的返回與恢復(fù)中斷的返回與恢復(fù)當(dāng)中斷請求操作完成時(shí),系統(tǒng)必須返回被中斷當(dāng)中斷請求操作完成時(shí),系統(tǒng)必須返回被中斷的程序。的程序。此時(shí),必須將中斷開始保存下來的原來程序的此時(shí),必須將中斷開始保存下來的原來程序的狀態(tài)、寄存器內(nèi)容和標(biāo)記、進(jìn)程運(yùn)行參數(shù)和條狀態(tài)、寄存器內(nèi)容和標(biāo)記、進(jìn)程運(yùn)行參數(shù)和條件等一一恢復(fù),復(fù)原到中斷未出現(xiàn)時(shí)的狀態(tài),件等一一恢復(fù),復(fù)原到中斷未出現(xiàn)時(shí)的狀態(tài),稱為稱為現(xiàn)場恢復(fù)現(xiàn)場恢復(fù)。第五章 設(shè) 備 管 理 42UNIX 操作系統(tǒng)中,操作系統(tǒng)中,中斷處理都是在核心態(tài)下進(jìn)中斷處理都是
44、在核心態(tài)下進(jìn)行的行的。如果如果中斷前處理機(jī)狀態(tài)為核心態(tài)中斷前處理機(jī)狀態(tài)為核心態(tài),則在執(zhí)行完設(shè),則在執(zhí)行完設(shè)備處理子程序后就恢復(fù)現(xiàn)場,然后用中斷返回指備處理子程序后就恢復(fù)現(xiàn)場,然后用中斷返回指令回到中斷前狀態(tài),繼續(xù)執(zhí)行被中斷的操作系統(tǒng)令回到中斷前狀態(tài),繼續(xù)執(zhí)行被中斷的操作系統(tǒng)程序。程序。如果如果中斷前為用戶態(tài)中斷前為用戶態(tài),則在執(zhí)行完設(shè)備處理子程,則在執(zhí)行完設(shè)備處理子程序后,先要檢查重新調(diào)度標(biāo)志序后,先要檢查重新調(diào)度標(biāo)志runrun是否設(shè)置。是否設(shè)置。如若已經(jīng)設(shè)置,則調(diào)用進(jìn)程切換調(diào)度程序進(jìn)行進(jìn)如若已經(jīng)設(shè)置,則調(diào)用進(jìn)程切換調(diào)度程序進(jìn)行進(jìn)程調(diào)度,中斷時(shí)被保護(hù)的現(xiàn)場就不必立即恢復(fù)。程調(diào)度,中斷時(shí)被保護(hù)
45、的現(xiàn)場就不必立即恢復(fù)。如果如果runrun標(biāo)志沒有設(shè)置,則恢復(fù)保護(hù)在堆棧中標(biāo)志沒有設(shè)置,則恢復(fù)保護(hù)在堆棧中的現(xiàn)場,繼續(xù)在用戶態(tài)下執(zhí)行被中斷的程序。的現(xiàn)場,繼續(xù)在用戶態(tài)下執(zhí)行被中斷的程序。第五章 設(shè) 備 管 理 435.3 5.3 操作系統(tǒng)與時(shí)鐘系統(tǒng)操作系統(tǒng)與時(shí)鐘系統(tǒng)時(shí)鐘管理是操作系統(tǒng)的另一重要任務(wù),在操作時(shí)鐘管理是操作系統(tǒng)的另一重要任務(wù),在操作系統(tǒng)中一般把時(shí)鐘作為一種計(jì)量時(shí)間的有形設(shè)系統(tǒng)中一般把時(shí)鐘作為一種計(jì)量時(shí)間的有形設(shè)備。備。在計(jì)算機(jī)系統(tǒng)中可分為在計(jì)算機(jī)系統(tǒng)中可分為3類時(shí)鐘:類時(shí)鐘:系統(tǒng)時(shí)鐘系統(tǒng)時(shí)鐘(systemclock)日歷時(shí)鐘日歷時(shí)鐘(timeofdayclock)實(shí)時(shí)時(shí)鐘實(shí)時(shí)時(shí)鐘(
46、realtime clock)。)。第五章 設(shè) 備 管 理 445.3.1 時(shí)鐘的概念時(shí)鐘的概念時(shí)鐘本身是由硬件產(chǎn)生的具有特定周期的脈沖時(shí)鐘本身是由硬件產(chǎn)生的具有特定周期的脈沖串,稱為串,稱為硬件時(shí)鐘硬件時(shí)鐘。軟件也可以模擬時(shí)鐘,在程序中用寄存器計(jì)數(shù)軟件也可以模擬時(shí)鐘,在程序中用寄存器計(jì)數(shù)實(shí)現(xiàn),以一個(gè)固定的周期做加(減)法,直到實(shí)現(xiàn),以一個(gè)固定的周期做加(減)法,直到達(dá)到某個(gè)定值(或零),從而產(chǎn)生中斷,稱為達(dá)到某個(gè)定值(或零),從而產(chǎn)生中斷,稱為軟件中斷。軟件中斷。在操作系統(tǒng)中,把兩類時(shí)鐘都看做一種獨(dú)特的在操作系統(tǒng)中,把兩類時(shí)鐘都看做一種獨(dú)特的設(shè)備,設(shè)備,其作用是提供記錄時(shí)間間隔其作用是提供記
47、錄時(shí)間間隔,對其控制,對其控制仍通過標(biāo)準(zhǔn)設(shè)備驅(qū)動程序提供。仍通過標(biāo)準(zhǔn)設(shè)備驅(qū)動程序提供。第五章 設(shè) 備 管 理 45系統(tǒng)時(shí)鐘系統(tǒng)時(shí)鐘主要用于控制系統(tǒng)處理器執(zhí)行指令的主要用于控制系統(tǒng)處理器執(zhí)行指令的速率。速率。日歷時(shí)鐘日歷時(shí)鐘產(chǎn)生一個(gè)精確的時(shí)間計(jì)數(shù),程序?qū)Υ水a(chǎn)生一個(gè)精確的時(shí)間計(jì)數(shù),程序?qū)Υ诉M(jìn)行轉(zhuǎn)換,給出與日歷相符的日期和時(shí)間,它進(jìn)行轉(zhuǎn)換,給出與日歷相符的日期和時(shí)間,它與處理器是否工作和停止無關(guān)。與處理器是否工作和停止無關(guān)。實(shí)時(shí)時(shí)鐘實(shí)時(shí)時(shí)鐘與日歷無關(guān),它每秒提供若干個(gè)脈沖與日歷無關(guān),它每秒提供若干個(gè)脈沖信號,每個(gè)脈沖信號產(chǎn)生一個(gè)時(shí)鐘中斷,時(shí)鐘信號,每個(gè)脈沖信號產(chǎn)生一個(gè)時(shí)鐘中斷,時(shí)鐘中斷提醒處理器有重
48、要的事情要做,需要暫停中斷提醒處理器有重要的事情要做,需要暫停當(dāng)前操作。當(dāng)前操作。第五章 設(shè) 備 管 理 46日歷時(shí)鐘和實(shí)時(shí)時(shí)鐘的關(guān)鍵區(qū)別在于日歷時(shí)鐘和實(shí)時(shí)時(shí)鐘的關(guān)鍵區(qū)別在于,前者是,前者是處理器來控制時(shí)鐘,后者則是時(shí)鐘來激勵和控處理器來控制時(shí)鐘,后者則是時(shí)鐘來激勵和控制處理器。制處理器。另一個(gè)區(qū)別是另一個(gè)區(qū)別是實(shí)時(shí)時(shí)鐘不記錄脈沖數(shù),也不計(jì)實(shí)時(shí)時(shí)鐘不記錄脈沖數(shù),也不計(jì)算中斷次數(shù)。如果需要獲得當(dāng)前時(shí)間和日期,算中斷次數(shù)。如果需要獲得當(dāng)前時(shí)間和日期,處理器將讀取日歷時(shí)鐘,而當(dāng)實(shí)時(shí)時(shí)鐘發(fā)生時(shí),處理器將讀取日歷時(shí)鐘,而當(dāng)實(shí)時(shí)時(shí)鐘發(fā)生時(shí),它迫使處理器去處理一個(gè)中斷。它迫使處理器去處理一個(gè)中斷。第五章 設(shè)
49、 備 管 理 47時(shí)鐘中斷處理程序時(shí)鐘中斷處理程序操作系統(tǒng)利用時(shí)鐘產(chǎn)生時(shí)間片定時(shí),對作業(yè)操作系統(tǒng)利用時(shí)鐘產(chǎn)生時(shí)間片定時(shí),對作業(yè)和進(jìn)程的運(yùn)行記時(shí),定期地產(chǎn)生系統(tǒng)查詢和和進(jìn)程的運(yùn)行記時(shí),定期地產(chǎn)生系統(tǒng)查詢和激勵信號,完成激勵信號,完成 I/O 設(shè)備的控制和管理。設(shè)備的控制和管理。時(shí)鐘中斷處理程序的功能時(shí)鐘中斷處理程序的功能主要是:引導(dǎo)時(shí)間主要是:引導(dǎo)時(shí)間系統(tǒng)、建立時(shí)鐘基準(zhǔn)值、設(shè)定時(shí)間分段信號、系統(tǒng)、建立時(shí)鐘基準(zhǔn)值、設(shè)定時(shí)間分段信號、跟蹤時(shí)間分段信號、進(jìn)行時(shí)鐘計(jì)數(shù)值與時(shí)間跟蹤時(shí)間分段信號、進(jìn)行時(shí)鐘計(jì)數(shù)值與時(shí)間值的轉(zhuǎn)換、在特定條件下輸出時(shí)鐘信號等。值的轉(zhuǎn)換、在特定條件下輸出時(shí)鐘信號等。第五章 設(shè) 備
50、管 理 48時(shí)鐘中斷處理程序時(shí)鐘中斷處理程序要求處理器對實(shí)時(shí)時(shí)鐘中斷的處理時(shí)間不能太長,要求處理器對實(shí)時(shí)時(shí)鐘中斷的處理時(shí)間不能太長,也不能關(guān)閉中斷時(shí)間太長,否則將丟失中斷。也不能關(guān)閉中斷時(shí)間太長,否則將丟失中斷。因此,系統(tǒng)對時(shí)鐘中斷迅速響應(yīng)服務(wù),時(shí)鐘中斷因此,系統(tǒng)對時(shí)鐘中斷迅速響應(yīng)服務(wù),時(shí)鐘中斷具有具有最高優(yōu)先級最高優(yōu)先級。實(shí)時(shí)系統(tǒng)要求時(shí)鐘操作和設(shè)備驅(qū)動程序的執(zhí)行時(shí)實(shí)時(shí)系統(tǒng)要求時(shí)鐘操作和設(shè)備驅(qū)動程序的執(zhí)行時(shí)間有特定的限制。雖然時(shí)鐘中斷能夠預(yù)知何時(shí)出間有特定的限制。雖然時(shí)鐘中斷能夠預(yù)知何時(shí)出現(xiàn),但它類似于現(xiàn),但它類似于 I/O 完成中斷,也可在一定條件完成中斷,也可在一定條件下被阻塞,使它們不在
51、預(yù)定時(shí)間準(zhǔn)確出現(xiàn)。下被阻塞,使它們不在預(yù)定時(shí)間準(zhǔn)確出現(xiàn)。第五章 設(shè) 備 管 理 495.3.2 UNIX系統(tǒng)中的時(shí)鐘管理系統(tǒng)中的時(shí)鐘管理UNIX 的時(shí)鐘基本周期定為電源頻率的一個(gè)周的時(shí)鐘基本周期定為電源頻率的一個(gè)周期時(shí)間。假定電源頻率為期時(shí)間。假定電源頻率為 50Hz,則一個(gè)周期,則一個(gè)周期為為 20ms。每隔。每隔 20ms,時(shí)鐘實(shí)時(shí)發(fā)出一個(gè)中斷,時(shí)鐘實(shí)時(shí)發(fā)出一個(gè)中斷請求,中央處理器響應(yīng)中斷后依其中斷矢量轉(zhuǎn)請求,中央處理器響應(yīng)中斷后依其中斷矢量轉(zhuǎn)入時(shí)鐘中斷處理程序入時(shí)鐘中斷處理程序clock。clock 的處理過程按照時(shí)間間隔分成兩類:的處理過程按照時(shí)間間隔分成兩類:20ms 處理一次和處理
52、一次和 1s 處理一次。處理一次。第五章 設(shè) 備 管 理 505.3.2 UNIX系統(tǒng)中的時(shí)鐘管理系統(tǒng)中的時(shí)鐘管理每隔每隔20ms處理的工作如下。處理的工作如下。 重新設(shè)置時(shí)鐘初值重新設(shè)置時(shí)鐘初值20ms。 計(jì)算當(dāng)前進(jìn)程在用戶態(tài)或核心態(tài)下的累計(jì)運(yùn)計(jì)算當(dāng)前進(jìn)程在用戶態(tài)或核心態(tài)下的累計(jì)運(yùn)行時(shí)間。如中斷時(shí)進(jìn)程處于用戶態(tài),則將當(dāng)前行時(shí)間。如中斷時(shí)進(jìn)程處于用戶態(tài),則將當(dāng)前user內(nèi)的內(nèi)的u_utime加加1,否則把,否則把u_stime加加1,作,作為統(tǒng)計(jì)記賬之用。為統(tǒng)計(jì)記賬之用。 當(dāng)前運(yùn)行進(jìn)程當(dāng)前運(yùn)行進(jìn)程 proc 結(jié)構(gòu)內(nèi)的結(jié)構(gòu)內(nèi)的 p_cpu 加加 1,用于計(jì)算進(jìn)程調(diào)度優(yōu)先數(shù),其實(shí)質(zhì)是降低現(xiàn)運(yùn)用于計(jì)
53、算進(jìn)程調(diào)度優(yōu)先數(shù),其實(shí)質(zhì)是降低現(xiàn)運(yùn)行進(jìn)程的調(diào)度優(yōu)先權(quán)。行進(jìn)程的調(diào)度優(yōu)先權(quán)。第五章 設(shè) 備 管 理 515.3.2 UNIX系統(tǒng)中的時(shí)鐘管理系統(tǒng)中的時(shí)鐘管理每隔每隔20ms處理的工作如下。處理的工作如下。 處理延時(shí)啟動終端打印機(jī)的工作。在終處理延時(shí)啟動終端打印機(jī)的工作。在終端輸出過程中,對于如端輸出過程中,對于如“制表制表”、“換行換行”等控制符,由于機(jī)械動作較緩慢,往往需要等控制符,由于機(jī)械動作較緩慢,往往需要適當(dāng)?shù)难舆t才能使后面的字符輸出在正確的適當(dāng)?shù)难舆t才能使后面的字符輸出在正確的位置上。為此,輸出驅(qū)動程序把延遲時(shí)間記位置上。為此,輸出驅(qū)動程序把延遲時(shí)間記在一個(gè)數(shù)組中。在一個(gè)數(shù)組中。clo
54、ck若發(fā)現(xiàn)延遲時(shí)間到了,若發(fā)現(xiàn)延遲時(shí)間到了,則重新啟動對應(yīng)的輸出驅(qū)動程序。則重新啟動對應(yīng)的輸出驅(qū)動程序。 其他工作。其他工作。第五章 設(shè) 備 管 理 525.3.2 UNIX系統(tǒng)中的時(shí)鐘管理系統(tǒng)中的時(shí)鐘管理每秒一次處理的工作如下。每秒一次處理的工作如下。 日歷時(shí)鐘變量日歷時(shí)鐘變量time加加1。 所有進(jìn)程的內(nèi)存或?qū)Q區(qū)的駐留時(shí)間所有進(jìn)程的內(nèi)存或?qū)Q區(qū)的駐留時(shí)間 p_time 加加 1,作為程序?qū)Q的依據(jù)。若,作為程序?qū)Q的依據(jù)。若 0 號進(jìn)號進(jìn)程因無進(jìn)程可換出而睡眠,則立即喚醒之。程因無進(jìn)程可換出而睡眠,則立即喚醒之。 所有目前未運(yùn)行進(jìn)程的所有目前未運(yùn)行進(jìn)程的p_cpu除以除以2,以提高,以提
55、高等待等待CPU進(jìn)程的調(diào)度優(yōu)先權(quán)。進(jìn)程的調(diào)度優(yōu)先權(quán)。綜上所述,綜上所述,UNIX 時(shí)鐘管理的主要任務(wù)是調(diào)整動時(shí)鐘管理的主要任務(wù)是調(diào)整動態(tài)優(yōu)先數(shù)和換入換出時(shí)間條件,并為一些外設(shè)管態(tài)優(yōu)先數(shù)和換入換出時(shí)間條件,并為一些外設(shè)管理提供服務(wù)。理提供服務(wù)。第五章 設(shè) 備 管 理 535.4 5.4 操作系統(tǒng)對操作系統(tǒng)對I/OI/O操作的控制操作的控制 外圍設(shè)備與內(nèi)存或外圍設(shè)備與內(nèi)存或CPU間常用的數(shù)據(jù)傳送間常用的數(shù)據(jù)傳送控制方式:控制方式:1. 程序循環(huán)測試方式程序循環(huán)測試方式2. 中斷控制方式中斷控制方式3. 直接存儲器存?。ㄖ苯哟鎯ζ鞔嫒。―MA)方式)方式4. 通道方式通道方式第五章 設(shè) 備 管 理
56、541. 程序程序I/O方式方式 等待等待發(fā)發(fā)Start指令指令Test測試,設(shè)備標(biāo)測試,設(shè)備標(biāo)志觸發(fā)器為志觸發(fā)器為“Done”?CPU執(zhí)行下一條指令執(zhí)行下一條指令開始數(shù)據(jù)傳送開始數(shù)據(jù)傳送 否否是是外圍設(shè)備外圍設(shè)備接收到接收到Start指令指令作接收或發(fā)送數(shù)據(jù)準(zhǔn)備作接收或發(fā)送數(shù)據(jù)準(zhǔn)備準(zhǔn)備好?準(zhǔn)備好?標(biāo)志觸發(fā)器置為標(biāo)志觸發(fā)器置為“Done”等待等待CPU來的下一條指令來的下一條指令是是否否第五章 設(shè) 備 管 理 55程序程序I/O方式方式 在程序在程序I/O方式中,由于方式中,由于CPU的高速性和的高速性和I/O設(shè)備的低設(shè)備的低速性,速性, 致使致使CPU的絕大部分時(shí)間都處于等待的絕大部分時(shí)間都
57、處于等待I/O設(shè)備完成設(shè)備完成數(shù)據(jù)數(shù)據(jù)I/O的循環(huán)測試中,的循環(huán)測試中, 造成對造成對CPU的極大浪費(fèi)。的極大浪費(fèi)。 在該方式中,在該方式中,CPU之所以要不斷地測試之所以要不斷地測試I/O設(shè)備的狀設(shè)備的狀態(tài),就是因?yàn)樵趹B(tài),就是因?yàn)樵贑PU中無中斷機(jī)構(gòu),中無中斷機(jī)構(gòu), 使使I/O設(shè)備無法向設(shè)備無法向CPU報(bào)告它已完成了一個(gè)字符的輸入操作。報(bào)告它已完成了一個(gè)字符的輸入操作。 第五章 設(shè) 備 管 理 562. 中斷驅(qū)動中斷驅(qū)動I/O控制方式控制方式 I/O操作由程序發(fā)起,在操作完成時(shí)(如數(shù)據(jù)可讀或操作由程序發(fā)起,在操作完成時(shí)(如數(shù)據(jù)可讀或已經(jīng)寫入)由外設(shè)向已經(jīng)寫入)由外設(shè)向CPU發(fā)出中斷,通知該程
58、序。發(fā)出中斷,通知該程序。數(shù)據(jù)的每次讀寫通過數(shù)據(jù)的每次讀寫通過CPU。硬件要求:硬件要求:要在要在CPU與控制器之間連有與控制器之間連有中斷請求線路中斷請求線路;要在設(shè)備控制器的要在設(shè)備控制器的狀態(tài)寄存器狀態(tài)寄存器中增設(shè)中增設(shè)“中斷允許位中斷允許位”第五章 設(shè) 備 管 理 57數(shù)據(jù)傳輸?shù)牟襟E數(shù)據(jù)傳輸?shù)牟襟E1)通過通過CPU發(fā)出發(fā)出start指令。啟動設(shè)備,將中斷允許位加以設(shè)指令。啟動設(shè)備,將中斷允許位加以設(shè)置置2)發(fā)出發(fā)出I/O請求的進(jìn)程由運(yùn)行狀態(tài)改變?yōu)樽枞麪顟B(tài),等待輸入請求的進(jìn)程由運(yùn)行狀態(tài)改變?yōu)樽枞麪顟B(tài),等待輸入/輸出的完成。輸出的完成。3)輸入輸入/輸出完成時(shí),設(shè)備控制器通過中斷請求線向輸
59、出完成時(shí),設(shè)備控制器通過中斷請求線向CPU發(fā)出發(fā)出中斷請求信號。中斷請求信號。CPU響應(yīng)該中斷后,就轉(zhuǎn)向中斷處理程序,響應(yīng)該中斷后,就轉(zhuǎn)向中斷處理程序,對數(shù)據(jù)的傳輸工作進(jìn)行相應(yīng)的處理。對數(shù)據(jù)的傳輸工作進(jìn)行相應(yīng)的處理。4)輸入輸入/輸出請求全部完成后,進(jìn)程被解除阻塞,改變狀態(tài)為輸出請求全部完成后,進(jìn)程被解除阻塞,改變狀態(tài)為“就緒態(tài)就緒態(tài)”,以便進(jìn)入它的下一步工作。,以便進(jìn)入它的下一步工作。第五章 設(shè) 備 管 理 58中斷控制方式的處理過程中斷控制方式的處理過程接收到接收到CPU發(fā)來的發(fā)來的Start指令指令緩沖寄存器滿?緩沖寄存器滿?設(shè)備設(shè)備控制器發(fā)中斷信號控制器發(fā)中斷信號是是準(zhǔn)備數(shù)據(jù)并將其置入
60、準(zhǔn)備數(shù)據(jù)并將其置入緩沖寄存器緩沖寄存器否否CPU調(diào)度程序調(diào)度其它進(jìn)程調(diào)度程序調(diào)度其它進(jìn)程收到中斷信號了嗎?收到中斷信號了嗎?中斷處理中斷處理被中斷進(jìn)程執(zhí)行被中斷進(jìn)程執(zhí)行是是否否向設(shè)備發(fā)向設(shè)備發(fā)Start指令,指令,置中斷允許位為置中斷允許位為“1”其它進(jìn)程執(zhí)行其它進(jìn)程執(zhí)行第五章 設(shè) 備 管 理 59 在在I/O設(shè)備輸入每個(gè)數(shù)據(jù)的過程中,由于無須設(shè)備輸入每個(gè)數(shù)據(jù)的過程中,由于無須CPU干預(yù),干預(yù),因而可使因而可使CPU與與I/O設(shè)備并行工作。僅當(dāng)輸完一個(gè)數(shù)據(jù)時(shí),才設(shè)備并行工作。僅當(dāng)輸完一個(gè)數(shù)據(jù)時(shí),才需需CPU花費(fèi)極短的時(shí)間去做些中斷處理??梢姡@樣可使花費(fèi)極短的時(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 別墅音響安裝合同范本
- 制服買賣合同范本
- 2024年鐵路文工團(tuán)招聘考試真題
- 中俄文貿(mào)易合同范本
- 加工散伙合同范本
- 專家輔導(dǎo)合同范本模板
- 兒童過山車租賃合同范本
- 包頭土豆購銷合同范本
- 公益廣告景觀小品合同范本
- 冰箱物資采購合同范本
- 國家病案質(zhì)控死亡病例自查表
- 一年級體育教案全冊(水平一)下冊
- 全身麻醉后護(hù)理常規(guī)
- 《積極心理學(xué)(第3版)》 課件 第2章 心理流暢體驗(yàn)、第3章 積極情緒的價(jià)值
- 2024至2030年全球及中國3D硅電容器行業(yè)研究及十四五規(guī)劃分析報(bào)告
- 2024年貴州省貴陽市白云區(qū)九年級中考一模數(shù)學(xué)試題(解析版)
- 三個(gè)和尚幼兒故事課件
- 浙江省杭二中2025年高三高考全真模擬卷(四五六七)數(shù)學(xué)試題含解析
- 部編版《道德與法治》六年級下冊第3課《學(xué)會反思》精美課件
- 2024數(shù)據(jù)中心浸沒式液冷系統(tǒng)單相冷卻液技術(shù)指標(biāo)和測試方法
- 國有企業(yè)采購管理規(guī)范 T/CFLP 0027-2020
評論
0/150
提交評論