計算機操作系統(tǒng)教程 第1章.ppt_第1頁
計算機操作系統(tǒng)教程 第1章.ppt_第2頁
計算機操作系統(tǒng)教程 第1章.ppt_第3頁
計算機操作系統(tǒng)教程 第1章.ppt_第4頁
計算機操作系統(tǒng)教程 第1章.ppt_第5頁
已閱讀5頁,還剩67頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、計算機操作系統(tǒng)教程 (第2版),清華大學計算機系列教材 張堯學 史美林 編著,總 目 錄,第1章 緒論 第2章 操作系統(tǒng)用戶界面 第3章 進程管理 第4章 處理機調度 第5章 存儲管理 第6章 進程與存儲管理示例 第7章 文件系統(tǒng) 第8章 設備管理 第9章 文件和設備管理示例 第10章 面向對象操作系統(tǒng)的設計,第1章 緒論,1.1 操作系統(tǒng)概念 1.2 操作系統(tǒng)的歷史 1.3 操作系統(tǒng)的基本類型 1.4 操作系統(tǒng)功能 1.5 計算機硬件簡介 1.6 算法的描述 1.7 研究操作系統(tǒng)的幾種觀點 習題20,計算機發(fā)展到今天,從個人計算機到巨型計算機系統(tǒng),毫無例外都配置一種或多種操作系統(tǒng)。什么是操作

2、系統(tǒng),操作系統(tǒng)在計算機系統(tǒng)中的地位,它具有什么樣的功能等,我們將在這一章作一簡要闡述。為了闡明這些問題,扼要地回顧一下操作系統(tǒng)的形成和發(fā)展過程是必要的。為便于今后的學習,我們要介紹一下操作系統(tǒng)的類型及其特點,研究操作系統(tǒng)的幾種觀點。最后,介紹幾種常用操作系統(tǒng)。,1.1 操作系統(tǒng)概念 1.1.1 什么是操作系統(tǒng) 任何一個計算機系統(tǒng)都是由兩部分組成:計算機硬件和計算機軟件。計算機硬件通常是由中央處理機(運算器和控制器)、存儲器、輸入設備和輸出設備等部件組成。 計算機軟件包括系統(tǒng)軟件和應用軟件。系統(tǒng)軟件如操作系統(tǒng)、多種語言處理程序( 匯編和編譯程序等 )、連接裝配程序、系統(tǒng)實用程序、多種工具軟件等;

3、 應用軟件為多種應用目的而編制的程序。 沒有任何軟件支持的計算機稱為裸機,它僅僅構成了計算機系統(tǒng)的物質基礎,而實際呈現在用戶面前的計算機系統(tǒng)是經過若干層軟件改造的計算機。圖1.1展示了這種情形。,圖1.1 操作系統(tǒng)與硬件軟件的關系,由圖1.1可看出,計算機的硬件和軟件以及應用之間是一種層次結構的關系。裸機在最里層,它的外面是操作系統(tǒng),經過操作系統(tǒng)提供的資源管理功能和方便用戶的各種服務功能把裸機改造成為功能更強、使用更為方便的機器,通常稱之為虛擬機或擴展機,而各種實用程序和應用程序運行在操作系統(tǒng)之上,它們以操作系統(tǒng)作為支撐環(huán)境,同時又向用戶提供完成其作業(yè)所需的各種服務。 因此,引入操作系統(tǒng)的目的

4、可從三方面來考察: (1) 從系統(tǒng)管理人員的觀點來看:引入操作系統(tǒng)是為了合理地組織計算機工作流程,管理和分配計算機系統(tǒng)硬件及軟件資源,使之能為多個用戶高效率地共享。因此,操作系統(tǒng)是計算機資源的管理者。,(2) 從用戶的觀點來看:引入操作系統(tǒng)是為了給用戶使用計算機提供一個良好的界面,以使用戶無需了解許多有關硬件和系統(tǒng)軟件的細節(jié),就能方便靈活地使用計算機。 (3) 從發(fā)展的觀點看:引入操作系統(tǒng)是為了給計算機系統(tǒng)的功能擴展提供支撐平臺,使之在追加新的服務和功能時更加容易和不影響原有的服務與功能。 綜上所述,我們可以非形式地把操作系統(tǒng)定義為: 操作系統(tǒng)是計算機系統(tǒng)中的一個系統(tǒng)軟件,它是這樣一些程序模塊

5、的集合它們管理和控制計算機系統(tǒng)中的硬件及軟件資源,合理地組織計算機工作流程,以便有效地利用這些資源為用戶提供一個功能強大、使用方便和可擴展的工作環(huán)境,從而在計算機與其用戶之間起到接口的作用。,1.2 操作系統(tǒng)的歷史 為了更好地理解操作系統(tǒng)的基本概念、功能和特點,首先回顧一下操作系統(tǒng)形成和發(fā)展的歷史過程。 操作系統(tǒng)是由于客觀的需要而產生的,它伴隨著計算機技術本身及其應用的日益發(fā)展而逐漸發(fā)展和不斷完善。它的功能由弱到強,在計算機系統(tǒng)中的地位不斷提高。至今,它已成為計算機系統(tǒng)中的核心,無一計算機系統(tǒng)是不配置操作系統(tǒng)的。 由于操作系統(tǒng)歷來跟運行其上的計算機組成與體系結構休戚與共,因此我們考察各代計算機

6、,看看它們的操作系統(tǒng)是什么樣子,具有哪些功能和特征。 人們通常按照器件工藝的演變把計算機發(fā)展過程分為四個階段。,1946年50年代末:第一代,電子管時代,無操作系統(tǒng)。 50年代末60年代中期:第二代,晶體管時代,批處理系統(tǒng)。 60年代中期70年代中期:第三代,集成電路時代,多道程序設計。 70年代中期至今:第四代,大規(guī)模和超大規(guī)模集成電路時代,分時系統(tǒng)。 現代計算機正向著巨型、微型、并行、分布、網絡化和智能化幾個方面發(fā)展著。 適應上述計算機發(fā)展過程,操作系統(tǒng)經歷了如下的發(fā)展過程:手工操作階段(無操作系統(tǒng))、批處理、執(zhí)行系統(tǒng)、多道程序系統(tǒng)、分時系統(tǒng)、實時系統(tǒng)、通用操作系統(tǒng)、網絡操作系統(tǒng)、分布式操

7、作系統(tǒng)等。,1.2.1 手工操作階段 在第一代計算機時期,構成計算機的主要元器件是電子管,計算機運算速度慢,沒有操作系統(tǒng),甚至沒有任何軟件。用戶直接用機器語言編制程序,并在上機時獨占全部計算機資源。上機完全是手工操作:先把程序紙帶(或卡片)裝上輸入機,然后啟動輸入機把程序和數據送入計算機,接著通過控制臺開關啟動程序運行。計算完畢,打印機輸出計算結果,用戶取走并卸下紙帶(或卡片)。 50年代后期,計算機的運行速度有了很大提高,手工操作的慢速度和計算機的高速度之間形成矛盾。唯一的解決辦法是擺脫人的手工操作,實現作業(yè)的自動過渡。這樣就出現了批處理。,1.2.2 早期批處理(batch process

8、ing) 如上所述,在計算機發(fā)展的早期階段,由于沒有任何用于管理的軟件,所有的運行管理和具體操作都由用戶自己承擔。作業(yè)由許多作業(yè)步組成,任何一步的錯誤操作都可能導致該作業(yè)從頭開始。當時,計算機極其昂貴,計算機(CPU)的時間非常寶貴,盡可能提高CPU的利用率成為十分迫切的任務。 解決的途徑有兩個:首先配備專門的計算機操作員,程序員不再直接操作機器,減少操作機器的錯誤。另一個重要措施是進行批處理,操作員把用戶提交的作業(yè)分類,把一批中的作業(yè)編成一個作業(yè)執(zhí)行序列。每一批作業(yè)將有專門編制的監(jiān)督程序(monitor)自動依次處理。 早期的批處理可分為兩種方式。,1. 聯機批處理 慢速的輸入輸出(I/O)

9、設備是和主機直接相連。作業(yè)的執(zhí)行過程為: (1) 用戶提交作業(yè):作業(yè)程序、數據,用作業(yè)控制語言編寫的作業(yè)說明書; (2) 作業(yè)被作成穿孔紙帶或卡片; (3) 操作員有選擇地把若干作業(yè)合成一批,通過輸入設備(紙帶輸入機或讀卡機) 把它們存入磁帶; (4) 監(jiān)督程序讀入一個作業(yè)(若系統(tǒng)資源能滿足該作業(yè)要求); (5) 從磁帶調入匯編程序或編譯程序,將用戶作業(yè)源程序翻譯成目標代碼;,(6) 連接裝配程序把編譯后的目標代碼及所需的子程序裝配成一個可執(zhí)行程序; (7) 啟動執(zhí)行; (8) 執(zhí)行完畢,由善后處理程序輸出計算結果; (9) 再讀入一個作業(yè),重復(5)(9)各步; (10) 一批作業(yè)完成,返回

10、到(3),處理下一批作業(yè)。 這種聯機批處理方式解決了作業(yè)自動轉接,從而減少作業(yè)建立和人工操作時間。但是在作業(yè)的輸入和執(zhí)行結果的輸出過程中,主機CPU仍處在停止等待狀態(tài),這樣慢速的輸入輸出設備和快速主機之間仍處于串行工作,CPU的時間仍有很大的浪費。,2. 脫機批處理 這種方式的顯著特征是增加一臺不與主機直接相連而專門用于與輸入輸出設備打交道的衛(wèi)星機。如圖1.2所示。 衛(wèi)星機的功能是: (1) 輸入設備通過它把作業(yè)輸入到輸入磁帶; (2) 輸出磁帶將作業(yè)執(zhí)行結果輸出到輸出設備。 這樣,主機不是直接與慢速的輸入輸出設備打交道,而是與速度相對較快的磁帶機發(fā)生關系。主機與衛(wèi)星機可以并行工作,二者分工明

11、確,以充分發(fā)揮主機的高速度計算能力。因此脫機批處理和早期聯機批處理相比大大提高了系統(tǒng)的處理能力。,圖1.2 早期脫機批處理模型,批處理出現于20世紀50年代末到60年代初。它的出現促使了軟件的發(fā)展。再有重要的是監(jiān)督程序,它管理作業(yè)的運行負責裝入和運行各種系統(tǒng)處理程序,如匯編程序、編譯程序、連接裝配程序、程序庫(如輸入輸出標準程序等);完成作業(yè)的自動過渡,同時也出現程序覆蓋等程序設計技術。 批處理仍有些缺點:磁帶需人工拆裝,既麻煩又易出錯;而另一個更重要的問題是系統(tǒng)的保護。讓我們來回憶一下在監(jiān)督程序管理下的解題過程,如圖1.3所示。,圖1.3 監(jiān)督程序管理下的解題過程,在進行批處理過程中,監(jiān)督程

12、序、系統(tǒng)程序和用戶程序之間存在著一種調用關系,任何一個環(huán)節(jié)出問題,整個系統(tǒng)都會停頓; 用戶程序也可能會破壞監(jiān)督程序和系統(tǒng)程序,這時,只有操作員進行干預才能恢復。20世紀60年代初期,硬件獲得了兩方面(即通道和中斷技術)的進展,導致操作系統(tǒng)進入執(zhí)行系統(tǒng)階段。 通道是一種專用處理部件,它能控制一臺或多臺輸入輸出設備工作,負責輸入輸出設備與主存之間的信息傳輸。它一旦被啟動就能獨立于CPU運行,這樣可使CPU和通道并行操作,而且CPU和多種輸入輸出設備也能并行操作。中斷是指當主機接到外部信號(如輸入輸出設備完成信號)時,馬上停止原來工作,轉去處理這一事件,處理完畢后,主機回到原來的斷點繼續(xù)工作。,借助

13、于通道、中斷技術和輸入輸出可在主機控制下完成批處理。這時,原來的監(jiān)督程序的功能擴大了,它不僅要負責作業(yè)運行的自動調度,而且還要提供輸入輸出控制功能。這個發(fā)展了的監(jiān)督程序常駐內存稱為執(zhí)行系統(tǒng)。執(zhí)行系統(tǒng)實現的也是輸入輸出聯機操作,和早期批處理系統(tǒng)不同的是:輸入輸出工作是由在主機控制下的通道完成的。主機和通道、主機和輸入輸出設備都可以并行操作。用戶程序的輸入輸出工作都是由系統(tǒng)執(zhí)行而沒有人工干預,由系統(tǒng)檢查其命令的合法性,以避免不合法的輸入輸出命令造成對系統(tǒng)的影響,從而提高系統(tǒng)的安全性。此時,除了輸入輸出中斷外,其他中斷如算術溢出和非法操作碼中斷等可以克服錯誤停機,而時鐘中斷可以解決用戶程序中出現的死

14、循環(huán)等。,許多成功的批處理系統(tǒng)在20世紀50年代末和60年代初出現, 典型的操作系統(tǒng)是FMS(Fortran Monitor System)即FORTRAN監(jiān)督系統(tǒng)和IBM/7094機上的IBM操作系統(tǒng)IBSYS。執(zhí)行系統(tǒng)實現了主機、通道和輸入輸出設備的并行操作,提高了系統(tǒng)效率,方便用戶對輸入輸出設備的使用。但是,這時計算機系統(tǒng)運行的特征是單道順序地處理作業(yè),即用戶作業(yè)仍然是一道一道作業(yè)順序處理。那么可能會出現兩種情況:對于以計算為主的作業(yè),輸入輸出量少,外圍設備空閑;然而對于以輸入輸出為主的作業(yè),又會造成主機空閑。這樣總的來說,計算機資源使用效率仍然不高。因此操作系統(tǒng)進入了多道程序階段:多道

15、程序合理搭配交替運行,充分利用資源,提高效率。,1.2.3 多道程序系統(tǒng) 上述批處理系統(tǒng),每次只調用一個用戶作業(yè)程序進入內存并運行,稱為單道運行。圖1.4(a)給出了單道程序工作示例。 而圖1.4(b)給出了多道程序工作示例。在單處理機系統(tǒng)中,多道程序運行的特點是: (1) 多道:計算機內存中同時存放幾道相互獨立的程序。 (2) 宏觀上并行:同時進入系統(tǒng)的幾道程序都處于運行過程中,即它們先后開始了各自的運行,但都未運行完畢。 (3) 微觀上串行:實際上,各道程序輪流使用CPU,交替執(zhí)行。,(a) 單道程序工作示例 (b) 多道程序工作示例 圖 1.4,在批處理系統(tǒng)中采用多道程序設計技術,就形成

16、了多道批處理系統(tǒng)。要處理的許多作業(yè)存放在外部存儲器中,形成作業(yè)隊列,等待運行。當需要調入作業(yè)時,將由操作系統(tǒng)中的作業(yè)調度程序對外存中的一批作業(yè),根據其對資源的要求和一定的調度原則,調幾個作業(yè)進入內存,讓它們交替運行。當某個作業(yè)完成,然后再調入一個或幾個作業(yè)。這種處理方式,在內存中總是同時存在幾道程序,系統(tǒng)資源得到比較充分的利用。 多道程序系統(tǒng)中,要解決這樣一些技術問題: (1) 并行運行的程序要共享計算機系統(tǒng)的硬件和軟件資源,既有對資源的競爭,但又須相互同步。因此同步與互斥機制成為操作系統(tǒng)設計中的重要問題。,(2) 隨著多道程序的增加,出現了內存不夠用的問題,提高內存的使用效率也成為關鍵。因此

17、出現了諸如覆蓋技術、對換技術和虛擬存儲技術等內存管理技術。 (3) 由于多道程序存在于內存,為了保證系統(tǒng)程序存儲區(qū)和各用戶程序存儲區(qū)的安全可靠,提出了內存保護的要求。 多道程序系統(tǒng)的出現標志著在操作系統(tǒng)漸趨成熟的階段先后出現了作業(yè)調度管理、處理機管理、存儲器管理、外部設備管理、文件系統(tǒng)管理等功能。,1.2.4 分時操作系統(tǒng) 批處理方式下,用戶以脫機操作方式使用計算機,只有等該批作業(yè)處理結束,用戶才能得到計算結果。根據結果再作下一步處理。它的好處是計算機效率高。不過,用戶十分留戀手工操作階段的聯機工作方式,獨占計算機,并直接控制程序運行。但獨占計算機方式會造成資源效率低。既能保證計算機效率,又能

18、方便用戶使用,成為一種新的追求目標。20世紀60年代中期,計算機技術和軟件技術的發(fā)展使這種追求成為可能。由于CPU速度不斷提高和采用分時技術,一臺計算機可同時連接多個用戶終端,而每個用戶可在自己的終端上聯機使用計算機,好像自己獨占機器一樣。,所謂分時技術,就是把處理機的運行時間分成很短的時間片,按時間片輪流把處理機分配給各聯機作業(yè)使用。若某個作業(yè)在分配給它的時間片內不能完成其計算,則該作業(yè)暫時中斷,把處理機讓給另一作業(yè)使用,等待下一輪時再繼續(xù)其運行。由于計算機速度很快,作業(yè)運行輪轉得很快,給每個用戶的印象是好像他獨占了一臺計算機。而每個用戶可以通過自己終端向系統(tǒng)發(fā)出各種操作控制命令,完成作業(yè)的

19、運行。 多用戶分時操作系統(tǒng)是當今計算機操作系統(tǒng)中最普遍使用的一類操作系統(tǒng)。,1.2.5 實時操作系統(tǒng) 20世紀60年代中期計算機進入第三代,計算機的性能和可靠性有了很大提高,造價亦大幅度下降,導致計算機應用越來越廣泛。計算機由于用于工業(yè)過程控制、軍事實時控制等形成了各種實時處理系統(tǒng)。針對實時處理的實時操作系統(tǒng)是以在允許時間范圍之內做出響應為特征的。它要求計算機對于外來信息能以足夠快的速度進行處理,并在被控對象允許時間范圍內作出快速響應,其響應時間要求在秒級、毫秒級甚至微秒級或更小。近年來,實時操作系統(tǒng)正得到越來越廣泛的應用。特別是非PC機和PDA(個人數字助理)等新設備的出現,更加強了這一趨勢

20、。,1.2.6 通用操作系統(tǒng) 多道批處理系統(tǒng)和分時系統(tǒng)的不斷改進、實時系統(tǒng)的出現及其應用日益廣泛,致使操作系統(tǒng)日益完善。在此基礎上,出現了通用操作系統(tǒng)。它可以同時兼有多道批處理、分時、實時處理的功能,或其中兩種以上的功能。例如,將實時處理和批處理相結合構成實時批處理系統(tǒng)。在這樣的系統(tǒng)中,它首先保證優(yōu)先處理任務,插空進行批作業(yè)處理。通常把實時任務稱為前臺作業(yè),批作業(yè)稱為后臺作業(yè)。將批處理和分時處理相結合可構成分時批處理系統(tǒng)。在保證分時用戶的前提下,沒有分時用戶時可進行批量作業(yè)的處理。同樣,分時用戶和批處理作業(yè)可按前后臺方式處理。,20世紀60年代中期開始,國際上開始研制大型通用操作系統(tǒng)。這些系統(tǒng)

21、在解決其可靠性、可維護性、可理解性和開放性等方面都遇到很大的困難。相比之下UNIX操作系統(tǒng)卻是一個例外。這是一個通用的多用戶分時交互型的操作系統(tǒng)。它首先建立的是一個精干的核心,而其功能卻足以與許多大型的操作系統(tǒng)相媲美,在核心層以外可以支持龐大的軟件系統(tǒng)。目前廣泛使用的各種工作站級的操作系統(tǒng)如SUN公司的Solaris,IBM公司的AIX等都是基于UNIX的操作系統(tǒng)。Windows系列操作系統(tǒng),其主要原理也是基于UNIX系統(tǒng)的。linux系統(tǒng)也是從UNIX演變而成的。 至此,操作系統(tǒng)的基本概念、功能、基本結構和組成都已形成并漸趨完善。,1.2.7 操作系統(tǒng)的進一步發(fā)展 進入20世紀80年代,一方

22、面迎來了個人計算機的時代,同時又向計算機網絡、分布式處理、巨型計算機和智能化方向發(fā)展。操作系統(tǒng)有了進一步的發(fā)展: 個人計算機上的操作系統(tǒng),例如DOS系統(tǒng)。 嵌入式操作系統(tǒng)。 網絡操作系統(tǒng)。 分布式操作系統(tǒng)。 智能化操作系統(tǒng)。 20世紀90年代后期,由于個人計算機硬件功能的急劇增加和用戶對安全性、網絡功能的要求增強,個人計算機操作系統(tǒng)也從DOS轉向了通用操作系統(tǒng)Windows系列和linux系列。,1.3 操作系統(tǒng)的基本類型 根據其使用環(huán)境和對作業(yè)處理方式,操作系統(tǒng)的基本類型有: (1) 批處理操作系統(tǒng)(batch processing operating system) (2) 分時操作系統(tǒng)(

23、time sharing operating system) (3) 實時操作系統(tǒng)(real time operating system) (4) 個人計算機操作系統(tǒng)(personal computer operating system) (5) 網絡操作系統(tǒng)(network operating system) (6) 分布式操作系統(tǒng)(distributed operating system),1.3.1 批處理操作系統(tǒng) 現代操作系統(tǒng)大都具有批處理功能。圖1.5給出了批處理系統(tǒng)中作業(yè)處理步驟及狀態(tài)。 圖1.5 批處理系統(tǒng)中作業(yè)處理及狀態(tài),批處理系統(tǒng)的主要特征是: (1) 用戶脫機使用計算機。用

24、戶提交作業(yè)之后直到獲得結果之前就不再和計算機打交道。作業(yè)提交的方式可以是直接交給計算中心的管理操作員,也可以是通過遠程通訊線路提交。提交的作業(yè)由系統(tǒng)外存收容成為后備作業(yè)。 (2) 成批處理。操作員把用戶提交的作業(yè)分批進行處理。每批中的作業(yè)將由操作系統(tǒng)或監(jiān)督程序負責作業(yè)間自動調度執(zhí)行。 (3) 多道程序運行。按多道程序設計的調度原則,從一批后備作業(yè)中選取多道作業(yè)調入內存并組織它們運行,成為多道批處理。,多道批處理系統(tǒng)的優(yōu)點是由于系統(tǒng)資源為多個作業(yè)所共享,其工作方式是作業(yè)之間自動調度執(zhí)行。并在運行過程中用戶不干預自己的作業(yè),從而大大提高了系統(tǒng)資源的利用率和作業(yè)吞吐量。其缺點是無交互性,用戶一旦提交

25、作業(yè)就失去了對其運行的控制能力;而且是批處理的,作業(yè)周轉時間長,用戶使用不方便。 不要把多道程序系統(tǒng)和多重處理系統(tǒng)相混淆。一般講,多重處理系統(tǒng)配制多個CPU,因而能真正同時執(zhí)行多道程序。當然,要想有效地使用多重處理系統(tǒng),必須采用多道程序設計技術。反之不然,多道程序設計原則不一定要求有多重處理系統(tǒng)的支持。多重處理系統(tǒng)比起單處理系統(tǒng)來說,雖增加了硬件設施,卻換來了提高系統(tǒng)吞吐量、可靠性、計算能力和并行處理能力等好處。,1.3.2 分時系統(tǒng) 分時系統(tǒng)一般采用時間片輪轉的方式,使一臺計算機為多個終端用戶服務。對每個用戶能保證足夠快的響應時間,并提供交互會話能力。具有下述特點。 (1) 交互性:首先,

26、用戶可以在程序動態(tài)運行情況下對其加以控制。其次,用戶上機提交作業(yè)方便。第三,分時系統(tǒng)還為用戶之間進行合作提供方便。 (2) 多用戶同時性:多個用戶同時在自己的終端上上機,共享CPU和其他資源,充分發(fā)揮系統(tǒng)的效率。 (3) 獨立性:客觀效果上用戶彼此間感覺不到有別人也在使用該臺計算機,如同自己獨占計算機一樣。 分時操作系統(tǒng)是一個聯機的多用戶交互式的操作系統(tǒng)。UNIX是最流行的一種多用戶分時操作系統(tǒng)。,1.3.3 實時系統(tǒng) 實時系統(tǒng)主要隨著計算機應用于實時控制和實時信息處理領域中而發(fā)展起來。 實時系統(tǒng)的主要特點是提供即時響應和高可靠性。系統(tǒng)必須保證對實時信息的分析和處理的速度比其進入系統(tǒng)的速度要快

27、,而且系統(tǒng)本身要安全可靠。實時系統(tǒng)往往具有一定的專用性。與批處理系統(tǒng)、分時系統(tǒng)相比,實時系統(tǒng)的資源利用率可能較低。 設計實時操作系統(tǒng)要考慮這樣一些因素: (1) 實時時鐘管理(定時處理和延時處理)。 (2) 連續(xù)的人-機對話,這對實時控制往往是必須的。,(3) 要求采取過載保護措施。例如對于短期過載,把輸入任務按一定的策略在緩沖區(qū)排隊,等待調度; 對于持續(xù)性過載,可能要拒絕某些任務的輸入; 在實時控制系統(tǒng)中,則及時處理某些任務,放棄某些任務或降低對某些任務的服務頻率。 (4) 高度可靠性和安全性需采取冗余措施。雙機系統(tǒng)前后臺工作,包括必要的保密措施等。 1.3.4 通用操作系統(tǒng) 批處理系統(tǒng)、分

28、時系統(tǒng)和實時系統(tǒng)是操作系統(tǒng)的三種基本類型,在此基礎上又發(fā)展了具有多種類型操作特征的操作系統(tǒng),稱為通用操作系統(tǒng)。它可以同時兼有批處理、分時、實時處理和多重處理的功能,或其中兩種以上的功能。,1.3.5 個人計算機上的操作系統(tǒng) 個人計算機上的操作系統(tǒng)是一聯機的交互式的單用戶操作系統(tǒng),它提供的聯機交互功能與通用分時系統(tǒng)所提供的很相似。由于是個人專用,因此在多用戶和分時所要求的對處理機調度、存儲保護方面將會簡單得多。然而,由于個人計算機的應用普及,對于提供更方便友好的用戶接口的要求愈來愈迫切。 多媒體技術已迅速進入微型計算機系統(tǒng),它要求計算機具有高速信號處理、大容量的內存和外存、大數據量寬頻帶傳輸等能

29、力,能同時處理多個實時事件。要求有一個具有高速數據處理能力的實時多任務操作系統(tǒng)。 目前在個人計算機上使用的操作系統(tǒng)以Windows系列和linux系統(tǒng)為主。,1.3.6 網絡操作系統(tǒng) 計算機網絡是通過通信設施將物理上分散的具有自治功能的多個計算機系統(tǒng)互連起來的,實現信息交換、資源共享、可互操作和協作處理的系統(tǒng)。它具有這樣的特征: (1) 計算機網絡是一個互連的計算機系統(tǒng)的群體。 (2) 這些計算機是自治的,每臺計算機有自己的操作系統(tǒng),各自獨立工作,它們在網絡協議控制下協同工作。 (3) 系統(tǒng)互連要通過通信設施(硬件、軟件)來實現。 (4) 系統(tǒng)通過通信設施執(zhí)行信息交換、資源共享、互操作和協作處

30、理, 實現多種應用要求。,網絡操作系統(tǒng)的研制開發(fā)是在原來各自計算機操作系統(tǒng)的基礎上進行的。按照網絡體系結構的各個協議標準進行開發(fā),包括網絡管理、通信、資源共享、系統(tǒng)安全和多種網絡應用服務等達到上述諸方面的要求。 由于網絡計算的出現和發(fā)展,現代操作系統(tǒng)的主要特征之一就是具有上網功能,因此,除了在20世紀90年代初期時,Novell公司的Netware等系統(tǒng)被稱為網絡操作系統(tǒng)之外,人們一般不再特指某個操作系統(tǒng)為網絡操作系統(tǒng)。,1.3.7 分布式操作系統(tǒng) 粗看起來,分布式系統(tǒng)與計算機網絡系統(tǒng)沒有多大區(qū)別。分布系統(tǒng)也可以定義為通過通信網絡將物理上分布的具有自治功能的數據處理系統(tǒng)或計算機系統(tǒng)互連起來,實

31、現信息交換和資源共享,協作完成任務。但是有這樣一些明顯的區(qū)別應予考慮: (1) 計算機網絡的開發(fā)都遵循協議,而對于各種分布式系統(tǒng)并沒有制定標準的協議。當然,計算機網絡也可認為是一種分布式系統(tǒng)。 (2) 分布式系統(tǒng)要求一個統(tǒng)一的操作系統(tǒng),實現系統(tǒng)操作的統(tǒng)一性。,(3) 分布式操作系統(tǒng)對用戶是透明的。但對計算機網絡,若一個計算機上的用戶希望使用另一臺計算機上的資源,則必須明確指明是哪臺計算機。 (4) 分布式系統(tǒng)的基礎是網絡。分布式系統(tǒng)已不僅是一個物理上的松散耦合系統(tǒng),同時還是一個邏輯上緊密耦合的系統(tǒng)。 (5) 分布式系統(tǒng)還處在研究階段。而計算機網絡已經在各個領域得到廣泛的應用。 20世紀90年代

32、出現的網絡計算的趨勢和高速網絡的出現已使分布式系統(tǒng)變得越來越現實。特別是SUN公司的Java語言和運行在各種通用操作系統(tǒng)之上的Java虛擬機和Java OS的出現,更進一步加快了這一趨勢。另外,軟件構件技術的發(fā)展也將加快分布式操作系統(tǒng)的實現。,1.4 操作系統(tǒng)功能 下面我們從資源管理和用戶接口的觀點分五個方面來說明操作系統(tǒng)的基本功能。 1.4.1 處理機管理 在多道程序或多用戶的情況下,要組織多個作業(yè)同時運行,就要解決對處理機分配調度策略、分配實施和資源回收等問題。這就是處理機管理功能。正是由于操作系統(tǒng)對處理機管理策略的不同,其提供的作業(yè)處理方式也就不同,例如成批處理方式、分時處理方式和實時處

33、理方式。從而呈現在用戶面前,成為具有不同性質功能的操作系統(tǒng)。,1.4.2 存儲管理 存儲管理的主要工作是對內部存儲器進行分配、保護和擴充。 (1) 內存分配。如何分配內存,以保證系統(tǒng)及各用戶程序的存儲區(qū)互不沖突。 (2) 存儲保護。保證一道程序在執(zhí)行過程中不會有意或無意地破壞另一道程序,保證用戶程序不會破壞系統(tǒng)程序。 (3) 內存擴充。當用戶作業(yè)所需要的內存量超過計算機系統(tǒng)所提供的內存容量時,把內部存儲器和外部存儲器結合起來管理,為用戶提供一個容量比實際內存大得多的虛擬存儲器。,1.4.3 設備管理 (1) 通道、控制器、輸入輸出設備的分配和管理。設備管理的任務就是根據一定的分配策略,把通道、

34、控制器和輸入輸出設備分配給請求輸入輸出操作的程序,并啟動設備完成實際的輸入輸出操作。為了盡可能發(fā)揮設備和主機的并行工作能力,常需要采用虛擬技術和緩沖技術。 (2) 設備獨立性。輸入輸出設備種類很多,使用方法各不相同。設備管理應為用戶提供一個良好的界面,而不必去涉及具體的設備特性,以使用戶能方便、靈活地使用這些設備。,1.4.4 信息管理(文件系統(tǒng)管理) 上述三種管理是針對計算機的硬件資源的管理。信息管理(文件系統(tǒng)管理) 是對系統(tǒng)的軟件資源的管理。 文件如不能很好管理,就會引起混亂,甚至遭受破壞。這就是管理信息文件需要解決的問題。 信息的共享、保密和保護,也是文件系統(tǒng)所要解決的。如果系統(tǒng)允許多個

35、用戶協同工作,那么就應該允許用戶共享信息文件。但這種共享應該是受控制的,應該有授權和保密機制。還要有一定的保護機制以免文件被非授權用戶調用和修改,即使在意外情況下,如系統(tǒng)失效、用戶對文件使用不當,也能盡量保護信息免遭破壞。也就是說,系統(tǒng)是安全可靠的。,1.4.5 用戶接口 前述的四項功能是操作系統(tǒng)對資源的管理。操作系統(tǒng)還為用戶提供一個友好的用戶接口。一般來說,操作系統(tǒng)提供兩種方式的接口來為用戶服務。 一種用戶接口是程序一級的接口,即提供一組廣義指令(或稱系統(tǒng)調用、程序請求)供用戶程序和其他系統(tǒng)程序調用。當這些程序要求進行數據傳輸、文件操作或有其他資源要求時,通過這些廣義指令向操作系統(tǒng)提出申請,

36、并由操作系統(tǒng)代為完成。 另一種接口是作業(yè)一級的接口,提供一組控制操作命令(或稱作業(yè)控制語言,或像UNIX中的Shell命令語言)供用戶去組織和控制自己作業(yè)的運行。作業(yè)控制方式分兩大類:脫機控制和聯機控制。操作系統(tǒng)提供脫機控制作業(yè)語言和聯機控制作業(yè)控制語言。,1.5 計算機硬件簡介 如前所述,操作系統(tǒng)管理和控制計算機系統(tǒng)中所有軟硬件資源。同時,因操作系統(tǒng)是一個運行于硬件之上的系統(tǒng)軟件,我們還必須對操作系統(tǒng)運行的硬件環(huán)境有所了解。本節(jié)簡要介紹計算機硬件系統(tǒng)。 1.5.1 計算機的基本硬件元素 構成計算機的基本硬件元素有以下4種:處理器、存儲器、輸入輸出控制與總線、外部設備等。這些基本元素的邏輯關系

37、如圖1.6所示。,圖1.6 計算機的基本硬件元素,處理器控制和執(zhí)行計算機的指令操作。一臺計算機中可以有多個處理器或單個處理器。本書主要討論單處理器的操作系統(tǒng)。單處理器也稱CPU。存儲器用來儲存數據和程序。存儲器可分為內存與外存,以及用于數據和程序暫時存儲用的緩沖器與高速緩存(cache)等。 輸入輸出控制器與緩沖主要用來控制和暫時存儲外部設備與計算機內存之間交換的數據和程序。 外部設備范圍很廣。它們是獲取和輸出數據與程序的基本單位,包括數字式設備和模擬式設備。不過,模擬式設備要通過模/數轉換后才能把模擬信號輸入到計算機,而計算機輸出的數字信號則要通過數/模轉換之后才能在模擬設備上顯示或輸出。,

38、計算機系統(tǒng)的各種設備通過總線互相連接。總線是連接計算機各部件的通信線路。計算機系統(tǒng)的總線有單總線和多總線之分。單總線是指處理機、外部設備、存儲器等都連接在一起的總線結構,而多總線則指把系統(tǒng)的CPU和內存分開連接,外部設備和外存等也用其他總線分開連接進行管理和數據傳送的總線結構。顯然,不同的總線結構對操作系統(tǒng)的設計和性能有不同的影響。,1.5.2 與操作系統(tǒng)相關的幾種主要寄存器 寄存器與操作系統(tǒng)密切相關,因為它們是在處理機中交換數據的速度比內存更快、體積也更小,而價格又更貴的暫存器件。處理機中寄存的功能分為二類,即用戶可編程的寄存器以及控制與狀態(tài)寄存器。機器語言或匯編語言的程序員可對用戶可編程寄

39、存器進行操作,以獲得更高的執(zhí)行效率等。而控制與狀態(tài)寄存器則被用來對處理機的優(yōu)先級、保護模式或用戶程序執(zhí)行時的調用關系等進行控制和操作。 一般來說,用戶可編程寄存器和控制與狀態(tài)寄存器之間沒有嚴格的區(qū)分和限制,在不同的系統(tǒng)中,寄存器的功能和作用可能不完全相同。,典型的用戶可編程寄存器包括以下幾種: 1. 數據寄存器 編程人員可以通過程序賦予數據寄存器眾多的功能。一般來說,對數據進行操作的任何機器指令都被允許訪問數據寄存器。不過,根據硬件設置的規(guī)定,這些寄存器也可能只被允許進行浮點運算或被其他某些規(guī)定所限制。 2. 地址寄存器 地址寄存器一般用來存放內存中某個數據或指令的地址,或者存放某段數據與指令

40、的入口地址以及被用來進行更復雜的地址計算。下面幾種寄存器都可被認為是地址寄存器:,(1) 地址標識位寄存器; (2) 內存管理用各種始地址寄存器; (3) 堆棧指針; (4) 設備地址寄存器等。 3. 條件碼寄存器 條件碼寄存器也稱標志寄存器。條件碼寄存器的比特位由處理機硬件設置。 典型的控制與狀態(tài)寄存器包括以下幾種: 4. 程序計數器PC 程序計數器內裝有下一周期被執(zhí)行指令的地址。 5. 指令寄存器IR 指令寄存器內裝有待執(zhí)行指令。,6. 程序狀態(tài)字PSW 程序狀態(tài)字寄存器的各個比特位代表系統(tǒng)中當前的各種不同狀態(tài)與信息。如執(zhí)行模式是否允許中斷等。 7. 中斷現場保護寄存器 如果系統(tǒng)允許不同類

41、型的中斷存在,則會設置一組中斷現場保護寄存器以便保存被中斷程序的現場和鏈接中斷恢復處。 8. 過程調用用堆棧 堆棧被用來存放過程調用時的調用名、調用參數、以及返回地址等。 寄存器被廣泛應用于計算機系統(tǒng)中,它們與操作系統(tǒng)有著非常直接和密切的關系。操作系統(tǒng)設計人員只有在完全掌握和了解硬件廠商所提供的各種寄存器的功能和接口之后,才能進行操作系統(tǒng)設計。,1.5.3 存儲器的訪問速度 硬件廠商提供有不同種類的存儲器件,這些存儲器件包括:可移動存儲介質,例如光盤、磁盤和磁帶等;硬盤,磁盤緩存內存,高速緩存以及寄存器等。 一般來說,容量越大的存儲介質,訪問速度會越慢,但單位存儲的成本越低。例如,光盤和磁盤。

42、反過來說,如果存儲介質的訪問速度越高,則它的成本也會越高,例如寄存器。 存儲器件的訪問速度與存儲量的大小的關系如圖1.7所示。 除了上述的寄存器與存儲介質之外,與操作系統(tǒng)設計相關的硬件器件還有中斷機構、輸入輸出設備控制部分,例如通道和DMA器件等。,圖1.7 存儲介質的訪問速度,1.5.4 指令的執(zhí)行與中斷 計算機提供的最基本功能是執(zhí)行指令。任何應用程序都只有通過指令的執(zhí)行才能得以完成。執(zhí)行指令的基本過程分為兩步,即處理機從內存把指令讀入的過程和執(zhí)行的過程。其中,讀指令是根據程序計數器PC所指的地址讀入,而執(zhí)行的指令則是指令寄存器IR中的指令。 我們把指令的讀入和執(zhí)行過程稱為一個執(zhí)行周期。如圖

43、1.8所示。 圖1.8 指令的執(zhí)行周期,指令的執(zhí)行涉及到處理機與內存之間的數據傳輸,或者是處理機與外部設備之間的數據傳輸等。指令的執(zhí)行也涉及到數據處理,例如算術運算或邏輯運算。另外,指令的執(zhí)行還可以是對其他指令的控制過程。 一條指令的執(zhí)行可以是上述幾種情況的組合。 另外,在指令的執(zhí)行過程中或一條指令執(zhí)行結束時,盡管指令地址計數器中已指明了下一條被訪問指令的地址,但是,外部設備或計算機內部可能會發(fā)來亟須處理的數據或其他緊急事件處理信號。這就需要處理機暫停正在執(zhí)行的程序,轉去處理相應的緊急事件,待處理完畢后再返回原處繼續(xù)執(zhí)行,這一過程稱為中斷,如圖1.9所示。,中斷給操作系統(tǒng)設計帶來許多好處,首先

44、使得實時處理許多緊急事件成為可能;再者,中斷可以增加處理機的執(zhí)行效率;另外,中斷還可以簡化操作系統(tǒng)的程序設計。 圖1.9 中斷執(zhí)行過程,具有中斷處理時的指令執(zhí)行過程如圖1.10所示。 圖1.10 中斷處理時的指令執(zhí)行周期 系統(tǒng)發(fā)生中斷時,處理機收到中斷信號,從而不能繼續(xù)執(zhí)行程序計數器中所指的原程序。這時處理機將保存當前的執(zhí)行現場(也就是各寄存器中的值)并調用新的程序到處理機上執(zhí)行。,1.6 算法的描述 操作系統(tǒng)設計和原理描述中涉及到許多算法。為了描述簡單起見,本書定義下述關鍵詞描述算法中有關過程。 begin end 分別表示算法的開頭和結束。 Repeat 操作 Until 條件 表示當“條件”未被滿足時重復所描述的“操作”。,While 條件 do 操作 od 表示當“條件”滿足時,進

溫馨提示

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

評論

0/150

提交評論