




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、1 2 第一章第一章 操作系統(tǒng)引論操作系統(tǒng)引論 1.1 1.1 操作系統(tǒng)的目標(biāo)和作用操作系統(tǒng)的目標(biāo)和作用 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)的結(jié)構(gòu)設(shè)計操作系統(tǒng)的結(jié)構(gòu)設(shè)計 3 1.1 操作系統(tǒng)的目標(biāo)和作用操作系統(tǒng)的目標(biāo)和作用 1.1.1 操作系統(tǒng)的目標(biāo)操作系統(tǒng)的目標(biāo) 目前存在著多種類型的os,不同類型的os,其目 標(biāo)各有所側(cè)重。通常在計算機硬件上配置的os,其目 標(biāo)有以下幾點: 方便性方便性 -方便用戶方便用戶 有效性有效性 -系統(tǒng)管理效率系統(tǒng)管
2、理效率 擴展性擴展性 -體系結(jié)構(gòu):軟硬件結(jié)構(gòu)發(fā)展體系結(jié)構(gòu):軟硬件結(jié)構(gòu)發(fā)展 開放性開放性 -體系結(jié)構(gòu):軟硬件結(jié)構(gòu)兼容性體系結(jié)構(gòu):軟硬件結(jié)構(gòu)兼容性 權(quán)衡 4 1.1.2 操作系統(tǒng)的作用操作系統(tǒng)的作用 1. os作為用戶與計算機硬件系統(tǒng)之間的接口作為用戶與計算機硬件系統(tǒng)之間的接口 - os處于用戶與計算機硬件系統(tǒng)之間,用戶通過os 來使用計算機系統(tǒng)。 - os是一個系統(tǒng)軟件,因而這種接口是軟件接口。 5 圖 1-1 os作為接口的示意圖 用 戶 應(yīng)用程序 系統(tǒng)調(diào)用 命令 圖標(biāo)、窗口 操作系統(tǒng) 計算機硬件 6 計算機系統(tǒng)組成部分的層次圖計算機系統(tǒng)組成部分的層次圖 7 (1) 命令方式。這是指由os提供
3、了一組聯(lián)機命令(語言), 用戶可通過鍵盤輸入有關(guān)命令,來直接操縱計算機系統(tǒng)。 (2) 系統(tǒng)調(diào)用方式。os提供了一組系統(tǒng)調(diào)用,用戶可在自 己的應(yīng)用程序中通過相應(yīng)的系統(tǒng)調(diào)用,來操縱計算機。 (3) 圖形、窗口方式。用戶通過屏幕上的窗口和圖標(biāo)來操 縱計算機系統(tǒng)和運行自己的程序。 人機接口接口的不同使用方式: 8 os作用作用 2. os作為計算機系統(tǒng)資源的管理者作為計算機系統(tǒng)資源的管理者 可將資源分為四類: 處理器、存儲器、 i/o設(shè)備以及信息(數(shù)據(jù)和程序)。 os的主要功能是針對這四類資源進行有效的管理,即: 處理機管理處理機管理, 用于分配和控制處理機; 存儲器管理存儲器管理,主要負責(zé)內(nèi)存的分配
4、與回收; i/o設(shè)備管理設(shè)備管理,負責(zé)i/o設(shè)備的分配與操縱; 文件管理文件管理,負責(zé)文件的存取、共享和保護。 9 3. os用作擴充機器用作擴充機器 以os軟件擴充硬件性能,得到功能更強大的系統(tǒng)。 通常把覆蓋了軟件的機器稱為擴充機器或虛機器。 10 1.1.3 推動操作系統(tǒng)發(fā)展的主要動力推動操作系統(tǒng)發(fā)展的主要動力 1. 不斷提高計算機資源利用率不斷提高計算機資源利用率 2. 方便用戶方便用戶 3. 器件的不斷更新?lián)Q代器件的不斷更新?lián)Q代 4. 計算機體系結(jié)構(gòu)的不斷發(fā)展計算機體系結(jié)構(gòu)的不斷發(fā)展 11 w first generation 1945 - 1955 vacuum tubes電子管 w
5、 second generation 1955 - 1965 transistors, batch systems 晶體管時代/批處理 w third generation 1965 1980 ics and multiprogramming 集成電路/多道程序設(shè)計 w fourth generation 1980 present personal computers 個人計算機時代 12 1.2 操作系統(tǒng)的發(fā)展過程操作系統(tǒng)的發(fā)展過程 1.2.1 無操作系統(tǒng)的計算機系統(tǒng)無操作系統(tǒng)的計算機系統(tǒng) 1. 人工操作方式人工操作方式 1945年到50年代中期,第一代計算機, 尚未出現(xiàn)os。 使用 穿孔紙
6、帶(或穿孔卡片) 。 人工操作方式有以下兩方面的缺點: (1) 用戶獨占全機。 (2) cpu等待人工操作。 13 2. 脫機輸入脫機輸入/輸出輸出(off-line i/o)方式方式 這種脫機i/o方式的主要優(yōu)點如下: (1) 減少了cpu的空閑時間。 (2) 提高i/o速度。 輸入設(shè)備外圍機磁盤 主機 外圍機輸出設(shè)備 圖 1-2 脫機i/o示意圖 14 early batch system 1.bring cards to 1401 2.read cards to tape 3.put tape on 7094 which does computing 4.put tape on 1401
7、 which prints output 15 1.2.2 單道批處理系統(tǒng)單道批處理系統(tǒng) 1. 單道批處理系統(tǒng)單道批處理系統(tǒng)(simple batch processing system)的處理過程的處理過程 圖 1-3 單道批處理系統(tǒng)的處理流程 把下一個作業(yè)的源 程序轉(zhuǎn)換為目標(biāo)程 序 源程序 有錯嗎? 否 裝 配 目標(biāo)程序 還有下 一個作業(yè)? 是 否 停止 運 行 目標(biāo)程序 是 開始 監(jiān)督程序 monitor 16 2. 單道批處理系統(tǒng)的特征單道批處理系統(tǒng)的特征 是最早出現(xiàn)的一種os,只能算作是os的前身。 最大進步在于替代了人工操作。 該系統(tǒng)的主要特征如下: (1) 自動性。 (2) 順序
8、性。 (3) 單道性。 17 1.2.3 多道批處理系統(tǒng)多道批處理系統(tǒng) 1. 多道程序設(shè)計的基本概念多道程序設(shè)計的基本概念 為提高資源的利用率和系統(tǒng)吞吐量,在60年代中期引入了 多道程序設(shè)計技術(shù),形成了多道批處理系統(tǒng)。 (multiprogrammed batch processing system)。 后備隊列 作業(yè)調(diào)度程序 作業(yè)調(diào)度 算法 18 w multiprogramming system 示意圖 three jobs in memory 19 圖 1-4 單道和多道程序運行情況 t1t2t3t4t5t6t7t8 結(jié)束中斷 i/o 完成啟動 i/o i/o 中斷請求 i/o 完成啟動
9、 i/o i/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 再被調(diào)度 程序b i/o 完成 程序a再被調(diào)度 程序a 程序b 程序c 程序d 調(diào)度程序 (b) 四道程序運行情況 a完成 結(jié)束中斷 20 (2) 可提高內(nèi)存和i/o設(shè)備利用率。 在內(nèi)存中裝入多道程序, 并允許它們并發(fā)執(zhí)行,則大大提高內(nèi)存和i/o設(shè)備 的利用率。 (3) 增加系統(tǒng)吞吐量。在保持cpu、i/o設(shè)備不斷忙碌的同時,也必然會 大幅度地提高系
10、統(tǒng)的吞吐量,從而降低作業(yè)加工所需的費用。 (1)提高cpu的利用率。 圖 1-4(a)示出了單道程序的運行情況,從圖可以看出:在t2t3、 t6t7時 間間隔內(nèi)cpu空閑。 在引入多道程序設(shè)計技術(shù)后, 程序交替運行, 保持了cpu處于忙碌狀 態(tài)。 21 2. 多道批處理系統(tǒng)的特征多道批處理系統(tǒng)的特征 (1) 多道性。多道性。 (2) 無序性。無序性。 (3) 調(diào)度性。調(diào)度性。 22 3. 多道批處理系統(tǒng)的優(yōu)缺點多道批處理系統(tǒng)的優(yōu)缺點 (1) 資源利用率高。 (2) 系統(tǒng)吞吐量大。 (3) 平均周轉(zhuǎn)時間長。 (4) 無交互能力。 23 4. 多道批處理系統(tǒng)需要解決的問題多道批處理系統(tǒng)需要解決的問
11、題 (1) 處理機管理問題。 (2) 內(nèi)存管理問題。 (3) i/o設(shè)備管理問題。 (4) 文件管理問題。 (5) 作業(yè)管理問題。 24 1.2.4 分時系統(tǒng)分時系統(tǒng) 1. 分時系統(tǒng)分時系統(tǒng)(time-sharing system)的產(chǎn)生的產(chǎn)生 多道程序系統(tǒng)、批處理系統(tǒng)提供了提高資源(cpu,內(nèi)存, 設(shè)備)利用率和系統(tǒng)吞吐量的環(huán)境,但是沒有為用戶提供與計與計 算機直接交互算機直接交互的能力。 推動分時系統(tǒng)形成和發(fā)展的主要動力,是用戶的需求。 用戶的需求具體表現(xiàn)在以下幾個方面: (1) 人機交互。 (2) 共享主機。 (3) 便于用戶上機。 1.2 操作系統(tǒng)的發(fā)展過程操作系統(tǒng)的發(fā)展過程 25 2
12、. 分時系統(tǒng)實現(xiàn)中的關(guān)鍵問題分時系統(tǒng)實現(xiàn)中的關(guān)鍵問題 分時系統(tǒng)是多道程序設(shè)計的自然延伸,雖然cpu還是通過 在多個作業(yè)之間的切換來執(zhí)行多個作業(yè),但是由于切換的 速度非常快,用戶可以在每個程序運行期間與之進行交互。 時間片時間片 (1) 及時接收。 (2) 及時處理。 1.2 操作系統(tǒng)的發(fā)展過程操作系統(tǒng)的發(fā)展過程 26 3. 分時系統(tǒng)的特征分時系統(tǒng)的特征 (1) 多路性。 (2) 獨立性。 (3) 及時性。 (4) 交互性。 1.2 操作系統(tǒng)的發(fā)展過程操作系統(tǒng)的發(fā)展過程 27 w 分時系統(tǒng)的思想分時系統(tǒng)的思想19591959年在年在mitmit提出提出 w 每個用戶有一個聯(lián)機終端每個用戶有一個聯(lián)
13、機終端 w 調(diào)試程序的用戶常常只發(fā)出簡短的命令調(diào)試程序的用戶常常只發(fā)出簡短的命令 很少有長的費時命令很少有長的費時命令 w 計算機能夠為許多用戶提供交互式、快速服務(wù)計算機能夠為許多用戶提供交互式、快速服務(wù) 同時在同時在cpucpu空閑時還能在后臺運行大作業(yè)空閑時還能在后臺運行大作業(yè) w 第一個分時系統(tǒng)(第一個分時系統(tǒng)(ctssctss)由)由 mitmit的的fernando fernando corbatocorbato 等等19611961 年在一改裝的年在一改裝的ibm 7090/94ibm 7090/94機上開發(fā)成功(有機上開發(fā)成功(有3232個交互式用戶)個交互式用戶) w 第一個有
14、虛擬存儲器第一個有虛擬存儲器(virtual memory)(virtual memory)和頁面調(diào)度和頁面調(diào)度(paging) (paging) 的機器的機器 28 1.2.5 實時系統(tǒng)實時系統(tǒng) 所謂“實時”,是表示“及時”,而實時系統(tǒng)(real- time system)是指系統(tǒng)能及時(或即時)響應(yīng)外部事件的請求, 在規(guī)定的時間內(nèi)完成對該事件的處理,并控制所有實時任務(wù) 協(xié)調(diào)一致地運行。 1. 應(yīng)用需求應(yīng)用需求 (1) 實時控制。 (2) 實時信息處理。 1.2 操作系統(tǒng)的發(fā)展過程操作系統(tǒng)的發(fā)展過程 l當(dāng)對處理器的操作或數(shù)據(jù)傳 輸有著嚴(yán)格地時間要求時 需要使用實時系統(tǒng)。 l常用來控制特定設(shè)備
15、,或者 特定數(shù)據(jù)傳輸控制。 29 2. 實時任務(wù)實時任務(wù) 1) 按任務(wù)執(zhí)行時是否呈現(xiàn)周期性來劃分 (1) 周期性實時任務(wù)。 (2) 非周期性實時任務(wù)。 截止時間(deadline)。分為: 開始截止時間任務(wù)在某時間以前必須開始執(zhí)行; 完成截止時間任務(wù)在某時間以前必須完成。 1.2 操作系統(tǒng)的發(fā)展過程操作系統(tǒng)的發(fā)展過程 30 2) 根據(jù)對截止時間的要求來劃分 (1) 硬實時任務(wù)(hard real-time task)。系統(tǒng)必須滿足任 務(wù)對截止時間的要求,否則可能出現(xiàn)難以預(yù)測的結(jié)果。 (2) 軟實時任務(wù)(soft real-time task)。它也聯(lián)系著一個 截止時間, 但并不嚴(yán)格,若偶爾錯過
16、了任務(wù)的截止時間, 對系統(tǒng)產(chǎn)生的影響也不會太大。 1.2 操作系統(tǒng)的發(fā)展過程操作系統(tǒng)的發(fā)展過程 31 3. 實時系統(tǒng)與分時系統(tǒng)特征的比較實時系統(tǒng)與分時系統(tǒng)特征的比較 (1) 多路性。 (2) 獨立性。 (3) 及時性。 (4) 交互性。 (5) 可靠性。 32 1.并發(fā)特征(concurrence) 并發(fā)與并行 2.共享特征(sharing) 互斥共享 同時訪問 3.虛擬特征(virtual) 4.異步性(asynchronism) 1.3 操作系統(tǒng)的基本特性操作系統(tǒng)的基本特性 33 1.3.1 并發(fā)并發(fā)(concurrence) 并行性和并發(fā)性: 并行性并行性是指兩個或多個事件在同一時刻同一
17、時刻發(fā)生; 而并發(fā)性并發(fā)性是指兩個或多個事件在同一時間間隔同一時間間隔內(nèi)發(fā) 生。 宏觀與微觀宏觀與微觀 為使多個程序能并發(fā)執(zhí)行,必須分別為每個程序建 立進程進程。 線程 進一步提高并發(fā)程度 34 1.3.2 共享共享(sharing) 在操作系統(tǒng)環(huán)境下,所謂共享是指系統(tǒng)中的資源可 供內(nèi)存中多個并發(fā)執(zhí)行的進程(線程)共同使用。 共享因資源屬性不同而采用不同方式: 35 1. 互斥共享方式互斥共享方式 - 資源分配后到釋放前,不能被其他進程所用。資源分配后到釋放前,不能被其他進程所用。 把在一段時間內(nèi)只允許一個進程訪問的資源稱為一段時間內(nèi)只允許一個進程訪問的資源稱為臨界資源臨界資源或獨占資源。 2
18、. 同時訪問方式同時訪問方式 資源允許在一段時間內(nèi)由多個進程“同時”對它們進行訪問。 典型的可供多個進程“同時”訪問的資源是磁盤設(shè)備,一些用重 入碼編寫的文件,也可以被“同時”共享,即若干個用戶同時訪 問該文件。 36 并發(fā)和共享是操作系統(tǒng)的兩個最基本的特征并發(fā)和共享是操作系統(tǒng)的兩個最基本的特征,它們又是 互為存在的條件。 資源共享是以程序(進程)的并發(fā)執(zhí)行為條件的,若系統(tǒng) 不允許程序并發(fā)執(zhí)行,自然不存在資源共享問題; 若系統(tǒng)不能對資源共享實施有效管理, 協(xié)調(diào)好諸進程對 共享資源的訪問,也必然影響到程序并發(fā)執(zhí)行的程度, 甚至根本無法并發(fā)執(zhí)行。 37 1.3.3 虛擬虛擬(virtual) 所謂
19、“虛擬”,是指通過某種技術(shù)把一個物理實體變?yōu)橥ㄟ^某種技術(shù)把一個物理實體變?yōu)?若干個邏輯上的對應(yīng)物。若干個邏輯上的對應(yīng)物。 在os中利用了多種虛擬技術(shù),分別用來實現(xiàn)虛擬處理機、 虛擬內(nèi)存、 虛擬外部設(shè)備和虛擬信道等。 38 1.3.4 異步性異步性(asynchronism) 由于資源等因素的限制,使進程的執(zhí)行通常都不是 “一氣呵成”,而是以“停停走走”的方式運行。 進程之 間由于競爭或合作,以不可預(yù)知的速度向前推進。以不可預(yù)知的速度向前推進。(不確定不確定 性性) 39 1.4 操作系統(tǒng)的主要功能操作系統(tǒng)的主要功能 1.4.1 處理機管理功能處理機管理功能 1. 進程控制進程控制 進程控制的主
20、要功能是為作業(yè)創(chuàng)建創(chuàng)建進程、撤消撤消已結(jié)束的 進程,以及控制進程在運行過程中的狀態(tài)轉(zhuǎn)換狀態(tài)轉(zhuǎn)換。 在現(xiàn)代os中,進程控制還應(yīng)具有為一個進程創(chuàng)建若干 個線程的功能和撤消(終止)已完成任務(wù)的線程的功能。 40 2. 進程同步進程同步 進程同步的主要任務(wù)是為多個進程(含線程)的運行進行協(xié)調(diào)。 兩種協(xié)調(diào)方式: 進程互斥方式進程互斥方式, 這是指諸進程(線程)在對臨界資源進行 訪問時, 應(yīng)采用互斥方式; 進程同步方式進程同步方式,指在相互合作去完成共同任務(wù)的諸進程 (線程)間,由同步機構(gòu)對它們的執(zhí)行次序加以協(xié)調(diào)。 為了實現(xiàn)進程同步,系統(tǒng)中必須設(shè)置進程同步機制同步機制。 例如:鎖、信號量鎖、信號量 41
21、3. 進程通信進程通信 常見于多個合作進程(線程)相互交換信息。 例如,有三個相互合作的進程, 它們是輸入進程、計算進程 和打印進程。 當(dāng)相互合作的進程(線程)處于同一計算機系統(tǒng)時,通常在 它們之前是采用直接通信直接通信方式,即由源進程利用發(fā)送命令直接 將消息(message)掛到目標(biāo)進程的消息隊列上,以后由目標(biāo)進程 利用接收命令從其消息隊列中取出消息。 42 4. 調(diào)度調(diào)度 作業(yè)調(diào)度作業(yè)調(diào)度:從后備隊列中按照一定的算法算法,選擇出若干個作業(yè), 為它們分配其必需的資源(首先是分配內(nèi)存)。 當(dāng)代操作系統(tǒng)基本不需要作業(yè)調(diào)度。 進程調(diào)度進程調(diào)度:是從進程的就緒隊列中選出一新進程,把處理機分 配給它,
22、并為它設(shè)置運行現(xiàn)場, 使進程投入執(zhí)行。 在多線程os中,通常是把線程作為獨立運行和分配處理機的基本單 位. 43 1.4.2 存儲器管理功能存儲器管理功能 1. 內(nèi)存分配內(nèi)存分配 靜態(tài)靜態(tài)分配方式:每個作業(yè)的內(nèi)存空間是在作業(yè)裝入時確定 的;在作業(yè)裝入后的整個運行期間, 不允許該作業(yè)再申請 新的內(nèi)存空間,也不允許作業(yè)在內(nèi)存中“移動”; 動態(tài)動態(tài)分配方式:每個作業(yè)所要求的基本內(nèi)存空間, 也是在 裝入時確定的,但允許作業(yè)在運行過程中,繼續(xù)申請新的 附加內(nèi)存空間,以適應(yīng)程序和數(shù)據(jù)的動態(tài)增漲,也允許作 業(yè)在內(nèi)存中“移動”。 44 內(nèi)存分配的機制中應(yīng)具有的結(jié)構(gòu)和功能: 內(nèi)存分配數(shù)據(jù)結(jié)構(gòu) ;如段表、頁表 內(nèi)
23、存分配功能 ;分配策略、算法 內(nèi)存回收功能 。 45 2. 內(nèi)存保護內(nèi)存保護 任務(wù):是確保每道用戶程序都只在自己的內(nèi)存空間內(nèi)運行,彼此互 不干擾。 為了確保每道程序都只在自己的內(nèi)存區(qū)中運行,必須設(shè) 置內(nèi)存保護機制。 一種比較簡單的內(nèi)存保護機制,是設(shè)置兩個界限寄存器界限寄存器, 分別用于存放正在執(zhí)行程序的上界和下界。越界檢查。越界檢查。 46 3. 地址映射地址映射 將地址空間中的邏輯地址邏輯地址轉(zhuǎn)換為內(nèi)存空間中與之對應(yīng)的 物理地址物理地址。 邏輯地址空間 物理地址空間 : 源程序(編譯) 目標(biāo)程序(鏈接) 可裝入程序【邏輯地址】 裝入到內(nèi)存【物理地址】 47 4. 內(nèi)存擴充內(nèi)存擴充 虛擬存儲技
24、術(shù),從邏輯上去擴充內(nèi)存容量。 為了能在邏輯上擴充內(nèi)存,系統(tǒng)必須具有內(nèi)存擴充機制, 用于實現(xiàn)下述各功能: (1) 請求調(diào)入功能。 (2) 置換功能。 48 操作系統(tǒng)課程主要介紹主存儲器的管理,但整個存儲體系還有更多的層次 49 1.4.3 設(shè)備管理功能設(shè)備管理功能 主要任務(wù): 完成用戶進程提出的i/o請求; 為用戶進程分 配其所需的i/o設(shè)備;提高cpu和i/o設(shè)備的利用率;提高 i/o速度;方便用戶使用i/o設(shè)備。 設(shè)備管理應(yīng)具有緩沖管理、設(shè)備分配和設(shè)備處理,以及 虛擬設(shè)備等功能。 50 1. 緩沖管理緩沖管理 cpu運行的高速性和i/o低速性間的矛盾. 現(xiàn)代計算機系統(tǒng)中, 都毫無例外地在內(nèi)存
25、中設(shè)置了緩沖 區(qū),而且還可通過增加緩沖區(qū)容量的方法,來改善系統(tǒng) 的性能。 最常見的緩沖區(qū)機制有單緩沖機制、能實現(xiàn)雙向同時 傳送數(shù)據(jù)的雙緩沖機制,以及能供多個設(shè)備同時使用的公 用緩沖池機制。 51 2. 設(shè)備分配設(shè)備分配 基本任務(wù)- 根據(jù)用戶進程的i/o請求、系統(tǒng)的現(xiàn)有資源情況以及 按照某種設(shè)備分配策略分配策略,為之分配其所需的設(shè)備。如果在i/o設(shè) 備和cpu之間,還存在著設(shè)備控制器和i/o通道時,還須為分配 出去的設(shè)備分配相應(yīng)的控制器和通道。 52 3. 設(shè)備處理設(shè)備處理【設(shè)備驅(qū)動程序設(shè)備驅(qū)動程序】 - 實現(xiàn)cpu和設(shè)備控制器之間的通信. 處理過程: 1.檢查i/o請求的合法性, 2.了解設(shè)備
26、狀態(tài)是否空閑, 3.了解有關(guān)的傳遞參數(shù)及設(shè)置設(shè)備的工作方式。 4.向設(shè)備控制器發(fā)出i/o命令, 5.啟動i/o設(shè)備去完成指定的i/o操作。 設(shè)備驅(qū)動程序還應(yīng)能及時響應(yīng)由控制器發(fā)來的中斷請求 對于設(shè)置了通道的計算機系統(tǒng), 應(yīng)能根據(jù)用戶的i/o請求,自動地構(gòu)成通道 程序。 53 1.4.4 文件管理功能文件管理功能 1. 文件存儲空間的管理文件存儲空間的管理 記錄文件存儲空間的使用情況的數(shù)據(jù)結(jié)構(gòu) , 對存儲空間進行分配和回收的功能。 為了提高存儲空間的利用率,對存儲空間的分配,通常是采 用離散分配方式,以減少外存零頭,并以盤塊為基本分配單位。 盤塊的大小通常為512 b8 kb。 54 2. 目錄
27、管理目錄管理 目錄項目錄項。目錄項包括文件名、文件屬性、文件在磁 盤上的物理位置等。 由若干個目錄項又可構(gòu)成一個目錄文件目錄文件。 目錄管理的主要任務(wù), 是為每個文件建立其目錄項,并 對眾多的目錄項加以有效的組織,以實現(xiàn)方便的按名存 取。 其次,目錄管理還應(yīng)能實現(xiàn)文件共享, 提供目錄查 詢手段 。 55 3. 文件的讀文件的讀/寫管理和保護寫管理和保護 (1) 文件的讀文件的讀/寫管理。寫管理。從外存中讀取數(shù)據(jù);或?qū)?shù)據(jù)寫 入外存。 檢索文件目錄,從中獲得文件在外存中的位置。 利用文件讀(寫)指針,對文件進行讀(寫)。 修改讀(寫)指針,為下一次讀(寫)做好準(zhǔn)備。 (2) 文件保護。文件保護。
28、 防止未經(jīng)核準(zhǔn)的用戶存取文件; 防止冒名頂替存取文件; 防止以不正確的方式使用文件。 56 1.4.5 用戶接口用戶接口 1. 命令接口命令接口 (1) 聯(lián)機用戶接口。 (鍵盤命令及命令解釋程序) (2) 脫機用戶接口 (批處理作業(yè)用戶)。 57 2. 程序接口程序接口 用戶程序取得操作系統(tǒng)服務(wù)的惟一途徑。 由一組系統(tǒng)調(diào)用組成。 每一個系統(tǒng)調(diào)用都是一個能完成特定功能的子程序,每當(dāng) 應(yīng)用程序要求os提供某種服務(wù)(功能)時,便調(diào)用具有相應(yīng) 功能的系統(tǒng)調(diào)用。 58 3. 圖形接口圖形接口 方便性:用戶已完全不必像使用命令接口那樣去記住命令 名及格式,從而把用戶從繁瑣且單調(diào)的操作中解脫出來。 gui
29、系統(tǒng)的復(fù)雜性 資源利用率的權(quán)衡 59 1.5 操作系統(tǒng)的結(jié)構(gòu)設(shè)計操作系統(tǒng)的結(jié)構(gòu)設(shè)計 1.5.1 軟件工程的基本概念軟件工程的基本概念 1. 軟件:包括指令,程序,文檔 2. 軟件工程:運用系統(tǒng)的、規(guī)范的和可定量的方法, 來開發(fā)、運行和維護軟件。 操作系統(tǒng)作為一個大型的系統(tǒng)軟件,是采用軟件工程學(xué)的 方法開發(fā)的。 設(shè)計原則:保證系統(tǒng)的可靠性,可維護性。 60 1.5.2 傳統(tǒng)的操作系統(tǒng)結(jié)構(gòu)傳統(tǒng)的操作系統(tǒng)結(jié)構(gòu) 回顧os的開發(fā)過程,先后引入了分解、模塊化、 抽象 和隱蔽等方法。 os結(jié)構(gòu)可分成無結(jié)構(gòu)(單體結(jié)構(gòu)),模塊無結(jié)構(gòu)(單體結(jié)構(gòu)),模塊 化結(jié)構(gòu),層次結(jié)構(gòu),以及微內(nèi)核結(jié)構(gòu)化結(jié)構(gòu),層次結(jié)構(gòu),以及微內(nèi)核
30、結(jié)構(gòu)。 los結(jié)構(gòu)的更新?lián)Q代:把第一代至第三代的os結(jié)構(gòu), 稱為傳統(tǒng)的os結(jié)構(gòu),而把微內(nèi)核的os結(jié)構(gòu)稱為現(xiàn)代os結(jié)構(gòu)。 61 操作系統(tǒng)設(shè)計者注重功能的實現(xiàn)和高的效率上,缺乏首尾一致 的設(shè)計思想。 此時的os是為數(shù)眾多的一組過程的集合,各過程之間可以相互 調(diào)用,在操作系統(tǒng)內(nèi)部不存在清晰的結(jié)構(gòu),因此,這種os是無無 結(jié)構(gòu)結(jié)構(gòu)的,也有人把它稱為整體系統(tǒng)結(jié)構(gòu)。 該階段該階段os設(shè)計的技巧,只注重編制緊湊的程序,以便于有效地利用內(nèi)存;設(shè)計的技巧,只注重編制緊湊的程序,以便于有效地利用內(nèi)存; 對對goto語句的使用不加限制,導(dǎo)致操作系統(tǒng)龐大而雜亂,缺乏清晰的結(jié)構(gòu)。語句的使用不加限制,導(dǎo)致操作系統(tǒng)龐大而雜亂
31、,缺乏清晰的結(jié)構(gòu)。 后果:使所編制出的程序錯誤很多,調(diào)試?yán)щy;也使程序難以閱讀和理解,增后果:使所編制出的程序錯誤很多,調(diào)試?yán)щy;也使程序難以閱讀和理解,增 加了維護人員的負擔(dān)。加了維護人員的負擔(dān)。 1. 無結(jié)構(gòu)或簡單結(jié)構(gòu)操作系統(tǒng)無結(jié)構(gòu)或簡單結(jié)構(gòu)操作系統(tǒng) 62 2. 模塊化模塊化os結(jié)構(gòu)結(jié)構(gòu) 1) 模塊化結(jié)構(gòu) 模塊化程序設(shè)計技術(shù) :將os按其功能劃分為若干個具有一定獨 立性和大小的模塊模塊。 該技術(shù)是基于“分解分解”和“模塊化模塊化”原則來控制大型軟件的復(fù)雜 度。 分解 自頂向下逐步細分 模塊化- 功能與模塊對應(yīng),并定義模塊之間的接口 63 圖 1-5 模塊化操作系統(tǒng)結(jié)構(gòu) 進程控制進程調(diào)度內(nèi)存
32、分配內(nèi)存保護磁盤管理目錄管理 進程管理存儲器管理文件管理 操作系統(tǒng) 模塊 子模塊 64 2) 模塊化os的優(yōu)缺點 優(yōu)點: (1) 提高了os設(shè)計的正確性、 可理解性和可維護性。 (2) 增強了os的可適應(yīng)性。 (3) 加速了os的開發(fā)過程。 缺點:1. 對模塊的劃分及對接口的規(guī)定并不精確或錯誤,很難保證模塊完 全正確, 導(dǎo)致模塊裝配成os時發(fā)生困難; 2. 功能模塊的劃分受系統(tǒng)資源制約關(guān)系的影響,例如未能將共享資源和 獨占資源加以區(qū)別; 使模塊間存在著復(fù)雜的依賴關(guān)系,使os結(jié)構(gòu)變得 不清晰。 65 3. 分層式分層式os結(jié)構(gòu)結(jié)構(gòu) 1) 有序分層的基本概念 使我們的每一步設(shè)計都是建立在可靠的基礎(chǔ)
33、上。 簡化了調(diào)試和系統(tǒng)驗證過程。 2) 層次的設(shè)置 (1) 程序嵌套。 考慮在實現(xiàn)os 的每個功能時所形成的程序 嵌套(功能邏輯關(guān)系)。 66 (2) 運行頻率。在分層結(jié)構(gòu)中,各層次軟件的運行速度是不 同的,因為a1層軟件能直接在物理機器上運行, 故它有最高的運 行速度。隨著層次的增高,其相應(yīng)軟件的運行速度就隨之下降, 因而an層軟件的運行速度最低。 為了提高os的運行效率,應(yīng)該將 那些經(jīng)?;钴S的模塊放在最接近硬件的a1層,如時鐘管理、進程 調(diào)度,通常都放在a1層。 67 (3) 公用模塊。應(yīng)把供多種資源管程程序調(diào)用的公用模塊, 設(shè)置在最低層,不然,會使比它低的層次模塊由于無法調(diào)用它而須 另外
34、配置相應(yīng)功能的模塊。例如,用于對信號量進行操作的原語 signal和wait。 (4) 用戶接口。為方便用戶(程序),os向用戶提供了“用戶 與os的接口”,如命令接口、程序接口以及圖形用戶接口。這些接 口應(yīng)設(shè)置在os的最高層,直接提供給用戶使用。 68 w ms-dos w written to provide the most functionality in the least space not divided into modules although ms-dos has some structure, its interfaces and levels of functional
35、ity are not well separated 69 ms-dos的結(jié)構(gòu)沒有細致的劃分模塊的結(jié)構(gòu)沒有細致的劃分模塊 70 w unix limited by hardware functionality, the original unix operating system had limited structuring. 早期早期unix結(jié)構(gòu)受限于硬件結(jié)構(gòu)受限于硬件 w the unix os consists of two separable parts: systems programs the kernel wconsists of everything below the sy
36、stem-call interface and above the physical hardware wprovides the file system, cpu scheduling, memory management, and other operating-system functions; a large number of functions for one level 71 【內(nèi)核:包括在系統(tǒng)調(diào)用接口和和下層的硬件接口之間的所有部分。 使得系統(tǒng)難以擴展,因為改動會影響到很多其他部分?!?72 73 w most modern operating systems implemen
37、t kernel modules uses object-oriented approach each core component is separate each talks to the others over known interfaces each is loadable as needed within the kernel w overall, similar to layers but with more flexible 74 75 w the operating system is divided into a number of layers (levels), eac
38、h built on top of lower layers. the bottom layer (layer 0), is the hardware; the highest (layer n) is the user interface. w with modularity, layers are selected such that each uses functions (operations) and services of only lower-level layers 分層式結(jié)構(gòu)設(shè)計的基本原則基本原則是:每一層都僅使用其底 層所提供的功能和服務(wù),這樣可使系統(tǒng)的調(diào)試和驗 證都變得容
39、易 76 1.5.3 微內(nèi)核微內(nèi)核os結(jié)構(gòu)結(jié)構(gòu) 1. 客戶客戶/服務(wù)器模式服務(wù)器模式(client-server model) 1) 基本概念 為了提高os的靈活性和可擴充性而將os劃分為兩部分: 1.用于提供各種服務(wù)的一組服務(wù)(進程),如用于提供進程管理的進程 服務(wù)器、提供存儲器管理的存儲器服務(wù)器提供文件管理的文件服務(wù) 器等,所有這些服務(wù)器(進程)都運行在用戶態(tài)用戶態(tài)。 2.內(nèi)核,用來處理客戶和服務(wù)器之間的通信, 即由內(nèi)核來接收客戶的 請求,再將該請求送至相應(yīng)的服務(wù)器;同時它也接收服務(wù)器的應(yīng)答, 并將此應(yīng)答回送給請求客戶。 77 圖 1-6 單機環(huán)境下的客戶/服務(wù)器模式 客戶 進程 客戶 進
40、程 進程 服務(wù)器 終端 服務(wù)器 文件 服務(wù)器 存儲器 服務(wù)器 用戶方式 核心方式 回答核心請求 78 2) 客戶/服務(wù)器模式的優(yōu)點 (1) 提高了系統(tǒng)的靈活性和可擴充性。 (2) 提高了os的可靠性。 (3) 可運行于分布式系統(tǒng)中。 對操作系統(tǒng)結(jié)構(gòu)設(shè)計的意義在于, 可以把所有非基本部分從內(nèi)核中移走。 79 2. 面向?qū)ο蟮某绦蛟O(shè)計技術(shù)面向?qū)ο蟮某绦蛟O(shè)計技術(shù)(object-orientated programming) 1) 面向?qū)ο蠹夹g(shù)的基本概念 圖 1-7 一個對象的示意圖 數(shù)據(jù)結(jié)構(gòu) 過程1 過程2 過程3 80 2) 面向?qū)ο蠹夹g(shù)的優(yōu)點 (1) 可修改性和可擴充性。由于隱蔽了表示實體的數(shù)
41、據(jù)和操作,因而可以改變對象的表示而不會影響其它部 分, 從而可以方便地改變老的對象和增加新的對象。 (2) 繼承性。繼承性是面向?qū)ο蠹夹g(shù)所具有的重要特 性。繼承性是指子對象可以繼承父對象的屬性,這樣, 在創(chuàng)建一個新的對象時, 便可減少大量的時空開銷。 (3) 正確性和可靠性。由于對象是構(gòu)成操作系統(tǒng)的基 本單元,可以獨立地對它進行測試,這樣,比較易于保 證其正確性和可靠性,從而比較容易保證整個系統(tǒng)的正 確性和可靠性。 81 3. 微內(nèi)核技術(shù)微內(nèi)核技術(shù) 1) 微內(nèi)核技術(shù)的引入 所謂微內(nèi)核技術(shù),是指精心設(shè)計的、能實現(xiàn)現(xiàn)代os 核心功能的小型內(nèi)核。 它與一般的os(程序)不同, 它更小更精煉,它不 僅
42、運行在核心態(tài),而且開機后常駐內(nèi)存, 它不會因內(nèi)存 緊張而被換出內(nèi)存。 82 2) 微內(nèi)核的基本功能 微內(nèi)核所提供的功能,通常都是一些最基本的功能, 如進程管理、存儲器管理、進程間通信、 低級i/o功能。 (1) 進程管理。 (2) 存儲器管理。 (3) 進程通信管理。 (4) i/o設(shè)備管理。 哪些服務(wù)應(yīng)該保留 在內(nèi)核中,哪些應(yīng)該 在用戶空間實現(xiàn)。沒 有定論。 83 w 微內(nèi)核技術(shù)的優(yōu)點: 系統(tǒng)可擴充性- 新增服務(wù)會加到用戶空間,內(nèi)核 不需要修改或改動極小。 移植性- 小內(nèi)核便于移植到不同的硬件平臺。 安全性和可靠性- 大多數(shù)服務(wù)是用戶進程而不是 系統(tǒng)進程。即使某個服務(wù)失敗,不會影響操作系 統(tǒng)
43、其他部分。 84 整體結(jié)構(gòu)和微內(nèi)核結(jié)構(gòu)的對比整體結(jié)構(gòu)和微內(nèi)核結(jié)構(gòu)的對比 85 w moves as much from the kernel into “user” space w communication takes place between user modules using message passing w benefits: easier to extend a microkernel easier to port the operating system to new architectures more reliable (less code is running in kernel mode) more secure w detriments: performance overhead of user space to kernel space communication 86 w 資源管理的觀點
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年新能源汽車輕量化車身設(shè)計輕量化制造技術(shù)研究報告
- 物流金融服務(wù)在供應(yīng)鏈金融創(chuàng)新中的應(yīng)用場景與風(fēng)險分析報告
- 公司總部工程部管理制度
- 事業(yè)部及子公司管理制度
- 幼兒園電教設(shè)備管理制度
- 臺球廳消防安全管理制度
- 智障學(xué)生用餐管理制度
- 臨沂小企業(yè)財務(wù)管理制度
- 勞動合同付公司管理制度
- 德國職業(yè)經(jīng)理人管理制度
- 佐藤大用設(shè)計解決問題
- JJG 62-2017 塞尺行業(yè)標(biāo)準(zhǔn)
- (高清版)DZT 0017-2023 工程地質(zhì)鉆探規(guī)程
- 三亞夏日星空輕奢民宿
- 建立產(chǎn)科快速反應(yīng)團隊持續(xù)改進產(chǎn)科質(zhì)量
- 數(shù)學(xué)與人工智能的模型與算法
- JBT 14437-2023 二氧化碳致裂管 (正式版)
- 《人力資源服務(wù)業(yè)概論》課件 第1章 人力資源服務(wù)業(yè)導(dǎo)論
- 養(yǎng)老院護理員禮儀培訓(xùn)
- 機電安裝工程文明施工環(huán)境保護方案
- 產(chǎn)前超聲篩查的質(zhì)量控制
評論
0/150
提交評論