計(jì)算機(jī)操作系統(tǒng)學(xué)習(xí)培訓(xùn)模板課件_第1頁
計(jì)算機(jī)操作系統(tǒng)學(xué)習(xí)培訓(xùn)模板課件_第2頁
計(jì)算機(jī)操作系統(tǒng)學(xué)習(xí)培訓(xùn)模板課件_第3頁
計(jì)算機(jī)操作系統(tǒng)學(xué)習(xí)培訓(xùn)模板課件_第4頁
計(jì)算機(jī)操作系統(tǒng)學(xué)習(xí)培訓(xùn)模板課件_第5頁
已閱讀5頁,還剩88頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、計(jì)算機(jī)操作系統(tǒng)1第一章 操作系統(tǒng)引論1.1 操作系統(tǒng)的目標(biāo)和作用 1.2 操作系統(tǒng)的發(fā)展過程 1.3 操作系統(tǒng)的基本特性 1.4 操作系統(tǒng)的主要功能 1.5 操作系統(tǒng)的結(jié)構(gòu)設(shè)計(jì) 21.1 操作系統(tǒng)的目標(biāo)和作用1.1.1 操作系統(tǒng)的目標(biāo) 目前存在著多種類型的OS,不同類型的OS,其目標(biāo)各有所側(cè)重。通常在計(jì)算機(jī)硬件上配置的OS,其目標(biāo)有以下幾點(diǎn):方便性 -方便用戶有效性 -系統(tǒng)管理效率擴(kuò)展性 -體系結(jié)構(gòu):軟硬件結(jié)構(gòu)發(fā)展開放性 -體系結(jié)構(gòu):軟硬件結(jié)構(gòu)兼容性權(quán)衡31.1.2 操作系統(tǒng)的作用 1. OS作為用戶與計(jì)算機(jī)硬件系統(tǒng)之間的接口- OS處于用戶與計(jì)算機(jī)硬件系統(tǒng)之間,用戶通過OS來使用計(jì)算機(jī)系統(tǒng)。

2、- OS是一個(gè)系統(tǒng)軟件,因而這種接口是軟件接口。 4圖 1-1 OS作為接口的示意圖 5計(jì)算機(jī)系統(tǒng)組成部分的層次圖6 (1) 命令方式。這是指由OS提供了一組聯(lián)機(jī)命令(語言), 用戶可通過鍵盤輸入有關(guān)命令,來直接操縱計(jì)算機(jī)系統(tǒng)。 (2) 系統(tǒng)調(diào)用方式。OS提供了一組系統(tǒng)調(diào)用,用戶可在自己的應(yīng)用程序中通過相應(yīng)的系統(tǒng)調(diào)用,來操縱計(jì)算機(jī)。 (3) 圖形、窗口方式。用戶通過屏幕上的窗口和圖標(biāo)來操縱計(jì)算機(jī)系統(tǒng)和運(yùn)行自己的程序。 人機(jī)接口接口的不同使用方式:7 OS作用 2. OS作為計(jì)算機(jī)系統(tǒng)資源的管理者可將資源分為四類:處理器、存儲(chǔ)器、 I/O設(shè)備以及信息(數(shù)據(jù)和程序)。OS的主要功能是針對(duì)這四類資源

3、進(jìn)行有效的管理,即:處理機(jī)管理, 用于分配和控制處理機(jī);存儲(chǔ)器管理,主要負(fù)責(zé)內(nèi)存的分配與回收;I/O設(shè)備管理,負(fù)責(zé)I/O設(shè)備的分配與操縱;文件管理,負(fù)責(zé)文件的存取、共享和保護(hù)。8 3. OS用作擴(kuò)充機(jī)器 以O(shè)S軟件擴(kuò)充硬件性能,得到功能更強(qiáng)大的系統(tǒng)。通常把覆蓋了軟件的機(jī)器稱為擴(kuò)充機(jī)器或虛機(jī)器。91.1.3 推動(dòng)操作系統(tǒng)發(fā)展的主要?jiǎng)恿?不斷提高計(jì)算機(jī)資源利用率 2. 方便用戶 3. 器件的不斷更新?lián)Q代 4. 計(jì)算機(jī)體系結(jié)構(gòu)的不斷發(fā)展 10OS發(fā)展歷史背景First generation 1945 - 1955vacuum tubes電子管Second generation 1955 - 1965

4、transistors, batch systems 晶體管時(shí)代/批處理Third generation 1965 1980ICs and multiprogramming 集成電路/多道程序設(shè)計(jì)Fourth generation 1980 presentpersonal computers 個(gè)人計(jì)算機(jī)時(shí)代111.2 操作系統(tǒng)的發(fā)展過程 1.2.1 無操作系統(tǒng)的計(jì)算機(jī)系統(tǒng) 1. 人工操作方式1945年到50年代中期,第一代計(jì)算機(jī),尚未出現(xiàn)OS。使用 穿孔紙帶(或穿孔卡片) 。人工操作方式有以下兩方面的缺點(diǎn):(1) 用戶獨(dú)占全機(jī)。 (2) CPU等待人工操作。 122. 脫機(jī)輸入/輸出(Off-

5、Line I/O)方式 這種脫機(jī)I/O方式的主要優(yōu)點(diǎn)如下:減少了CPU的空閑時(shí)間。 (2) 提高I/O速度。 圖 1-2 脫機(jī)I/O示意圖13Early batch systembring cards to 1401read cards to tapeput tape on 7094 which does computingput tape on 1401 which prints output早期批處理系統(tǒng)的例子141.2.2 單道批處理系統(tǒng) 1. 單道批處理系統(tǒng)(Simple Batch Processing System)的處理過程 圖 1-3 單道批處理系統(tǒng)的處理流程 監(jiān)督程序Moni

6、tor15 2. 單道批處理系統(tǒng)的特征是最早出現(xiàn)的一種OS,只能算作是OS的前身。最大進(jìn)步在于替代了人工操作。 該系統(tǒng)的主要特征如下: (1) 自動(dòng)性。 (2) 順序性。 (3) 單道性。 161.2.3 多道批處理系統(tǒng) 1. 多道程序設(shè)計(jì)的基本概念為提高資源的利用率和系統(tǒng)吞吐量,在60年代中期引入了多道程序設(shè)計(jì)技術(shù),形成了多道批處理系統(tǒng)。(Multiprogrammed Batch Processing System)。 后備隊(duì)列 作業(yè)調(diào)度程序作業(yè)調(diào)度 算法 17Multiprogramming system 示意圖three jobs in memory18圖 1-4 單道和多道程序運(yùn)行情

7、況 19 (2) 可提高內(nèi)存和I/O設(shè)備利用率。在內(nèi)存中裝入多道程序, 并允許它們并發(fā)執(zhí)行,則大大提高內(nèi)存和I/O設(shè)備的利用率。 (3) 增加系統(tǒng)吞吐量。在保持CPU、I/O設(shè)備不斷忙碌的同時(shí),也必然會(huì)大幅度地提高系統(tǒng)的吞吐量,從而降低作業(yè)加工所需的費(fèi)用。 (1)提高CPU的利用率。圖 1-4(a)示出了單道程序的運(yùn)行情況,從圖可以看出:在t2t3、 t6t7時(shí)間間隔內(nèi)CPU空閑。在引入多道程序設(shè)計(jì)技術(shù)后, 程序交替運(yùn)行, 保持了CPU處于忙碌狀態(tài)。202. 多道批處理系統(tǒng)的特征 多道性。 (2) 無序性。 (3) 調(diào)度性。 213. 多道批處理系統(tǒng)的優(yōu)缺點(diǎn) 資源利用率高。 (2) 系統(tǒng)吞吐量

8、大。 (3) 平均周轉(zhuǎn)時(shí)間長(zhǎng)。 (4) 無交互能力。 224. 多道批處理系統(tǒng)需要解決的問題 處理機(jī)管理問題。 (2) 內(nèi)存管理問題。 (3) I/O設(shè)備管理問題。 (4) 文件管理問題。 (5) 作業(yè)管理問題。 231.2.4 分時(shí)系統(tǒng) 1. 分時(shí)系統(tǒng)(Time-Sharing System)的產(chǎn)生 多道程序系統(tǒng)、批處理系統(tǒng)提供了提高資源(CPU,內(nèi)存,設(shè)備)利用率和系統(tǒng)吞吐量的環(huán)境,但是沒有為用戶提供與計(jì)算機(jī)直接交互的能力。推動(dòng)分時(shí)系統(tǒng)形成和發(fā)展的主要?jiǎng)恿Γ怯脩舻男枨蟆S脩舻男枨缶唧w表現(xiàn)在以下幾個(gè)方面: (1) 人機(jī)交互。 (2) 共享主機(jī)。 (3) 便于用戶上機(jī)。 1.2 操作系統(tǒng)的發(fā)

9、展過程 242. 分時(shí)系統(tǒng)實(shí)現(xiàn)中的關(guān)鍵問題分時(shí)系統(tǒng)是多道程序設(shè)計(jì)的自然延伸,雖然CPU還是通過在多個(gè)作業(yè)之間的切換來執(zhí)行多個(gè)作業(yè),但是由于切換的速度非常快,用戶可以在每個(gè)程序運(yùn)行期間與之進(jìn)行交互。時(shí)間片(1) 及時(shí)接收。 (2) 及時(shí)處理。1.2 操作系統(tǒng)的發(fā)展過程 253. 分時(shí)系統(tǒng)的特征 多路性。(2) 獨(dú)立性。 (3) 及時(shí)性。 (4) 交互性。 1.2 操作系統(tǒng)的發(fā)展過程 26分時(shí)系統(tǒng)的思想1959年在MIT提出每個(gè)用戶有一個(gè)聯(lián)機(jī)終端調(diào)試程序的用戶常常只發(fā)出簡(jiǎn)短的命令 很少有長(zhǎng)的費(fèi)時(shí)命令計(jì)算機(jī)能夠?yàn)樵S多用戶提供交互式、快速服務(wù) 同時(shí)在CPU空閑時(shí)還能在后臺(tái)運(yùn)行大作業(yè)第一個(gè)分時(shí)系統(tǒng)(CT

10、SS)由 MIT的Fernando Corbato 等1961年在一改裝的IBM 7090/94機(jī)上開發(fā)成功(有32個(gè)交互式用戶)第一個(gè)有虛擬存儲(chǔ)器(virtual memory)和頁面調(diào)度(paging) 的機(jī)器第一個(gè)分時(shí)操作系統(tǒng)CTSS271.2.5 實(shí)時(shí)系統(tǒng) 所謂“實(shí)時(shí)”,是表示“及時(shí)”,而實(shí)時(shí)系統(tǒng)(Real-Time System)是指系統(tǒng)能及時(shí)(或即時(shí))響應(yīng)外部事件的請(qǐng)求,在規(guī)定的時(shí)間內(nèi)完成對(duì)該事件的處理,并控制所有實(shí)時(shí)任務(wù)協(xié)調(diào)一致地運(yùn)行。 1. 應(yīng)用需求 實(shí)時(shí)控制。 (2) 實(shí)時(shí)信息處理。 1.2 操作系統(tǒng)的發(fā)展過程 當(dāng)對(duì)處理器的操作或數(shù)據(jù)傳輸有著嚴(yán)格地時(shí)間要求時(shí)需要使用實(shí)時(shí)系統(tǒng)。

11、常用來控制特定設(shè)備,或者特定數(shù)據(jù)傳輸控制。282. 實(shí)時(shí)任務(wù) 1) 按任務(wù)執(zhí)行時(shí)是否呈現(xiàn)周期性來劃分周期性實(shí)時(shí)任務(wù)。 (2) 非周期性實(shí)時(shí)任務(wù)。 截止時(shí)間(Deadline)。分為: 開始截止時(shí)間任務(wù)在某時(shí)間以前必須開始執(zhí)行; 完成截止時(shí)間任務(wù)在某時(shí)間以前必須完成。 1.2 操作系統(tǒng)的發(fā)展過程 29 2) 根據(jù)對(duì)截止時(shí)間的要求來劃分 (1) 硬實(shí)時(shí)任務(wù)(hard real-time task)。系統(tǒng)必須滿足任務(wù)對(duì)截止時(shí)間的要求,否則可能出現(xiàn)難以預(yù)測(cè)的結(jié)果。 (2) 軟實(shí)時(shí)任務(wù)(Soft real-time task)。它也聯(lián)系著一個(gè)截止時(shí)間, 但并不嚴(yán)格,若偶爾錯(cuò)過了任務(wù)的截止時(shí)間, 對(duì)系統(tǒng)產(chǎn)

12、生的影響也不會(huì)太大。 1.2 操作系統(tǒng)的發(fā)展過程 303. 實(shí)時(shí)系統(tǒng)與分時(shí)系統(tǒng)特征的比較 多路性。 (2) 獨(dú)立性。 (3) 及時(shí)性。 (4) 交互性。 (5) 可靠性。 31并發(fā)特征(Concurrence)并發(fā)與并行共享特征(Sharing)互斥共享同時(shí)訪問虛擬特征(Virtual)異步性(Asynchronism)1.3 操作系統(tǒng)的基本特性 321.3.1 并發(fā)(Concurrence) 并行性和并發(fā)性:并行性是指兩個(gè)或多個(gè)事件在同一時(shí)刻發(fā)生;而并發(fā)性是指兩個(gè)或多個(gè)事件在同一時(shí)間間隔內(nèi)發(fā)生。宏觀與微觀為使多個(gè)程序能并發(fā)執(zhí)行,必須分別為每個(gè)程序建立進(jìn)程。線程 進(jìn)一步提高并發(fā)程度33 1.3

13、.2 共享(Sharing) 在操作系統(tǒng)環(huán)境下,所謂共享是指系統(tǒng)中的資源可供內(nèi)存中多個(gè)并發(fā)執(zhí)行的進(jìn)程(線程)共同使用。共享因資源屬性不同而采用不同方式:341. 互斥共享方式- 資源分配后到釋放前,不能被其他進(jìn)程所用。把在一段時(shí)間內(nèi)只允許一個(gè)進(jìn)程訪問的資源稱為臨界資源或獨(dú)占資源。 2. 同時(shí)訪問方式資源允許在一段時(shí)間內(nèi)由多個(gè)進(jìn)程“同時(shí)”對(duì)它們進(jìn)行訪問。典型的可供多個(gè)進(jìn)程“同時(shí)”訪問的資源是磁盤設(shè)備,一些用重入碼編寫的文件,也可以被“同時(shí)”共享,即若干個(gè)用戶同時(shí)訪問該文件。35 并發(fā)和共享是操作系統(tǒng)的兩個(gè)最基本的特征,它們又是互為存在的條件。 資源共享是以程序(進(jìn)程)的并發(fā)執(zhí)行為條件的,若系統(tǒng)不

14、允許程序并發(fā)執(zhí)行,自然不存在資源共享問題; 若系統(tǒng)不能對(duì)資源共享實(shí)施有效管理, 協(xié)調(diào)好諸進(jìn)程對(duì)共享資源的訪問,也必然影響到程序并發(fā)執(zhí)行的程度,甚至根本無法并發(fā)執(zhí)行。 36 1.3.3 虛擬(Virtual) 所謂“虛擬”,是指通過某種技術(shù)把一個(gè)物理實(shí)體變?yōu)槿舾蓚€(gè)邏輯上的對(duì)應(yīng)物。在OS中利用了多種虛擬技術(shù),分別用來實(shí)現(xiàn)虛擬處理機(jī)、虛擬內(nèi)存、 虛擬外部設(shè)備和虛擬信道等。371.3.4 異步性(Asynchronism) 由于資源等因素的限制,使進(jìn)程的執(zhí)行通常都不是“一氣呵成”,而是以“停停走走”的方式運(yùn)行。 進(jìn)程之間由于競(jìng)爭(zhēng)或合作,以不可預(yù)知的速度向前推進(jìn)。(不確定性)381.4 操作系統(tǒng)的主要功

15、能 1.4.1 處理機(jī)管理功能 1. 進(jìn)程控制 進(jìn)程控制的主要功能是為作業(yè)創(chuàng)建進(jìn)程、撤消已結(jié)束的進(jìn)程,以及控制進(jìn)程在運(yùn)行過程中的狀態(tài)轉(zhuǎn)換。 在現(xiàn)代OS中,進(jìn)程控制還應(yīng)具有為一個(gè)進(jìn)程創(chuàng)建若干個(gè)線程的功能和撤消(終止)已完成任務(wù)的線程的功能。 39 2. 進(jìn)程同步進(jìn)程同步的主要任務(wù)是為多個(gè)進(jìn)程(含線程)的運(yùn)行進(jìn)行協(xié)調(diào)。兩種協(xié)調(diào)方式: 進(jìn)程互斥方式, 這是指諸進(jìn)程(線程)在對(duì)臨界資源進(jìn)行訪問時(shí), 應(yīng)采用互斥方式; 進(jìn)程同步方式,指在相互合作去完成共同任務(wù)的諸進(jìn)程(線程)間,由同步機(jī)構(gòu)對(duì)它們的執(zhí)行次序加以協(xié)調(diào)。為了實(shí)現(xiàn)進(jìn)程同步,系統(tǒng)中必須設(shè)置進(jìn)程同步機(jī)制。例如:鎖、信號(hào)量40 3. 進(jìn)程通信常見于多個(gè)

16、合作進(jìn)程(線程)相互交換信息。例如,有三個(gè)相互合作的進(jìn)程, 它們是輸入進(jìn)程、計(jì)算進(jìn)程和打印進(jìn)程。 當(dāng)相互合作的進(jìn)程(線程)處于同一計(jì)算機(jī)系統(tǒng)時(shí),通常在它們之前是采用直接通信方式,即由源進(jìn)程利用發(fā)送命令直接將消息(message)掛到目標(biāo)進(jìn)程的消息隊(duì)列上,以后由目標(biāo)進(jìn)程利用接收命令從其消息隊(duì)列中取出消息。 41 4. 調(diào)度作業(yè)調(diào)度:從后備隊(duì)列中按照一定的算法,選擇出若干個(gè)作業(yè),為它們分配其必需的資源(首先是分配內(nèi)存)。當(dāng)代操作系統(tǒng)基本不需要作業(yè)調(diào)度。進(jìn)程調(diào)度:是從進(jìn)程的就緒隊(duì)列中選出一新進(jìn)程,把處理機(jī)分配給它,并為它設(shè)置運(yùn)行現(xiàn)場(chǎng), 使進(jìn)程投入執(zhí)行。在多線程OS中,通常是把線程作為獨(dú)立運(yùn)行和分配處

17、理機(jī)的基本單位.421.4.2 存儲(chǔ)器管理功能 1. 內(nèi)存分配 靜態(tài)分配方式:每個(gè)作業(yè)的內(nèi)存空間是在作業(yè)裝入時(shí)確定的;在作業(yè)裝入后的整個(gè)運(yùn)行期間, 不允許該作業(yè)再申請(qǐng)新的內(nèi)存空間,也不允許作業(yè)在內(nèi)存中“移動(dòng)”; 動(dòng)態(tài)分配方式:每個(gè)作業(yè)所要求的基本內(nèi)存空間, 也是在裝入時(shí)確定的,但允許作業(yè)在運(yùn)行過程中,繼續(xù)申請(qǐng)新的附加內(nèi)存空間,以適應(yīng)程序和數(shù)據(jù)的動(dòng)態(tài)增漲,也允許作業(yè)在內(nèi)存中“移動(dòng)”。 43 內(nèi)存分配的機(jī)制中應(yīng)具有的結(jié)構(gòu)和功能: 內(nèi)存分配數(shù)據(jù)結(jié)構(gòu) ;如段表、頁表 內(nèi)存分配功能 ;分配策略、算法 內(nèi)存回收功能 。 44 2. 內(nèi)存保護(hù) 任務(wù):是確保每道用戶程序都只在自己的內(nèi)存空間內(nèi)運(yùn)行,彼此互不干擾

18、。 為了確保每道程序都只在自己的內(nèi)存區(qū)中運(yùn)行,必須設(shè)置內(nèi)存保護(hù)機(jī)制。一種比較簡(jiǎn)單的內(nèi)存保護(hù)機(jī)制,是設(shè)置兩個(gè)界限寄存器,分別用于存放正在執(zhí)行程序的上界和下界。越界檢查。45 3. 地址映射 將地址空間中的邏輯地址轉(zhuǎn)換為內(nèi)存空間中與之對(duì)應(yīng)的物理地址。邏輯地址空間 物理地址空間 :源程序(編譯)目標(biāo)程序(鏈接) 可裝入程序【邏輯地址】裝入到內(nèi)存【物理地址】 46 4. 內(nèi)存擴(kuò)充虛擬存儲(chǔ)技術(shù),從邏輯上去擴(kuò)充內(nèi)存容量。為了能在邏輯上擴(kuò)充內(nèi)存,系統(tǒng)必須具有內(nèi)存擴(kuò)充機(jī)制, 用于實(shí)現(xiàn)下述各功能: (1) 請(qǐng)求調(diào)入功能。 (2) 置換功能。 47存儲(chǔ)體系舉例操作系統(tǒng)課程主要介紹主存儲(chǔ)器的管理,但整個(gè)存儲(chǔ)體系還有

19、更多的層次48 1.4.3 設(shè)備管理功能 主要任務(wù): 完成用戶進(jìn)程提出的I/O請(qǐng)求; 為用戶進(jìn)程分配其所需的I/O設(shè)備;提高CPU和I/O設(shè)備的利用率;提高I/O速度;方便用戶使用I/O設(shè)備。設(shè)備管理應(yīng)具有緩沖管理、設(shè)備分配和設(shè)備處理,以及虛擬設(shè)備等功能。 49 1. 緩沖管理 CPU運(yùn)行的高速性和I/O低速性間的矛盾. 現(xiàn)代計(jì)算機(jī)系統(tǒng)中, 都毫無例外地在內(nèi)存中設(shè)置了緩沖區(qū),而且還可通過增加緩沖區(qū)容量的方法,來改善系統(tǒng)的性能。 最常見的緩沖區(qū)機(jī)制有單緩沖機(jī)制、能實(shí)現(xiàn)雙向同時(shí)傳送數(shù)據(jù)的雙緩沖機(jī)制,以及能供多個(gè)設(shè)備同時(shí)使用的公用緩沖池機(jī)制。 50 2. 設(shè)備分配基本任務(wù)- 根據(jù)用戶進(jìn)程的I/O請(qǐng)求

20、、系統(tǒng)的現(xiàn)有資源情況以及按照某種設(shè)備分配策略,為之分配其所需的設(shè)備。如果在I/O設(shè)備和CPU之間,還存在著設(shè)備控制器和I/O通道時(shí),還須為分配出去的設(shè)備分配相應(yīng)的控制器和通道。51 3. 設(shè)備處理【設(shè)備驅(qū)動(dòng)程序】- 實(shí)現(xiàn)CPU和設(shè)備控制器之間的通信. 處理過程: 檢查I/O請(qǐng)求的合法性,了解設(shè)備狀態(tài)是否空閑,了解有關(guān)的傳遞參數(shù)及設(shè)置設(shè)備的工作方式。向設(shè)備控制器發(fā)出I/O命令,啟動(dòng)I/O設(shè)備去完成指定的I/O操作。設(shè)備驅(qū)動(dòng)程序還應(yīng)能及時(shí)響應(yīng)由控制器發(fā)來的中斷請(qǐng)求對(duì)于設(shè)置了通道的計(jì)算機(jī)系統(tǒng), 應(yīng)能根據(jù)用戶的I/O請(qǐng)求,自動(dòng)地構(gòu)成通道程序。 521.4.4 文件管理功能 1. 文件存儲(chǔ)空間的管理 記

21、錄文件存儲(chǔ)空間的使用情況的數(shù)據(jù)結(jié)構(gòu) , 對(duì)存儲(chǔ)空間進(jìn)行分配和回收的功能。 為了提高存儲(chǔ)空間的利用率,對(duì)存儲(chǔ)空間的分配,通常是采用離散分配方式,以減少外存零頭,并以盤塊為基本分配單位。盤塊的大小通常為512 B8 KB。 53 2. 目錄管理 目錄項(xiàng)。目錄項(xiàng)包括文件名、文件屬性、文件在磁盤上的物理位置等。由若干個(gè)目錄項(xiàng)又可構(gòu)成一個(gè)目錄文件。目錄管理的主要任務(wù), 是為每個(gè)文件建立其目錄項(xiàng),并對(duì)眾多的目錄項(xiàng)加以有效的組織,以實(shí)現(xiàn)方便的按名存取。 其次,目錄管理還應(yīng)能實(shí)現(xiàn)文件共享, 提供目錄查詢手段 。 54 3. 文件的讀/寫管理和保護(hù) (1) 文件的讀/寫管理。從外存中讀取數(shù)據(jù);或?qū)?shù)據(jù)寫入外存。

22、檢索文件目錄,從中獲得文件在外存中的位置。利用文件讀(寫)指針,對(duì)文件進(jìn)行讀(寫)。修改讀(寫)指針,為下一次讀(寫)做好準(zhǔn)備。 (2) 文件保護(hù)。 防止未經(jīng)核準(zhǔn)的用戶存取文件; 防止冒名頂替存取文件; 防止以不正確的方式使用文件。 551.4.5 用戶接口1. 命令接口 (1) 聯(lián)機(jī)用戶接口。 (鍵盤命令及命令解釋程序) (2) 脫機(jī)用戶接口 (批處理作業(yè)用戶)。 56 2. 程序接口用戶程序取得操作系統(tǒng)服務(wù)的惟一途徑。由一組系統(tǒng)調(diào)用組成。每一個(gè)系統(tǒng)調(diào)用都是一個(gè)能完成特定功能的子程序,每當(dāng)應(yīng)用程序要求OS提供某種服務(wù)(功能)時(shí),便調(diào)用具有相應(yīng)功能的系統(tǒng)調(diào)用。57 3. 圖形接口 方便性:用戶

23、已完全不必像使用命令接口那樣去記住命令名及格式,從而把用戶從繁瑣且單調(diào)的操作中解脫出來。 GUI 系統(tǒng)的復(fù)雜性資源利用率的權(quán)衡581.5 操作系統(tǒng)的結(jié)構(gòu)設(shè)計(jì) 1.5.1 軟件工程的基本概念 軟件:包括指令,程序,文檔 軟件工程:運(yùn)用系統(tǒng)的、規(guī)范的和可定量的方法,來開發(fā)、運(yùn)行和維護(hù)軟件。操作系統(tǒng)作為一個(gè)大型的系統(tǒng)軟件,是采用軟件工程學(xué)的方法開發(fā)的。設(shè)計(jì)原則:保證系統(tǒng)的可靠性,可維護(hù)性。59 1.5.2 傳統(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),以及微內(nèi)核結(jié)構(gòu)。OS結(jié)構(gòu)的更新?lián)Q代:把第一代至第三代的O

24、S結(jié)構(gòu), 稱為傳統(tǒng)的OS結(jié)構(gòu),而把微內(nèi)核的OS結(jié)構(gòu)稱為現(xiàn)代OS結(jié)構(gòu)。 60操作系統(tǒng)設(shè)計(jì)者注重功能的實(shí)現(xiàn)和高的效率上,缺乏首尾一致的設(shè)計(jì)思想。 此時(shí)的OS是為數(shù)眾多的一組過程的集合,各過程之間可以相互調(diào)用,在操作系統(tǒng)內(nèi)部不存在清晰的結(jié)構(gòu),因此,這種OS是無結(jié)構(gòu)的,也有人把它稱為整體系統(tǒng)結(jié)構(gòu)。該階段OS設(shè)計(jì)的技巧,只注重編制緊湊的程序,以便于有效地利用內(nèi)存;對(duì)GOTO語句的使用不加限制,導(dǎo)致操作系統(tǒng)龐大而雜亂,缺乏清晰的結(jié)構(gòu)。后果:使所編制出的程序錯(cuò)誤很多,調(diào)試?yán)щy;也使程序難以閱讀和理解,增加了維護(hù)人員的負(fù)擔(dān)。 1. 無結(jié)構(gòu)或簡(jiǎn)單結(jié)構(gòu)操作系統(tǒng)61 2. 模塊化OS結(jié)構(gòu) 1) 模塊化結(jié)構(gòu) 模塊化程

25、序設(shè)計(jì)技術(shù) :將OS按其功能劃分為若干個(gè)具有一定獨(dú)立性和大小的模塊。該技術(shù)是基于“分解”和“模塊化”原則來控制大型軟件的復(fù)雜度。分解 自頂向下逐步細(xì)分模塊化- 功能與模塊對(duì)應(yīng),并定義模塊之間的接口62圖 1-5 模塊化操作系統(tǒng)結(jié)構(gòu) 632) 模塊化OS的優(yōu)缺點(diǎn)優(yōu)點(diǎn):提高了OS設(shè)計(jì)的正確性、 可理解性和可維護(hù)性。 增強(qiáng)了OS的可適應(yīng)性。 加速了OS的開發(fā)過程。 缺點(diǎn):1. 對(duì)模塊的劃分及對(duì)接口的規(guī)定并不精確或錯(cuò)誤,很難保證模塊完全正確, 導(dǎo)致模塊裝配成OS時(shí)發(fā)生困難;2. 功能模塊的劃分受系統(tǒng)資源制約關(guān)系的影響,例如未能將共享資源和獨(dú)占資源加以區(qū)別; 使模塊間存在著復(fù)雜的依賴關(guān)系,使OS結(jié)構(gòu)變得

26、不清晰。 643. 分層式OS結(jié)構(gòu) 1) 有序分層的基本概念使我們的每一步設(shè)計(jì)都是建立在可靠的基礎(chǔ)上。簡(jiǎn)化了調(diào)試和系統(tǒng)驗(yàn)證過程。 2) 層次的設(shè)置 (1) 程序嵌套。 考慮在實(shí)現(xiàn)OS 的每個(gè)功能時(shí)所形成的程序嵌套(功能邏輯關(guān)系)。65 (2) 運(yùn)行頻率。在分層結(jié)構(gòu)中,各層次軟件的運(yùn)行速度是不同的,因?yàn)锳1層軟件能直接在物理機(jī)器上運(yùn)行, 故它有最高的運(yùn)行速度。隨著層次的增高,其相應(yīng)軟件的運(yùn)行速度就隨之下降,因而An層軟件的運(yùn)行速度最低。 為了提高OS的運(yùn)行效率,應(yīng)該將那些經(jīng)常活躍的模塊放在最接近硬件的A1層,如時(shí)鐘管理、進(jìn)程調(diào)度,通常都放在A1層。 66 (3) 公用模塊。應(yīng)把供多種資源管程程序

27、調(diào)用的公用模塊, 設(shè)置在最低層,不然,會(huì)使比它低的層次模塊由于無法調(diào)用它而須另外配置相應(yīng)功能的模塊。例如,用于對(duì)信號(hào)量進(jìn)行操作的原語Signal和Wait。 (4) 用戶接口。為方便用戶(程序),OS向用戶提供了“用戶與OS的接口”,如命令接口、程序接口以及圖形用戶接口。這些接口應(yīng)設(shè)置在OS的最高層,直接提供給用戶使用。 67OS結(jié)構(gòu)舉例 【 Silberschatz 教材 p57.】 1. Simple Structure MS-DOS written to provide the most functionality in the least spaceNot divided into m

28、odulesAlthough MS-DOS has some structure, its interfaces and levels of functionality are not well separated68MS-DOS StructureMS-DOS的結(jié)構(gòu)沒有細(xì)致的劃分模塊69UNIXUNIX limited by hardware functionality, the original UNIX operating system had limited structuring. 早期UNIX結(jié)構(gòu)受限于硬件The UNIX OS consists of two separable

29、parts:Systems programsThe kernelConsists of everything below the system-call interface and above the physical hardwareProvides the file system, CPU scheduling, memory management, and other operating-system functions; a large number of functions for one level70UNIX System Structure【內(nèi)核:包括在系統(tǒng)調(diào)用接口和和下層的硬

30、件接口之間的所有部分。使得系統(tǒng)難以擴(kuò)展,因?yàn)楦膭?dòng)會(huì)影響到很多其他部分。】71Solaris Modular Approach72ModulesMost modern operating systems implement kernel modulesUses object-oriented approachEach core component is separateEach talks to the others over known interfacesEach is loadable as needed within the kernelOverall, similar to layer

31、s but with more flexible732. Layered Operating System74 Layered ApproachThe operating system is divided into a number of layers (levels), each built on top of lower layers. The bottom layer (layer 0), is the hardware; the highest (layer N) is the user interface.With modularity, layers are selected s

32、uch that each uses functions (operations) and services of only lower-level layers 分層式結(jié)構(gòu)設(shè)計(jì)的基本原則是:每一層都僅使用其底層所提供的功能和服務(wù),這樣可使系統(tǒng)的調(diào)試和驗(yàn)證都變得容易751.5.3 微內(nèi)核OS結(jié)構(gòu) 1. 客戶/服務(wù)器模式(Client-Server Model) 1) 基本概念 為了提高OS的靈活性和可擴(kuò)充性而將OS劃分為兩部分:用于提供各種服務(wù)的一組服務(wù)(進(jìn)程),如用于提供進(jìn)程管理的進(jìn)程服務(wù)器、提供存儲(chǔ)器管理的存儲(chǔ)器服務(wù)器提供文件管理的文件服務(wù)器等,所有這些服務(wù)器(進(jìn)程)都運(yùn)行在用戶態(tài)。 內(nèi)核

33、,用來處理客戶和服務(wù)器之間的通信, 即由內(nèi)核來接收客戶的請(qǐng)求,再將該請(qǐng)求送至相應(yīng)的服務(wù)器;同時(shí)它也接收服務(wù)器的應(yīng)答, 并將此應(yīng)答回送給請(qǐng)求客戶。76圖 1-6 單機(jī)環(huán)境下的客戶/服務(wù)器模式 772) 客戶/服務(wù)器模式的優(yōu)點(diǎn)提高了系統(tǒng)的靈活性和可擴(kuò)充性。 (2) 提高了OS的可靠性。 (3) 可運(yùn)行于分布式系統(tǒng)中。 對(duì)操作系統(tǒng)結(jié)構(gòu)設(shè)計(jì)的意義在于,可以把所有非基本部分從內(nèi)核中移走。782. 面向?qū)ο蟮某绦蛟O(shè)計(jì)技術(shù)(Object-Orientated Programming) 1) 面向?qū)ο蠹夹g(shù)的基本概念圖 1-7 一個(gè)對(duì)象的示意圖 數(shù)據(jù)結(jié)構(gòu)過程1過程2過程379 2) 面向?qū)ο蠹夹g(shù)的優(yōu)點(diǎn) (1)

34、可修改性和可擴(kuò)充性。由于隱蔽了表示實(shí)體的數(shù)據(jù)和操作,因而可以改變對(duì)象的表示而不會(huì)影響其它部分, 從而可以方便地改變老的對(duì)象和增加新的對(duì)象。 (2) 繼承性。繼承性是面向?qū)ο蠹夹g(shù)所具有的重要特性。繼承性是指子對(duì)象可以繼承父對(duì)象的屬性,這樣,在創(chuàng)建一個(gè)新的對(duì)象時(shí), 便可減少大量的時(shí)空開銷。 (3) 正確性和可靠性。由于對(duì)象是構(gòu)成操作系統(tǒng)的基本單元,可以獨(dú)立地對(duì)它進(jìn)行測(cè)試,這樣,比較易于保證其正確性和可靠性,從而比較容易保證整個(gè)系統(tǒng)的正確性和可靠性。 803. 微內(nèi)核技術(shù)微內(nèi)核技術(shù)的引入 所謂微內(nèi)核技術(shù),是指精心設(shè)計(jì)的、能實(shí)現(xiàn)現(xiàn)代OS核心功能的小型內(nèi)核。它與一般的OS(程序)不同, 它更小更精煉,它

35、不僅運(yùn)行在核心態(tài),而且開機(jī)后常駐內(nèi)存, 它不會(huì)因內(nèi)存緊張而被換出內(nèi)存。81 2) 微內(nèi)核的基本功能 微內(nèi)核所提供的功能,通常都是一些最基本的功能,如進(jìn)程管理、存儲(chǔ)器管理、進(jìn)程間通信、 低級(jí)I/O功能。 (1) 進(jìn)程管理。 (2) 存儲(chǔ)器管理。 (3) 進(jìn)程通信管理。 (4) I/O設(shè)備管理。 哪些服務(wù)應(yīng)該保留在內(nèi)核中,哪些應(yīng)該在用戶空間實(shí)現(xiàn)。沒有定論。 82微內(nèi)核技術(shù)的優(yōu)點(diǎn):系統(tǒng)可擴(kuò)充性- 新增服務(wù)會(huì)加到用戶空間,內(nèi)核不需要修改或改動(dòng)極小。移植性- 小內(nèi)核便于移植到不同的硬件平臺(tái)。安全性和可靠性- 大多數(shù)服務(wù)是用戶進(jìn)程而不是系統(tǒng)進(jìn)程。即使某個(gè)服務(wù)失敗,不會(huì)影響操作系統(tǒng)其他部分。83OS Structure整體結(jié)構(gòu)和微內(nèi)核結(jié)構(gòu)的對(duì)比84Microkernel System Structure Moves as much from the kernel into “user” spaceCommunication takes place between user modules using message passingBenefits:Easier

溫馨提示

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

評(píng)論

0/150

提交評(píng)論