計(jì)算機(jī)操作系統(tǒng)第一章課件模板_第1頁
計(jì)算機(jī)操作系統(tǒng)第一章課件模板_第2頁
計(jì)算機(jī)操作系統(tǒng)第一章課件模板_第3頁
計(jì)算機(jī)操作系統(tǒng)第一章課件模板_第4頁
計(jì)算機(jī)操作系統(tǒng)第一章課件模板_第5頁
已閱讀5頁,還剩102頁未讀, 繼續(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)第一章課件模板計(jì)算機(jī)操作系統(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ì)1.1 操作系統(tǒng)的目標(biāo)和作用 教學(xué)目的與要求掌握操作系統(tǒng)的定義、基本特征和主要功能,了解操作系統(tǒng)的發(fā)展歷程、典型操作系統(tǒng)的特點(diǎn)和結(jié)構(gòu)、設(shè)計(jì)方法,理解批處理和分時(shí)系統(tǒng)的實(shí)現(xiàn)方式。教學(xué)目的與要求掌握操作系統(tǒng)的定義、基本特征和主要功能,了解操教學(xué)重點(diǎn)與難點(diǎn)操作系統(tǒng)的定義操作系統(tǒng)的特征操作系統(tǒng)的功能4. 基本類型的操作系統(tǒng)5. 多道程序設(shè)計(jì)技術(shù)、分時(shí)技術(shù)教學(xué)重點(diǎn)與難點(diǎn)計(jì)算機(jī)系統(tǒng)的組成硬件系統(tǒng)(裸機(jī)):CPU、

2、存儲(chǔ)器(主存、輔存)、I/O、I/O控制系統(tǒng)軟件系統(tǒng):系統(tǒng)軟件、應(yīng)用軟件系統(tǒng)軟件:管理計(jì)算機(jī)本身的操作。如操作系統(tǒng)、編譯 應(yīng)用軟件:提供給用戶進(jìn)行解題。如科學(xué)計(jì)算、事務(wù)管理和各章對(duì)應(yīng)計(jì)算機(jī)系統(tǒng)的組成硬件系統(tǒng)(裸機(jī)):CPU、存儲(chǔ)器(主存、輔存計(jì)算機(jī)操作系統(tǒng)第一章課件模板計(jì)算機(jī)操作系統(tǒng)第一章課件模板計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu)計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu)操作系統(tǒng)的地位操作系統(tǒng)的地位1.1 操作系統(tǒng)的目標(biāo)和作用1.1.1 操作系統(tǒng)的目標(biāo)與計(jì)算機(jī)系統(tǒng)規(guī)模和操作系統(tǒng)應(yīng)用環(huán)境有關(guān) 1. 方便性 用戶使用方便 2. 有效性 提高資源利用率 系統(tǒng)吞吐量 3. 可擴(kuò)充性 結(jié)構(gòu)和功能變化的新要求 4. 開放性 OSI POSI

3、X 沒有操作系統(tǒng)的計(jì)算機(jī)就是一堆廢銅爛鐵。 安德魯.塔嫩鮑姆1.1 操作系統(tǒng)的目標(biāo)和作用1.1.1 操作系統(tǒng)的目標(biāo)1.1.2 操作系統(tǒng)的作用1.OS作為用戶與計(jì)算機(jī)硬件系統(tǒng)之間的接口 含義:OS處于用戶與計(jì)算機(jī)硬件系統(tǒng)之間,用戶通過OS來使用計(jì)算機(jī)系統(tǒng)?;蛘哒f,用戶在OS幫助下,能夠方便、快捷、安全、可靠地操縱計(jì)算機(jī)硬件和運(yùn)行自己的程序。 注意:這種接口是軟件接口。 一般用戶觀點(diǎn)1.1.2 操作系統(tǒng)的作用1.OS作為用戶與計(jì)算機(jī)硬件系統(tǒng)計(jì)算機(jī)操作系統(tǒng)第一章課件模板用戶使用計(jì)算機(jī)的三種方式(1) 命令方式。聯(lián)機(jī),鍵盤輸入dir copy ping regedit (2) 系統(tǒng)調(diào)用方式。通過應(yīng)用程

4、序進(jìn)行系統(tǒng)調(diào)用。 Windows API fd=open(“mydata”,O_RDONLY) (3) 圖形、窗口方式。 窗口、圖標(biāo)。用戶使用計(jì)算機(jī)的三種方式(1) 命令方式。2. OS作為計(jì)算機(jī)系統(tǒng)資源的管理者硬件 處理器、存儲(chǔ)器、 I/O設(shè)備軟件 信息(數(shù)據(jù)和程序)多用戶共享資源的沖突處理?資源管理觀點(diǎn)2. OS作為計(jì)算機(jī)系統(tǒng)資源的管理者硬件資源管理觀點(diǎn)3. OS實(shí)現(xiàn)了對(duì)計(jì)算機(jī)資源的抽象裸機(jī)虛擬機(jī)(擴(kuò)展機(jī)) 覆蓋了軟件的機(jī)器多層虛機(jī)器操作系統(tǒng)是硬件功能的首次擴(kuò)充3. OS實(shí)現(xiàn)了對(duì)計(jì)算機(jī)資源的抽象裸機(jī)1.1.3 推動(dòng)操作系統(tǒng)發(fā)展的主要?jiǎng)恿?.不斷提高計(jì)算機(jī)資源利用率 批處理2.方便用戶 分時(shí)

5、 3.器件的不斷更新?lián)Q代 8位到64位4.計(jì)算機(jī)體系結(jié)構(gòu)的不斷發(fā)展 單機(jī)多機(jī)5.不斷提出新的應(yīng)用需求1.1.3 推動(dòng)操作系統(tǒng)發(fā)展的主要?jiǎng)恿?.2 操作系統(tǒng)的發(fā)展過程1.2.1 未配置操作系統(tǒng)的計(jì)算機(jī)系統(tǒng)1. 人工操作方式 從第一臺(tái)計(jì)算機(jī)誕生(1946年)到50年代中期的計(jì)算機(jī),屬于第一代,這時(shí)還未出現(xiàn)OS。計(jì)算機(jī)操作是由用戶采用人工操作方式直接使用計(jì)算機(jī)硬件系統(tǒng),即由程序員將事先已穿孔(對(duì)應(yīng)于程序和數(shù)據(jù))的紙帶(或卡片)裝入紙帶輸入機(jī)(或卡片輸入機(jī)),再啟動(dòng)它們將程序和數(shù)據(jù)輸入計(jì)算機(jī), 然后啟動(dòng)計(jì)算機(jī)運(yùn)行。當(dāng)程序運(yùn)行完畢并取走計(jì)算結(jié)果后,才讓下一個(gè)用戶上機(jī)。1.2 操作系統(tǒng)的發(fā)展過程1.2.1

6、 未配置操作系統(tǒng)的計(jì)算計(jì)算機(jī)操作系統(tǒng)第一章課件模板缺點(diǎn):用戶獨(dú)占全機(jī)CPU等待人工操作問題:人機(jī)矛盾突出、CPU與I/O矛盾解決:通道、緩沖、脫機(jī)I/O缺點(diǎn):2. 脫機(jī)輸入/輸出(Off-Line I/O)方式2. 脫機(jī)輸入/輸出(Off-Line I/O)方式1956年:IBM向客戶交付第一臺(tái)磁盤驅(qū)動(dòng)器RAMAC 305,可存儲(chǔ)5MB數(shù)據(jù),每MB成本為10000美元。它有2個(gè)冰箱那樣大,使用50個(gè)24英寸盤片 1956年:IBM向客戶交付第一臺(tái)磁盤驅(qū)動(dòng)器RAMAC 30脫機(jī)輸入技術(shù)將用戶程序和數(shù)據(jù),在一臺(tái)外圍計(jì)算機(jī)的控制下,預(yù)先從低速輸入設(shè)備輸入到磁帶上,當(dāng)CPU需要這些程序和數(shù)據(jù)時(shí),再直接

7、從磁帶機(jī)高速輸入到內(nèi)存。解決低速輸入設(shè)備與CPU速度不匹配的問題,加快了程序的輸入過程,減少了CPU等待輸入的時(shí)間。脫機(jī)輸入技術(shù)將用戶程序和數(shù)據(jù),在一臺(tái)外圍計(jì)算機(jī)的控制下,預(yù)先脫機(jī)輸出技術(shù)當(dāng)程序運(yùn)行完畢或告一段落,CPU需要輸出時(shí),無須直接把計(jì)算結(jié)果送至低速輸出設(shè)備,而是高速地把結(jié)果送到磁帶上,然后再另一臺(tái)外圍機(jī)地控制下,把磁帶上的計(jì)算結(jié)果由相應(yīng)的輸出設(shè)備輸出。加快了程序的輸出過程。脫機(jī)輸出技術(shù)當(dāng)程序運(yùn)行完畢或告一段落,CPU需要輸出時(shí),無須脫機(jī)輸入/輸出方式程序和數(shù)據(jù)的輸入輸出都是在外圍計(jì)算機(jī)的控制下完成的,即它們是脫離主機(jī)進(jìn)行的,故稱之為脫機(jī)輸入輸出方式聯(lián)機(jī)輸入/輸出方式 on-line

8、I/O優(yōu)點(diǎn)(1)減少了CPU的空閑時(shí)間(2)提高I/O速度脫機(jī)輸入/輸出方式程序和數(shù)據(jù)的輸入輸出都是在外圍計(jì)算機(jī)的控制1.2.2 單道批處理系統(tǒng)批處理技術(shù):指計(jì)算機(jī)系統(tǒng)對(duì)一批作業(yè)自動(dòng)進(jìn)行處理的一種技術(shù)。 作業(yè):從輸入到輸出用戶要求計(jì)算機(jī)做的全部工作。由程序、數(shù)據(jù)、作業(yè)說明書(作業(yè)控制語言書寫,由作業(yè)步組成)組成。p88監(jiān)督程序:管理作業(yè)的運(yùn)行,負(fù)責(zé)裝入和運(yùn)行各種系統(tǒng)程序來完成作業(yè)的自動(dòng)過度。(操作系統(tǒng)雛形)單道批處理系統(tǒng):系統(tǒng)對(duì)作業(yè)成批處理;內(nèi)存中僅一道作業(yè)。1.2.2 單道批處理系統(tǒng)批處理技術(shù):指計(jì)算機(jī)系統(tǒng)對(duì)一批作業(yè)1. 單道批處理系統(tǒng)(Simple Batch Processing Sys

9、tem)的處理過程1. 單道批處理系統(tǒng)(Simple Batch Proces2. 單道批處理系統(tǒng)的特征(1) 自動(dòng)性。 不需人工干預(yù) (2) 順序性。 先調(diào)入內(nèi)存作業(yè)先完成(3) 單道性。 內(nèi)存僅一道程序缺點(diǎn):資源利用率低2. 單道批處理系統(tǒng)的特征1.2.3 多道批處理系統(tǒng)1. 多道程序設(shè)計(jì)的基本概念在計(jì)算機(jī)內(nèi)存中同時(shí)存放若干道已開始運(yùn)行尚未結(jié)束的程序,它們交替運(yùn)行,共享系統(tǒng)中的各種硬、軟件資源,當(dāng)一道程序因?yàn)槟撤N原因而暫停執(zhí)行時(shí),CPU立即轉(zhuǎn)去執(zhí)行另一道程序。用戶所提交的作業(yè)都先存放在外存上并排成一個(gè)隊(duì)列,稱為“后備隊(duì)列”;然后,由作業(yè)調(diào)度程序按一定的算法從后備隊(duì)列中選擇若干個(gè)作業(yè)調(diào)入內(nèi)存

10、,使它們共享CPU和系統(tǒng)中的各種資源。1964年IBM 的 OS/360 發(fā)布時(shí),帶著已知的 1000 個(gè)錯(cuò)誤 大型主機(jī)的經(jīng)典之作 1.2.3 多道批處理系統(tǒng)1. 多道程序設(shè)計(jì)的基本概念1961964年,IBM發(fā)布了S/360系統(tǒng),對(duì)應(yīng)的最早的主機(jī)操作系統(tǒng)為OS/360,命名360的意思是指一個(gè)圓的360度角,表示全方位的服務(wù)。OS/360支持多道程序,最多可同時(shí)運(yùn)行15道程序。為了便于管理,OS/360把中央存儲(chǔ)器劃分為多個(gè)(最多15個(gè))分區(qū),每個(gè)程序在一個(gè)分區(qū)中運(yùn)行。 1964年,IBM發(fā)布了S/360系統(tǒng),對(duì)應(yīng)的最早的主機(jī)操作這款操作系統(tǒng)出自藍(lán)色巨人IBM(國(guó)際商用機(jī)器公司)之手,IBM

11、在電腦史上的地位堪稱泰山北斗,甚至有專家說過,“電腦的歷史就是IBM的歷史”。而“360系統(tǒng)”堪稱IBM歷史上最重要的項(xiàng)目之一。在61年年底,IBM開始打算實(shí)施“360系統(tǒng)電子計(jì)算機(jī)計(jì)劃”,據(jù)當(dāng)時(shí)的估算,整個(gè)計(jì)劃投資約需50億美元(這可是在60年代初,十幾年前的“曼哈頓工程”才花了20億),這是不折不扣的大手筆,要知道,當(dāng)時(shí)IBM的年?duì)I業(yè)額還不到這個(gè)數(shù)字。之所以如此花錢,是因?yàn)檫@項(xiàng)計(jì)劃要做一些以前沒人做過的事,這將是一個(gè)通用的系統(tǒng)(360就是360度的意思,表示該系統(tǒng)全面的應(yīng)用范圍),該系列不同型號(hào)的計(jì)算機(jī)將能享用同樣的設(shè)備,如磁帶機(jī)、打印機(jī)等,能使用同樣的軟件,并且可以相互連接,一起工作,這

12、些在今天看來理所當(dāng)然的事,在當(dāng)時(shí)可是聞所未聞。該項(xiàng)目在硬件設(shè)計(jì)上很有創(chuàng)新,乃至IBM不得不自己動(dòng)手設(shè)計(jì)制造芯片(因?yàn)橘I不到),但更大的困難卻是在軟件方面,要讓所有的軟件適用于所有的電腦(當(dāng)然,僅限于360系列),這個(gè)理念讓IBM的軟件工程師們傷透腦筋,投入到這個(gè)項(xiàng)目中的軟件工程師超過2000人(Windows2000也只動(dòng)用了1700名),花費(fèi)超過5億美元,竟然超過了硬件研發(fā)的費(fèi)用,所有這些都是創(chuàng)紀(jì)錄的。負(fù)責(zé)這項(xiàng)艱苦卓絕的開發(fā)任務(wù)的,是Frederick Brooks,當(dāng)時(shí)年僅三十,他是世界上第一批獲得計(jì)算機(jī)科學(xué)博士學(xué)位的人之一,有趣的是,當(dāng)開發(fā)這個(gè)新型操作系統(tǒng)的計(jì)劃提出時(shí),Brooks本是最

13、強(qiáng)硬的反對(duì)派,因?yàn)樗X得這個(gè)項(xiàng)目的難度駭人聽聞,實(shí)在是不切實(shí)際。但當(dāng)IBM的管理層拍下板來,要Brooks擔(dān)當(dāng)重任時(shí),他居然慨然應(yīng)允,高風(fēng)亮節(jié),實(shí)在是令人佩服。360操作系統(tǒng)的開發(fā)用了5000個(gè)人年(人年就是一個(gè)人一年的工作量),由于從未有過開發(fā)這種大型軟件的經(jīng)驗(yàn),開發(fā)組陷入了“有史以來最可怕的軟件開發(fā)泥潭”,最終也沒能完全實(shí)現(xiàn)當(dāng)初的設(shè)想。Brooks后來根據(jù)這次開發(fā)任務(wù)的經(jīng)驗(yàn),寫了一本人月神話(The Mythical Man-Month),成為軟件工程領(lǐng)域內(nèi)的經(jīng)典著作。他本人更在1999年獲得了計(jì)算機(jī)領(lǐng)域的最高獎(jiǎng)“圖靈獎(jiǎng)”。盡管軟件開發(fā)工作未獲全勝,但360項(xiàng)目還是取得了輝煌的成功,IBM

14、在籍此在計(jì)算機(jī)行業(yè)幾乎是一統(tǒng)天下,IBM/360更被譽(yù)為人類從原子能時(shí)代進(jìn)入信息時(shí)代標(biāo)志。此后IBM開發(fā)的大型機(jī)系列都保持了與360系統(tǒng)的兼容,直到最新的z系列,在360上寫的程序仍可以不經(jīng)修改的運(yùn)行,“兼容”這一概念從此開始深入人心。需要交待一下,360計(jì)劃雖然是在61年開始啟動(dòng),但等到完成己是1964年,它的主要部件采用了集成電路(Intergrated Circuit,IC),屬于第三代計(jì)算機(jī),它也是第三代計(jì)算機(jī)的標(biāo)志產(chǎn)品。這款操作系統(tǒng)出自藍(lán)色巨人IBM(國(guó)際商用機(jī)器公司)之手,計(jì)算機(jī)操作系統(tǒng)第一章課件模板在OS中引入多道程序設(shè)計(jì)技術(shù)的好處提高CPU的利用率可提高內(nèi)存和I/O設(shè)備利用率增

15、加系統(tǒng)吞吐量(系統(tǒng)在單位時(shí)間內(nèi)所完成的總工作量)在OS中引入多道程序設(shè)計(jì)技術(shù)的好處2. 多道批處理系統(tǒng)的特征多道性:內(nèi)存中的多道程序并發(fā)執(zhí)行(宏觀上并行,微觀上串行)無序性:多個(gè)作業(yè)完成的先后順序與他們進(jìn)入內(nèi)存的順序之間沒有嚴(yán)格的對(duì)應(yīng)關(guān)系 先進(jìn)入未必先完成調(diào)度性:作業(yè)調(diào)度、進(jìn)程調(diào)度2. 多道批處理系統(tǒng)的特征多道性:內(nèi)存中的多道程序并發(fā)執(zhí)行(3. 多道批處理系統(tǒng)的優(yōu)缺點(diǎn)(1)資源利用率高。 (2) 系統(tǒng)吞吐量大。 (3) 平均周轉(zhuǎn)時(shí)間長(zhǎng)。 (4) 無交互能力。適合大型科學(xué)計(jì)算(解偏微分方程)、數(shù)據(jù)處理長(zhǎng)期的天氣數(shù)值預(yù)報(bào)、整體的飛機(jī)氣動(dòng)力設(shè)計(jì)和在石油勘探中處理 3. 多道批處理系統(tǒng)的優(yōu)缺點(diǎn)(1)資

16、源利用率高。 4. 多道批處理系統(tǒng)需要解決的問題(1)處理機(jī)爭(zhēng)用問題。 (2) 內(nèi)存分配和保護(hù)問題。 (3) I/O設(shè)備分配問題。 (4) 文件組織和管理問題。 (5) 作業(yè)管理問題。(6)用戶和系統(tǒng)的接口問題。4. 多道批處理系統(tǒng)需要解決的問題操作系統(tǒng)的形成為解決上述問題,需要在計(jì)算機(jī)系統(tǒng)中增加一組軟件。包括:控制和管理四大資源的軟件;合理地對(duì)各類作業(yè)進(jìn)行調(diào)度的軟件;方便用戶使用計(jì)算機(jī)的軟件。操作系統(tǒng)定義:控制和管理計(jì)算機(jī)硬件和軟件資源,合理地組織計(jì)算機(jī)的工作流程,以及方便用戶使用的程序的集合。操作系統(tǒng)的形成為解決上述問題,需要在計(jì)算機(jī)系統(tǒng)中增加一組卡片早期批處理系統(tǒng)IBM1401IBM70

17、94IBM1401輸入磁帶磁帶機(jī)卡片閱讀機(jī)輸出磁帶打印機(jī)卡片早期批處理系統(tǒng)IBM1401IBM7094IBM1401$END$RUNData for program$LOADFortran program$FORTRAN $JOB, 10,429754 Cherry Chen 典型的FMS JOB 結(jié)構(gòu)$END$RUNData for program$LOADF1.2.4 分時(shí)系統(tǒng)1. 分時(shí)系統(tǒng)(Time-Sharing System)的引入推動(dòng)分時(shí)系統(tǒng)形成和發(fā)展的主要?jiǎng)恿?用戶對(duì)人機(jī)交互的需求。 (1) 人機(jī)交互。 程序調(diào)試修改不便 (2) 共享主機(jī)。 計(jì)算機(jī)昂貴 (3) 便于用戶上機(jī)。使用

18、終端多用戶查詢系統(tǒng)1.2.4 分時(shí)系統(tǒng)1. 分時(shí)系統(tǒng)(Time-Sharing2.分時(shí)系統(tǒng)一臺(tái)主機(jī)上連接了多個(gè)帶有顯示器和鍵盤的終端,同時(shí)允許多個(gè)用戶通過自己的終端以交互的方式使用計(jì)算機(jī),共享主機(jī)的資源2.分時(shí)系統(tǒng)主機(jī)終端主機(jī)終端3.分時(shí)技術(shù)把處理機(jī)的運(yùn)行時(shí)間分成很短的時(shí)間片,按時(shí)間片輪流把處理機(jī)分配給各聯(lián)機(jī)作業(yè)使用。若某個(gè)作業(yè)在分配給它的時(shí)間片內(nèi)不能完成其計(jì)算,則該作業(yè)暫時(shí)停止運(yùn)行,把處理機(jī)讓給另一個(gè)作業(yè)使用,等待下一輪時(shí)再繼續(xù)其運(yùn)行。由于計(jì)算機(jī)速度很快,作業(yè)運(yùn)行輪轉(zhuǎn)的也很快,給每個(gè)用戶的感覺是好像自己獨(dú)占一臺(tái)計(jì)算機(jī)。3.分時(shí)技術(shù)把處理機(jī)的運(yùn)行時(shí)間分成很短的時(shí)間片,按時(shí)間片輪流4.分時(shí)操作系

19、統(tǒng)在操作系統(tǒng)中采用分時(shí)技術(shù)形成分時(shí)操作系統(tǒng)。在分時(shí)操作系統(tǒng)中,一臺(tái)計(jì)算機(jī)和許多終端設(shè)備連接,每個(gè)用戶可以通過終端向系統(tǒng)發(fā)出命令,請(qǐng)求完成某項(xiàng)工作,而系統(tǒng)則分析從終端設(shè)備發(fā)來的命令,完成用戶提出的請(qǐng)求,然后用戶根據(jù)系統(tǒng)提供的運(yùn)行結(jié)果向系統(tǒng)提出下一步請(qǐng)求,這樣重復(fù)上述交互會(huì)話過程,直到用戶完成預(yù)計(jì)的全部工作為止。UNIX系統(tǒng) 多用戶多任務(wù)分時(shí)網(wǎng)絡(luò)操作系統(tǒng)第一臺(tái)分時(shí)操作系統(tǒng)CTSS(Compatable Time Sharing System)由麻省理工學(xué)院開發(fā) 4.分時(shí)操作系統(tǒng)在操作系統(tǒng)中采用分時(shí)技術(shù)形成分時(shí)操作系統(tǒng)。在MULTICS 于 1963 年開始,直至 1969 年才發(fā)布Multics,

20、全名MULTiplexed Information and Computing System,是1964年由貝爾實(shí)驗(yàn)室、麻省理工學(xué)院,及美國(guó)通用電氣公司所共同參與研發(fā)的,是一套安裝在大型主機(jī)上多人多任務(wù)的操作系統(tǒng)。MULTICS以Compatible Time-Sharing System(CTSS)做基礎(chǔ),建置在美國(guó)通用電力公司的大型計(jì)算機(jī)GE-645。目的是連接1000部終端機(jī),支持300的用戶同時(shí)上線。1969年,因MULTICS計(jì)劃的工作進(jìn)度過于緩慢,最后終究遭裁撤的命運(yùn),貝爾實(shí)驗(yàn)室退出此計(jì)劃。當(dāng)時(shí),Ken Thompson撰寫一個(gè)稱為星際旅行(Star Travel)的游戲程序。Mu

21、ltics 計(jì)劃停止后,由貝爾實(shí)驗(yàn)室的兩位軟件工程師 Thompson 與 Ritchie 以C語言為基礎(chǔ)而發(fā)展出UNIX。MULTICS 于 1963 年開始,直至 1969 年才發(fā)AT&T的貝爾實(shí)驗(yàn)室 Ken Thompson,Dennis Ritchie1969,DEC PDP-7 小型計(jì)算機(jī),匯編語言一些應(yīng)用是由B語言(解釋型語言)和匯編語言混合編寫 ,1971發(fā)明了C,1973年重寫1983年圖靈獎(jiǎng)獲得者1999年4月 美國(guó)國(guó)家技術(shù)金獎(jiǎng)AT&T的貝爾實(shí)驗(yàn)室 Ken Thompson,Dennis5.分時(shí)系統(tǒng)實(shí)現(xiàn)中的關(guān)鍵問題人機(jī)交互(1) 及時(shí)接收。多路卡、終端緩沖區(qū) (2) 及時(shí)處理

22、。作業(yè)直接進(jìn)入內(nèi)存,以時(shí)間片為單位占據(jù)處理機(jī)5.分時(shí)系統(tǒng)實(shí)現(xiàn)中的關(guān)鍵問題人機(jī)交互6.分時(shí)系統(tǒng)的特征 (1)多路性。宏觀上同時(shí),微觀上輪流(2) 獨(dú)立性。 用戶獨(dú)占終端(3) 及時(shí)性。 時(shí)間片小(4) 交互性。 6.分時(shí)系統(tǒng)的特征 (1)多路性。宏觀上同時(shí),微觀上輪流1.2.5 實(shí)時(shí)系統(tǒng)1.定義系統(tǒng)能及時(shí)(或即時(shí))響應(yīng)外部事件的請(qǐng)求,在規(guī)定的時(shí)間內(nèi)完成對(duì)該事件的處理,并控制所有實(shí)時(shí)任務(wù)協(xié)調(diào)一致地運(yùn)行。 1.2.5 實(shí)時(shí)系統(tǒng)1.定義2.實(shí)時(shí)系統(tǒng)的類型(1)工業(yè)控制 生產(chǎn)過程控制、武器控制(火炮自動(dòng)控制、飛機(jī)自動(dòng)駕駛、導(dǎo)彈制導(dǎo))(2) 實(shí)時(shí)信息處理 信息查詢(倉庫管理、情報(bào)檢索)事務(wù)處理(飛機(jī)訂票、

23、財(cái)務(wù)處理)(3)多媒體系統(tǒng)(4)嵌入式系統(tǒng)2.實(shí)時(shí)系統(tǒng)的類型(1)工業(yè)控制3. 實(shí)時(shí)任務(wù)的類型1) 按任務(wù)執(zhí)行時(shí)是否呈現(xiàn)周期性來劃分(1)周期性實(shí)時(shí)任務(wù)。 (2)非周期性實(shí)時(shí)任務(wù)。截止時(shí)間(Deadline) 開始截止時(shí)間任務(wù)在某時(shí)間以前必須開始執(zhí)行 完成截止時(shí)間任務(wù)在某時(shí)間以前必須完成3. 實(shí)時(shí)任務(wù)的類型1) 按任務(wù)執(zhí)行時(shí)是否呈現(xiàn)周期性來劃分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í)間, 但并不

24、嚴(yán)格,若偶爾錯(cuò)過了任務(wù)的截止時(shí)間, 對(duì)系統(tǒng)產(chǎn)生的影響也不會(huì)太大。2) 根據(jù)對(duì)截止時(shí)間的要求來劃分4.實(shí)時(shí)系統(tǒng)的特點(diǎn)(1)及時(shí)響應(yīng)(2)高可靠性4.實(shí)時(shí)系統(tǒng)的特點(diǎn)(1)及時(shí)響應(yīng)5. 實(shí)時(shí)系統(tǒng)與分時(shí)系統(tǒng)特征的比較(1)多路性。 (2) 獨(dú)立性。 (3) 及時(shí)性。 (4) 交互性。 (5) 可靠性。三種基本類型的操作系統(tǒng) 批處理、分時(shí)、實(shí)時(shí)5. 實(shí)時(shí)系統(tǒng)與分時(shí)系統(tǒng)特征的比較(1)多路性。 1.2.6 微機(jī)操作系統(tǒng)的發(fā)展1.單用戶單任務(wù)操作系統(tǒng) CP/M MS-DOS2.單用戶多任務(wù)操作系統(tǒng) Windows3.多用戶多任務(wù)操作系統(tǒng) UNIX OS、 Solaris OS、 Linux OS1.2.6

25、微機(jī)操作系統(tǒng)的發(fā)展1.單用戶單任務(wù)操作系統(tǒng)其他操作系統(tǒng)1.嵌入式操作系統(tǒng)運(yùn)行在嵌入式系統(tǒng)環(huán)境,對(duì)整個(gè)嵌入式系統(tǒng)以及它所操作和控制的各種部件裝置等資源進(jìn)行統(tǒng)一協(xié)調(diào)調(diào)度指揮和控制的系統(tǒng)軟件。支持嵌入式軟件運(yùn)行,應(yīng)用平臺(tái)之一是各種電器。PDA,機(jī)頂盒國(guó)外代表性產(chǎn)品VxWorks,QNX,Palm OS,Windows CE ,LynxOS ,嵌入式Linux,uC/OS 中國(guó)自主開發(fā)的實(shí)時(shí)操作系統(tǒng),如電子科技大學(xué)嵌入式實(shí)時(shí)教研室和科銀公司聯(lián)合研制開發(fā)的實(shí)時(shí)操作系統(tǒng)Delta OS (道系統(tǒng)) 、凱思公司的Hopen OS (女媧計(jì)劃) 、中科院北京軟件工程研制中心開發(fā)的CASSPDA以及浙江大學(xué)自行

26、研制開發(fā)的嵌入式操作系統(tǒng)HBOS等 其他操作系統(tǒng)1.嵌入式操作系統(tǒng)2.個(gè)人計(jì)算機(jī)操作系統(tǒng)單用戶單任務(wù) CP/M MS-DOS單用戶多任務(wù)OS,功能簡(jiǎn)單,特點(diǎn)是在某一段時(shí)間內(nèi)為單個(gè)用戶服務(wù),采用圖形界面人機(jī)交互方式,界面友好,使用方便。Windows2.個(gè)人計(jì)算機(jī)操作系統(tǒng)3.網(wǎng)絡(luò)操作系統(tǒng)計(jì)算機(jī)網(wǎng)絡(luò)通過通信設(shè)施將物理上分散的具有自治功能的多個(gè)計(jì)算機(jī)系統(tǒng)互連起來,實(shí)現(xiàn)信息交換,資源共享,可互操作,協(xié)作處理的系統(tǒng)特點(diǎn)計(jì)算機(jī)網(wǎng)絡(luò)是一個(gè)互連的計(jì)算機(jī)系統(tǒng)的群體,物理上是分散的這些計(jì)算機(jī)是自治的系統(tǒng)互連要通過通信設(shè)施來實(shí)現(xiàn)系統(tǒng)通過通信設(shè)施執(zhí)行信息交換,資源共享,互操作和協(xié)作處理,實(shí)現(xiàn)多種應(yīng)用需求。網(wǎng)絡(luò)操作系統(tǒng)

27、是基于計(jì)算機(jī)網(wǎng)絡(luò)的,是在各種計(jì)算機(jī)操作系統(tǒng)上按網(wǎng)絡(luò)體系結(jié)構(gòu)協(xié)議標(biāo)準(zhǔn)開發(fā)的軟件,包括網(wǎng)絡(luò)管理、通信、資源共享、系統(tǒng)安全和各種網(wǎng)絡(luò)應(yīng)用服務(wù),目標(biāo)是互相通信及資源共享Windows 2000 、Netware 4.1 LAN Server4.03.網(wǎng)絡(luò)操作系統(tǒng)4.分布式操作系統(tǒng)分布式系統(tǒng)指多個(gè)分散的處理單元經(jīng)互連網(wǎng)絡(luò)連接而形成的系統(tǒng),其中每個(gè)處理單元既有高度的自治性,又相互協(xié)同,能在系統(tǒng)范圍內(nèi)實(shí)現(xiàn)資源管理、動(dòng)態(tài)分配任務(wù),并能并行地運(yùn)行分布式程序。配置在分布式系統(tǒng)上的操作系統(tǒng)成為分布式操作系統(tǒng)特征統(tǒng)一性、共享性、透明性、自治性優(yōu)點(diǎn)分布式、可靠性4.分布式操作系統(tǒng)5.通用操作系統(tǒng)一個(gè)操作系統(tǒng)兼有批處理、

28、分時(shí)和實(shí)時(shí)系統(tǒng)的三者或者其中兩者的功能6.智能化操作系統(tǒng)YUNOS 昆塔:盒子總動(dòng)員還得到阿里云強(qiáng)大高性能計(jì)算機(jī)集群支持,進(jìn)行全片渲染后期制作,成就出中國(guó)第一部運(yùn)用云計(jì)算技術(shù)制作的國(guó)產(chǎn)3D動(dòng)畫片。阿里云共提供6700臺(tái)高性能計(jì)算機(jī)支撐完成影片全部視效渲染工作,最后長(zhǎng)達(dá)3分鐘的精彩戰(zhàn)斗場(chǎng)面,每一幀畫面的渲染都需歷時(shí)7個(gè)小時(shí),以達(dá)到最完美的效果。 5.通用操作系統(tǒng)1.3 操作系統(tǒng)的基本特征1.3.1 并發(fā)(Concurrence)1.并行與并發(fā)(1)并行性 兩個(gè)或多個(gè)事件在同一時(shí)刻發(fā)生(2)并發(fā)性 兩個(gè)或多個(gè)事件在同一時(shí)間間隔內(nèi)發(fā)生單處理機(jī)多道程序并發(fā)執(zhí)行多處理機(jī)多道程序并行執(zhí)行2.引入進(jìn)程未引入

29、進(jìn)程系統(tǒng)的程序順序執(zhí)行引入進(jìn)程后進(jìn)程并發(fā)執(zhí)行進(jìn)程?P35程序進(jìn)程線程1.3 操作系統(tǒng)的基本特征1.3.1 并發(fā)(Concurre1.3.2 共享(Sharing)是指系統(tǒng)中的資源可供內(nèi)存中多個(gè)并發(fā)執(zhí)行的進(jìn)程(線程)共同使用。根據(jù)資源屬性的不同,有兩種資源共享方式1. 互斥共享方式臨界資源或獨(dú)占資源:在一段時(shí)間內(nèi)只允許一個(gè)進(jìn)程訪問的資源(打印機(jī)、磁帶機(jī)、變量、棧)使用方式:申請(qǐng)空閑分配使用釋放2. 同時(shí)訪問方式宏觀上同時(shí)、微觀上交替磁盤、用重入碼編寫的文件、編輯、編譯程序并發(fā)與共享的關(guān)系1.3.2 共享(Sharing)1.3.3 虛擬(Virtual)虛擬:是指通過某種技術(shù)把一個(gè)物理實(shí)體變?yōu)槿?/p>

30、干個(gè)邏輯上的對(duì)應(yīng)物。虛擬技術(shù):用于實(shí)現(xiàn)虛擬的技術(shù)。1.時(shí)分復(fù)用技術(shù) 虛擬處理機(jī)技術(shù) 利用多道程序設(shè)計(jì)技術(shù),把一臺(tái)物理上的CPU虛擬為多臺(tái)邏輯上的CPU虛擬設(shè)備技術(shù) 將一臺(tái)物理I/O設(shè)備虛擬為多臺(tái)邏輯上的I/O設(shè)備2.空分復(fù)用技術(shù) 虛擬磁盤技術(shù)、虛擬存儲(chǔ)器技術(shù)1.3.3 虛擬(Virtual)1.3.4 異步性(Asynchronism)單處理機(jī)多道程序環(huán)境,由于資源等因素的限制,程序是以走走停停的方式運(yùn)行的,系統(tǒng)中的每個(gè)程序何時(shí)執(zhí)行,多個(gè)程序間的執(zhí)行順序以及完成每道程序所需要的時(shí)間都是不確定的,因而也是不可預(yù)知的先進(jìn)入內(nèi)存的未必先完成1.3.4 異步性(Asynchronism)1.4 操作系

31、統(tǒng)的主要功能操作系統(tǒng)的任務(wù):為多道程序提供良好的運(yùn)行環(huán)境,保證多道程序有條不紊、高效運(yùn)行,最大程度提高系統(tǒng)資源利用率,方便用戶使用。1.4.1 處理機(jī)管理功能 進(jìn)程管理1. 進(jìn)程控制 傳統(tǒng)的多道程序環(huán)境作業(yè)運(yùn)行,必須先為它創(chuàng)建一個(gè)或幾個(gè)進(jìn)程,并為之分配必要的資源。當(dāng)進(jìn)程運(yùn)行結(jié)束時(shí),立即撤消該進(jìn)程,以便能及時(shí)回收該進(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ù)的線程的功能。1.4 操作系統(tǒng)的主要功能操作系統(tǒng)的任務(wù):為多道程序提供良2. 進(jìn)程同步進(jìn)

32、程同步的主要任務(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ī)制。最簡(jiǎn)單的用于實(shí)現(xiàn)進(jìn)程互斥的機(jī)制,是為每一個(gè)臨界資源配置一把鎖W2. 進(jìn)程同步3. 進(jìn)程通信進(jìn)程(線程)之間,需要交換信息。例如,有三個(gè)相互合作的進(jìn)程, 它們是輸入進(jìn)程、計(jì)算進(jìn)程和打印進(jìn)程。輸入進(jìn)程負(fù)責(zé)將所輸入的數(shù)據(jù)傳送給計(jì)算進(jìn)程;計(jì)算進(jìn)程利用輸入數(shù)據(jù)進(jìn)行計(jì)算, 并把計(jì)算結(jié)果傳送給打印進(jìn)程;最后,由打印進(jìn)程把

33、計(jì)算結(jié)果打印出來。進(jìn)程通信的任務(wù)就是用來實(shí)現(xià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ì)列中取出消息。3. 進(jìn)程通信4. 調(diào)度在后備隊(duì)列上等待的每個(gè)作業(yè),通常都要經(jīng)過調(diào)度才能執(zhí)行。在傳統(tǒng)的操作系統(tǒng)中,包括作業(yè)調(diào)度和進(jìn)程調(diào)度兩步。作業(yè)調(diào)度的基本任務(wù),是從后備隊(duì)列中按照一定的算法,選擇出若干個(gè)作業(yè),為它們分配其必需的資源(首先是分配內(nèi)存)。 在將它們調(diào)入內(nèi)存后,便分別為它們建立進(jìn)程,使它們都成為可能獲得處理機(jī)的就緒進(jìn)程

34、,并按照一定的算法將它們插入就緒隊(duì)列。進(jìn)程調(diào)度的任務(wù),則是從進(jìn)程的就緒隊(duì)列中選出一新進(jìn)程,把處理機(jī)分配給它,并為它設(shè)置運(yùn)行現(xiàn)場(chǎng), 使進(jìn)程投入執(zhí)行。在多線程OS中,通常是把線程作為獨(dú)立運(yùn)行和分配處理機(jī)的基本單位,為此,須把就緒線程排成一個(gè)隊(duì)列,每次調(diào)度時(shí),是從就緒線程隊(duì)列中選出一個(gè)線程,把處理機(jī)分配給它。4. 調(diào)度1.4.2 存儲(chǔ)器管理功能任務(wù):為多道程序的運(yùn)行提供良好的環(huán)境,方便用戶使用存儲(chǔ)器,提高存儲(chǔ)器利用率,從邏輯上擴(kuò)充主存。1. 內(nèi)存分配采取靜態(tài)和動(dòng)態(tài)兩種方式。在靜態(tài)分配方式中,每個(gè)作業(yè)的內(nèi)存空間是在作業(yè)裝入時(shí)確定的;在作業(yè)裝入后的整個(gè)運(yùn)行期間, 不允許該作業(yè)再申請(qǐng)新的內(nèi)存空間,也不允許

35、作業(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)”。 1.4.2 存儲(chǔ)器管理功能任務(wù):為多道程序的運(yùn)行提供良好的內(nèi)存分配的機(jī)制中應(yīng)具有的結(jié)構(gòu)和功能: 內(nèi)存分配數(shù)據(jù)結(jié)構(gòu), 該結(jié)構(gòu)用于記錄內(nèi)存空間的使用情況, 作為內(nèi)存分配的依據(jù); 內(nèi)存分配功能,系統(tǒng)按照一定的內(nèi)存分配算法, 為用戶程序分配內(nèi)存空間; 內(nèi)存回收功能,系統(tǒng)對(duì)于用戶不再需要的內(nèi)存,通過用戶的釋放請(qǐng)求,去完成系統(tǒng)的回收功能。內(nèi)存分配的機(jī)制中應(yīng)具有的結(jié)構(gòu)和功能:2. 內(nèi)存保護(hù)任務(wù) 確保每道用戶程

36、序都只在自己的內(nèi)存空間內(nèi)運(yùn)行,彼此互不干擾。用戶程序不得訪問操作系統(tǒng)的程序和數(shù)據(jù)。用戶程序不得轉(zhuǎn)移的非共享的其他程序中執(zhí)行。 實(shí)現(xiàn) 設(shè)置內(nèi)存保護(hù)機(jī)制。設(shè)置兩個(gè)界限寄存器,分別用于存放正在執(zhí)行程序的上界和下界。系統(tǒng)須對(duì)每條指令所要訪問的地址進(jìn)行檢查,如果發(fā)生越界,便發(fā)出越界中斷請(qǐng)求,以停止該程序的執(zhí)行。如果這種檢查完全用軟件實(shí)現(xiàn),則每執(zhí)行一條指令,便須增加若干條指令去進(jìn)行越界檢查,這將顯著降低程序的運(yùn)行速度。因此,越界檢查都由硬件實(shí)現(xiàn)。當(dāng)然, 對(duì)發(fā)生越界后的處理, 還須與軟件配合來完成。 2. 內(nèi)存保護(hù)3. 地址映射 一個(gè)應(yīng)用程序(源程序)經(jīng)編譯后,通常會(huì)形成若干個(gè)目標(biāo)程序;這些目標(biāo)程序再經(jīng)過鏈

37、接便形成了可裝入程序。這些程序的地址都是從“0”開始的,程序中的其它地址都是相對(duì)于起始地址計(jì)算的; 由這些地址所形成的地址范圍稱為“地址空間”, 其中的地址稱為“邏輯地址”或“相對(duì)地址”。此外,由內(nèi)存中的一系列單元所限定的地址范圍稱為“內(nèi)存空間”, 其中的地址稱為“物理地址”。 在多道程序環(huán)境下,每道程序不可能都從“0”地址開始裝入(內(nèi)存), 這就致使地址空間內(nèi)的邏輯地址和內(nèi)存空間中的物理地址不相一致。使程序能正確運(yùn)行,存儲(chǔ)器管理必須提供地址映射功能,以將地址空間中的邏輯地址轉(zhuǎn)換為內(nèi)存空間中與之對(duì)應(yīng)的物理地址。該功能應(yīng)在硬件的支持下完成。 3. 地址映射4. 內(nèi)存擴(kuò)充 存儲(chǔ)器管理中的內(nèi)存擴(kuò)充任

38、務(wù),并非是去擴(kuò)大物理內(nèi)存的容量,而是借助于虛擬存儲(chǔ)技術(shù),從邏輯上去擴(kuò)充內(nèi)存容量,使用戶所感覺到的內(nèi)存容量比實(shí)際內(nèi)存容量大得多; 或者是讓更多的用戶程序能并發(fā)運(yùn)行。這樣,既滿足了用戶的需要,改善了系統(tǒng)的性能,又基本上不增加硬件投資。 為了能在邏輯上擴(kuò)充內(nèi)存,系統(tǒng)必須具有內(nèi)存擴(kuò)充機(jī)制, 用于實(shí)現(xiàn)下述各功能: (1) 請(qǐng)求調(diào)入功能。 (2) 置換功能。4. 內(nèi)存擴(kuò)充1.4.3 設(shè)備管理功能設(shè)備管理用于管理計(jì)算機(jī)系統(tǒng)中所有的外圍設(shè)備設(shè)備管理的主要任務(wù)是:完成用戶進(jìn)程提出的I/O請(qǐng)求; 為用戶進(jìn)程分配其所需的I/O設(shè)備;提高CPU和I/O設(shè)備的利用率;提高I/O速度;方便用戶使用I/O設(shè)備。1.4.3

39、設(shè)備管理功能設(shè)備管理用于管理計(jì)算機(jī)系統(tǒng)中所有的外1. 緩沖管理 CPU運(yùn)行的高速性和I/O低速性間的矛盾自計(jì)算機(jī)誕生時(shí)起便已存在。 而隨著CPU速度迅速、大幅度的提高,使得此矛盾更為突出,嚴(yán)重降低了CPU的利用率。如果在I/O設(shè)備和CPU之間引入緩沖,則可有效地緩和CPU和I/O設(shè)備速度不匹配的矛盾,提高CPU的利用率,進(jìn)而提高系統(tǒng)吞吐量。 因此,在現(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ī)制。 1. 緩沖管理2. 設(shè)備分配

40、 設(shè)備分配的基本任務(wù),是根據(jù)用戶進(jìn)程的I/O請(qǐng)求、系統(tǒng)的現(xiàn)有資源情況以及按照某種設(shè)備分配策略,為之分配其所需的設(shè)備。如果在I/O設(shè)備和CPU之間,還存在著設(shè)備控制器和I/O通道時(shí),還須為分配出去的設(shè)備分配相應(yīng)的控制器和通道。 為了實(shí)現(xiàn)設(shè)備分配,系統(tǒng)中應(yīng)設(shè)置設(shè)備控制表、控制器控制表等數(shù)據(jù)結(jié)構(gòu),用于記錄設(shè)備及控制器的標(biāo)識(shí)符和狀態(tài)。據(jù)這些表格可以了解指定設(shè)備當(dāng)前是否可用,是否忙碌,以供進(jìn)行設(shè)備分配時(shí)參考。在進(jìn)行設(shè)備分配時(shí),應(yīng)針對(duì)不同的設(shè)備類型而采用不同的設(shè)備分配方式。對(duì)于獨(dú)占設(shè)備(臨界資源)的分配,還應(yīng)考慮到該設(shè)備被分配出去后,系統(tǒng)是否安全。 設(shè)備使用完后,還應(yīng)立即由系統(tǒng)回收。 2. 設(shè)備分配3.

41、設(shè)備處理 設(shè)備處理程序又稱為設(shè)備驅(qū)動(dòng)程序。其基本任務(wù)是用于實(shí)現(xiàn)CPU和設(shè)備控制器之間的通信,即由CPU向設(shè)備控制器發(fā)出I/O命令,要求它完成指定的I/O操作;反之由CPU接收從控制器發(fā)來的中斷請(qǐng)求,并給予迅速的響應(yīng)和相應(yīng)的處理。 處理過程:設(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)求,并根據(jù)該中斷請(qǐng)求的類型,調(diào)用相應(yīng)的中斷處理程序進(jìn)行處理。對(duì)于設(shè)置了通道的計(jì)算機(jī)系統(tǒng), 設(shè)備處理程序還應(yīng)能根據(jù)用戶的I/O請(qǐng)求,自動(dòng)

42、地構(gòu)成通道程序。 3. 設(shè)備處理1.4.4 文件管理功能任務(wù):對(duì)用戶文件和系統(tǒng)文件進(jìn)行管理,以方便用戶使用,保證文件的安全性。1. 文件存儲(chǔ)空間的管理 由文件系統(tǒng)對(duì)諸多文件及文件的存儲(chǔ)空間,實(shí)施統(tǒng)一的管理。其主要任務(wù)是為每個(gè)文件分配必要的外存空間,提高外存的利用率,并能有助于提高文件系統(tǒng)的運(yùn)行速度。 為此,系統(tǒng)應(yīng)設(shè)置相應(yīng)的數(shù)據(jù)結(jié)構(gòu),用于記錄文件存儲(chǔ)空間的使用情況,以供分配存儲(chǔ)空間時(shí)參考;系統(tǒng)還應(yīng)具有對(duì)存儲(chǔ)空間進(jìn)行分配和回收的功能。為了提高存儲(chǔ)空間的利用率,對(duì)存儲(chǔ)空間的分配,通常是采用離散分配方式,以減少外存零頭,并以盤塊為基本分配單位。盤塊的大小通常為512 B8 KB。 1.4.4 文件管理

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

44、戶的請(qǐng)求,從外存中讀取數(shù)據(jù);或?qū)?shù)據(jù)寫入外存。在進(jìn)行文件讀(寫)時(shí),系統(tǒng)先根據(jù)用戶給出的文件名,去檢索文件目錄,從中獲得文件在外存中的位置。然后,利用文件讀(寫)指針,對(duì)文件進(jìn)行讀(寫)。一旦讀(寫)完成,便修改讀(寫)指針,為下一次讀(寫)做好準(zhǔn)備。由于讀和寫操作不會(huì)同時(shí)進(jìn)行,故可合用一個(gè)讀/寫指針。 (2) 文件保護(hù)。 防止未經(jīng)核準(zhǔn)的用戶存取文件; 防止冒名頂替存取文件; 防止以不正確的方式使用文件。3. 文件的讀/寫管理和保護(hù)1.4.5 操作系統(tǒng)與用戶之間的接口1.用戶接口(1) 聯(lián)機(jī)用戶接口。這是為聯(lián)機(jī)用戶提供的,它由一組鍵盤操作命令及命令解釋程序所組成。當(dāng)用戶在終端或控制臺(tái)上每鍵入一

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

46、預(yù),事先寫在作業(yè)說明書上,然后將作業(yè)連同作業(yè)說明書一起提供給系統(tǒng)。當(dāng)系統(tǒng)調(diào)度到該作業(yè)運(yùn)行時(shí),又調(diào)用命令解釋程序,對(duì)作業(yè)說明書上的命令,逐條地解釋執(zhí)行。如果作業(yè)在執(zhí)行過程中出現(xiàn)異?,F(xiàn)象,系統(tǒng)也將根據(jù)作業(yè)說明書上的指示進(jìn)行干預(yù)。這樣,作業(yè)一直在作業(yè)說明書的控制下運(yùn)行,直至遇到作業(yè)結(jié)束語句時(shí),系統(tǒng)才停止該作業(yè)的運(yùn)行。 (2) 脫機(jī)用戶接口。該接口是為批處理作業(yè)的用戶提供的,(3) 圖形用戶接口 用戶雖然可以通過聯(lián)機(jī)用戶接口來取得OS的服務(wù),但這時(shí)要求用戶能熟記各種命令的名字和格式,并嚴(yán)格按照規(guī)定的格式輸入命令,這既不方便又花時(shí)間,于是,圖形用戶接口便應(yīng)運(yùn)而生。圖形用戶接口采用了圖形化的操作界面, 用

47、非常容易識(shí)別的各種圖標(biāo)(icon)來將系統(tǒng)的各項(xiàng)功能、各種應(yīng)用程序和文件,直觀、逼真地表示出來。用戶可用鼠標(biāo)或通過菜單和對(duì)話框,來完成對(duì)應(yīng)用程序和文件的操作。此時(shí)用戶已完全不必像使用命令接口那樣去記住命令名及格式,從而把用戶從繁瑣且單調(diào)的操作中解脫出來。(3) 圖形用戶接口2. 程序接口 該接口是為用戶程序在執(zhí)行中訪問系統(tǒng)資源而設(shè)置的,是用戶程序取得操作系統(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)用。早期的系統(tǒng)調(diào)用都是用匯編語言提供的,只有在用匯編語言書寫的程序中,才能直接使用系

48、統(tǒng)調(diào)用;但在高級(jí)語言以及C語言中,往往提供了與各系統(tǒng)調(diào)用一一對(duì)應(yīng)的庫函數(shù),這樣,應(yīng)用程序便可通過調(diào)用對(duì)應(yīng)的庫函數(shù)來使用系統(tǒng)調(diào)用。但在近幾年所推出的操作系統(tǒng)中,如UNIX、OS/2版本中,其系統(tǒng)調(diào)用本身已經(jīng)采用C語言編寫,并以函數(shù)形式提供,故在用C語言編制的程序中, 可直接使用系統(tǒng)調(diào)用。2. 程序接口1.4.6 現(xiàn)代操作系統(tǒng)的新功能系統(tǒng)安全網(wǎng)絡(luò)的功能和服務(wù)支持多媒體1.4.6 現(xiàn)代操作系統(tǒng)的新功能系統(tǒng)安全1.5 操作系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)Linux 2.6.27版本內(nèi)核 源代碼超過1,000萬行,包括空白行、注釋等Linux 2.4.22 10,302個(gè)文件,4,686,534行Linux0.0.1的核

49、心源文件76個(gè),分布在幾個(gè)子目錄中,共8,413行??偣舶?,900行左右的ANSI C源代碼、2,500行左右的C頭文件代碼和約1,450行左右的Intel 80386匯編語言代碼。參考書目 趙炯 Linux內(nèi)核0.11完全注釋1.5 操作系統(tǒng)的結(jié)構(gòu)設(shè)計(jì)Linux 2.6.27版本內(nèi)核 1.5.1 傳統(tǒng)的操作系統(tǒng)結(jié)構(gòu) 操作系統(tǒng)是一個(gè)十分復(fù)雜的大型軟件。為了控制該軟件的復(fù)雜性,在開發(fā)OS時(shí),先后引入了分解、模塊化、 抽象和隱蔽等方法。開發(fā)方法的不斷發(fā)展,促進(jìn)了OS結(jié)構(gòu)的更新?lián)Q代。第一代無結(jié)構(gòu)第二代模塊式結(jié)構(gòu)第三代層次結(jié)構(gòu)第四代微內(nèi)核結(jié)構(gòu)第一代至第三代的OS結(jié)構(gòu), 稱為傳統(tǒng)的OS結(jié)構(gòu),把微內(nèi)核

50、的OS結(jié)構(gòu)稱為現(xiàn)代OS結(jié)構(gòu)。1.5.1 傳統(tǒng)的操作系統(tǒng)結(jié)構(gòu) 操作系統(tǒng)是一個(gè)1. 無結(jié)構(gòu)操作系統(tǒng) “一鍋粥” “無結(jié)構(gòu)” 在早期開發(fā)操作系統(tǒng)時(shí),設(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)。 此時(shí)程序設(shè)計(jì)的技巧,只是如何編制緊湊的程序,以便于有效地利用內(nèi)存、對(duì)GOTO語句的使用不加任何限制,所設(shè)計(jì)出的操作系統(tǒng)既龐大又雜亂,缺乏清晰的程序結(jié)構(gòu)。這一方面會(huì)使所編制出的程序錯(cuò)誤很多,給調(diào)試工作帶來很多困難;另一方面也使程序難

51、以閱讀和理解,增加了維護(hù)人員的負(fù)擔(dān)。 1. 無結(jié)構(gòu)操作系統(tǒng) “一鍋粥” “無結(jié)構(gòu)”2. 模塊化OS結(jié)構(gòu)1) 模塊化結(jié)構(gòu) 模塊化程序設(shè)計(jì)技術(shù),是最早(20世紀(jì)60年代)出現(xiàn)的一種程序設(shè)計(jì)技術(shù)。該技術(shù)是基于“分解”和“模塊化”原則來控制大型軟件的復(fù)雜度的。為使OS具有較清晰的結(jié)構(gòu),OS不再是由眾多的過程直接構(gòu)成,而是將OS按其功能劃分為若干個(gè)具有一定獨(dú)立性和大小的模塊。每個(gè)模塊具有某方面的管理功能,如進(jìn)程管理模塊、存儲(chǔ)器管理模塊、I/O設(shè)備管理模塊和文件管理模塊等,并規(guī)定好各模塊間的接口, 使各模塊之間能通過該接口實(shí)現(xiàn)交互,然后再進(jìn)一步將各模塊細(xì)分為若干個(gè)具有一定管理功能的子模塊,如把進(jìn)程管理模塊

52、又分為進(jìn)程控制、 進(jìn)程同步、 進(jìn)程通信和進(jìn)程調(diào)度等子模塊, 同樣也要規(guī)定各子模塊之間的接口。若子模塊較大時(shí),再進(jìn)一步將它細(xì)分。圖 1-5 示出了由模塊、子模塊等組成的模塊化OS結(jié)構(gòu)。 2. 模塊化OS結(jié)構(gòu)計(jì)算機(jī)操作系統(tǒng)第一章課件模板2) 模塊的獨(dú)立性3)模塊接口法的優(yōu)缺點(diǎn)(1)提高了OS設(shè)計(jì)的正確性、 可理解性和可維護(hù)性。 (2) 增強(qiáng)了OS的可適應(yīng)性。 (3) 加速了OS的開發(fā)過程。2) 模塊的獨(dú)立性模塊化結(jié)構(gòu)設(shè)計(jì)的缺點(diǎn):首先,在開始設(shè)計(jì)OS時(shí),對(duì)模塊的劃分及對(duì)接口的規(guī)定并不精確, 而且還可能存在錯(cuò)誤,因而很難保證按此規(guī)定所設(shè)計(jì)出的模塊會(huì)完全正確, 這將使在把這些模塊裝配成OS時(shí)發(fā)生困難;其

53、次,從功能觀點(diǎn)來劃分模塊時(shí),未能將共享資源和獨(dú)占資源加以區(qū)別; 由于管理上的差異,又會(huì)使模塊間存在著復(fù)雜的依賴關(guān)系使OS結(jié)構(gòu)變得不清晰。 模塊化結(jié)構(gòu)設(shè)計(jì)的缺點(diǎn):3. 分層式OS結(jié)構(gòu) E.W.Dijkstra和他的學(xué)生在荷蘭的 Eindhoven 技術(shù)學(xué)院開發(fā)的THE系統(tǒng)(1968年)。THE系統(tǒng)是為荷蘭制造的Electrologica X8計(jì)算機(jī)(內(nèi)存為32K,字長(zhǎng)27位)配備的一個(gè)簡(jiǎn)單的批處理系統(tǒng)。該系統(tǒng)分為六層。第零層進(jìn)行處理器分配,當(dāng)發(fā)生中斷或時(shí)鐘到達(dá)期限時(shí)由該層軟件進(jìn)行進(jìn)程切換。在第零層之上有若干個(gè)順序進(jìn)程運(yùn)行,編寫這些進(jìn)程時(shí)不用考慮多個(gè)進(jìn)程在單一處理器上運(yùn)行的細(xì)節(jié)。第零層提供了CPU

54、基本的多道程序功能。 3. 分層式OS結(jié)構(gòu) E.W.Dijkstra和他的學(xué)生在荷1) 有序分層的基本概念 從改進(jìn)設(shè)計(jì)方式上說,應(yīng)使我們的每一步設(shè)計(jì)都是建立在可靠的基礎(chǔ)上。我們可以從物理機(jī)器開始, 在其上面先添加一層具有一定功能的軟件A1, 由于A1是建立在完全確定的物理機(jī)器上的,在經(jīng)過精心設(shè)計(jì)和幾乎是窮盡無遺的測(cè)試后,可以認(rèn)為A1是正確的;然后再在A1上添加一層新軟件A2,如此一層一層地自底向上增添軟件層,每一層都實(shí)現(xiàn)若干功能,最后總能構(gòu)成一個(gè)能滿足需要的OS。 分層式結(jié)構(gòu)設(shè)計(jì)的基本原則是:每一層都僅使用其底層所提供的功能和服務(wù),這樣可使系統(tǒng)的調(diào)試和驗(yàn)證都變得容易, 例如,在調(diào)試第一層軟件A

55、1時(shí),由于它只使用了物理機(jī)器提供的功能,因此它將與其所有的高層軟件A2,An無關(guān); 同樣在調(diào)試A2時(shí),它也只使用了A1和物理機(jī)器所提供的功能, 而與其高層軟件A3, ,An無關(guān),這樣,一旦發(fā)現(xiàn)Ai出現(xiàn)錯(cuò)誤時(shí),通常該錯(cuò)誤只會(huì)局限于Ai,因?yàn)樗c所有其高層的軟件無關(guān),而Ai層以下的各層軟件,又都經(jīng)過仔細(xì)的調(diào)試。 1) 有序分層的基本概念2) 層次的設(shè)置 (1) 程序嵌套。 通常OS的每個(gè)功能的實(shí)現(xiàn), 并非是只用一個(gè)程序便能完成的,而是要經(jīng)由若干個(gè)軟件層才有可能完成。因此在劃分OS層次時(shí),首先要考慮在實(shí)現(xiàn)OS 的每個(gè)功能時(shí)所形成的程序嵌套。例如,作業(yè)調(diào)度模塊須調(diào)用進(jìn)程控制模塊;在為某作業(yè)創(chuàng)建一進(jìn)程時(shí)

56、,進(jìn)程控制模塊又須調(diào)用內(nèi)存管理模塊為新進(jìn)程分配內(nèi)存空間,可見,進(jìn)程控制模塊應(yīng)在內(nèi)存管理模塊之上; 而作業(yè)調(diào)度模塊又應(yīng)在更高層。 2) 層次的設(shè)置 (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)?;钴S的模塊放在最接近硬件的A1層,如時(shí)鐘管理、進(jìn)程調(diào)度,通常都放在A1層。 (2) 運(yùn)行頻率。在分層結(jié)構(gòu)中,各層次軟件的運(yùn)行速度是不同(3) 公用模塊。應(yīng)把供多種資源管程程序調(diào)用的公用模塊, 設(shè)置在最低層,不然,

57、會(huì)使比它低的層次模塊由于無法調(diào)用它而須另外配置相應(yīng)功能的模塊。例如,用于對(duì)信號(hào)量進(jìn)行操作的原語Signal和Wait。 (4) 用戶接口。為方便用戶(程序),OS向用戶提供了“用戶與OS的接口”,如命令接口、程序接口以及圖形用戶接口。這些接口應(yīng)設(shè)置在OS的最高層,直接提供給用戶使用。(3) 公用模塊。應(yīng)把供多種資源管程程序調(diào)用的公用模塊, 設(shè)1.5.2 客戶/服務(wù)器模式1.組成 客戶機(jī)、服務(wù)器、網(wǎng)絡(luò)系統(tǒng)2.交互客戶發(fā)送請(qǐng)求消息服務(wù)器接收消息服務(wù)器回送消息客戶機(jī)接收消息3.優(yōu)缺點(diǎn)1.5.2 客戶/服務(wù)器模式1.組成 客戶機(jī)、服務(wù)器、網(wǎng)絡(luò)系1.5.3 面向?qū)ο蟮某绦蛟O(shè)計(jì)技術(shù)(Object-Orientated Progr

溫馨提示

  • 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)論