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

下載本文檔

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

文檔簡介

1、計算機操作系統(tǒng)教程(第4版)清華大學計算機系列教材張堯?qū)W 宋虹 張高 編著第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)的幾種觀點習題1.1 操作系統(tǒng)概念1.1.1 計算機系統(tǒng)組成 任何一個計算機系統(tǒng)都是由兩部分組成:計算機硬件和計算機軟件。計算機硬件通常是由中央處理機(運算器和控制器)、存儲器、輸入設(shè)備和輸出設(shè)備等部件組成。計算機軟件包括系統(tǒng)軟件和應(yīng)用軟件。系統(tǒng)軟件如操作系統(tǒng)、多種語言處理程序( 匯編和編譯程序等 )、連接裝配程序、系統(tǒng)實用程序、多種工具軟件等; 應(yīng)用軟件為多種應(yīng)

2、用目的而編制的程序。沒有任何軟件支持的計算機稱為裸機,它僅僅構(gòu)成了計算機系統(tǒng)的物質(zhì)基礎(chǔ),而實際呈現(xiàn)在用戶面前的計算機系統(tǒng)是經(jīng)過若干層軟件改造的計算機。圖1.1展示了這種情形。圖1.1 操作系統(tǒng)與硬件軟件的關(guān)系綜上所述,我們可以非形式地把操作系統(tǒng)定義為:操作系統(tǒng)是計算機系統(tǒng)中的一個系統(tǒng)軟件,它是這樣一些程序模塊的集合它們管理和控制計算機系統(tǒng)中的硬件及軟件資源,合理地組織計算機工作流程,以便有效地利用這些資源為用戶提供一個功能強大、使用方便和可擴展的工作環(huán)境,從而在計算機與其用戶之間起到接口的作用。1.2 操作系統(tǒng)的歷史人們通常按照器件工藝的演變把計算機發(fā)展過程分為四個階段。1.2.1 手工操作階

3、段在第一代計算機時期,構(gòu)成計算機的主要元器件是電子管,計算機運算速度慢,沒有操作系統(tǒng),甚至沒有任何軟件。用戶直接用機器語言編制程序,并在上機時獨占全部計算機資源。上機完全是手工操作:先把程序紙帶(或卡片)裝上輸入機,然后啟動輸入機把程序和數(shù)據(jù)送入計算機,接著通過控制臺開關(guān)啟動程序運行。計算完畢,打印機輸出計算結(jié)果,用戶取走并卸下紙帶(或卡片)。1.2.2 早期批處理(batch processing)如上所述,在計算機發(fā)展的早期階段,由于沒有任何用于管理的軟件,所有的運行管理和具體操作都由用戶自己承擔。作業(yè)由許多作業(yè)步組成,任何一步的錯誤操作都可能導致該作業(yè)從頭開始。當時,計算機極其昂貴,計算

4、機(CPU)的時間非常寶貴,盡可能提高CPU的利用率成為十分迫切的任務(wù)。解決的途徑有兩個:首先配備專門的計算機操作員,程序員不再直接操作機器,減少操作機器的錯誤。另一個重要措施是進行批處理,操作員把用戶提交的作業(yè)分類,把一批中的作業(yè)編成一個作業(yè)執(zhí)行序列。每一批作業(yè)將有專門編制的監(jiān)督程序(monitor)自動依次處理。早期的批處理可分為兩種方式。1. 聯(lián)機批處理慢速的輸入輸出(I/O)設(shè)備是和主機直接相連。作業(yè)的執(zhí)行過程為:(1) 用戶提交作業(yè):作業(yè)程序、數(shù)據(jù),用作業(yè)控制語言編寫的作業(yè)說明書;(2) 作業(yè)被作成穿孔紙帶或卡片;(3) 操作員有選擇地把若干作業(yè)合成一批,通過輸入設(shè)備(紙帶輸入機或讀

5、卡機) 把它們存入磁帶;(4) 監(jiān)督程序讀入一個作業(yè)(若系統(tǒng)資源能滿足該作業(yè)要求);(5) 從磁帶調(diào)入?yún)R編程序或編譯程序,將用戶作業(yè)源程序翻譯成目標代碼;(6) 連接裝配程序把編譯后的目標代碼及所需的子程序裝配成一個可執(zhí)行程序;(7) 啟動執(zhí)行;(8) 執(zhí)行完畢,由善后處理程序輸出計算結(jié)果;(9) 再讀入一個作業(yè),重復(fù)(5)(9)各步;(10) 一批作業(yè)完成,返回到(3),處理下一批作業(yè)。這種聯(lián)機批處理方式解決了作業(yè)自動轉(zhuǎn)接,從而減少作業(yè)建立和人工操作時間。但是在作業(yè)的輸入和執(zhí)行結(jié)果的輸出過程中,主機CPU仍處在停止等待狀態(tài),這樣慢速的輸入輸出設(shè)備和快速主機之間仍處于串行工作,CPU的時間仍有

6、很大的浪費。2. 脫機批處理這種方式的顯著特征是增加一臺不與主機直接相連而專門用于與輸入輸出設(shè)備打交道的衛(wèi)星機。如圖1.2所示。衛(wèi)星機的功能是:(1) 輸入設(shè)備通過它把作業(yè)輸入到輸入磁帶;(2) 輸出磁帶將作業(yè)執(zhí)行結(jié)果輸出到輸出設(shè)備。這樣,主機不是直接與慢速的輸入輸出設(shè)備打交道,而是與速度相對較快的磁帶機發(fā)生關(guān)系。主機與衛(wèi)星機可以并行工作,二者分工明確,以充分發(fā)揮主機的高速度計算能力。因此脫機批處理和早期聯(lián)機批處理相比大大提高了系統(tǒng)的處理能力。圖1.2 早期脫機批處理模型圖1.3 監(jiān)督程序管理下的解題過程借助于通道、中斷技術(shù)和輸入輸出可在主機控制下完成批處理。這時,原來的監(jiān)督程序的功能擴大了,

7、它不僅要負責作業(yè)運行的自動調(diào)度,而且還要提供輸入輸出控制功能。這個發(fā)展了的監(jiān)督程序常駐內(nèi)存稱為執(zhí)行系統(tǒng)。執(zhí)行系統(tǒng)實現(xiàn)的也是輸入輸出聯(lián)機操作,和早期批處理系統(tǒng)不同的是:輸入輸出工作是由在主機控制下的通道完成的。主機和通道、主機和輸入輸出設(shè)備都可以并行操作。1.2.3 多道程序系統(tǒng)上述批處理系統(tǒng),每次只調(diào)用一個用戶作業(yè)程序進入內(nèi)存并運行,稱為單道運行。圖1.4(a)給出了單道程序工作示例。而圖1.4(b)給出了多道程序工作示例。在單處理機系統(tǒng)中,多道程序運行的特點是:(1) 多道:計算機內(nèi)存中同時存放幾道相互獨立的程序。(2) 宏觀上并行:同時進入系統(tǒng)的幾道程序都處于運行過程中,即它們先后開始了各

8、自的運行,但都未運行完畢。(3) 微觀上串行:實際上,各道程序輪流使用CPU,交替執(zhí)行。(a) 單道程序工作示例 (b) 多道程序工作示例 圖 1.4在批處理系統(tǒng)中采用多道程序設(shè)計技術(shù),就形成了多道批處理系統(tǒng)。要處理的許多作業(yè)存放在外部存儲器中,形成作業(yè)隊列,等待運行。當需要調(diào)入作業(yè)時,將由操作系統(tǒng)中的作業(yè)調(diào)度程序?qū)ν獯嬷械囊慌鳂I(yè),根據(jù)其對資源的要求和一定的調(diào)度原則,調(diào)幾個作業(yè)進入內(nèi)存,讓它們交替運行。當某個作業(yè)完成,然后再調(diào)入一個或幾個作業(yè)。這種處理方式,在內(nèi)存中總是同時存在幾道程序,系統(tǒng)資源得到比較充分的利用。1.2.4 分時操作系統(tǒng)批處理方式下,用戶以脫機操作方式使用計算機,只有等該批

9、作業(yè)處理結(jié)束,用戶才能得到計算結(jié)果。根據(jù)結(jié)果再作下一步處理。它的好處是計算機效率高。不過,用戶十分留戀手工操作階段的聯(lián)機工作方式,獨占計算機,并直接控制程序運行。但獨占計算機方式會造成資源效率低。既能保證計算機效率,又能方便用戶使用,成為一種新的追求目標。20世紀60年代中期,計算機技術(shù)和軟件技術(shù)的發(fā)展使這種追求成為可能。由于CPU速度不斷提高和采用分時技術(shù),一臺計算機可同時連接多個用戶終端,而每個用戶可在自己的終端上聯(lián)機使用計算機,好像自己獨占機器一樣。所謂分時技術(shù),就是把處理機的運行時間分成很短的時間片,按時間片輪流把處理機分配給各聯(lián)機作業(yè)使用。若某個作業(yè)在分配給它的時間片內(nèi)不能完成其計算

10、,則該作業(yè)暫時中斷,把處理機讓給另一作業(yè)使用,等待下一輪時再繼續(xù)其運行。由于計算機速度很快,作業(yè)運行輪轉(zhuǎn)得很快,給每個用戶的印象是好像他獨占了一臺計算機。而每個用戶可以通過自己終端向系統(tǒng)發(fā)出各種操作控制命令,完成作業(yè)的運行。多用戶分時操作系統(tǒng)是當今計算機操作系統(tǒng)中最普遍使用的一類操作系統(tǒng)。1.2.5 實時操作系統(tǒng)20世紀60年代中期計算機進入第三代,計算機的性能和可靠性有了很大提高,造價亦大幅度下降,導致計算機應(yīng)用越來越廣泛。計算機由于用于工業(yè)過程控制、軍事實時控制等形成了各種實時處理系統(tǒng)。針對實時處理的實時操作系統(tǒng)是以在允許時間范圍之內(nèi)做出響應(yīng)為特征的。它要求計算機對于外來信息能以足夠快的速

11、度進行處理,并在被控對象允許時間范圍內(nèi)作出快速響應(yīng),其響應(yīng)時間要求在秒級、毫秒級甚至微秒級或更小。近年來,實時操作系統(tǒng)正得到越來越廣泛的應(yīng)用。特別是非PC機和PDA(個人數(shù)字助理)等新設(shè)備的出現(xiàn),更加強了這一趨勢。1.2.6 通用操作系統(tǒng)多道批處理系統(tǒng)和分時系統(tǒng)的不斷改進、實時系統(tǒng)的出現(xiàn)及其應(yīng)用日益廣泛,致使操作系統(tǒng)日益完善。在此基礎(chǔ)上,出現(xiàn)了通用操作系統(tǒng)。它可以同時兼有多道批處理、分時、實時處理的功能,或其中兩種以上的功能。例如,將實時處理和批處理相結(jié)合構(gòu)成實時批處理系統(tǒng)。在這樣的系統(tǒng)中,它首先保證優(yōu)先處理任務(wù),插空進行批作業(yè)處理。通常把實時任務(wù)稱為前臺作業(yè),批作業(yè)稱為后臺作業(yè)。將批處理和分

12、時處理相結(jié)合可構(gòu)成分時批處理系統(tǒng)。在保證分時用戶的前提下,沒有分時用戶時可進行批量作業(yè)的處理。同樣,分時用戶和批處理作業(yè)可按前后臺方式處理。20世紀60年代中期開始,國際上開始研制大型通用操作系統(tǒng)。這些系統(tǒng)在解決其可靠性、可維護性、可理解性和開放性等方面都遇到很大的困難。相比之下UNIX操作系統(tǒng)卻是一個例外。這是一個通用的多用戶分時交互型的操作系統(tǒng)。它首先建立的是一個精干的核心,而其功能卻足以與許多大型的操作系統(tǒng)相媲美,在核心層以外可以支持龐大的軟件系統(tǒng)。目前廣泛使用的各種工作站級的操作系統(tǒng)如SUN公司的Solaris,IBM公司的AIX等都是基于UNIX的操作系統(tǒng)。Windows系列操作系統(tǒng)

13、,其主要原理也是基于UNIX系統(tǒng)的。linux系統(tǒng)也是從UNIX演變而成的。至此,操作系統(tǒng)的基本概念、功能、基本結(jié)構(gòu)和組成都已形成并漸趨完善。1.2.7 操作系統(tǒng)的進一步發(fā)展進入20世紀80年代,一方面迎來了個人計算機的時代,同時又向計算機網(wǎng)絡(luò)、分布式處理、巨型計算機和智能化方向發(fā)展。操作系統(tǒng)有了進一步的發(fā)展: 個人計算機上的操作系統(tǒng),例如Window系統(tǒng)。 嵌入式操作系統(tǒng)。 網(wǎng)絡(luò)操作系統(tǒng)。 分布式操作系統(tǒng)。 智能化操作系統(tǒng)。1.3 操作系統(tǒng)的基本類型根據(jù)其使用環(huán)境和對作業(yè)處理方式,操作系統(tǒng)的基本類型有:(1) 批處理操作系統(tǒng)(batch processing operating system

14、)(2) 分時操作系統(tǒng)(time sharing operating system)(3) 實時操作系統(tǒng)(real time operating system)(4) 個人計算機操作系統(tǒng)(personal computer operating system)(5) 網(wǎng)絡(luò)操作系統(tǒng)(network operating system)(6) 分布式操作系統(tǒng)(distributed operating system)1.3.1 批處理操作系統(tǒng)現(xiàn)代操作系統(tǒng)大都具有批處理功能。圖1.5給出了批處理系統(tǒng)中作業(yè)處理步驟及狀態(tài)。圖1.5 批處理系統(tǒng)中作業(yè)處理及狀態(tài)1.3.2 分時系統(tǒng)分時系統(tǒng)一般采用時間片輪轉(zhuǎn)的

15、方式,使一臺計算機為多個終端用戶服務(wù)。對每個用戶能保證足夠快的響應(yīng)時間,并提供交互會話能力。具有下述特點。(1) 交互性:首先, 用戶可以在程序動態(tài)運行情況下對其加以控制。其次,用戶上機提交作業(yè)方便。第三,分時系統(tǒng)還為用戶之間進行合作提供方便。(2) 多用戶同時性:多個用戶同時在自己的終端上上機,共享CPU和其他資源,充分發(fā)揮系統(tǒng)的效率。(3) 獨立性:客觀效果上用戶彼此間感覺不到有別人也在使用該臺計算機,如同自己獨占計算機一樣。分時操作系統(tǒng)是一個聯(lián)機的多用戶交互式的操作系統(tǒng)。UNIX是最流行的一種多用戶分時操作系統(tǒng)。1.3.3 實時系統(tǒng)實時系統(tǒng)主要隨著計算機應(yīng)用于實時控制和實時信息處理領(lǐng)域中

16、而發(fā)展起來。實時系統(tǒng)的主要特點是提供即時響應(yīng)和高可靠性。系統(tǒng)必須保證對實時信息的分析和處理的速度比其進入系統(tǒng)的速度要快,而且系統(tǒng)本身要安全可靠。實時系統(tǒng)往往具有一定的專用性。大多數(shù)用于嵌入式計算中。與批處理系統(tǒng)、分時系統(tǒng)相比,實時系統(tǒng)的資源利用率可能較低。1.3.4 通用操作系統(tǒng)批處理系統(tǒng)、分時系統(tǒng)和實時系統(tǒng)是操作系統(tǒng)的三種基本類型,在此基礎(chǔ)上又發(fā)展了具有多種類型操作特征的操作系統(tǒng),稱為通用操作系統(tǒng)。它可以同時兼有批處理、分時、實時處理和多重處理的功能,或其中兩種以上的功能。1.3.5 個人計算機上的操作系統(tǒng)個人計算機上的操作系統(tǒng)是一聯(lián)機的交互式的單用戶操作系統(tǒng),它提供的聯(lián)機交互功能與通用分時

17、系統(tǒng)所提供的很相似。由于是個人專用,因此在多用戶和分時所要求的對處理機調(diào)度、存儲保護方面將會簡單得多。然而,由于個人計算機的應(yīng)用普及,對于提供更方便友好的用戶接口的要求愈來愈迫切。目前在個人計算機上使用的操作系統(tǒng)以Windows系列和linux系統(tǒng)為主。1.3.6 網(wǎng)絡(luò)操作系統(tǒng)計算機網(wǎng)絡(luò)是通過通信設(shè)施將物理上分散的具有自治功能的多個計算機系統(tǒng)互連起來的,實現(xiàn)信息交換、資源共享、可互操作和協(xié)作處理的系統(tǒng)。網(wǎng)絡(luò)操作系統(tǒng)的研制開發(fā)是在原來各自計算機操作系統(tǒng)的基礎(chǔ)上進行的。按照網(wǎng)絡(luò)體系結(jié)構(gòu)的各個協(xié)議標準進行開發(fā),包括網(wǎng)絡(luò)管理、通信、資源共享、系統(tǒng)安全和多種網(wǎng)絡(luò)應(yīng)用服務(wù)等達到上述諸方面的要求。由于網(wǎng)絡(luò)計

18、算的出現(xiàn)和發(fā)展,現(xiàn)代操作系統(tǒng)的主要特征之一就是具有上網(wǎng)功能,因此,除了在20世紀90年代初期時,Novell公司的Netware等系統(tǒng)被稱為網(wǎng)絡(luò)操作系統(tǒng)之外,人們一般不再特指某個操作系統(tǒng)為網(wǎng)絡(luò)操作系統(tǒng)。1.3.7 分布式操作系統(tǒng)粗看起來,分布式系統(tǒng)與計算機網(wǎng)絡(luò)系統(tǒng)沒有多大區(qū)別。分布系統(tǒng)也可以定義為通過通信網(wǎng)絡(luò)將物理上分布的具有自治功能的數(shù)據(jù)處理系統(tǒng)或計算機系統(tǒng)互連起來,實現(xiàn)信息交換和資源共享,協(xié)作完成任務(wù)。但是有這樣一些明顯的區(qū)別應(yīng)予考慮:(1) 計算機網(wǎng)絡(luò)的開發(fā)都遵循協(xié)議,而對于各種分布式系統(tǒng)并沒有制定標準的協(xié)議。當然,計算機網(wǎng)絡(luò)也可認為是一種分布式系統(tǒng)。(2) 分布式系統(tǒng)要求一個統(tǒng)一的操作

19、系統(tǒng),實現(xiàn)系統(tǒng)操作的統(tǒng)一性。(3) 分布式操作系統(tǒng)對用戶是透明的。但對計算機網(wǎng)絡(luò),若一個計算機上的用戶希望使用另一臺計算機上的資源,則必須明確指明是哪臺計算機。(4) 分布式系統(tǒng)的基礎(chǔ)是網(wǎng)絡(luò)。分布式系統(tǒng)已不僅是一個物理上的松散耦合系統(tǒng),同時還是一個邏輯上緊密耦合的系統(tǒng)。(5) 分布式系統(tǒng)還處在研究階段。而計算機網(wǎng)絡(luò)已經(jīng)在各個領(lǐng)域得到廣泛的應(yīng)用。1.4 操作系統(tǒng)功能下面我們從資源管理和用戶接口的觀點分五個方面來說明操作系統(tǒng)的基本功能。1.4.1 處理機管理在多道程序或多用戶的情況下,要組織多個作業(yè)同時運行,就要解決對處理機分配調(diào)度策略、分配實施和資源回收等問題。這就是處理機管理功能。正是由于操作

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

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

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

23、、文件操作或有其他資源要求時,通過這些廣義指令向操作系統(tǒng)提出申請,并由操作系統(tǒng)代為完成。另一種接口是作業(yè)一級的接口,提供一組控制操作命令(或稱作業(yè)控制語言,或像UNIX中的Shell命令語言)供用戶去組織和控制自己作業(yè)的運行。作業(yè)控制方式分兩大類:脫機控制和聯(lián)機控制。操作系統(tǒng)提供脫機控制作業(yè)語言和聯(lián)機控制作業(yè)控制語言。1.5 計算機硬件簡介如前所述,操作系統(tǒng)管理和控制計算機系統(tǒng)中所有軟硬件資源。同時,因操作系統(tǒng)是一個運行于硬件之上的系統(tǒng)軟件,我們還必須對操作系統(tǒng)運行的硬件環(huán)境有所了解。本節(jié)簡要介紹計算機硬件系統(tǒng)。1.5.1 計算機的基本硬件元素構(gòu)成計算機的基本硬件元素有以下4種:處理器、存儲器

24、、輸入輸出控制與總線、外部設(shè)備等。這些基本元素的邏輯關(guān)系如圖1.6所示。圖1.6 計算機的基本硬件元素1.5.2 與操作系統(tǒng)相關(guān)的幾種主要寄存器1. 數(shù)據(jù)寄存器編程人員可以通過程序賦予數(shù)據(jù)寄存器眾多的功能。一般來說,對數(shù)據(jù)進行操作的任何機器指令都被允許訪問數(shù)據(jù)寄存器。不過,根據(jù)硬件設(shè)置的規(guī)定,這些寄存器也可能只被允許進行浮點運算或被其他某些規(guī)定所限制。2. 地址寄存器地址寄存器一般用來存放內(nèi)存中某個數(shù)據(jù)或指令的地址,或者存放某段數(shù)據(jù)與指令的入口地址以及被用來進行更復(fù)雜的地址計算。下面幾種寄存器都可被認為是地址寄存器:(1) 地址標識位寄存器;(2) 內(nèi)存管理用各種始地址寄存器;(3) 堆棧指針

25、;(4) 設(shè)備地址寄存器等。3. 條件碼寄存器條件碼寄存器也稱標志寄存器。條件碼寄存器的比特位由處理機硬件設(shè)置。典型的控制與狀態(tài)寄存器包括以下幾種:4. 程序計數(shù)器PC程序計數(shù)器內(nèi)裝有下一周期被執(zhí)行指令的地址。5. 指令寄存器IR指令寄存器內(nèi)裝有待執(zhí)行指令。6. 程序狀態(tài)字PSW程序狀態(tài)字寄存器的各個比特位代表系統(tǒng)中當前的各種不同狀態(tài)與信息。如執(zhí)行模式是否允許中斷等。7. 中斷現(xiàn)場保護寄存器如果系統(tǒng)允許不同類型的中斷存在,則會設(shè)置一組中斷現(xiàn)場保護寄存器以便保存被中斷程序的現(xiàn)場和鏈接中斷恢復(fù)處。8. 過程調(diào)用用堆棧堆棧被用來存放過程調(diào)用時的調(diào)用名、調(diào)用參數(shù)、以及返回地址等。寄存器被廣泛應(yīng)用于計算

26、機系統(tǒng)中,它們與操作系統(tǒng)有著非常直接和密切的關(guān)系。操作系統(tǒng)設(shè)計人員只有在完全掌握和了解硬件廠商所提供的各種寄存器的功能和接口之后,才能進行操作系統(tǒng)設(shè)計。圖1.7 存儲介質(zhì)的訪問速度1.5.3 存儲器的訪問速度1.5.4 指令的執(zhí)行與中斷計算機提供的最基本功能是執(zhí)行指令。任何應(yīng)用程序都只有通過指令的執(zhí)行才能得以完成。執(zhí)行指令的基本過程分為兩步,即處理機從內(nèi)存把指令讀入的過程和執(zhí)行的過程。其中,讀指令是根據(jù)程序計數(shù)器PC所指的地址讀入,而執(zhí)行的指令則是指令寄存器IR中的指令。我們把指令的讀入和執(zhí)行過程稱為一個執(zhí)行周期。如圖1.8所示。圖1.8 指令的執(zhí)行周期在指令的執(zhí)行過程中或一條指令執(zhí)行結(jié)束時,

27、盡管指令地址計數(shù)器中已指明了下一條被訪問指令的地址,但是,外部設(shè)備或計算機內(nèi)部可能會發(fā)來亟須處理的數(shù)據(jù)或其他緊急事件處理信號。這就需要處理機暫停正在執(zhí)行的程序,轉(zhuǎn)去處理相應(yīng)的緊急事件,待處理完畢后再返回原處繼續(xù)執(zhí)行,這一過程稱為中斷,如圖1.9所示。中斷給操作系統(tǒng)設(shè)計帶來許多好處,首先使得實時處理許多緊急事件成為可能;再者,中斷可以增加處理機的執(zhí)行效率;另外,中斷還可以簡化操作系統(tǒng)的程序設(shè)計。圖1.9 中斷執(zhí)行過程具有中斷處理時的指令執(zhí)行過程如圖1.10所示。圖1.10 中斷處理時的指令執(zhí)行周期系統(tǒng)發(fā)生中斷時,處理機收到中斷信號,從而不能繼續(xù)執(zhí)行程序計數(shù)器中所指的原程序。這時處理機將保存當前的

28、執(zhí)行現(xiàn)場(也就是各寄存器中的值)并調(diào)用新的程序到處理機上執(zhí)行。1.6 算法的描述操作系統(tǒng)設(shè)計和原理描述中涉及到許多算法。為了描述簡單起見,本書定義下述關(guān)鍵詞描述算法中有關(guān)過程。beginend 分別表示算法的開頭和結(jié)束。Repeat操作Until 條件表示當“條件”未被滿足時重復(fù)所描述的“操作”。While 條件do操作od表示當“條件”滿足時,進行相應(yīng)的“操作”。關(guān)鍵詞“ do” 和“od”分別表示“操作”的開始和結(jié)束。If 條件Then操作Else操作fi表示滿足“if”所指的“條件”時,進行“then”后的相關(guān)“操作”,否則完成“else”后的相關(guān)操作。關(guān)鍵詞“fi”表示條件判斷的結(jié)束。

29、例如,圖1.8所示指令執(zhí)行周期可被描述為:RepeatIRMPC;PCPC + 1;ExecuteIR;UntilCPU halt;其中,MPC表示地址為PC所示內(nèi)存單元中的指令內(nèi)容。另一個例子是:令p1:n為1到n(n1)的整數(shù)置換,設(shè)i=1,2,3,4,5,6,7;pi=4,7,3,2,1,5,6;描述pi的巡回置換算法。(巡回置換指k1:n時,k=p.pk.的置換。)解:beginlocalx, k;k1;whilek=7doxk;repeatprint(x);xpx;until x=k;kk+1;odend1.7 研究操作系統(tǒng)的幾種觀點上面各節(jié),我們討論了幾種操作系統(tǒng)的基本概念、操作系

30、統(tǒng)發(fā)展的歷史和操作系統(tǒng)的分類和功能以及操作系統(tǒng)所依賴的硬件基礎(chǔ)等問題,使我們認識到,操作系統(tǒng)是計算機資源有效使用的管理者和為用戶提供友好的接口。這實質(zhì)上代表了一種討論操作系統(tǒng)的觀點。這一節(jié)我們簡單地討論一下操作系統(tǒng)研究中的不同觀點,這些觀點彼此并不矛盾,只不過代表了對同一事物(操作系統(tǒng))站在不同的角度來看待。每一種觀點都有助于理解、分析和設(shè)計操作系統(tǒng)。1.7.1 操作系統(tǒng)是計算機資源的管理者前面已經(jīng)指出操作系統(tǒng)就是指用來管理和控制計算機系統(tǒng)軟硬資源的程序的集合,因此它提供了處理機管理、存儲管理、設(shè)備管理和信息文件的管理等功能。對于每種資源的管理都可以從資源情況記錄、資源分配策略、資源分配和資源

31、回收等幾個方面來加以討論。1.7.2 用戶界面的觀點對于用戶來說,對操作系統(tǒng)的內(nèi)部結(jié)構(gòu)并沒有多大的興趣,他們最關(guān)心的是如何利用操作系統(tǒng)提供的服務(wù)來有效地使用計算機。因此操作系統(tǒng)提供了什么樣的用戶界面成為關(guān)鍵問題,即上節(jié)中所提出的程序一級和作業(yè)一級的兩種接口。1.7.3 進程管理觀點操作系統(tǒng)調(diào)用當前程序運行是一個動態(tài)過程,特別是現(xiàn)代操作系統(tǒng)的一個重要特征是并發(fā)性。并發(fā)性是指操作系統(tǒng)控制很多能并發(fā)執(zhí)行的程序段。并發(fā)執(zhí)行的程序在多處理機系統(tǒng)中可能是真正并行執(zhí)行的,但在單處理機情況下則是宏觀并行微觀順序執(zhí)行的。它們可以完全獨立地運行,也可能以間接或直接方式互相依賴和制約。并發(fā)的程序段不僅會受到其他程序

32、段活動的制約,也會受到系統(tǒng)資源分配情況的制約。一個程序段可能在運行,也可能因等待某些資源或信息處于掛起狀態(tài)等。因此只用“操作系統(tǒng)是資源管理程序”這一概念不能揭示它們在系統(tǒng)中活動聯(lián)系及其狀態(tài)變化,從而引進“進程” 的概念。所謂“進程”是指并發(fā)程序的執(zhí)行。用進程觀點來研究操作系統(tǒng)就是圍繞進程運行過程,即并發(fā)程序執(zhí)行過程來討論操作系統(tǒng),那么我們就能討論清楚“這些資源管理程序在系統(tǒng)中進行活動的過程”,對操作系統(tǒng)功能就能獲得更多的認識。習題1.1 什么是操作系統(tǒng)的基本功能?1.2 什么是批處理、分時和實時系統(tǒng)?各有什么特征?1.3 多道程序設(shè)計(multiprogramming)和多重處理(multi-

33、processing)有何區(qū)別?1.4 討論操作系統(tǒng)可以從哪些角度出發(fā),如何把它們統(tǒng)一起來?1.5 寫出1.6節(jié)中巡回置換算法的執(zhí)行結(jié)果。1.6 設(shè)計計算機操作系統(tǒng)時與哪些硬件器件有關(guān)?補充1 操作系統(tǒng)的結(jié)構(gòu)操作系統(tǒng)作為核心系統(tǒng)軟件,其內(nèi)部是怎樣構(gòu)造的?或者說操作系統(tǒng)作為一個大程序,由眾多函數(shù)組成,它們按什么方式集合在一起?操作系統(tǒng)的結(jié)構(gòu)設(shè)計操作系統(tǒng)體系結(jié)構(gòu)分類 整體式結(jié)構(gòu)層次式結(jié)構(gòu)虛擬機結(jié)構(gòu)客戶服務(wù)器及微內(nèi)核結(jié)構(gòu)操作系統(tǒng)的結(jié)構(gòu)設(shè)計操作系統(tǒng)體系結(jié)構(gòu)分類 整體式結(jié)構(gòu)層次式結(jié)構(gòu)虛擬機結(jié)構(gòu)客戶服務(wù)器及微內(nèi)核結(jié)構(gòu) 操作系統(tǒng)的整體式結(jié)構(gòu)又叫模塊組合法,早期操作系統(tǒng)(如IBM操作系統(tǒng))采用這種結(jié)構(gòu)設(shè)計方法

34、操作系統(tǒng)的結(jié)構(gòu)設(shè)計操作系統(tǒng)體系結(jié)構(gòu)分類 整體式結(jié)構(gòu)層次式結(jié)構(gòu)虛擬機結(jié)構(gòu)客戶服務(wù)器及微內(nèi)核結(jié)構(gòu)層次式結(jié)構(gòu)是把操作系統(tǒng)劃分為內(nèi)核和若干模塊(或進程),這些模塊(或進程)按功能的調(diào)用次序排列成若干層次,各層之間只能是單向依賴或單向調(diào)用關(guān)系,這樣不但系統(tǒng)結(jié)構(gòu)清晰,而且不構(gòu)成循環(huán)。操作系統(tǒng)的結(jié)構(gòu)設(shè)計操作系統(tǒng)體系結(jié)構(gòu)分類 整體式結(jié)構(gòu)層次式結(jié)構(gòu)虛擬機結(jié)構(gòu)客戶服務(wù)器及微內(nèi)核結(jié)構(gòu)物理計算機資源通過多重化和共享技術(shù)可改變成多個虛擬機?;咀龇ǎ和ㄟ^用一類物理設(shè)備來模擬另一類物理設(shè)備,或通過分時地使用一類物理設(shè)備,把一個物理實體改變成若干個邏輯上的對應(yīng)物。物理實體是實際存在的,而邏輯上對應(yīng)物是虛幻、感覺上的。 操作系統(tǒng)的結(jié)構(gòu)設(shè)計操作系統(tǒng)體系結(jié)構(gòu)分類 客戶服務(wù)器及微內(nèi)核結(jié)構(gòu) 客戶/服務(wù)器及微內(nèi)核結(jié)構(gòu)的思想:將操作系統(tǒng)分成兩大部分, 一是進程; 二是內(nèi)核。內(nèi)核是提供支持系統(tǒng)運行的基本功能的一組程序模塊,有了內(nèi)核的支撐,進程運行環(huán)境得到改善,安全性得到保證,系統(tǒng)效率就能提高。操作

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論