操作系統(tǒng)引論_第1頁
操作系統(tǒng)引論_第2頁
操作系統(tǒng)引論_第3頁
操作系統(tǒng)引論_第4頁
操作系統(tǒng)引論_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第一章 操作系統(tǒng)引論 第一章第一章 操作系統(tǒng)引論操作系統(tǒng)引論1.1 1.1 操作系統(tǒng)的目標和作用操作系統(tǒng)的目標和作用 1.2 1.2 操作系統(tǒng)的發(fā)展過程操作系統(tǒng)的發(fā)展過程 1.3 1.3 操作系統(tǒng)的基本特性操作系統(tǒng)的基本特性 1.4 1.4 操作系統(tǒng)的主要功能操作系統(tǒng)的主要功能 1.5 1.5 操作系統(tǒng)的結構設計操作系統(tǒng)的結構設計 第一章 操作系統(tǒng)引論 1.1 操作系統(tǒng)的目標和作用操作系統(tǒng)的目標和作用1.1.1 操作系統(tǒng)的目標操作系統(tǒng)的目標 目前存在著多種類型的OS,不同類型的OS,其目標各有所側重。通常在計算機硬件上配置的OS,其目標有以下幾點: 1. 方便性 2. 有效性 3. 可擴充性

2、4. 開放性 第一章 操作系統(tǒng)引論 1.1.2 操作系統(tǒng)的作用操作系統(tǒng)的作用 1.OS作為用戶與計算機硬件系統(tǒng)之間的接口作為用戶與計算機硬件系統(tǒng)之間的接口 OS作為用戶與計算機硬件系統(tǒng)之間接口的含義是:OS處于用戶與計算機硬件系統(tǒng)之間,用戶通過OS來使用計算機系統(tǒng)?;蛘哒f,用戶在OS幫助下,能夠方便、快捷、安全、可靠地操縱計算機硬件和運行自己的程序。應注意,OS是一個系統(tǒng)軟件,因而這種接口是軟件接口。 第一章 操作系統(tǒng)引論 圖 1-1 OS作為接口的示意圖 用 戶應用程序系統(tǒng)調用 命令 圖標、窗口操作系統(tǒng)計算機硬件第一章 操作系統(tǒng)引論 (1) 命令方式。這是指由OS提供了一組聯(lián)機命令(語言),

3、 用戶可通過鍵盤輸入有關命令,來直接操縱計算機系統(tǒng)。 (2) 系統(tǒng)調用方式。OS提供了一組系統(tǒng)調用,用戶可在自己的應用程序中通過相應的系統(tǒng)調用,來操縱計算機。 (3) 圖形、窗口方式。用戶通過屏幕上的窗口和圖標來操縱計算機系統(tǒng)和運行自己的程序。 第一章 操作系統(tǒng)引論 2. OS作為計算機系統(tǒng)資源的管理者作為計算機系統(tǒng)資源的管理者 在一個計算機系統(tǒng)中,通常都含有各種各樣的硬件和軟件資源。歸納起來可將資源分為四類:處理器、存儲器、 I/O設備以及信息(數(shù)據(jù)和程序)。相應地,OS的主要功能也正是針對這四類資源進行有效的管理,即:處理機管理, 用于分配和控制處理機;存儲器管理,主要負責內存的分配與回收

4、;I/O設備管理,負責I/O設備的分配與操縱;文件管理,負責文件的存取、共享和保護??梢?,OS確是計算機系統(tǒng)資源的管理者。事實上,當今世界上廣為流行的一個關于OS作用的觀點,正是把OS作為計算機系統(tǒng)的資源管理者。 第一章 操作系統(tǒng)引論 3. OS用作擴充機器用作擴充機器 對于一臺完全無軟件的計算機系統(tǒng)(即裸機),即使其功能再強,也必定是難于使用的。如果我們在裸機上覆蓋上一層I/O設備管理軟件,用戶便可利用它所提供的I/O命令,來進行數(shù)據(jù)輸入和打印輸出。此時用戶所看到的機器, 將是一臺比裸機功能更強、使用更方便的機器。通常把覆蓋了軟件的機器稱為擴充機器或虛機器。如果我們又在第一層軟件上再覆蓋上一

5、層文件管理軟件,則用戶可利用該軟件提供的文件存取命令,來進行文件的存取。此時,用戶所看到的是臺功能更強的虛機器。如果我們又在文件管理軟件上再覆蓋一層面向用戶的窗口軟件,則用戶便可在窗口環(huán)境下方便地使用計算機,形成一臺功能更強的虛機器。 第一章 操作系統(tǒng)引論 1.1.3 推動操作系統(tǒng)發(fā)展的主要動力推動操作系統(tǒng)發(fā)展的主要動力 1. 不斷提高計算機資源利用率不斷提高計算機資源利用率 2. 方便用戶方便用戶 3. 器件的不斷更新?lián)Q代器件的不斷更新?lián)Q代 4. 計算機體系結構的不斷發(fā)展計算機體系結構的不斷發(fā)展 第一章 操作系統(tǒng)引論 1.2 操作系統(tǒng)的發(fā)展過程操作系統(tǒng)的發(fā)展過程 1.2.1 無操作系統(tǒng)的計算

6、機系統(tǒng)無操作系統(tǒng)的計算機系統(tǒng) 1. 人工操作方式人工操作方式 從第一臺計算機誕生(1945年)到50年代中期的計算機,屬于第一代,這時還未出現(xiàn)OS。這時的計算機操作是由用戶(即程序員)采用人工操作方式直接使用計算機硬件系統(tǒng),即由程序員將事先已穿孔(對應于程序和數(shù)據(jù))的紙帶(或卡片)裝入紙帶輸入機(或卡片輸入機),再啟動它們將程序和數(shù)據(jù)輸入計算機, 然后啟動計算機運行。當程序運行完畢并取走計算結果后, 才讓下一個用戶上機。這種人工操作方式有以下兩方面的缺點: (1) 用戶獨占全機。 (2) CPU等待人工操作。 第一章 操作系統(tǒng)引論 2. 脫機輸入脫機輸入/輸出輸出(Off-Line I/O)方

7、式方式 這種脫機I/O方式的主要優(yōu)點如下:(1) 減少了CPU的空閑時間。 (2) 提高I/O速度。 輸入設備外圍機磁盤主機外圍機輸出設備圖 1-2 脫機I/O示意圖第一章 操作系統(tǒng)引論 1.2.2 單道批處理系統(tǒng)單道批處理系統(tǒng) 1. 單道批處理系統(tǒng)單道批處理系統(tǒng)(Simple Batch Processing System)的處理過程的處理過程 圖 1-3 單道批處理系統(tǒng)的處理流程 把下一個作業(yè)的源程序轉換為目標程序源程序有錯嗎?否裝 配目標程序還有下一個作業(yè)?是否停止運 行目標程序是開始第一章 操作系統(tǒng)引論 2. 單道批處理系統(tǒng)的特征單道批處理系統(tǒng)的特征 單道批處理系統(tǒng)是最早出現(xiàn)的一種OS

8、,嚴格地說,它只能算作是OS的前身而并非是現(xiàn)在人們所理解的OS。盡管如此,該系統(tǒng)比起人工操作方式的系統(tǒng)已有很大進步。 該系統(tǒng)的主要特征如下: (1) 自動性。 (2) 順序性。 (3) 單道性。 第一章 操作系統(tǒng)引論 1.2.3 多道批處理系統(tǒng)多道批處理系統(tǒng) 1. 多道程序設計的基本概念多道程序設計的基本概念 在單道批處理系統(tǒng)中,內存中僅有一道作業(yè),它無法充分利用系統(tǒng)中的所有資源,致使系統(tǒng)性能較差。為了進一步提高資源的利用率和系統(tǒng)吞吐量,在60年代中期又引入了多道程序設計技術,由此而形成了多道批處理系統(tǒng)(Multiprogrammed Batch Processing System)。在該系統(tǒng)

9、中, 用戶所提交的作業(yè)都先存放在外存上并排成一個隊列,稱為“后備隊列”;然后,由作業(yè)調度程序按一定的算法從后備隊列中選擇若干個作業(yè)調入內存,使它們共享CPU和系統(tǒng)中的各種資源。第一章 操作系統(tǒng)引論 在OS中引入多道程序設計技術可帶來以下好處:(1) 提高CPU的利用率。 當內存中僅有一道程序時,每逢該程序在運行中發(fā)出I/O請求后,CPU空閑,必須在其I/O完成后才繼續(xù)運行;尤其因I/O設備的低速性,更使CPU的利用率顯著降低。圖 1-4(a)示出了單道程序的運行情況,從圖可以看出:在t2t3、 t6t7時間間隔內CPU空閑。在引入多道程序設計技術后, 由于同時在內存中裝有若干道程序,并使它們交

10、替地運行, 這樣,當正在運行的程序因I/O而暫停執(zhí)行時,系統(tǒng)可調度另一道程序運行,從而保持了CPU處于忙碌狀態(tài)。第一章 操作系統(tǒng)引論 圖 1-4 單道和多道程序運行情況 t1t2t3t4t5t6t7t8結束中斷I/O 完成啟動 I/OI/O 中斷請求I/O 完成啟動 I/OI/O 中斷請求用戶程序監(jiān)督程序I/O 操作(a) 單道程序運行情況程序A程序A I/O 請求程序A I/O 完成程序B程序B I/O 請求程序C程序C I/O 請求程序D程序D I/O 請求C I/O 完成C 再被調度程序B I/O 完成程序A再被調度程序A程序B程序C程序D調度程序(b) 四道程序運行情況A完成結束中斷第

11、一章 操作系統(tǒng)引論 (2) 可提高內存和I/O設備利用率。為了能運行較大的作業(yè),通常內存都具有較大容量,但由于80%以上的作業(yè)都屬于中小型,因此在單道程序環(huán)境下,也必定造成內存的浪費。類似地,對于系統(tǒng)中所配置的多種類型的I/O設備, 在單道程序環(huán)境下也不能充分利用。如果允許在內存中裝入多道程序, 并允許它們并發(fā)執(zhí)行,則無疑會大大提高內存和I/O設備的利用率。 (3) 增加系統(tǒng)吞吐量。在保持CPU、I/O設備不斷忙碌的同時,也必然會大幅度地提高系統(tǒng)的吞吐量,從而降低作業(yè)加工所需的費用。 第一章 操作系統(tǒng)引論 2. 多道批處理系統(tǒng)的特征多道批處理系統(tǒng)的特征 (1) 多道性。多道性。 (2) 無序性

12、。無序性。 (3) 調度性。調度性。 第一章 操作系統(tǒng)引論 3. 多道批處理系統(tǒng)的優(yōu)缺點多道批處理系統(tǒng)的優(yōu)缺點 (1) 資源利用率高。 (2) 系統(tǒng)吞吐量大。 (3) 平均周轉時間長。 (4) 無交互能力。 第一章 操作系統(tǒng)引論 4. 多道批處理系統(tǒng)需要解決的問題多道批處理系統(tǒng)需要解決的問題 (1) 處理機管理問題。 (2) 內存管理問題。 (3) I/O設備管理問題。 (4) 文件管理問題。 (5) 作業(yè)管理問題。 第一章 操作系統(tǒng)引論 1.2.4 分時系統(tǒng)分時系統(tǒng) 1. 分時系統(tǒng)分時系統(tǒng)(Time-Sharing System)的產生的產生 如果說, 推動多道批處理系統(tǒng)形成和發(fā)展的主要動力

13、,是提高資源利用率和系統(tǒng)吞吐量,那么,推動分時系統(tǒng)形成和發(fā)展的主要動力,則是用戶的需求?;蛘哒f, 分時系統(tǒng)是為了滿足用戶需求所形成的一種新型OS。它與多道批處理系統(tǒng)之間,有著截然不同的性能差別。用戶的需求具體表現(xiàn)在以下幾個方面: (1) 人機交互。 (2) 共享主機。 (3) 便于用戶上機。 第一章 操作系統(tǒng)引論 2. 分時系統(tǒng)實現(xiàn)中的關鍵問題分時系統(tǒng)實現(xiàn)中的關鍵問題 為實現(xiàn)分時系統(tǒng),其中,最關鍵的問題是如何使用戶能與自己的作業(yè)進行交互,即當用戶在自己的終端上鍵入命令時, 系統(tǒng)應能及時接收并及時處理該命令,再將結果返回給用戶。 此后, 用戶可繼續(xù)鍵入下一條命令,此即人機交互。應強調指出,即使有

14、多個用戶同時通過自己的鍵盤鍵入命令,系統(tǒng)也應能全部地及時接收并處理(1) 及時接收。 (2) 及時處理。 第一章 操作系統(tǒng)引論 3. 分時系統(tǒng)的特征分時系統(tǒng)的特征 (1) 多路性。(2) 獨立性。 (3) 及時性。 (4) 交互性。 第一章 操作系統(tǒng)引論 1.2.5 實時系統(tǒng)實時系統(tǒng) 所謂“實時”,是表示“及時”,而實時系統(tǒng)(Real-Time System)是指系統(tǒng)能及時(或即時)響應外部事件的請求,在規(guī)定的時間內完成對該事件的處理,并控制所有實時任務協(xié)調一致地運行。 1. 應用需求應用需求 (1) 實時控制。 (2) 實時信息處理。 第一章 操作系統(tǒng)引論 2. 實時任務實時任務 1) 按任

15、務執(zhí)行時是否呈現(xiàn)周期性來劃分(1) 周期性實時任務。 (2) 非周期性實時任務。 外部設備所發(fā)出的激勵信號并無明顯的周期性,但都必須聯(lián)系著一個截止時間(Deadline)。它又可分為: 開始截止時間任務在某時間以前必須開始執(zhí)行; 完成截止時間任務在某時間以前必須完成。 第一章 操作系統(tǒng)引論 2) 根據(jù)對截止時間的要求來劃分 (1) 硬實時任務(hard real-time task)。系統(tǒng)必須滿足任務對截止時間的要求,否則可能出現(xiàn)難以預測的結果。 (2) 軟實時任務(Soft real-time task)。它也聯(lián)系著一個截止時間, 但并不嚴格,若偶爾錯過了任務的截止時間, 對系統(tǒng)產生的影響也

16、不會太大。 第一章 操作系統(tǒng)引論 3. 實時系統(tǒng)與分時系統(tǒng)特征的比較實時系統(tǒng)與分時系統(tǒng)特征的比較 (1) 多路性。 (2) 獨立性。 (3) 及時性。 (4) 交互性。 (5) 可靠性。 第一章 操作系統(tǒng)引論 1.3 操作系統(tǒng)的基本特性操作系統(tǒng)的基本特性 1.3.1 并發(fā)并發(fā)(Concurrence) 并行性和并發(fā)性是既相似又有區(qū)別的兩個概念,并行性是指兩個或多個事件在同一時刻發(fā)生;而并發(fā)性是指兩個或多個事件在同一時間間隔內發(fā)生。在多道程序環(huán)境下,并發(fā)性是指在一段時間內,宏觀上有多個程序在同時運行,但在單處理機系統(tǒng)中,每一時刻卻僅能有一道程序執(zhí)行,故微觀上這些程序只能是分時地交替執(zhí)行。倘若在計

17、算機系統(tǒng)中有多個處理機,則這些可以并發(fā)執(zhí)行的程序便可被分配到多個處理機上,實現(xiàn)并行執(zhí)行,即利用每個處理機來處理一個可并發(fā)執(zhí)行的程序,這樣,多個程序便可同時執(zhí)行。 第一章 操作系統(tǒng)引論 1.3.2 共享共享(Sharing) 在操作系統(tǒng)環(huán)境下,所謂共享是指系統(tǒng)中的資源可供內存中多個并發(fā)執(zhí)行的進程(線程)共同使用。由于資源屬性的不同,進程對資源共享的方式也不同,目前主要有以下兩種資源共享方式。第一章 操作系統(tǒng)引論 1. 互斥共享方式互斥共享方式 系統(tǒng)中的某些資源,如打印機、磁帶機,雖然它們可以提供給多個進程(線程)使用,但為使所打印或記錄的結果不致造成混淆,應規(guī)定在一段時間內只允許一個進程(線程)

18、訪問該資源。為此,當一個進程A要訪問某資源時,必須先提出請求, 如果此時該資源空閑,系統(tǒng)便可將之分配給請求進程A使用, 此后若再有其它進程也要訪問該資源時(只要A未用完)則必須等待。 僅當A進程訪問完并釋放該資源后, 才允許另一進程對該資源進行訪問。我們把這種資源共享方式稱為互斥式共享,而把在一段時間內只允許一個進程訪問的資源稱為臨界資源或獨占資源。 計算機系統(tǒng)中的大多數(shù)物理設備,以及某些軟件中所用的棧、變量和表格,都屬于臨界資源,它們要求被互斥地共享。 第一章 操作系統(tǒng)引論 2. 同時訪問方式同時訪問方式 系統(tǒng)中還有另一類資源,允許在一段時間內由多個進程“同時”對它們進行訪問。這里所謂的“同

19、時”往往是宏觀上的,而在微觀上,這些進程可能是交替地對該資源進行訪問。典型的可供多個進程“同時”訪問的資源是磁盤設備,一些用重入碼編寫的文件,也可以被“同時”共享,即若干個用戶同時訪問該文件。 并發(fā)和共享是操作系統(tǒng)的兩個最基本的特征,它們又是互為存在的條件。一方面,資源共享是以程序(進程)的并發(fā)執(zhí)行為條件的,若系統(tǒng)不允許程序并發(fā)執(zhí)行,自然不存在資源共享問題;另一方面,若系統(tǒng)不能對資源共享實施有效管理, 協(xié)調好諸進程對共享資源的訪問,也必然影響到程序并發(fā)執(zhí)行的程度,甚至根本無法并發(fā)執(zhí)行。 第一章 操作系統(tǒng)引論 1.3.3 虛擬虛擬(Virtual) 操作系統(tǒng)中的所謂“虛擬”,是指通過某種技術把一

20、個物理實體變?yōu)槿舾蓚€邏輯上的對應物。物理實體(前者)是實的, 即實際存在的;而后者是虛的,是用戶感覺上的東西。相應地,用于實現(xiàn)虛擬的技術,稱為虛擬技術。在OS中利用了多種虛擬技術,分別用來實現(xiàn)虛擬處理機、虛擬內存、 虛擬外部設備和虛擬信道等。第一章 操作系統(tǒng)引論 在虛擬處理機技術中,是通過多道程序設計技術,讓多道程序并發(fā)執(zhí)行的方法,來分時使用一臺處理機的。此時, 雖然只有一臺處理機,但它能同時為多個用戶服務,使每個終端用戶都認為是有一個CPU在專門為他服務。亦即, 利用多道程序設計技術,把一臺物理上的CPU虛擬為多臺邏輯上的CPU,也稱為虛擬處理機,我們把用戶所感覺到的CPU稱為虛擬處理器。

21、第一章 操作系統(tǒng)引論 類似地,可以通過虛擬存儲器技術,將一臺機器的物理存儲器變?yōu)樘摂M存儲器,以便從邏輯上來擴充存儲器的容量。此時,雖然物理內存的容量可能不大(如32 MB), 但它可以運行比它大得多的用戶程序(如128 MB)。這使用戶所感覺到的內存容量比實際內存容量大得多,認為該機器的內存至少也有128 MB。當然這時用戶所感覺到的內存容量是虛的。我們把用戶所感覺到的存儲器稱為虛擬存儲器。 第一章 操作系統(tǒng)引論 我們還可以通過虛擬設備技術,將一臺物理I/O設備虛擬為多臺邏輯上的I/O設備,并允許每個用戶占用一臺邏輯上的I/O設備,這樣便可使原來僅允許在一段時間內由一個用戶訪問的設備(即臨界資

22、源),變?yōu)樵谝欢螘r間內允許多個用戶同時訪問的共享設備。例如,原來的打印機屬于臨界資源,而通過虛擬設備技術,可以把它變?yōu)槎嗯_邏輯上的打印機,供多個用戶“同時”打印。此外,也可以把一條物理信道虛擬為多條邏輯信道(虛信道)。在操作系統(tǒng)中,虛擬的實現(xiàn)主要是通過分時使用的方法。顯然,如果n是某物理設備所對應的虛擬的邏輯設備數(shù),則虛擬設備的平均速度必然是物理設備速度的1/n。 第一章 操作系統(tǒng)引論 1.3.4 異步性異步性(Asynchronism) 在多道程序環(huán)境下,允許多個進程并發(fā)執(zhí)行, 但只有進程在獲得所需的資源后方能執(zhí)行。在單處理機環(huán)境下,由于系統(tǒng)中只有一個處理機,因而每次只允許一個進程執(zhí)行,其余

23、進程只能等待。當正在執(zhí)行的進程提出某種資源要求時,如打印請求,而此時打印機正在為其它某進程打印,由于打印機屬于臨界資源,因此正在執(zhí)行的進程必須等待,且放棄處理機,直到打印機空閑,并再次把處理機分配給該進程時,該進程方能繼續(xù)執(zhí)行??梢?,由于資源等因素的限制,使進程的執(zhí)行通常都不是“一氣呵成”,而是以“停停走走”的方式運行。 第一章 操作系統(tǒng)引論 內存中的每個進程在何時能獲得處理機運行,何時又因提出某種資源請求而暫停,以及進程以怎樣的速度向前推進,每道程序總共需多少時間才能完成,等等,都是不可預知的。由于各用戶程序性能的不同,比如,有的側重于計算而較少需要I/O;而又有的程序其計算少而I/O多,這

24、樣,很可能是先進入內存的作業(yè)后完成; 而后進入內存的作業(yè)先完成?;蛘哒f,進程是以人們不可預知的速度向前推進,此即進程的異步性。盡管如此,但只要運行環(huán)境相同,作業(yè)經多次運行,都會獲得完全相同的結果。因此,異步運行方式是允許的,是操作系統(tǒng)的一個重要特征。 第一章 操作系統(tǒng)引論 1.4 操作系統(tǒng)的主要功能操作系統(tǒng)的主要功能 1.4.1 處理機管理功能處理機管理功能 1. 進程控制進程控制 在傳統(tǒng)的多道程序環(huán)境下,要使作業(yè)運行,必須先為它創(chuàng)建一個或幾個進程,并為之分配必要的資源。當進程運行結束時,立即撤消該進程,以便能及時回收該進程所占用的各類資源。進程控制的主要功能是為作業(yè)創(chuàng)建進程、撤消已結束的進程

25、,以及控制進程在運行過程中的狀態(tài)轉換。 在現(xiàn)代OS中,進程控制還應具有為一個進程創(chuàng)建若干個線程的功能和撤消(終止)已完成任務的線程的功能。 第一章 操作系統(tǒng)引論 2. 進程同步進程同步 為使多個進程能有條不紊地運行,系統(tǒng)中必須設置進程同步機制。進程同步的主要任務是為多個進程(含線程)的運行進行協(xié)調。有兩種協(xié)調方式: 進程互斥方式, 這是指諸進程(線程)在對臨界資源進行訪問時, 應采用互斥方式; 進程同步方式,指在相互合作去完成共同任務的諸進程(線程)間,由同步機構對它們的執(zhí)行次序加以協(xié)調。 為了實現(xiàn)進程同步,系統(tǒng)中必須設置進程同步機制。最簡單的用于實現(xiàn)進程互斥的機制,是為每一個臨界資源配置一把

26、鎖W,當鎖打開時,進程(線程)可以對該臨界資源進行訪問;而當鎖關上時,則禁止進程(線程)訪問該臨界資源。 第一章 操作系統(tǒng)引論 3. 進程通信進程通信 在多道程序環(huán)境下,為了加速應用程序的運行,應在系統(tǒng)中建立多個進程,并且再為一個進程建立若干個線程,由這些進程(線程)相互合作去完成一個共同的任務。而在這些進程(線程)之間,又往往需要交換信息。例如,有三個相互合作的進程, 它們是輸入進程、計算進程和打印進程。輸入進程負責將所輸入的數(shù)據(jù)傳送給計算進程;計算進程利用輸入數(shù)據(jù)進行計算, 并把計算結果傳送給打印進程;最后,由打印進程把計算結果打印出來。進程通信的任務就是用來實現(xiàn)在相互合作的進程之間的信息

27、交換。 當相互合作的進程(線程)處于同一計算機系統(tǒng)時,通常在它們之前是采用直接通信方式,即由源進程利用發(fā)送命令直接將消息(message)掛到目標進程的消息隊列上,以后由目標進程利用接收命令從其消息隊列中取出消息。 第一章 操作系統(tǒng)引論 4. 調度調度 在后備隊列上等待的每個作業(yè),通常都要經過調度才能執(zhí)行。在傳統(tǒng)的操作系統(tǒng)中,包括作業(yè)調度和進程調度兩步。作業(yè)調度的基本任務,是從后備隊列中按照一定的算法,選擇出若干個作業(yè),為它們分配其必需的資源(首先是分配內存)。 在將它們調入內存后,便分別為它們建立進程,使它們都成為可能獲得處理機的就緒進程,并按照一定的算法將它們插入就緒隊列。而進程調度的任務

28、,則是從進程的就緒隊列中選出一新進程,把處理機分配給它,并為它設置運行現(xiàn)場, 使進程投入執(zhí)行。值得提出的是,在多線程OS中,通常是把線程作為獨立運行和分配處理機的基本單位,為此,須把就緒線程排成一個隊列,每次調度時,是從就緒線程隊列中選出一個線程,把處理機分配給它。 第一章 操作系統(tǒng)引論 1.4.2 存儲器管理功能存儲器管理功能 1. 內存分配內存分配 OS在實現(xiàn)內存分配時,可采取靜態(tài)和動態(tài)兩種方式。在靜態(tài)分配方式中,每個作業(yè)的內存空間是在作業(yè)裝入時確定的;在作業(yè)裝入后的整個運行期間, 不允許該作業(yè)再申請新的內存空間,也不允許作業(yè)在內存中“移動”; 在動態(tài)分配方式中,每個作業(yè)所要求的基本內存空

29、間, 也是在裝入時確定的,但允許作業(yè)在運行過程中,繼續(xù)申請新的附加內存空間,以適應程序和數(shù)據(jù)的動態(tài)增漲,也允許作業(yè)在內存中“移動”。 第一章 操作系統(tǒng)引論 為了實現(xiàn)內存分配,在內存分配的機制中應具有這樣的結構和功能: 內存分配數(shù)據(jù)結構, 該結構用于記錄內存空間的使用情況, 作為內存分配的依據(jù); 內存分配功能,系統(tǒng)按照一定的內存分配算法, 為用戶程序分配內存空間; 內存回收功能,系統(tǒng)對于用戶不再需要的內存,通過用戶的釋放請求,去完成系統(tǒng)的回收功能。 第一章 操作系統(tǒng)引論 2. 內存保護內存保護 內存保護的主要任務,是確保每道用戶程序都只在自己的內存空間內運行,彼此互不干擾。 為了確保每道程序都只

30、在自己的內存區(qū)中運行,必須設置內存保護機制。一種比較簡單的內存保護機制,是設置兩個界限寄存器,分別用于存放正在執(zhí)行程序的上界和下界。系統(tǒng)須對每條指令所要訪問的地址進行檢查,如果發(fā)生越界,便發(fā)出越界中斷請求,以停止該程序的執(zhí)行。如果這種檢查完全用軟件實現(xiàn),則每執(zhí)行一條指令,便須增加若干條指令去進行越界檢查,這將顯著降低程序的運行速度。因此,越界檢查都由硬件實現(xiàn)。當然, 對發(fā)生越界后的處理, 還須與軟件配合來完成。 第一章 操作系統(tǒng)引論 3. 地址映射地址映射 一個應用程序(源程序)經編譯后,通常會形成若干個目標程序;這些目標程序再經過鏈接便形成了可裝入程序。這些程序的地址都是從“0”開始的,程序

31、中的其它地址都是相對于起始地址計算的; 由這些地址所形成的地址范圍稱為“地址空間”, 其中的地址稱為“邏輯地址”或“相對地址”。此外,由內存中的一系列單元所限定的地址范圍稱為“內存空間”, 其中的地址稱為“物理地址”。 在多道程序環(huán)境下,每道程序不可能都從“0”地址開始裝入(內存), 這就致使地址空間內的邏輯地址和內存空間中的物理地址不相一致。使程序能正確運行,存儲器管理必須提供地址映射功能,以將地址空間中的邏輯地址轉換為內存空間中與之對應的物理地址。該功能應在硬件的支持下完成。 第一章 操作系統(tǒng)引論 4. 內存擴充內存擴充 存儲器管理中的內存擴充任務,并非是去擴大物理內存的容量,而是借助于虛

32、擬存儲技術,從邏輯上去擴充內存容量,使用戶所感覺到的內存容量比實際內存容量大得多; 或者是讓更多的用戶程序能并發(fā)運行。這樣,既滿足了用戶的需要,改善了系統(tǒng)的性能,又基本上不增加硬件投資。 為了能在邏輯上擴充內存,系統(tǒng)必須具有內存擴充機制, 用于實現(xiàn)下述各功能: (1) 請求調入功能。 (2) 置換功能。 第一章 操作系統(tǒng)引論 1.4.3 設備管理功能設備管理功能 設備管理用于管理計算機系統(tǒng)中所有的外圍設備, 而設備管理的主要任務是,完成用戶進程提出的I/O請求; 為用戶進程分配其所需的I/O設備;提高CPU和I/O設備的利用率;提高I/O速度;方便用戶使用I/O設備。為實現(xiàn)上述任務,設備管理應

33、具有緩沖管理、設備分配和設備處理,以及虛擬設備等功能。 第一章 操作系統(tǒng)引論 1. 緩沖管理緩沖管理 CPU運行的高速性和I/O低速性間的矛盾自計算機誕生時起便已存在。 而隨著CPU速度迅速、大幅度的提高,使得此矛盾更為突出,嚴重降低了CPU的利用率。如果在I/O設備和CPU之間引入緩沖,則可有效地緩和CPU和I/O設備速度不匹配的矛盾,提高CPU的利用率,進而提高系統(tǒng)吞吐量。 因此,在現(xiàn)代計算機系統(tǒng)中, 都毫無例外地在內存中設置了緩沖區(qū),而且還可通過增加緩沖區(qū)容量的方法,來改善系統(tǒng)的性能。 最常見的緩沖區(qū)機制有單緩沖機制、能實現(xiàn)雙向同時傳送數(shù)據(jù)的雙緩沖機制,以及能供多個設備同時使用的公用緩沖

34、池機制。 第一章 操作系統(tǒng)引論 2. 設備分配設備分配 設備分配的基本任務,是根據(jù)用戶進程的I/O請求、系統(tǒng)的現(xiàn)有資源情況以及按照某種設備分配策略,為之分配其所需的設備。如果在I/O設備和CPU之間,還存在著設備控制器和I/O通道時,還須為分配出去的設備分配相應的控制器和通道。 為了實現(xiàn)設備分配,系統(tǒng)中應設置設備控制表、控制器控制表等數(shù)據(jù)結構,用于記錄設備及控制器的標識符和狀態(tài)。據(jù)這些表格可以了解指定設備當前是否可用,是否忙碌,以供進行設備分配時參考。在進行設備分配時,應針對不同的設備類型而采用不同的設備分配方式。對于獨占設備(臨界資源)的分配,還應考慮到該設備被分配出去后,系統(tǒng)是否安全。 設

35、備使用完后,還應立即由系統(tǒng)回收。 第一章 操作系統(tǒng)引論 3. 設備處理設備處理 設備處理程序又稱為設備驅動程序。其基本任務是用于實現(xiàn)CPU和設備控制器之間的通信,即由CPU向設備控制器發(fā)出I/O命令,要求它完成指定的I/O操作;反之由CPU接收從控制器發(fā)來的中斷請求,并給予迅速的響應和相應的處理。 處理過程是:設備處理程序首先檢查I/O請求的合法性,了解設備狀態(tài)是否是空閑的,了解有關的傳遞參數(shù)及設置設備的工作方式。然后,便向設備控制器發(fā)出I/O命令,啟動I/O設備去完成指定的I/O操作。設備驅動程序還應能及時響應由控制器發(fā)來的中斷請求,并根據(jù)該中斷請求的類型,調用相應的中斷處理程序進行處理。對

36、于設置了通道的計算機系統(tǒng), 設備處理程序還應能根據(jù)用戶的I/O請求,自動地構成通道程序。 第一章 操作系統(tǒng)引論 1.4.4 文件管理功能文件管理功能 1. 文件存儲空間的管理文件存儲空間的管理 由文件系統(tǒng)對諸多文件及文件的存儲空間,實施統(tǒng)一的管理。其主要任務是為每個文件分配必要的外存空間,提高外存的利用率,并能有助于提高文件系統(tǒng)的運行速度。 為此,系統(tǒng)應設置相應的數(shù)據(jù)結構,用于記錄文件存儲空間的使用情況,以供分配存儲空間時參考;系統(tǒng)還應具有對存儲空間進行分配和回收的功能。為了提高存儲空間的利用率,對存儲空間的分配,通常是采用離散分配方式,以減少外存零頭,并以盤塊為基本分配單位。盤塊的大小通常為

37、512 B8 KB。 第一章 操作系統(tǒng)引論 2. 目錄管理目錄管理 為了使用戶能方便地在外存上找到自己所需的文件,通常由系統(tǒng)為每個文件建立一個目錄項。目錄項包括文件名、文件屬性、文件在磁盤上的物理位置等。由若干個目錄項又可構成一個目錄文件。目錄管理的主要任務, 是為每個文件建立其目錄項,并對眾多的目錄項加以有效的組織,以實現(xiàn)方便的按名存取。即用戶只須提供文件名, 即可對該文件進行存取。其次,目錄管理還應能實現(xiàn)文件共享,這樣,只須在外存上保留一份該共享文件的副本。此外,還應能提供快速的目錄查詢手段,以提高對文件的檢索速度。 第一章 操作系統(tǒng)引論 3. 文件的讀文件的讀/寫管理和保護寫管理和保護

38、(1) 文件的讀文件的讀/寫管理。寫管理。該功能是根據(jù)用戶的請求,從外存中讀取數(shù)據(jù);或將數(shù)據(jù)寫入外存。在進行文件讀(寫)時,系統(tǒng)先根據(jù)用戶給出的文件名,去檢索文件目錄,從中獲得文件在外存中的位置。然后,利用文件讀(寫)指針,對文件進行讀(寫)。一旦讀(寫)完成,便修改讀(寫)指針,為下一次讀(寫)做好準備。由于讀和寫操作不會同時進行,故可合用一個讀/寫指針。 (2) 文件保護。文件保護。 防止未經核準的用戶存取文件; 防止冒名頂替存取文件; 防止以不正確的方式使用文件。 第一章 操作系統(tǒng)引論 1.4.5 用戶接口用戶接口1. 命令接口命令接口 (1) 聯(lián)機用戶接口。這是為聯(lián)機用戶提供的,它由一

39、組鍵盤操作命令及命令解釋程序所組成。當用戶在終端或控制臺上每鍵入一條命令后,系統(tǒng)便立即轉入命令解釋程序,對該命令加以解釋并執(zhí)行該命令。在完成指定功能后,控制又返回到終端或控制臺上,等待用戶鍵入下一條命令。這樣,用戶可通過先后鍵入不同命令的方式,來實現(xiàn)對作業(yè)的控制,直至作業(yè)完成。 第一章 操作系統(tǒng)引論 (2) 脫機用戶接口。該接口是為批處理作業(yè)的用戶提供的,故也稱為批處理用戶接口。該接口由一組作業(yè)控制語言JCL組成。批處理作業(yè)的用戶不能直接與自己的作業(yè)交互作用,只能委托系統(tǒng)代替用戶對作業(yè)進行控制和干預。這里的作業(yè)控制語言JCL便是提供給批處理作業(yè)用戶的、為實現(xiàn)所需功能而委托系統(tǒng)代為控制的一種語言

40、。用戶用JCL把需要對作業(yè)進行的控制和干預,事先寫在作業(yè)說明書上,然后將作業(yè)連同作業(yè)說明書一起提供給系統(tǒng)。當系統(tǒng)調度到該作業(yè)運行時,又調用命令解釋程序,對作業(yè)說明書上的命令,逐條地解釋執(zhí)行。如果作業(yè)在執(zhí)行過程中出現(xiàn)異常現(xiàn)象,系統(tǒng)也將根據(jù)作業(yè)說明書上的指示進行干預。這樣,作業(yè)一直在作業(yè)說明書的控制下運行,直至遇到作業(yè)結束語句時,系統(tǒng)才停止該作業(yè)的運行。 第一章 操作系統(tǒng)引論 2. 程序接口程序接口 該接口是為用戶程序在執(zhí)行中訪問系統(tǒng)資源而設置的,是用戶程序取得操作系統(tǒng)服務的惟一途徑。它是由一組系統(tǒng)調用組成,每一個系統(tǒng)調用都是一個能完成特定功能的子程序,每當應用程序要求OS提供某種服務(功能)時,

41、便調用具有相應功能的系統(tǒng)調用。早期的系統(tǒng)調用都是用匯編語言提供的,只有在用匯編語言書寫的程序中,才能直接使用系統(tǒng)調用;但在高級語言以及C語言中,往往提供了與各系統(tǒng)調用一一對應的庫函數(shù),這樣,應用程序便可通過調用對應的庫函數(shù)來使用系統(tǒng)調用。但在近幾年所推出的操作系統(tǒng)中,如UNIX、OS/2版本中,其系統(tǒng)調用本身已經采用C語言編寫,并以函數(shù)形式提供,故在用C語言編制的程序中, 可直接使用系統(tǒng)調用。 第一章 操作系統(tǒng)引論 3. 圖形接口圖形接口 用戶雖然可以通過聯(lián)機用戶接口來取得OS的服務,但這時要求用戶能熟記各種命令的名字和格式,并嚴格按照規(guī)定的格式輸入命令,這既不方便又花時間,于是,圖形用戶接口

42、便應運而生。圖形用戶接口采用了圖形化的操作界面, 用非常容易識別的各種圖標(icon)來將系統(tǒng)的各項功能、各種應用程序和文件,直觀、逼真地表示出來。用戶可用鼠標或通過菜單和對話框,來完成對應用程序和文件的操作。此時用戶已完全不必像使用命令接口那樣去記住命令名及格式,從而把用戶從繁瑣且單調的操作中解脫出來。 第一章 操作系統(tǒng)引論 1.5 操作系統(tǒng)的結構設計操作系統(tǒng)的結構設計 1.5.1 軟件工程的基本概念軟件工程的基本概念 1. 軟件的含義 所謂軟件,是指當計算機運行時,能提供所要求的功能和性能的指令和程序的集合,該程序能夠正確地處理信息的數(shù)據(jù)結構;作為規(guī)范軟件,還應具有描述程序功能需求以及程序

43、如何操作使用的文檔。如果說,硬件是物理部件, 那么,軟件則是一種邏輯部件,它具有與硬件完全不同的特點。第一章 操作系統(tǒng)引論 2. 軟件工程的含義軟件工程的含義 軟件工程是指運用系統(tǒng)的、規(guī)范的和可定量的方法,來開發(fā)、運行和維護軟件;或者說,是采用工程的概念、 原理、 技術和方法,來開發(fā)與維護軟件, 其目的是為了解決在軟件開發(fā)中所出現(xiàn)的編程隨意、軟件質量不可保證以及維護困難等問題。 第一章 操作系統(tǒng)引論 1.5.2 傳統(tǒng)的操作系統(tǒng)結構傳統(tǒng)的操作系統(tǒng)結構 操作系統(tǒng)是一個十分復雜的大型軟件。為了控制該軟件的復雜性,在開發(fā)OS時,先后引入了分解、模塊化、 抽象和隱蔽等方法。開發(fā)方法的不斷發(fā)展,促進了OS

44、結構的更新?lián)Q代。這里,我們把第一代至第三代的OS結構, 稱為傳統(tǒng)的OS結構,而把微內核的OS結構稱為現(xiàn)代OS結構。 第一章 操作系統(tǒng)引論 1. 無結構操作系統(tǒng)無結構操作系統(tǒng) 在早期開發(fā)操作系統(tǒng)時,設計者只是把他的注意力放在功能的實現(xiàn)和獲得高的效率上,缺乏首尾一致的設計思想。 此時的OS是為數(shù)眾多的一組過程的集合,各過程之間可以相互調用,在操作系統(tǒng)內部不存在任何結構,因此,這種OS是無結構的,也有人把它稱為整體系統(tǒng)結構。 此時程序設計的技巧,只是如何編制緊湊的程序,以便于有效地利用內存、對GOTO語句的使用不加任何限制,所設計出的操作系統(tǒng)既龐大又雜亂,缺乏清晰的程序結構。這一方面會使所編制出的程

45、序錯誤很多,給調試工作帶來很多困難;另一方面也使程序難以閱讀和理解,增加了維護人員的負擔。 第一章 操作系統(tǒng)引論 2. 模塊化模塊化OS結構結構 1) 模塊化結構 模塊化程序設計技術,是最早(20世紀60年代)出現(xiàn)的一種程序設計技術。該技術是基于“分解”和“模塊化”原則來控制大型軟件的復雜度的。為使OS具有較清晰的結構,OS不再是由眾多的過程直接構成,而是將OS按其功能劃分為若干個具有一定獨立性和大小的模塊。每個模塊具有某方面的管理功能,如進程管理模塊、存儲器管理模塊、I/O設備管理模塊和文件管理模塊等,并規(guī)定好各模塊間的接口, 使各模塊之間能通過該接口實現(xiàn)交互,然后再進一步將各模塊細分為若干

46、個具有一定管理功能的子模塊,如把進程管理模塊又分為進程控制、 進程同步、 進程通信和進程調度等子模塊, 同樣也要規(guī)定各子模塊之間的接口。若子模塊較大時,再進一步將它細分。圖 1-5 示出了由模塊、子模塊等組成的模塊化OS結構。 第一章 操作系統(tǒng)引論 圖 1-5 模塊化操作系統(tǒng)結構 進程控制進程調度內存分配內存保護磁盤管理目錄管理進程管理存儲器管理文件管理操作系統(tǒng)模塊子模塊第一章 操作系統(tǒng)引論 2) 模塊化OS的優(yōu)缺點(1) 提高了OS設計的正確性、 可理解性和可維護性。 (2) 增強了OS的可適應性。 (3) 加速了OS的開發(fā)過程。 模塊化結構設計的缺點有二。首先,在開始設計OS時,對模塊的劃

47、分及對接口的規(guī)定并不精確, 而且還可能存在錯誤,因而很難保證按此規(guī)定所設計出的模塊會完全正確, 這將使在把這些模塊裝配成OS時發(fā)生困難;其次,從功能觀點來劃分模塊時,未能將共享資源和獨占資源加以區(qū)別; 由于管理上的差異,又會使模塊間存在著復雜的依賴關系使OS結構變得不清晰。 第一章 操作系統(tǒng)引論 3. 分層式分層式OS結構結構 1) 有序分層的基本概念 從改進設計方式上說,應使我們的每一步設計都是建立在可靠的基礎上。我們可以從物理機器開始, 在其上面先添加一層具有一定功能的軟件A1, 由于A1是建立在完全確定的物理機器上的,在經過精心設計和幾乎是窮盡無遺的測試后,可以認為A1是正確的;然后再在

48、A1上添加一層新軟件A2,如此一層一層地自底向上增添軟件層,每一層都實現(xiàn)若干功能,最后總能構成一個能滿足需要的OS。 第一章 操作系統(tǒng)引論 分層式結構設計的基本原則是:每一層都僅使用其底層所提供的功能和服務,這樣可使系統(tǒng)的調試和驗證都變得容易, 例如,在調試第一層軟件A1時,由于它只使用了物理機器提供的功能,因此它將與其所有的高層軟件A2,An無關; 同樣在調試A2時,它也只使用了A1和物理機器所提供的功能, 而與其高層軟件A3, ,An無關,這樣,一旦發(fā)現(xiàn)Ai出現(xiàn)錯誤時,通常該錯誤只會局限于Ai,因為它與所有其高層的軟件無關,而Ai層以下的各層軟件,又都經過仔細的調試。 第一章 操作系統(tǒng)引論

49、 2) 層次的設置 (1) 程序嵌套。 通常OS的每個功能的實現(xiàn), 并非是只用一個程序便能完成的,而是要經由若干個軟件層才有可能完成。因此在劃分OS層次時,首先要考慮在實現(xiàn)OS 的每個功能時所形成的程序嵌套。例如,作業(yè)調度模塊須調用進程控制模塊;在為某作業(yè)創(chuàng)建一進程時,進程控制模塊又須調用內存管理模塊為新進程分配內存空間,可見,進程控制模塊應在內存管理模塊之上; 而作業(yè)調度模塊又應在更高層。 第一章 操作系統(tǒng)引論 (2) 運行頻率。在分層結構中,各層次軟件的運行速度是不同的,因為A1層軟件能直接在物理機器上運行, 故它有最高的運行速度。隨著層次的增高,其相應軟件的運行速度就隨之下降,因而An層軟件的運行速度最低。 為了提高OS的運行效率,應該將那些經?;钴S的模塊放在最接近硬件的A1層,如時鐘管理、進程調度,通常都放在A1層。

溫馨提示

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

評論

0/150

提交評論