版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、大學計算機基礎大學計算機基礎操作系統(tǒng)操作系統(tǒng) (Operating System) 硬件到底是怎么動起來的?計算機硬件是如何動起來的?第四章第四章 計算機操作系統(tǒng)計算機操作系統(tǒng) 為了使計算機系統(tǒng)所有的資源(包括中央處理為了使計算機系統(tǒng)所有的資源(包括中央處理器、存儲器、各種外部設備和各種軟件)協(xié)調(diào)一致器、存儲器、各種外部設備和各種軟件)協(xié)調(diào)一致地工作,就必須有一個軟件來進行統(tǒng)一管理和統(tǒng)一地工作,就必須有一個軟件來進行統(tǒng)一管理和統(tǒng)一調(diào)度,這種軟件稱為操作系統(tǒng)。調(diào)度,這種軟件稱為操作系統(tǒng)。 計算機發(fā)展到今天,從微機到小型、中型、大計算機發(fā)展到今天,從微機到小型、中型、大型機仍至巨型機,無一例外地都
2、配置了一種或多種型機仍至巨型機,無一例外地都配置了一種或多種操作系統(tǒng),操作系統(tǒng)已成為現(xiàn)代計算機系統(tǒng)不可分操作系統(tǒng),操作系統(tǒng)已成為現(xiàn)代計算機系統(tǒng)不可分割的重要組成部分。割的重要組成部分。 本章主要講述操作系統(tǒng)概念及構成;重點講述本章主要講述操作系統(tǒng)概念及構成;重點講述操作系統(tǒng)中的幾個基本功能及相關概念。操作系統(tǒng)中的幾個基本功能及相關概念。4.1.1 操作系統(tǒng)的概念操作系統(tǒng):是管理計算機軟硬件資源的程序,同操作系統(tǒng):是管理計算機軟硬件資源的程序,同時它又是用戶與計算機硬件的接口。時它又是用戶與計算機硬件的接口。系統(tǒng)程序和應用程序系統(tǒng)程序和應用程序操操 作作 系系 統(tǒng)統(tǒng)硬硬 件件 層層沒有操作系沒有
3、操作系統(tǒng),應用軟統(tǒng),應用軟件如同空中件如同空中樓閣,無法樓閣,無法運行。運行。 4.1.2 操作系統(tǒng)的構成4.1 操作系統(tǒng)概念及構成操作系統(tǒng)概念及構成操作系統(tǒng)操作系統(tǒng) 進程管理進程管理 內(nèi)存管理內(nèi)存管理 文件管理文件管理 輸入輸入/輸出系統(tǒng)管理輸出系統(tǒng)管理 二級存儲管理二級存儲管理用戶接口用戶接口 聯(lián)網(wǎng)、保護系統(tǒng)和命令解釋程序系統(tǒng)聯(lián)網(wǎng)、保護系統(tǒng)和命令解釋程序系統(tǒng)就是對就是對CPU的的管理。管理。就是如何合就是如何合理分配和使理分配和使用內(nèi)存。用內(nèi)存。就是對文件就是對文件及文件夾進及文件夾進行管理。行管理。就是對外部各就是對外部各種輸入輸出設種輸入輸出設備進行管理。備進行管理。主要是指對主要是指
4、對硬盤進行管硬盤進行管理。理。就是提供對網(wǎng)就是提供對網(wǎng)絡管理、對進絡管理、對進程工作過程的程工作過程的保護及提供用保護及提供用戶與操作系統(tǒng)戶與操作系統(tǒng)的接口程序。的接口程序。動動 畫畫4.2.1 操作系統(tǒng)的類別4.2 操作系統(tǒng)類別與計算環(huán)境操作系統(tǒng)類別與計算環(huán)境批處理系統(tǒng)批處理系統(tǒng)1 1多道程序系統(tǒng)多道程序系統(tǒng)2 2分時系統(tǒng)分時系統(tǒng)3 3實時系統(tǒng)實時系統(tǒng)4 4桌面系統(tǒng)桌面系統(tǒng)5 5多處理機系統(tǒng)多處理機系統(tǒng)6 6網(wǎng)絡系統(tǒng)網(wǎng)絡系統(tǒng)7 7分布式系統(tǒng)分布式系統(tǒng)8 8嵌入嵌入式系統(tǒng)式系統(tǒng)9 9 經(jīng)過多年的發(fā)展,先后出現(xiàn)了各經(jīng)過多年的發(fā)展,先后出現(xiàn)了各種類型的操作系統(tǒng)。從早期的批處理種類型的操作系統(tǒng)。從早
5、期的批處理操作系統(tǒng)、多道程序發(fā)展到分時操作操作系統(tǒng)、多道程序發(fā)展到分時操作系統(tǒng);另外,還有為滿足計算機處理系統(tǒng);另外,還有為滿足計算機處理實時事件的需要研發(fā)的實時操作系統(tǒng);實時事件的需要研發(fā)的實時操作系統(tǒng);為適應個人計算機系統(tǒng)的需要出現(xiàn)的為適應個人計算機系統(tǒng)的需要出現(xiàn)的桌面操作系統(tǒng);為適應并行系統(tǒng)的需桌面操作系統(tǒng);為適應并行系統(tǒng)的需要開發(fā)多處理機操作系統(tǒng);為滿足網(wǎng)要開發(fā)多處理機操作系統(tǒng);為滿足網(wǎng)絡和分布計算的需要,就有了網(wǎng)絡操絡和分布計算的需要,就有了網(wǎng)絡操作系統(tǒng)和分布式操作系統(tǒng);此外,還作系統(tǒng)和分布式操作系統(tǒng);此外,還有為支持嵌入式計算機的嵌入式操作有為支持嵌入式計算機的嵌入式操作系統(tǒng)。系統(tǒng)
6、。動動 畫畫4.2.2 計算環(huán)境 操作系統(tǒng)總是在某種計算環(huán)境中設置和使用,就目前來看計算環(huán)境可分為以下幾類:4.2 操作系統(tǒng)類別與計算環(huán)境操作系統(tǒng)類別與計算環(huán)境 1. 傳統(tǒng)計算環(huán)境傳統(tǒng)計算環(huán)境 指普通意義下的獨立或聯(lián)網(wǎng)工作下所形成的計指普通意義下的獨立或聯(lián)網(wǎng)工作下所形成的計算環(huán)境。算環(huán)境。 2.基于基于Web的計算環(huán)境的計算環(huán)境 互聯(lián)網(wǎng)的普及使得計算被延伸到互聯(lián)網(wǎng)的普及使得計算被延伸到Web環(huán)境。環(huán)境。 3.嵌入式計算環(huán)境嵌入式計算環(huán)境 嵌入式計算機就是安裝在某些設備上的計算部嵌入式計算機就是安裝在某些設備上的計算部件,其計算相對比較簡單。件,其計算相對比較簡單。4.3.1 進程的概念進程管理
7、進程管理 什么是進程?它與程序有什么區(qū)別?什么是進程?它與程序有什么區(qū)別? 程序:用戶為完成某一個特定問題而編寫的操程序:用戶為完成某一個特定問題而編寫的操作步驟。作步驟。 進程:可簡單地看作是正在執(zhí)行的程序。但是進程:可簡單地看作是正在執(zhí)行的程序。但是進程需要一定的資源來完成它的任務進程需要一定的資源來完成它的任務(例如例如CPU時間、時間、內(nèi)存、文件和內(nèi)存、文件和I/O設備設備) 。 進程管理進程管理 在計算機中,由于多個程序共享系統(tǒng)資源,就必在計算機中,由于多個程序共享系統(tǒng)資源,就必然引發(fā)對然引發(fā)對CPU的爭奪。如何有效地利用的爭奪。如何有效地利用CPU資源,資源,如何在多個請求如何在多
8、個請求CPU的進程中選擇取舍,這就是進程的進程中選擇取舍,這就是進程管理要解決的問題。管理要解決的問題。動動 畫畫 進程與程序的區(qū)別在于進程是動態(tài)的、有生命進程與程序的區(qū)別在于進程是動態(tài)的、有生命力的,而程序是靜態(tài)的。一個程序加載到內(nèi)存,系統(tǒng)力的,而程序是靜態(tài)的。一個程序加載到內(nèi)存,系統(tǒng)就創(chuàng)建一個進程,程序執(zhí)行結束后,該進程也就消亡就創(chuàng)建一個進程,程序執(zhí)行結束后,該進程也就消亡了。了。4.3.2 進程的狀態(tài)轉(zhuǎn)移新的新的就緒就緒運行運行終止終止等待等待允許允許中斷中斷退出退出允許允許進程狀態(tài)及轉(zhuǎn)換圖進程狀態(tài)及轉(zhuǎn)換圖進程管理進程管理如如CPU時間片被用完,時間片被用完,迫使進程讓出迫使進程讓出CP
9、U進程等待分配進程等待分配CPU進程已分配到進程已分配到CPU,正在被執(zhí)行。正在被執(zhí)行。進程正在被創(chuàng)建進程正在被創(chuàng)建進程已完成進程已完成進程等待一些事件的出現(xiàn)進程等待一些事件的出現(xiàn) 如進程可能要使用某個如進程可能要使用某個I/O設備而進入等待狀態(tài),等待設備而進入等待狀態(tài),等待使用相應的設備,當使用相應的設備,當 I/O完成后進程進入就緒隊列。完成后進程進入就緒隊列。4.3.3 進程控制塊PCB(略)進程管理進程管理 為了控制進程,操作系統(tǒng)就必須知道進程存儲為了控制進程,操作系統(tǒng)就必須知道進程存儲在哪里,以及進程的一些屬性。在哪里,以及進程的一些屬性。 進程控制塊是進程實體的一部分,是操作系統(tǒng)進
10、程控制塊是進程實體的一部分,是操作系統(tǒng)中記錄進程的專用數(shù)據(jù)結構。一個新的進程創(chuàng)建時,中記錄進程的專用數(shù)據(jù)結構。一個新的進程創(chuàng)建時,操作系統(tǒng)就會為該進程建立一個進程控制塊。操作操作系統(tǒng)就會為該進程建立一個進程控制塊。操作系統(tǒng)根據(jù)進程控制塊對并發(fā)進程進行控制。系統(tǒng)根據(jù)進程控制塊對并發(fā)進程進行控制。4.3.4 進程調(diào)度及隊列圖進程管進程管理理 在某一時刻,計算機的在某一時刻,計算機的CPU(單核單核)只能運行一只能運行一個進程,如果存在多個進程,其它進程就需要等個進程,如果存在多個進程,其它進程就需要等CPU空閑時才能被調(diào)度執(zhí)行??臻e時才能被調(diào)度執(zhí)行。 當一個進程處于等待或當一個進程處于等待或CPU
11、時間片用完時,操時間片用完時,操作系統(tǒng)就會從該進程中拿走作系統(tǒng)就會從該進程中拿走CPU控制權,然后再交控制權,然后再交給其它進程使用,這就是進程的調(diào)度。給其它進程使用,這就是進程的調(diào)度。 進程進程B進程進程A進程進程CCPU時間時間進程進程C進程進程B進程進程A4.3.5 CPU調(diào)度及其準則進程管進程管理理 在設計在設計CPU調(diào)度程序時主要應該考慮的準則包括:調(diào)度程序時主要應該考慮的準則包括: (1) CPU使用率。讓使用率。讓CPU盡可能地忙。盡可能地忙。 (2) 吞吐量。讓吞吐量。讓CPU在一定時間內(nèi)完成的進程數(shù)盡可能多。在一定時間內(nèi)完成的進程數(shù)盡可能多。 (3) 周轉(zhuǎn)時間。讓進程從提交到
12、運行完成的時間盡可能短。周轉(zhuǎn)時間。讓進程從提交到運行完成的時間盡可能短。 (4) 等待時間。讓進程在就緒隊列中等待所花時間之和盡可等待時間。讓進程在就緒隊列中等待所花時間之和盡可能短。能短。 (5) 響應時間。讓進程從提交請求到產(chǎn)生第一響應之間的時響應時間。讓進程從提交請求到產(chǎn)生第一響應之間的時間盡可能短。間盡可能短。4.3.7 進程的同步與互斥進程管理進程管理 進程的同步就是指相互協(xié)作的進程不斷調(diào)整它進程的同步就是指相互協(xié)作的進程不斷調(diào)整它們之間的相對速度,以實現(xiàn)共同有序地推進。們之間的相對速度,以實現(xiàn)共同有序地推進。 換句話說換句話說, ,在操作系統(tǒng)中,允許多個進程并發(fā)運在操作系統(tǒng)中,允許
13、多個進程并發(fā)運行。然而,有些進程之間本身存在某種聯(lián)系,它們行。然而,有些進程之間本身存在某種聯(lián)系,它們在系統(tǒng)中需要一種協(xié)作,以保證進程能正確有序地在系統(tǒng)中需要一種協(xié)作,以保證進程能正確有序地執(zhí)行并維護數(shù)據(jù)的一致性。執(zhí)行并維護數(shù)據(jù)的一致性。動動 畫畫進程管理進程管理把數(shù)據(jù)從鍵盤送入緩沖區(qū)把數(shù)據(jù)從鍵盤送入緩沖區(qū)給給B發(fā)信號發(fā)信號(緩沖區(qū)已滿緩沖區(qū)已滿)等待等待B發(fā)回信號發(fā)回信號(再送數(shù)據(jù)到緩沖區(qū)再送數(shù)據(jù)到緩沖區(qū))A進程進程B進程進程等待等待A信號信號(等待取數(shù)據(jù)并計算等待取數(shù)據(jù)并計算)取緩沖區(qū)中的數(shù)據(jù)進行計算取緩沖區(qū)中的數(shù)據(jù)進行計算給給A發(fā)信號發(fā)信號(緩沖區(qū)數(shù)據(jù)已取走緩沖區(qū)數(shù)據(jù)已取走) 例例:A、
14、B兩進程同步工作如下圖(兩進程同步工作如下圖(A進程負進程負責從鍵盤讀數(shù)據(jù)到緩沖區(qū),責從鍵盤讀數(shù)據(jù)到緩沖區(qū),B進程從緩沖區(qū)取數(shù)進程從緩沖區(qū)取數(shù)據(jù)并計算。據(jù)并計算。動動 畫畫進程管理進程管理 在操作系統(tǒng)中,可能存在著多個進程。而系統(tǒng)中在操作系統(tǒng)中,可能存在著多個進程。而系統(tǒng)中一些資源一次只允許一個進程使用,這類資源被稱為一些資源一次只允許一個進程使用,這類資源被稱為臨界資源。在進程中訪問臨界資源的那段程序稱為臨臨界資源。在進程中訪問臨界資源的那段程序稱為臨界區(qū)。當一個進程進入臨界區(qū)執(zhí)行時,其它進程就不界區(qū)。當一個進程進入臨界區(qū)執(zhí)行時,其它進程就不允許進入臨界區(qū)執(zhí)行,否則就會導致錯誤結果。例如:允
15、許進入臨界區(qū)執(zhí)行,否則就會導致錯誤結果。例如: 多個進程在競爭使用打印機時表現(xiàn)為互斥。多個進程在競爭使用打印機時表現(xiàn)為互斥。 一個文件可供多個進程共享,其中有一個進程在一個文件可供多個進程共享,其中有一個進程在寫操作時,其它進程則不允許同時寫或讀,表現(xiàn)為互寫操作時,其它進程則不允許同時寫或讀,表現(xiàn)為互斥。由此得出斥。由此得出: : 多個進程并發(fā)執(zhí)行時,只允許一個進程進入臨多個進程并發(fā)執(zhí)行時,只允許一個進程進入臨界區(qū)運行,這就是進程的互斥。界區(qū)運行,這就是進程的互斥。 動動 畫畫在多道程序設計中,多個進程可能競爭一定數(shù)在多道程序設計中,多個進程可能競爭一定數(shù)量的資源。一個進程在申請資源時,如果所
16、申請資量的資源。一個進程在申請資源時,如果所申請資源不足,該進程就必須處于等待狀態(tài)。如果所申請源不足,該進程就必須處于等待狀態(tài)。如果所申請的資源被其它進程占有,那么進程的等待狀態(tài)就可的資源被其它進程占有,那么進程的等待狀態(tài)就可能無法改變,從而形成進程之間相互一直等待的局能無法改變,從而形成進程之間相互一直等待的局面,這就是死鎖。面,這就是死鎖。4.3.8 進程的死鎖及處理方法進程管理進程管理 死鎖舉例:死鎖舉例: 四方街區(qū)的車輛阻塞。四方街區(qū)的車輛阻塞。每個方向都希望其它方讓出每個方向都希望其它方讓出通道,但誰也不能夠讓出。通道,但誰也不能夠讓出。 引起死鎖的四個必要條件:引起死鎖的四個必要條
17、件: (1) 互斥:某一資源任一時刻只能有一個進程獨互斥:某一資源任一時刻只能有一個進程獨占,若另一進程申請該資源則需延遲到該資源釋放占,若另一進程申請該資源則需延遲到該資源釋放為止。為止。 (2) 占有并等待:即該進程占有部分資源后還占有并等待:即該進程占有部分資源后還在等待其它資源,而該資源被其它進程占有。在等待其它資源,而該資源被其它進程占有。 (3) 非搶占:某進程已占用資源且不主動放棄非搶占:某進程已占用資源且不主動放棄它所占有的資源時,其它進程不能強占該資源,只它所占有的資源時,其它進程不能強占該資源,只有等其完成任務并釋放資源。有等其完成任務并釋放資源。 (4) 循環(huán)等待:在出現(xiàn)
18、死鎖的系統(tǒng)中,一定存循環(huán)等待:在出現(xiàn)死鎖的系統(tǒng)中,一定存在這樣一個進程鏈,其中每個進程至少占有其它進在這樣一個進程鏈,其中每個進程至少占有其它進程所必需的資源,從而形成一個等待鏈。程所必需的資源,從而形成一個等待鏈。進程管理進程管理進程管理進程管理 死鎖舉例:死鎖舉例: 進程進程A:獲得:獲得CD-ROM使用權,申請打印機使用權,申請打印機 進程進程B:獲得打印機使用權,申請:獲得打印機使用權,申請CD-ROM 死鎖:此時進程死鎖:此時進程A、B均被阻塞,無法運行均被阻塞,無法運行動動 畫畫處理死鎖處理死鎖問題的三種方式問題的三種方式: (1) 使用協(xié)議預防和避免死鎖,確保系統(tǒng)從不使用協(xié)議預防
19、和避免死鎖,確保系統(tǒng)從不進入死鎖狀態(tài)。進入死鎖狀態(tài)。 (2) 允許系統(tǒng)進入死鎖狀態(tài),然后檢測出死鎖,允許系統(tǒng)進入死鎖狀態(tài),然后檢測出死鎖,并加以恢復。并加以恢復。 (3) 可忽略進程死鎖問題,并假裝系統(tǒng)中死鎖可忽略進程死鎖問題,并假裝系統(tǒng)中死鎖從來不會發(fā)生。即沒有必要把精力花在小概率事件從來不會發(fā)生。即沒有必要把精力花在小概率事件上。上。進程管理進程管理處理死鎖優(yōu)先考慮的順序:處理死鎖優(yōu)先考慮的順序:先先預防預防和避免和避免再再檢測檢測和恢復和恢復4.4 內(nèi)存管理內(nèi)存管理 內(nèi)存是現(xiàn)代操作系統(tǒng)的核心,是可被內(nèi)存是現(xiàn)代操作系統(tǒng)的核心,是可被CPU和和I/O設備所共同訪問的數(shù)據(jù)倉庫。計算機的所有程設
20、備所共同訪問的數(shù)據(jù)倉庫。計算機的所有程序運行時都要調(diào)入內(nèi)存。序運行時都要調(diào)入內(nèi)存。 內(nèi)存管理的主要工作是:為每個用戶進程合理內(nèi)存管理的主要工作是:為每個用戶進程合理地分配內(nèi)存,以保證各個進程之間在存儲區(qū)不發(fā)生地分配內(nèi)存,以保證各個進程之間在存儲區(qū)不發(fā)生沖突;當內(nèi)存不足時,如何把內(nèi)存和外存結合起來,沖突;當內(nèi)存不足時,如何把內(nèi)存和外存結合起來,給用戶提供一個比實際內(nèi)存大得多的虛擬內(nèi)存,使給用戶提供一個比實際內(nèi)存大得多的虛擬內(nèi)存,使得程序能順利執(zhí)行。得程序能順利執(zhí)行。4.4.1 用戶程序執(zhí)行與地址映射(了解)4.4 內(nèi)存管理內(nèi)存管理 用戶編寫程序在執(zhí)行前,需要用戶編寫程序在執(zhí)行前,需要多個處理步驟
21、,然后在內(nèi)存中等待多個處理步驟,然后在內(nèi)存中等待執(zhí)行。當然有時并非每個步驟都是執(zhí)行。當然有時并非每個步驟都是必需的。必需的。源程序源程序編譯器或編譯器或匯編器匯編器目標模塊目標模塊鏈接編輯器鏈接編輯器加載模塊加載模塊加載器加載器內(nèi)存中內(nèi)存中二進制內(nèi)存二進制內(nèi)存映像映像其它目其它目標模塊標模塊動態(tài)裝入動態(tài)裝入的系統(tǒng)庫的系統(tǒng)庫系統(tǒng)庫系統(tǒng)庫動態(tài)鏈接動態(tài)鏈接編譯階段編譯階段加載階段加載階段執(zhí)行階段執(zhí)行階段圖圖4.4 用戶程序多步驟處理用戶程序多步驟處理說明:編譯器和匯編器用于將高級說明:編譯器和匯編器用于將高級語言源程序翻譯成二進制代碼的機語言源程序翻譯成二進制代碼的機器語言程序。鏈接器將編譯后不同器
22、語言程序。鏈接器將編譯后不同的程序、函數(shù)庫文件等連接生成的程序、函數(shù)庫文件等連接生成EXE文件文件 。當運行。當運行EXE文件時,操文件時,操作系統(tǒng)的加載器讀取作系統(tǒng)的加載器讀取EXE文件并將文件并將它們加載到內(nèi)存中。預先編譯好的它們加載到內(nèi)存中。預先編譯好的在調(diào)入內(nèi)存前加載的庫文件就是靜在調(diào)入內(nèi)存前加載的庫文件就是靜態(tài)鏈接庫文件。運行時動態(tài)裝入的態(tài)鏈接庫文件。運行時動態(tài)裝入的庫文件叫動態(tài)鏈接庫文件。庫文件叫動態(tài)鏈接庫文件。 OBJ文件文件EXE文件文件4.4 內(nèi)存管理內(nèi)存管理 1. 1.編譯階段編譯階段: :如果在編譯時就知道進程將在內(nèi)存中的什么位如果在編譯時就知道進程將在內(nèi)存中的什么位置駐
23、留,那么編譯器就可以直接以生成絕對地址代碼。置駐留,那么編譯器就可以直接以生成絕對地址代碼。 2.加載階段加載階段: 不不知道進程將駐留在什么位置,那么編譯器知道進程將駐留在什么位置,那么編譯器就必須生成就必須生成程序的邏輯地址,在加載階段再轉(zhuǎn)變成內(nèi)存的絕程序的邏輯地址,在加載階段再轉(zhuǎn)變成內(nèi)存的絕對地址。對地址。 3.執(zhí)行階段執(zhí)行階段: :如果進程在執(zhí)行時可以從一個內(nèi)存段移動到如果進程在執(zhí)行時可以從一個內(nèi)存段移動到另一個內(nèi)存段,那么進程的絕對地址映射工作只能延遲到執(zhí)另一個內(nèi)存段,那么進程的絕對地址映射工作只能延遲到執(zhí)行時進行。行時進行。 通常,將指令和數(shù)據(jù)的地址映射成內(nèi)存地址可以發(fā)生在以通常,
24、將指令和數(shù)據(jù)的地址映射成內(nèi)存地址可以發(fā)生在以下三個執(zhí)行階段。下三個執(zhí)行階段。(了解了解)4.4.2 物理地址空間與邏輯地址空間 4.4 內(nèi)存管理內(nèi)存管理l 幾個相關概念幾個相關概念物理地址物理地址:是計算機內(nèi)存單元的真實地址。是計算機內(nèi)存單元的真實地址。 物理地址空間物理地址空間:由物理地址所構成的地址范圍。由物理地址所構成的地址范圍。 邏輯地址邏輯地址:經(jīng)編譯后的用戶程序地址,從經(jīng)編譯后的用戶程序地址,從0開始編開始編址。址。 邏輯地址空間邏輯地址空間:由邏輯地址所構成的地址范圍。由邏輯地址所構成的地址范圍。 地址映射地址映射:用戶程序在運行時要裝入內(nèi)存,這就需用戶程序在運行時要裝入內(nèi)存,這
25、就需要將邏輯地址變換成物理地址,該過程稱為地址要將邏輯地址變換成物理地址,該過程稱為地址映射,也稱重定位。映射,也稱重定位。用戶編寫的源用戶編寫的源程序是不考慮地址程序是不考慮地址的,源程序經(jīng)編譯的,源程序經(jīng)編譯后產(chǎn)生邏輯地址。后產(chǎn)生邏輯地址。將邏輯地址轉(zhuǎn)換為將邏輯地址轉(zhuǎn)換為內(nèi)存中的物理地址內(nèi)存中的物理地址是由計算機中被稱是由計算機中被稱為內(nèi)存管理單元的為內(nèi)存管理單元的硬件設備來實現(xiàn)的,硬件設備來實現(xiàn)的,將邏輯地址與內(nèi)存將邏輯地址與內(nèi)存管理單元中存放的管理單元中存放的內(nèi)存基址相加就得內(nèi)存基址相加就得到物理地址。到物理地址。 物理物理地址地址Base + X邏輯邏輯地址地址XCPU重定位重定位寄
26、存器寄存器Base+ +內(nèi)存內(nèi)存內(nèi)存管內(nèi)存管理單元理單元4.4 內(nèi)存管理內(nèi)存管理LOAD 1, 50012345LOAD 1, 50012345 0100500700程序程序A A的邏輯地址的邏輯地址空間空間程序程序A A的物理在址的物理在址空間空間. . . . . . . . . . . . .5000510055005700動動 畫畫4.4.3 進程使用內(nèi)存的交換技術 為更加有效地使用內(nèi)存,進程在不運行時,可為更加有效地使用內(nèi)存,進程在不運行時,可以暫時從內(nèi)存移至外存,需要再運行時再重新調(diào)回到以暫時從內(nèi)存移至外存,需要再運行時再重新調(diào)回到內(nèi)存中。也就是說內(nèi)存管理程序可將剛剛運行過的進內(nèi)存
27、中。也就是說內(nèi)存管理程序可將剛剛運行過的進程從內(nèi)存中換出以釋放占用的內(nèi)存空間,然后將另一程從內(nèi)存中換出以釋放占用的內(nèi)存空間,然后將另一個要運行的進程占據(jù)前者釋放的內(nèi)存空間。個要運行的進程占據(jù)前者釋放的內(nèi)存空間。4.4 內(nèi)存管理內(nèi)存管理進程進程A操作系統(tǒng)操作系統(tǒng)未用內(nèi)存區(qū)未用內(nèi)存區(qū)進程進程A操作系統(tǒng)操作系統(tǒng)未用內(nèi)存區(qū)未用內(nèi)存區(qū)進程進程B進程進程A操作系統(tǒng)操作系統(tǒng)未用內(nèi)存區(qū)未用內(nèi)存區(qū)進程進程B進程進程C未用內(nèi)存區(qū)未用內(nèi)存區(qū)操作系統(tǒng)操作系統(tǒng)未用內(nèi)存區(qū)未用內(nèi)存區(qū)進程進程B進程進程C未用內(nèi)存區(qū)未用內(nèi)存區(qū)操作系統(tǒng)操作系統(tǒng)未用內(nèi)存區(qū)未用內(nèi)存區(qū)進程進程B進程進程C進程進程D注:這種交換技術多用于分時系統(tǒng)注:這
28、種交換技術多用于分時系統(tǒng)4.4.4 內(nèi)存分配方案-連續(xù)4.4 內(nèi)存管理內(nèi)存管理進程進程A操作系統(tǒng)操作系統(tǒng)未用內(nèi)存區(qū)未用內(nèi)存區(qū)進程進程C未用內(nèi)存區(qū)未用內(nèi)存區(qū)在內(nèi)存分配中,在內(nèi)存分配中,常常把內(nèi)存中還常常把內(nèi)存中還沒有被分配的可沒有被分配的可用空間稱為孔用空間稱為孔( (hole) )。 開始時所有內(nèi)存是一個大的孔,隨著內(nèi)存分配的進行就開始時所有內(nèi)存是一個大的孔,隨著內(nèi)存分配的進行就會形成許多不連續(xù)的大小不同的孔。在連續(xù)內(nèi)存分配方案中,會形成許多不連續(xù)的大小不同的孔。在連續(xù)內(nèi)存分配方案中,當新進程需要內(nèi)存時,就為其尋找合適的孔,實現(xiàn)內(nèi)存分配。當新進程需要內(nèi)存時,就為其尋找合適的孔,實現(xiàn)內(nèi)存分配。該
29、方案需要為每個進程分配連續(xù)的內(nèi)存物理空間。該方案需要為每個進程分配連續(xù)的內(nèi)存物理空間。 4.4.5 內(nèi)存分配方案-分頁式4.4 內(nèi)存管理內(nèi)存管理 分頁管理基本思想:分頁管理基本思想: 內(nèi)存物理地址空間劃分為若干個大小相等的塊內(nèi)存物理地址空間劃分為若干個大小相等的塊(頁框頁框) 進程的邏輯地址空間也劃分為同樣大小的塊進程的邏輯地址空間也劃分為同樣大小的塊(頁面頁面) 內(nèi)存分配時每個頁面對應地分配一個頁框,而一個進程內(nèi)存分配時每個頁面對應地分配一個頁框,而一個進程所分得頁框在位置上不必是連續(xù)的。所分得頁框在位置上不必是連續(xù)的。頁表:操作系統(tǒng)頁表:操作系統(tǒng)為每個用戶程序為每個用戶程序建立一張頁表,建
30、立一張頁表,該表記錄用戶程該表記錄用戶程序的每個邏輯頁序的每個邏輯頁面存放在哪一個面存放在哪一個內(nèi)存物理頁框。內(nèi)存物理頁框。7頁頁6頁頁5頁頁4頁頁3頁頁2頁頁1頁頁0頁頁用戶程用戶程序序1191076425塊號塊號76543210頁號頁號頁表頁表11109876543210內(nèi)存內(nèi)存頁面頁面頁框頁框pdfCPUpdfdff 00000000f 11111111邏輯地邏輯地址址物理地物理地址址頁表頁表物理內(nèi)物理內(nèi)存存分頁式內(nèi)存管理從邏輯地址到物理地址的映射分頁式內(nèi)存管理從邏輯地址到物理地址的映射: (了解了解)頁號頁號p頁內(nèi)地址頁內(nèi)地址d(偏移量)(偏移量)注:邏輯地址的表示:注:邏輯地址的表示
31、:4.4 內(nèi)存管理內(nèi)存管理4.5.1 基本思想4.5 虛擬內(nèi)存方案虛擬內(nèi)存方案虛擬內(nèi)存是一個容量很大的存儲器的邏輯模型,虛擬內(nèi)存是一個容量很大的存儲器的邏輯模型,它不是任何實際的物理存儲器。虛擬內(nèi)存包括物理內(nèi)它不是任何實際的物理存儲器。虛擬內(nèi)存包括物理內(nèi)存和一部分外存存和一部分外存(這里所指的外存一般是指硬盤這里所指的外存一般是指硬盤)。 4.5 虛擬內(nèi)存方案虛擬內(nèi)存方案虛擬內(nèi)存:虛擬內(nèi)存:對于一個進程來講,如果僅將當前對于一個進程來講,如果僅將當前要運行的幾個頁面裝入內(nèi)存便可以開始運行,而其余要運行的幾個頁面裝入內(nèi)存便可以開始運行,而其余頁面可暫時留在磁盤上,需要時再調(diào)入內(nèi)存,并且調(diào)頁面可暫
32、時留在磁盤上,需要時再調(diào)入內(nèi)存,并且調(diào)入時也不占用新的內(nèi)存空間,而是對原來運行過的頁入時也不占用新的內(nèi)存空間,而是對原來運行過的頁面進行置換。這樣,就可以在計算機有限的內(nèi)存中同面進行置換。這樣,就可以在計算機有限的內(nèi)存中同時駐留多個進程。而對用戶來講感覺到系統(tǒng)提供了足時駐留多個進程。而對用戶來講感覺到系統(tǒng)提供了足夠大的物理內(nèi)存,而實際上并非真實的,這就是虛擬夠大的物理內(nèi)存,而實際上并非真實的,這就是虛擬內(nèi)存。內(nèi)存。 4.5.2 頁面請求與頁面置換算法4.5 虛擬內(nèi)存方案虛擬內(nèi)存方案 在虛擬內(nèi)存技術中,進程運行時并沒有將所有在虛擬內(nèi)存技術中,進程運行時并沒有將所有頁面裝入到內(nèi)存,在運行過程中進程
33、會不斷地請求頁面裝入到內(nèi)存,在運行過程中進程會不斷地請求頁面,如果訪問的頁面已在內(nèi)存,就繼續(xù)執(zhí)行下去;頁面,如果訪問的頁面已在內(nèi)存,就繼續(xù)執(zhí)行下去;但如果要訪問的頁面尚未調(diào)入內(nèi)存,便請求操作系但如果要訪問的頁面尚未調(diào)入內(nèi)存,便請求操作系統(tǒng)將所缺頁面調(diào)入內(nèi)存,以便進程能繼續(xù)運行,這統(tǒng)將所缺頁面調(diào)入內(nèi)存,以便進程能繼續(xù)運行,這個過程叫頁面請求。個過程叫頁面請求。 如果請求頁面調(diào)入內(nèi)存時,分配給該進程的頁如果請求頁面調(diào)入內(nèi)存時,分配給該進程的頁框已用完,就無法立即裝入所請求頁面。此時,必框已用完,就無法立即裝入所請求頁面。此時,必須將進程中的某個頁面從內(nèi)存的頁框調(diào)出到磁盤上,須將進程中的某個頁面從內(nèi)
34、存的頁框調(diào)出到磁盤上,再從磁盤上將所請求的頁面調(diào)入到內(nèi)存該頁框中,再從磁盤上將所請求的頁面調(diào)入到內(nèi)存該頁框中,這個過程叫頁面置換。這個過程叫頁面置換。動動 畫畫4.6.1 文件的概念4.6 文件管理文件管理 文件:保存在外存上的相關信息的集合。文件:保存在外存上的相關信息的集合。 文件命名:文件主名文件命名:文件主名+ +擴展名擴展名 文件的擴展名一般用來標明文件的類型。例如:文件的擴展名一般用來標明文件的類型。例如: .EXE 可執(zhí)行文件可執(zhí)行文件 .SYS 系統(tǒng)文件系統(tǒng)文件 .TXT 文本文件文本文件 .BAS Basic源程序源程序 .DOC Word文檔文檔 .BAK 備份文備份文件件
35、 在在Windows系統(tǒng)中,系統(tǒng)中,我們還可以通過圖標的不同我們還可以通過圖標的不同來區(qū)分文件的類型,但是顯來區(qū)分文件的類型,但是顯示文檔圖標的依據(jù)仍然是文示文檔圖標的依據(jù)仍然是文件的擴展名,所以修改文件件的擴展名,所以修改文件的擴展名,會使系統(tǒng)無法識的擴展名,會使系統(tǒng)無法識別文件的類型。別文件的類型。 常見的幾種文件圖標常見的幾種文件圖標 4.6 文件管理文件管理只讀:只允許授權用戶進行讀操作。只讀:只允許授權用戶進行讀操作。 讀寫:只允許授權用戶進行讀和寫的操作。讀寫:只允許授權用戶進行讀和寫的操作。 文檔:允許任何用戶進行讀寫操作。文檔:允許任何用戶進行讀寫操作。 隱藏:不允許用戶直接看
36、到文件名。隱藏:不允許用戶直接看到文件名。一個文件可以有不同的存取屬性,例如:一個文件可以有不同的存取屬性,例如:什么是文件系統(tǒng)?什么是文件系統(tǒng)? 是操作系統(tǒng)對文件進行操作是操作系統(tǒng)對文件進行操作和管理的軟件,是用戶與外存之和管理的軟件,是用戶與外存之間的接口。該系統(tǒng)將所有文件組間的接口。該系統(tǒng)將所有文件組織成目錄結構保存在外存,一個織成目錄結構保存在外存,一個文件對應其中的一個目錄條,目文件對應其中的一個目錄條,目錄條記錄了文件名、文件位置、錄條記錄了文件名、文件位置、文件大小、創(chuàng)建時間等信息。文件大小、創(chuàng)建時間等信息。 4.6 文件管理文件管理操作系統(tǒng)對文件的基本操作包括:創(chuàng)建文件、操作系
37、統(tǒng)對文件的基本操作包括:創(chuàng)建文件、文件寫、文件讀、文件內(nèi)重定位、文件刪除、文件文件寫、文件讀、文件內(nèi)重定位、文件刪除、文件截短等操作。截短等操作。 (1) 創(chuàng)建文件:就是首先要在文件系統(tǒng)中尋找可創(chuàng)建文件:就是首先要在文件系統(tǒng)中尋找可用的空間并進行分配,然后再在目錄中為新文件建立用的空間并進行分配,然后再在目錄中為新文件建立一個目錄條。一個目錄條。 (2) 文件寫:根據(jù)指定的文件名在目錄中搜索到文件寫:根據(jù)指定的文件名在目錄中搜索到目錄條,以確定文件所在具體位置;完成寫操作。目錄條,以確定文件所在具體位置;完成寫操作。 (3) 文件讀:根據(jù)指定的文件名在目錄中搜索到文件讀:根據(jù)指定的文件名在目錄
38、中搜索到目錄條,完成讀操作。目錄條,完成讀操作。 4.6 文件管理文件管理 (4) 文件內(nèi)重定位:根據(jù)相應搜索條件設置當前文件內(nèi)重定位:根據(jù)相應搜索條件設置當前文件讀文件讀/寫位置(即不必每次都從文件開始端讀寫)。寫位置(即不必每次都從文件開始端讀寫)。 (5) 文件刪除:根據(jù)指定的文件名在目錄中搜索文件刪除:根據(jù)指定的文件名在目錄中搜索到目錄條,以確定文件所在具體位置;釋放文件所占到目錄條,以確定文件所在具體位置;釋放文件所占用的空間;在目錄中刪除相應目錄條。用的空間;在目錄中刪除相應目錄條。 (6)文件截短:刪除文件的內(nèi)容而保留其屬性,只文件截短:刪除文件的內(nèi)容而保留其屬性,只是將文件的長
39、度設置為是將文件的長度設置為0并釋放所占的空間。并釋放所占的空間。 以上以上6個基本操作組成了文件操作的最小集合。個基本操作組成了文件操作的最小集合。對文件的其它操作還包括文件復制、文件重命名、為對文件的其它操作還包括文件復制、文件重命名、為文件追加信息、更改文件屬性等。文件追加信息、更改文件屬性等。 4.6.2 文件的物理結構和邏輯結構文件的邏輯結構文件的邏輯結構無結構文件無結構文件有結構文件有結構文件流式文件流式文件索引順序文件索引順序文件順序文件順序文件索引文件索引文件4.6 文件管理文件管理 文件結構分物理和邏輯結構。其中物理結構是文件結構分物理和邏輯結構。其中物理結構是文件在外存上的
40、存儲形式文件在外存上的存儲形式( (如:順序結構、鏈接結如:順序結構、鏈接結構、索引結構構、索引結構) ),它與具體的存儲設備有關。文件,它與具體的存儲設備有關。文件邏輯結構是指用戶能直接感受到的文件組織結構,邏輯結構是指用戶能直接感受到的文件組織結構,它與具體的存儲設備無關。它與具體的存儲設備無關。main( ) int a, b, sum; scanf(%d %d, &a, &b); sum=a+b; printf(sum=%d, sum); 4.6 文件管理文件管理學號學號姓名姓名性別性別電話電話郵箱地址郵箱地址0001張為華張為華男男0002趙國迎趙國迎男男0003韓瑩瑩韓瑩瑩女女 可
41、以看成是由無結構可以看成是由無結構的字符序列組成的文件。的字符序列組成的文件。如文檔、源程序等。如文檔、源程序等。 是帶有結構的、性質(zhì)相同的記錄的集合。是帶有結構的、性質(zhì)相同的記錄的集合。 順序文件:文件所包含的一系列記錄按照某順序文件:文件所包含的一系列記錄按照某種順序依次連續(xù)存儲。順序文件是按記錄進入文件的種順序依次連續(xù)存儲。順序文件是按記錄進入文件的先后順序存放、其邏輯順序和物理順序一致的文件。先后順序存放、其邏輯順序和物理順序一致的文件。 4.6 文件管理文件管理 根據(jù)用戶和系統(tǒng)管理的需要,有結構文件可有根據(jù)用戶和系統(tǒng)管理的需要,有結構文件可有以下幾種:以下幾種: 3210邏輯邏輯順序
42、順序42ABC塊塊數(shù)數(shù)起起始始 文件文件名名例例 1 0 1 2 3 4 5 6 710111213141516171819 物理存物理存儲儲 8 970ABC結結束束起起始始 文文件名件名3210邏輯邏輯順序順序例例 2 0 9 4 81216 1 5 9 21317 2 7 6101418 3 7 -1111519物 理物 理存儲存儲4.6 文件管理文件管理 索引文件:由主文件和索引表構成。在文件目索引文件:由主文件和索引表構成。在文件目錄中指定索引表的位置,就可以實現(xiàn)快速訪問。錄中指定索引表的位置,就可以實現(xiàn)快速訪問。 按輸入記錄的先后次序建立數(shù)據(jù)區(qū)和索引表。按輸入記錄的先后次序建立數(shù)據(jù)
43、區(qū)和索引表。 全部記錄輸入完畢后對索引表進行排序,排序全部記錄輸入完畢后對索引表進行排序,排序后的索引表和主文件一起就形成了索引文件。后的索引表和主文件一起就形成了索引文件。 索引順序文件:順序文件和索引文件的結合。索引順序文件:順序文件和索引文件的結合。4.6 文件管理文件管理15ABC索引表索引表地址地址 文件文件名名索引舉例索引舉例 0 1 2 3 4 5 6 710111213141516171819 物理存儲物理存儲 8 915581760123關關鍵鍵字字物物理理地地址址( (略略) )4.6.3 文件的訪問方式順序訪問方式順序訪問方式4.6 文件管理文件管理 主要適合于對順序文件
44、的訪問。其訪問的位置主要適合于對順序文件的訪問。其訪問的位置是由指針定位的。讀操作時,讀取指針所指示位置的是由指針定位的。讀操作時,讀取指針所指示位置的內(nèi)容,并自動將指針向后移動指示下一次讀的位置。內(nèi)容,并自動將指針向后移動指示下一次讀的位置。而寫操作時,所寫的內(nèi)容總是添加到文件的尾部。而寫操作時,所寫的內(nèi)容總是添加到文件的尾部。 所有存儲在順序存儲設備所有存儲在順序存儲設備(如磁帶如磁帶)上的文件,都上的文件,都只能是順序文件,所以順序訪問方式是基于磁帶的模只能是順序文件,所以順序訪問方式是基于磁帶的模型。該訪問方式對直接存儲設備型。該訪問方式對直接存儲設備(如磁盤如磁盤)也適合。也適合。
45、直接訪問方式直接訪問方式4.6 文件管理文件管理 直接訪問也稱隨機訪問,它指的是允許跳躍式直接訪問也稱隨機訪問,它指的是允許跳躍式地隨意存取文件中的任何記錄,而不需要任何順序地隨意存取文件中的任何記錄,而不需要任何順序限制。直接訪問是最為常見和高效的文件訪問方式。限制。直接訪問是最為常見和高效的文件訪問方式。磁盤是隨機存儲設備,所以直接訪問方式是基于磁磁盤是隨機存儲設備,所以直接訪問方式是基于磁盤的模型。盤的模型。 3. .索引訪問方式索引訪問方式 在進行文件訪問時,首先對索引文件按關鍵字在進行文件訪問時,首先對索引文件按關鍵字進行檢索,查找到指向數(shù)據(jù)記錄的指針,根據(jù)該指進行檢索,查找到指向數(shù)
46、據(jù)記錄的指針,根據(jù)該指針實現(xiàn)對具體數(shù)據(jù)記錄的訪問。針實現(xiàn)對具體數(shù)據(jù)記錄的訪問。4.6 文件管理文件管理 總之,文件的存取方式是與文件性質(zhì)、文件存儲總之,文件的存取方式是與文件性質(zhì)、文件存儲介質(zhì)相關聯(lián)的。介質(zhì)相關聯(lián)的。存儲介質(zhì)存儲介質(zhì)磁帶磁帶磁盤磁盤文件的邏輯結構文件的邏輯結構順序文件順序文件順序文件順序文件索引文件索引文件文件的物理結構文件的物理結構順序結構順序結構(連續(xù)文件連續(xù)文件)順序結構順序結構(連續(xù)文件連續(xù)文件散列文件散列文件)鏈接結構鏈接結構(連接文件連接文件)索引結構索引結構(索引文件索引文件)文件訪問方式文件訪問方式順序順序順序順序/隨機隨機順序順序順序順序/隨機隨機/索引索引4
47、.6.4 文件的目錄結構4.6 文件管理文件管理 通常,一個磁盤至少應包含一個分區(qū),每個分通常,一個磁盤至少應包含一個分區(qū),每個分區(qū)用來保存文件和目錄結構區(qū)用來保存文件和目錄結構 。 文件目錄的組成:每文件目錄的組成:每個文件有一個文件控制塊個文件有一個文件控制塊FCB,它是文件存在的標,它是文件存在的標志,存放了為管理文件所志,存放了為管理文件所需的所有有關信息。把所需的所有有關信息。把所有的文件控制塊組織在一有的文件控制塊組織在一起,就構成了文件目錄,起,就構成了文件目錄,每個文件控制塊就是其中每個文件控制塊就是其中的一個目錄項。的一個目錄項。4.6 文件管理文件管理 文件的目錄系統(tǒng)可以組
48、織成單層目錄結構、雙文件的目錄系統(tǒng)可以組織成單層目錄結構、雙層目錄結構、樹型目錄結構、無環(huán)路目錄結構和通層目錄結構、樹型目錄結構、無環(huán)路目錄結構和通用圖目錄結構。用圖目錄結構。單層目錄結構單層目錄結構雙層目錄結構雙層目錄結構4.6 文件管理文件管理 樹型目錄結構是目前使用最為廣泛的一種目錄樹型目錄結構是目前使用最為廣泛的一種目錄結構。這種目錄結構在邏輯上的構成是一棵樹,子結構。這種目錄結構在邏輯上的構成是一棵樹,子目錄是樹枝,而文件是樹葉。目錄是樹枝,而文件是樹葉。動動 畫畫4.7.1 I/O設備和主要術語輸入輸出系統(tǒng)管理輸入輸出系統(tǒng)管理 每臺計算機都配備了許多外部設備,它們的性每臺計算機都配
49、備了許多外部設備,它們的性能和操作方式都不一樣。操作系統(tǒng)對設備能和操作方式都不一樣。操作系統(tǒng)對設備(即即輸入輸入/輸輸出出系統(tǒng)系統(tǒng))管理管理的主要目標是方便用戶使用外部設備,的主要目標是方便用戶使用外部設備,提高提高CPU和設備的利用率。和設備的利用率。 I/O設備與計算機通信的連接點被稱為端口設備與計算機通信的連接點被稱為端口。 用于操作端口、總線和設備的一組電子器件,用于操作端口、總線和設備的一組電子器件,是設備與總線的連接裝置。是設備與總線的連接裝置。1. I/O設備端口設備端口 2. I/O設備控制器設備控制器 中斷的概念中斷的概念:中斷是現(xiàn)代計算機中中斷是現(xiàn)代計算機中CPU處理外部處
50、理外部突發(fā)事件的一個重要技術。它能使突發(fā)事件的一個重要技術。它能使CPU在運行過程在運行過程中對外部事件發(fā)出的中斷請求及時地進行處理,處中對外部事件發(fā)出的中斷請求及時地進行處理,處理完成后又立即返回斷點,繼續(xù)進行理完成后又立即返回斷點,繼續(xù)進行CPU原來的工原來的工作。根據(jù)中斷源的不同,可以把中斷分為作。根據(jù)中斷源的不同,可以把中斷分為: 中斷中斷硬中斷硬中斷軟中斷軟中斷外部中斷外部中斷內(nèi)部中斷內(nèi)部中斷如:鍵盤中斷、打印機中斷等如:鍵盤中斷、打印機中斷等如突然掉電、除數(shù)為零等如突然掉電、除數(shù)為零等程序運行時其它程序?qū)λ闹袛喑绦蜻\行時其它程序?qū)λ闹袛鄤觿?畫畫 1. IRQ(Interrup
51、t Request)()(線線) IRQ即中斷請求線。計算機中有許多設備(例如聲卡、硬盤等)需要即中斷請求線。計算機中有許多設備(例如聲卡、硬盤等)需要定期中斷定期中斷CPU,讓,讓CPU為其做一些特定的工作。這些設備在中斷請求線上為其做一些特定的工作。這些設備在中斷請求線上把請求中斷的信號發(fā)給把請求中斷的信號發(fā)給CPU。所以每個設備只能使用自己獨立的中斷請求。所以每個設備只能使用自己獨立的中斷請求線線(PCI總線、總線、USB總線上的設備可共享總線上的設備可共享)。一般微機共有。一般微機共有16條中斷請求線與條中斷請求線與各 種 外 設 相 連 接 ,各 種 外 設 相 連 接 , ( 每
52、個 中 斷 線 有 一 個 標 號 也 就 是 中 斷 號每 個 中 斷 線 有 一 個 標 號 也 就 是 中 斷 號 ) 。 2. DMA(Direct Memory Access)()(芯片芯片) 計算機與外設之間的聯(lián)系一般通過兩種方法:一是通過計算機與外設之間的聯(lián)系一般通過兩種方法:一是通過CPU控制來進控制來進行數(shù)據(jù)的傳送;二是在芯片控制下進行數(shù)據(jù)的傳送。在行數(shù)據(jù)的傳送;二是在芯片控制下進行數(shù)據(jù)的傳送。在DMA方式下,外設方式下,外設利用利用DMA芯片直接將數(shù)據(jù)寫入或讀出存儲器,而基本不用芯片直接將數(shù)據(jù)寫入或讀出存儲器,而基本不用CPU參與,系統(tǒng)參與,系統(tǒng)的速度會大大增加。的速度會大
53、大增加。 3. I/O端口地址(端口地址(Input/Output)()(地址地址)每個端口都有自己唯一的一個端口號,這個端口號稱為地址。每一個每個端口都有自己唯一的一個端口號,這個端口號稱為地址。每一個和和CPU通信的外設都有不同的通信的外設都有不同的I/O地址,通常在地址,通常在PC機內(nèi)部一共有機內(nèi)部一共有1024個地個地址。址。 4.7.2 輸入/輸出控制方式輸入輸出系統(tǒng)管理輸入輸出系統(tǒng)管理 (1) 程序控制方式程序控制方式 早期采用的方式。早期采用的方式。CPU向設備控制器發(fā)出一條向設備控制器發(fā)出一條I/O指令啟動設備進行一個字節(jié)的輸入或輸出,然后指令啟動設備進行一個字節(jié)的輸入或輸出,
54、然后CPU就等待就等待I/O設備進行數(shù)據(jù)傳送,直到一個字節(jié)傳設備進行數(shù)據(jù)傳送,直到一個字節(jié)傳送完畢后送完畢后CPU再繼續(xù)處理下一個字節(jié)的輸入或輸出。再繼續(xù)處理下一個字節(jié)的輸入或輸出。 CPU絕大部分時間都用于循環(huán)等待及測試絕大部分時間都用于循環(huán)等待及測試I/O是是否完成,造成否完成,造成CPU資源的極大浪費。資源的極大浪費。CPU和外圍設和外圍設備只能串行工作。備只能串行工作。 CPU通過端口對外設進行控制的方式有以下幾種:通過端口對外設進行控制的方式有以下幾種: 4.7.2 輸入/輸出控制方式輸入輸出系統(tǒng)管理輸入輸出系統(tǒng)管理 (2) 中斷驅(qū)動方式中斷驅(qū)動方式 首先由首先由CPU向相應設備的控
55、制器發(fā)出一條向相應設備的控制器發(fā)出一條I/O命命令,然后令,然后CPU立即返回繼續(xù)執(zhí)行原來的任務,設備立即返回繼續(xù)執(zhí)行原來的任務,設備控制器則按照命令的要求去控制控制器則按照命令的要求去控制I/O設備工作。這時設備工作。這時CPU與與I/O設備并行工作。設備并行工作。 這種方式這種方式CPU的利用率較高。但這種方式的缺的利用率較高。但這種方式的缺點是在一次數(shù)據(jù)傳送過程中,發(fā)生中斷次數(shù)較多點是在一次數(shù)據(jù)傳送過程中,發(fā)生中斷次數(shù)較多(每每傳一個字節(jié)就要請示求中斷傳一個字節(jié)就要請示求中斷),這將耗去大量,這將耗去大量CPU處處理時間。理時間。 輸入輸出系統(tǒng)管理輸入輸出系統(tǒng)管理 (3) 直接存儲器訪問
56、方式直接存儲器訪問方式 引入引入DMA控制器后,在其控制下,以數(shù)據(jù)塊為控制器后,在其控制下,以數(shù)據(jù)塊為單位完成設備與內(nèi)存間的數(shù)據(jù)交換,當數(shù)據(jù)塊傳送單位完成設備與內(nèi)存間的數(shù)據(jù)交換,當數(shù)據(jù)塊傳送完畢時才需要完畢時才需要CPU干預。該方式干預。該方式CPU的利用率高。的利用率高。 (4) 通道控制方式通道控制方式 通道實際上是一種比通道實際上是一種比DMA芯片功能更強的設備。芯片功能更強的設備。通道控制方式是通道控制方式是DMA的發(fā)展,它把對每一塊數(shù)據(jù)的的發(fā)展,它把對每一塊數(shù)據(jù)的讀寫變成對一組數(shù)據(jù)塊的讀寫,可以進一步減少讀寫變成對一組數(shù)據(jù)塊的讀寫,可以進一步減少CPU的干預。更大程度地提高了系統(tǒng)資源
57、的利用率。的干預。更大程度地提高了系統(tǒng)資源的利用率。4.7.3 I/O緩沖管理現(xiàn)代操作系統(tǒng)中,現(xiàn)代操作系統(tǒng)中,I/O設備與設備與CPU(實際指內(nèi)存實際指內(nèi)存)交換數(shù)交換數(shù)據(jù)時,需要使用緩沖技術。也就是為據(jù)時,需要使用緩沖技術。也就是為I/O設備設置緩沖區(qū)暫設備設置緩沖區(qū)暫存數(shù)據(jù),等到數(shù)據(jù)積累到一定程度時,再做批量處理。存數(shù)據(jù),等到數(shù)據(jù)積累到一定程度時,再做批量處理。 引入緩沖:引入緩沖: (1) 緩和緩和CPU與與I/O設備間速度不匹配的矛盾;設備間速度不匹配的矛盾; (2) 減少對減少對CPU中斷頻率;中斷頻率; (3) 提高提高CPU與與I/O設備間的并行性。設備間的并行性。輸入輸出系統(tǒng)管
58、理輸入輸出系統(tǒng)管理4.7.4 設備驅(qū)動程序輸入輸出系統(tǒng)管理輸入輸出系統(tǒng)管理 設備驅(qū)動程序與具體設備有關,用戶安裝好硬設備驅(qū)動程序與具體設備有關,用戶安裝好硬件后還要再安裝驅(qū)動程序,計算機才能識別和使用件后還要再安裝驅(qū)動程序,計算機才能識別和使用該設備。每個外部設備都有相應的設備驅(qū)動程序,該設備。每個外部設備都有相應的設備驅(qū)動程序,它也是硬件的身份識別標志,負責完成設備具體的它也是硬件的身份識別標志,負責完成設備具體的各種動作各種動作(輸入輸入/輸出操作輸出操作)。 一旦為一旦為I/O設備安裝了驅(qū)動程序,那么應用程設備安裝了驅(qū)動程序,那么應用程序在使用序在使用I/O設備時,就不必關心設備的特性、
59、設備時,就不必關心設備的特性、I/O控制方式,這樣就實現(xiàn)了應用程序與設備的無關性??刂品绞剑@樣就實現(xiàn)了應用程序與設備的無關性。 動動 畫畫4.8 典型操作系統(tǒng)典型操作系統(tǒng) 4.8.1 Unix4.8 典型操作系統(tǒng)典型操作系統(tǒng) Unix是一個交是一個交互式、分時多用戶并互式、分時多用戶并支持網(wǎng)絡的操作系統(tǒng),支持網(wǎng)絡的操作系統(tǒng),是可以運行在從微機是可以運行在從微機到巨型機在內(nèi)的各種到巨型機在內(nèi)的各種機型上的通用操作系機型上的通用操作系統(tǒng)。目前主要用于網(wǎng)統(tǒng)。目前主要用于網(wǎng)絡服務器、大中小型絡服務器、大中小型機。機。主流產(chǎn)品:主流產(chǎn)品:FreeBSD運行界面運行界面主流產(chǎn)品:主流產(chǎn)品:Solaris
60、運行界運行界面面 1969年,貝爾年,貝爾電話實驗室的電話實驗室的專家開發(fā)了專家開發(fā)了-Unix操作系統(tǒng)。操作系統(tǒng)。4.8 典型操作系統(tǒng)典型操作系統(tǒng) DOS DOS是微型計算機早期所使用的桌面操作系統(tǒng)。是微型計算機早期所使用的桌面操作系統(tǒng)。是單用戶、單任務和字符界面的操作系統(tǒng),主要為是單用戶、單任務和字符界面的操作系統(tǒng),主要為16位微型計算機而設計,屬于淘汰產(chǎn)品。位微型計算機而設計,屬于淘汰產(chǎn)品。 MS-DOS運行的界面運行的界面1981年,年,IBM發(fā)布了發(fā)布了IBM 5150 PC,采用了,采用了Microsoft提供的提供的DOS(Disk Operating System)。)。4.8
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 創(chuàng)新產(chǎn)品專利授權合同(2篇)
- 2024年福建省福州市福清市三山鎮(zhèn)招聘社區(qū)工作者考前自測高頻考點模擬試題(共500題)含答案
- 2024年度天津市公共營養(yǎng)師之二級營養(yǎng)師題庫與答案
- 2024年度四川省公共營養(yǎng)師之三級營養(yǎng)師自我提分評估(附答案)
- 2024年度四川省公共營養(yǎng)師之二級營養(yǎng)師題庫附答案(典型題)
- 2025年中國資產(chǎn)管理行業(yè)發(fā)展監(jiān)測及投資戰(zhàn)略規(guī)劃研究報告
- 中國共聚焦顯微鏡行業(yè)發(fā)展運行現(xiàn)狀及投資策略研究報告
- 2024-2030年中國航運金融行業(yè)發(fā)展運行現(xiàn)狀及投資策略研究報告
- 工業(yè)異辛烷項目可行性研究報告
- 中國TETR(數(shù)字集群無線電)系統(tǒng)行業(yè)競爭模式與發(fā)展戰(zhàn)略研究報告
- 中國普通食物營養(yǎng)成分表(修正版)
- 2024年北京市第一次普通高中學業(yè)水平合格性考試英語仿真模擬卷03(全解全析)
- 2024年江蘇省淮安技師學院長期招聘高技能人才3人高頻考題難、易錯點模擬試題(共500題)附帶答案詳解
- 應急救援員五級理論考試題庫含答案
- 2024年導游服務技能大賽《導游綜合知識測試》題庫及答案
- 高中化學實驗開展情況的調(diào)查問卷教師版
- 《聲聲慢(尋尋覓覓)》課件 統(tǒng)編版高中語文必修上冊
- 初中物理-:八年級上學期競賽題
- 生物治療與再生醫(yī)療應用
- 2024年1月廣東省高中學業(yè)水平考試物理試題(附答案)
- 帕金森患者生活質(zhì)量問卷(PDQ-39)
評論
0/150
提交評論