計算機(jī)操作系統(tǒng)原理_第1頁
計算機(jī)操作系統(tǒng)原理_第2頁
計算機(jī)操作系統(tǒng)原理_第3頁
計算機(jī)操作系統(tǒng)原理_第4頁
計算機(jī)操作系統(tǒng)原理_第5頁
已閱讀5頁,還剩92頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、計算機(jī)操作系統(tǒng)教案計算機(jī)操作系統(tǒng)課程參考書1. 張張堯?qū)W,史美林,計算機(jī)操作系統(tǒng)教程,清華大學(xué)出版社2. Stallings98William Stallings, Operating Systems(3rd edition), 清華大學(xué)出版社3. *操作系統(tǒng):設(shè)計與實現(xiàn)(第2版)電子工業(yè)出版社4. 湯子瀛等,計算機(jī)操作系統(tǒng),西安電子科技大學(xué)出版5. Vahalia Uresh Vahalia, UNIX高級教程系統(tǒng)技術(shù)內(nèi)幕,清華大學(xué)出版社課程要求作業(yè):10%平時:20%期中考試:20%期末考試:50%課程進(jìn)度安排日期周次講課內(nèi)容分章和分節(jié)的名稱課內(nèi)時數(shù)991第一章 緒論4 1.1操作系統(tǒng)的歷

2、史 1.2 操作系統(tǒng)的概念 1.3操作系統(tǒng)的功能9162第二章 操作系統(tǒng)用戶界面29233第三章 進(jìn)程管理12 3.1進(jìn)程的概念 3.2 進(jìn)程的描述 3.3進(jìn)程狀態(tài)及其轉(zhuǎn)換 3.4進(jìn)程控制 3.5 進(jìn)程互斥 3.6 進(jìn)程同步 3.7進(jìn)程通信 3.8 死鎖問題 3.9 線程10145實驗一 進(jìn)程管理810217第四章 處理機(jī)調(diào)度2 4.1 分級調(diào)度 4.2作業(yè)調(diào)度 4.3 進(jìn)程調(diào)度 4.4調(diào)度算法 4.5 實時系統(tǒng)調(diào)度方法10288實驗二 處理機(jī)調(diào)度41149第五章 存儲管理8 5.1存儲管理的功能 5.2分區(qū)存儲管理 5.3 覆蓋與交換技術(shù) 5.4 頁式管理 5.5 段式與段頁式管理 5.6

3、局部性原理和抖動問題112512實驗三 存儲管理412213第六章 文件系統(tǒng)8 6.1 文件系統(tǒng)的概念 6.2 文件的邏輯結(jié)構(gòu)與存取方法 6.3 文件的物理結(jié)構(gòu)與存取設(shè)備 6.4 文件存儲空間管理 6.5 文件目錄管理 6.6 文件存取控制 6.7 文件的使用 6.8 文件系統(tǒng)的層次模型12914實驗四 文件管理6121615第七章 設(shè)備管理8 8.1 引言 8.2 數(shù)據(jù)傳送控制方式 8.3 中斷技術(shù) 8.4 緩沖技術(shù) 8.5 設(shè)備分配 8.6 I/O進(jìn)程控制 8.7 設(shè)備驅(qū)動程序122317復(fù)習(xí)2第一章 操作系統(tǒng)引論1.      

4、     操作系統(tǒng)的作用、分類2.           處理機(jī)、作業(yè)、存儲、設(shè)備、文件管理3.           常用OS的知識、新型操作系統(tǒng)4.           用戶界面 操作系統(tǒng)的英文名稱為Operating System,簡稱OS,它是計算機(jī)系統(tǒng)運(yùn)

5、行和工作必不可少的軟件。無論是巨型機(jī)、大型機(jī),不是中小型機(jī),也無論是臺式個人計算機(jī),便攜式微型機(jī),還是連接多臺計算機(jī)的計算機(jī)網(wǎng)絡(luò),都離不開操作系統(tǒng)。一個完整的計算機(jī)系統(tǒng)是由硬件(通常由中央處理機(jī)、存儲器、I/O設(shè)備等部件組成,它構(gòu)成了系統(tǒng)本身和作業(yè)賴以活動的物質(zhì)基礎(chǔ)和工作系統(tǒng)。)和軟件(程序、數(shù)據(jù)、文檔的統(tǒng)稱)兩部分組成的(圖1.1)。其中軟件部分又分為系統(tǒng)軟件和應(yīng)用軟件。應(yīng)用軟件指的是為了某一類的應(yīng)用而設(shè)計的程序,或用戶為了解決某個特定問題而編制的程序。系統(tǒng)軟件包括操作系統(tǒng)、語言處理程序和常用的例行服務(wù)程序。操作系統(tǒng)是系統(tǒng)軟件的基本部分。系統(tǒng)軟件由計算機(jī)公司提供,面向機(jī)器本身,其算法和功能不

6、依賴于特定的用戶。它的主要任務(wù)是使得硬件所提供的能力可以得到充分的利用,支持用戶應(yīng)用軟件的運(yùn)行并提供恰當(dāng)?shù)姆?wù)。因此,系統(tǒng)軟件的設(shè)計必須十分注意其正確性及效率。在計算機(jī)系統(tǒng)中,所有這些軟、硬件資源(泛稱資源)必須由一個統(tǒng)一的管理者來協(xié)調(diào)它們正確、可靠、高效地工作,這就是OS的使命。所以,如果將構(gòu)成計算機(jī)系統(tǒng)的一切硬件系統(tǒng)和軟件系統(tǒng)稱為資源,則操作系統(tǒng)是控制和管理計算機(jī)硬件和軟件資源,合理組織計算機(jī)工作流程以及方便用戶的程序的集合。是最基本的系統(tǒng)軟件,是硬件機(jī)器的第一級擴(kuò)充(圖1.2)。計算機(jī)系統(tǒng)(層次結(jié)構(gòu))軟件硬件及固件(裸機(jī))應(yīng)用軟件系統(tǒng)軟件編輯軟件,編譯軟件操作系統(tǒng)圖1.1 計算機(jī)系統(tǒng)的組

7、成圖1.2 操作系統(tǒng)在計算機(jī)系統(tǒng)中的地位操作系統(tǒng)的地位:緊貼系統(tǒng)硬件之上,所有其他軟件之下(是其他軟件的共同環(huán)境)引入操作系統(tǒng)的目標(biāo):¨ 有效性(系統(tǒng)管理人員的觀點):管理和分配硬件、軟件資源,合理地組織計算機(jī)的工作流程¨ 方便性(用戶的觀點):提供良好的、一致的用戶接口,彌補(bǔ)硬件系統(tǒng)的類型和數(shù)量差別¨ 可擴(kuò)充性(開放的觀點):硬件的類型和規(guī)模、操作系統(tǒng)本身的功能和管理策略、多個系統(tǒng)之間的資源共享和互操作一、操作系統(tǒng)的作用可以從不同的觀點來觀察操作系統(tǒng)的作用。從一般用戶的觀點,可把操作系統(tǒng)看做是用戶與計算機(jī)硬件系統(tǒng)之間的接口;從資源管理觀點,則可把OS視為計算機(jī)系

8、統(tǒng)資源的管理者。1用戶界面的觀點對于用戶來說,對操作系統(tǒng)的內(nèi)部結(jié)構(gòu)并沒有多大的興趣,他們最關(guān)心的是如何利用操作系統(tǒng)提供的服務(wù)來有效的使用計算機(jī)。因此操作系統(tǒng)提供了什么樣的用戶界面成為關(guān)鍵問題。一般情況下,用戶界面有兩種方式:(1) 命令方式。這是指由OS提供了一組聯(lián)機(jī)命令(語言),用戶可通過鍵盤鍵入有關(guān)的命令,來直接操作計算機(jī)系統(tǒng)。(2) 系統(tǒng)調(diào)用方式。OS提供了一組系統(tǒng)調(diào)用,用戶可在應(yīng)用程序中通過調(diào)用相應(yīng)的系統(tǒng)調(diào)用來操作計算機(jī)。2資源管理觀點這種觀點把操作系統(tǒng)看作管理系統(tǒng)資源的程序集合,根據(jù)它所管理的資源類別來考慮操作系統(tǒng)的結(jié)構(gòu)。它在共享的前提下,以資源的分配、使用和回收作為出發(fā)點,來考慮操

9、作系統(tǒng)各部分程序的功能和算法,解決并行環(huán)境中資源的管理問題。通常,把操作系統(tǒng)分為處理機(jī)管理、存儲管理、作業(yè)管理、設(shè)備管理、文件管理等五個主要部分,由這幾部分程序的協(xié)調(diào)配合運(yùn)行來完成用戶的作業(yè)要求。3虛擬機(jī)觀點對于任何一個軟件來說,它都有一個用戶機(jī)器和一個基本機(jī)器。用戶機(jī)器是該軟件和基本機(jī)器的結(jié)合,提供了該軟件以及基本機(jī)器的的所有功能?;緳C(jī)器則是該軟件運(yùn)行的環(huán)境。操作系統(tǒng)的用戶機(jī)器提供了操作系統(tǒng)的全部功能(系統(tǒng)調(diào)用、命令、作業(yè)控制語言等等),又稱操作系統(tǒng)虛機(jī)器。它的基本機(jī)器則是硬件機(jī)器。虛機(jī)器觀點從功能分解的角度出發(fā)來考慮操作系統(tǒng)的結(jié)構(gòu),將操作系統(tǒng)分成若干個層次,每一層次完成特定的功能從而構(gòu)成

10、一個虛機(jī)器,并為上一層次提供支持,構(gòu)成它的運(yùn)行環(huán)境,通過逐個層次的功能擴(kuò)充最終完成操作系統(tǒng)虛機(jī)器。從而向用戶提供全套的服務(wù),完成用戶的作業(yè)要求。OS是一組控制和管理計算機(jī)硬件和軟件資源、合理地組織計算機(jī)工作流程,以及方便用戶的程序的集合。二、操作系統(tǒng)的的歷史(形成和發(fā)展) 操作系統(tǒng)是在人們不斷地改善計算機(jī)系統(tǒng)性能和提高資源利用率的過程中,逐步地形成和發(fā)展起來的。隨著機(jī)器硬件的功能和性能的不斷提高,機(jī)器的處理能力越來越強(qiáng),提供的資源越來越多。如果仍然采用單個用戶獨占一臺計算機(jī)的使用方式,勢必造成相當(dāng)大的浪費。為了更加有效地使用機(jī)器的資源,希望有多個用戶同時利用機(jī)器來完成各自的工作,即各個用戶同時

11、使用不同的資源(例如外部設(shè)備、CPU等),既相對獨立,又彼此協(xié)調(diào)。正是在這種實際要求面前,操作系統(tǒng)才得以問世。下面是OS形成過程中的幾個里程碑:1.手工操作階段 早期的計算機(jī)采用人工操作方式,由操作員將紙帶(或卡片)裝入紙帶輸入機(jī)(或卡片輸入機(jī))等輸入設(shè)備,通過輸入設(shè)備將程序和數(shù)據(jù)輸入計算機(jī),當(dāng)程序完成并人工取走紙帶和計算結(jié)果后,才讓下一用戶上機(jī)操作。這種人工操作方式具有以下兩個特點:()用戶獨占全機(jī)。一臺計算機(jī)為一個用戶獨占,系統(tǒng)中的全部資源由他一人支配,因此用戶可以較方便地使用各種資源,不會出現(xiàn)因資源已被其它用戶占用而等待的現(xiàn)象。但資源利用率卻非常低。()CPU等待人工操作。用戶僅在上機(jī)時

12、才能將紙帶或卡片裝入相應(yīng)的輸入設(shè)備,顯然,此時CPU空閑;當(dāng)計算完成,進(jìn)行當(dāng)卸帶取卡操作時,CPU又空閑??梢?,CPU的利用極不充分,這在運(yùn)行短程序時尤為突出。 矛盾:使用不方便;串行操作 可見,人工操作方式嚴(yán)重地降低了資源的利用率,此即所謂的人-機(jī)矛盾。隨著CPU速度的提高,CPU和I/O設(shè)備間不匹配的矛盾日益嚴(yán)重。為緩和此矛盾,必須擺脫手工干預(yù),實現(xiàn)作業(yè)的自動過渡,因此出現(xiàn)了成批處理。2.早期批處理階段 在計算機(jī)發(fā)展的早期階段,用戶上機(jī)時需自己建立、運(yùn)行作業(yè),并最后作結(jié)尾處理。為了縮短作業(yè)的建立時間,人們研制了監(jiān)督程序,它是一個常駐內(nèi)存的小的核心代碼。當(dāng)若干用戶作業(yè)合成一個作業(yè)執(zhí)行序列時,

13、監(jiān)督程序自動地依次執(zhí)行。早期的批處理可分為兩種方式:(1)聯(lián)機(jī)批處理聯(lián)機(jī)輸入輸出:程序和數(shù)據(jù)的輸入輸出都由主機(jī)控制的輸入輸出。即慢速的輸入/輸出設(shè)備是和主機(jī)直接相連打交道的。作業(yè)的執(zhí)行過程大致為:用戶提交作業(yè);作業(yè)被做成穿孔紙帶或卡片;操作員有選擇地將若干作業(yè)合成一批,通過輸入設(shè)備(輸入機(jī)或讀卡機(jī))把它們存入磁帶;監(jiān)督程序讀入一個作業(yè)(若系統(tǒng)資源能滿足該作業(yè)要求);從磁帶調(diào)入?yún)R編程序或編譯程序,將用戶作業(yè)源程序翻譯成目標(biāo)代碼;連接裝配程序把編譯后的目標(biāo)代碼及所需的子程序裝配成一個可執(zhí)行程序;啟動執(zhí)行;執(zhí)行完畢,由善后處理程序輸出計算結(jié)果;再讀入一個作業(yè),重復(fù)步驟-;一批作業(yè)完成,返回到,處理下

14、一批作業(yè)。 早期的聯(lián)機(jī)批處理系統(tǒng)實現(xiàn)了作業(yè)的自動過渡,同手工操作階段相比,計算機(jī)的使用效率提高了。但在這種批處理系統(tǒng)中,作業(yè)的輸入輸出是聯(lián)機(jī)的,也就是說作業(yè)從輸入機(jī)到磁帶,由磁帶調(diào)入內(nèi)存,以至結(jié)果的輸出打印都是由中央處理機(jī)直接控制的。在這種聯(lián)機(jī)操作方式下,雖然解決了作業(yè)自動轉(zhuǎn)接,從而減少作業(yè)建立和人工操作時間。但是隨著處理機(jī)速度的不斷提高,處理機(jī)和輸入/輸出設(shè)備之間的速度差距就形成了一對矛盾。即在執(zhí)行結(jié)果的輸出過程中,主機(jī)CPU仍處于停止等待狀態(tài),這樣慢速的輸入/出設(shè)備和快速主機(jī)之間仍處于串行工作,CPU的時間仍有很大的浪費。(2)脫機(jī)批處理脫機(jī)批處理系統(tǒng)由主機(jī)和外圍機(jī)(衛(wèi)星機(jī))組成。為了解決

15、輸入機(jī)的低速問題,可將用戶程序和數(shù)據(jù),在一臺外圍機(jī)的控制下,預(yù)先從低速設(shè)備輸入到磁帶或磁盤上。當(dāng)CPU需要這些數(shù)據(jù)時,再直接從磁帶或磁盤上高速地調(diào)入內(nèi)存。這樣就大大地加速了輸入過程。類似地,當(dāng)CPU需要輸出時,可立即將輸出數(shù)據(jù)送到磁帶或磁盤上,以后再在外圍機(jī)的控制下,把磁帶或磁盤上的處理結(jié)果通過相應(yīng)的輸出設(shè)備輸出。這對程序的執(zhí)行來說,顯然是大大地加速了數(shù)據(jù)的輸出過程。脫機(jī)輸入輸出過程如下圖所示。慢速輸入設(shè)備 磁帶機(jī) 外圍機(jī) 主機(jī) 慢速輸出設(shè)備 磁帶機(jī) 脫機(jī)輸入輸出:程序和數(shù)據(jù)的輸入輸出都是在外圍機(jī)的控制下完成的,或者說它們是脫離主機(jī)進(jìn)行的,故稱脫機(jī)輸入輸出。矛盾:使用不方便;串行操作CPU利用

16、率低 (3)批處理技術(shù) 在早期的脫機(jī)I/O方式中,事先把一批作業(yè)輸入到磁帶上,這意味著作業(yè)的處理是成批的;為使這一批作業(yè)能自動連續(xù)地進(jìn)行處理,在系統(tǒng)中還需配置監(jiān)督程序,在它的控制下,先把磁帶上第一個作業(yè)裝入內(nèi)存,并將運(yùn)行的控制權(quán)交給該作業(yè)。當(dāng)該作業(yè)處理完后,又把控制權(quán)還給監(jiān)督程序,又由監(jiān)督程序?qū)⒌诙€作業(yè)裝入內(nèi)存。這樣自動地一個作業(yè)一個作業(yè)地進(jìn)行處理,直到磁帶上的所有作業(yè)全部完成,這樣就形成了早期的批處理系統(tǒng)??梢?,批處理系統(tǒng)是在解決人機(jī)矛盾和CPU與IO速度不匹配的矛盾的過程中發(fā)展起來的,或者說,批處理技術(shù)旨在提高系統(tǒng)的吞吐量和資源的利用率。該系統(tǒng)的主要特征:自動性(減少了手工操作)。實現(xiàn)了

17、作業(yè)的自動過渡,改善了CPU與I/O的使用情況,提高了計算系統(tǒng)的處理能力。順序性。磁帶上的各道作業(yè)是順序地進(jìn)入內(nèi)存的,各道作業(yè)完成的順序與它們進(jìn)入內(nèi)存的順序之間,在正常情況下應(yīng)當(dāng)完全相同,亦即先調(diào)入內(nèi)存的作業(yè)先完成。單道性。在某一時刻,內(nèi)存中僅有一道程序在運(yùn)行,僅當(dāng)該程序完成或發(fā)生異常情況時,才調(diào)入后繼程序進(jìn)入內(nèi)存運(yùn)行。缺點:平均周轉(zhuǎn)時間長。所謂周轉(zhuǎn)時間是指從作業(yè)進(jìn)行系統(tǒng)開始,到作業(yè)完成所經(jīng)歷的時間。由于在批處理系統(tǒng)中,一個作業(yè)一旦運(yùn)行便將運(yùn)行到完成,這必然使許多短作業(yè)的周轉(zhuǎn)時間顯著增長;不能提供交互能力,用戶使用機(jī)器不方便;CPU利用率較低(單道、串行)。在進(jìn)行批處理過程中,監(jiān)督程序、系統(tǒng)程

18、序和用戶程序之間存在著一種調(diào)用關(guān)系,任何一個環(huán)節(jié)出了問題,整個系統(tǒng)都會停頓;用戶程序也可能會敗壞監(jiān)督程序和系統(tǒng)程序,這時,只有操作員進(jìn)行干預(yù)才能恢復(fù)。后來,通道和中斷技術(shù)的使用,導(dǎo)致了操作系統(tǒng)進(jìn)行執(zhí)行系統(tǒng)階段。所謂執(zhí)行系統(tǒng)即是常駐內(nèi)存的監(jiān)督程序,不過其功能擴(kuò)大了,它不僅要負(fù)責(zé)作業(yè)運(yùn)行的自動調(diào)度,而且還要提供輸入輸出控制功能。但是,這時計算機(jī)系統(tǒng)運(yùn)行的特征仍是單道順序地處理作業(yè),即用戶作業(yè)仍然是一道一道作業(yè)順序處理。那么,可能會出現(xiàn)兩種情況:一是對于以計算為主的作業(yè),輸入輸出量少,外圍設(shè)備空閑(計算型作業(yè));二是對于以輸入輸出為主的作業(yè),主機(jī)又會造成空閑(I/O型作業(yè))。這樣,總的來說,計算機(jī)資

19、源使用效率仍然不高。因此操作系統(tǒng)進(jìn)入了多道程序階段:多道程序合理搭配交替運(yùn)行,充分利用資源,提高效率。3.多道程序系統(tǒng)* 多道程序設(shè)計技術(shù)及多道批處理系統(tǒng) 在早期批處理系統(tǒng)中,內(nèi)存只存放一道程序,稱為單道運(yùn)行。這種系統(tǒng)的管理很簡單,不存在高度管理的問題。但是這種單任務(wù)系統(tǒng),對CPU的利用率極低。其原因是CPU經(jīng)常要與外界交換數(shù)據(jù),即進(jìn)行輸入輸出操作。而CPU的速度很快,外部設(shè)備的速度很慢,因此CPU除了花很少時間執(zhí)行程序外,大部分時間在等待外設(shè)的輸入輸出操作。亦即當(dāng)該程序進(jìn)行I/O操作時,CPU便處于等待I/O完成狀態(tài),致使CPU空閑。為提高CPU的利用率而引入多道程序技術(shù),所謂多道程序技術(shù)是

20、指“將一個以上的作業(yè)放在內(nèi)存并允許它們交替執(zhí)行,共享系統(tǒng)中的各種資源”。當(dāng)正在執(zhí)行的程序因I/O而暫定執(zhí)行時,CPU立即轉(zhuǎn)去執(zhí)行另一道程序;當(dāng)?shù)诙莱绦蛴忠騃/O而暫定執(zhí)行時,CPU又轉(zhuǎn)去執(zhí)行第三道程序。顯然,多道程序設(shè)計技術(shù)提高了CPU的利用率,同時也顯著改善了內(nèi)存和I/O設(shè)備的利用率,從而也使系統(tǒng)的吞吐量獲得大幅度提高。允許多道程序運(yùn)行的系統(tǒng)稱為多道程序系統(tǒng)?,F(xiàn)代操作系統(tǒng)一般都基于多道程序設(shè)計技術(shù)。系統(tǒng)吞吐量(system throughput):指系統(tǒng)在單位時間內(nèi)所完成的作業(yè)數(shù)目。多道批處理系統(tǒng)的特征:多道性。計算機(jī)內(nèi)存中同時存放幾道相互獨立的程序;無序性。多個作業(yè)完成的先后順序與它們進(jìn)

21、入內(nèi)存的順序之間,并無嚴(yán)格的對應(yīng)關(guān)系,即先進(jìn)入內(nèi)存的作業(yè)可能較后甚至最后完成,而后進(jìn)入內(nèi)存的作業(yè)又可能先完成。調(diào)度性。作業(yè)從提交給系統(tǒng)開始直至完成,需要經(jīng)過以下兩次調(diào)度:作業(yè)調(diào)度;進(jìn)程調(diào)度。宏觀上并行、微觀上串行。進(jìn)入系統(tǒng)的幾道程序都處于運(yùn)行過程中,即它們先后開始了各自的運(yùn)行,但都未運(yùn)行完畢;實際上,各道程序輪流地使用CPU交替執(zhí)行。優(yōu)點:提高了CPU、內(nèi)存、I/O的利用率; 系統(tǒng)的吞吐量顯著提高。缺點:平均周轉(zhuǎn)時間長;無交互能力。 在批處理系統(tǒng)中采用多道程序設(shè)計技術(shù),就形成了多道批處理系統(tǒng)。要處理的許多作業(yè)存放于外部存儲器中,形成作業(yè)隊列,等待運(yùn)行。當(dāng)需要調(diào)入作業(yè)時,將由操作系統(tǒng)中的作業(yè)調(diào)度

22、程序?qū)ν獯嬷械囊慌鳂I(yè),根據(jù)其對資源的要求和一定的調(diào)度原則,調(diào)幾個作業(yè)進(jìn)入內(nèi)存,讓它們交替運(yùn)行。當(dāng)一個作業(yè)完成后,再調(diào)入一個或幾個作業(yè)。這種處理方式,在內(nèi)存中總是同時存在幾道程序,系統(tǒng)資源得到比較充分的利用。 多道程序及執(zhí)行程序(常駐內(nèi)存、功能擴(kuò)大了的監(jiān)控程序)的出現(xiàn),標(biāo)志著操作系統(tǒng)的初步形成。2.分時系統(tǒng) 批處理方式下用戶要得到自己的計算結(jié)果,必須等到系統(tǒng)處理完一批作業(yè)之后。這樣雖然提高了CPU和系統(tǒng)設(shè)備的利用率,卻給用戶帶來了很大的麻煩。為了解決兩者的矛盾,引入了分時技術(shù)。分時的概念在計算機(jī)系統(tǒng)中,兩個或兩個以上事件按時間劃分輪流地使用計算機(jī)系統(tǒng)中的某一資源稱之為“分時”。 分時系統(tǒng)的實現(xiàn)

23、一般采用時間片輪轉(zhuǎn)的辦法,使一臺計算機(jī)同時為多個終端用戶服務(wù)。若干個用戶通過各自的終端,同時使用同一臺計算機(jī)系統(tǒng),但他們彼此之間并不感覺到別的用戶存在。 時間片是分時的時間單位。多個用戶按時間片輪轉(zhuǎn),即每道程序一次運(yùn)行一個時間片,用戶通過終端與計算機(jī)發(fā)生交互作用,他們彼此一般不感覺到有別的用戶存在,好象整個系統(tǒng)為其所獨占。 實現(xiàn)分時系統(tǒng)的關(guān)鍵是用戶能與自己的作業(yè)交互作用,即用戶在自己的終端上鍵入命令以請求系統(tǒng)服務(wù),系統(tǒng)應(yīng)能及時接收和及時處理該命令,并將處理結(jié)果立即返回給用戶。此后,用戶又可鍵入下一條命令,這樣便實現(xiàn)了人-機(jī)交互。多道批處理系統(tǒng)和分時系統(tǒng)的出現(xiàn)標(biāo)志著操作系統(tǒng)的基本形成。3實時系統(tǒng)

24、(Real-Time System)所謂“實時”,是表示“及時”,而實時系統(tǒng)是指系統(tǒng)能及時響應(yīng)外部事件的請求在規(guī)定的時間內(nèi)完成對該事件的處理,并控制所有實時任務(wù)協(xié)調(diào)一致地運(yùn)行。 實時系統(tǒng)通常是在一個特定的應(yīng)用中作為一種控制設(shè)備來使用的。實時系統(tǒng)的一個主要特點在于有嚴(yán)格的時間限制,即每一個信息接收、分析處理和發(fā)送的過程必須在規(guī)定的時間范圍內(nèi)完成。這就要求系統(tǒng)的一切活動都必須在一個嚴(yán)格的計時程序的控制下運(yùn)行,中斷信號對系統(tǒng)具有支配作用,而不象批處理系統(tǒng)(時間限制弱)和分時系統(tǒng)(時間限制不嚴(yán)格)那樣在作業(yè)調(diào)度時較少地考慮時間上的要求。實時系統(tǒng)往往具有一定的專用性。與批處理系統(tǒng)、分時系統(tǒng)相比,實時系統(tǒng)

25、的資源利用率可能較低。 實時系統(tǒng)可分為以下兩大類:() 實時控制系統(tǒng)。通常是指以計算機(jī)為中心的生產(chǎn)過程控制系統(tǒng)。這類系統(tǒng)要求實時采集現(xiàn)場數(shù)據(jù),并對所采集的數(shù)據(jù)進(jìn)行及時處理,進(jìn)而自動地控制相應(yīng)的執(zhí)行機(jī)構(gòu),使某些參數(shù)(溫度、壓力、方位等)能按預(yù)定的規(guī)律變化,以保證產(chǎn)品質(zhì)量和提高產(chǎn)量。() 實時信息處理系統(tǒng)。計算機(jī)及時接收從遠(yuǎn)程終端發(fā)來的服務(wù)請求,根據(jù)用戶提出的問題,對信息進(jìn)行檢索和處理,并在很短的時間內(nèi)為用戶做出正確的回答。典型的實時信息處理系統(tǒng)有:飛機(jī)訂票系統(tǒng)、情報檢索系統(tǒng)等。 實時系統(tǒng)與分時系統(tǒng)的比較: 操作系統(tǒng)用途交互能力響應(yīng)時間可靠性分時系統(tǒng)通用強(qiáng)以用戶能容忍的限度有一定要求實時系統(tǒng)專用弱

26、嚴(yán)格的時限高要求 實時處理是以瞬間響應(yīng)為特征的?!皩崟r”二字的含義是指計算機(jī)對于外來信息能夠以足夠快的速度進(jìn)行處理,并在被控對象允許的時間范圍內(nèi)作出快速反應(yīng),其響應(yīng)時間要求在稱級、毫秒級甚至微秒級。實時系統(tǒng)的出現(xiàn)和應(yīng)用的日益廣泛,以及多道成批系統(tǒng)和分時系統(tǒng)的不斷改進(jìn),使操作系統(tǒng)日趨完善。4.新一代操作系統(tǒng)隨著計算機(jī)技術(shù)的飛速發(fā)展,出現(xiàn)了智能計算和網(wǎng)絡(luò)計算,并隨之出現(xiàn)了微機(jī)操作系統(tǒng)、網(wǎng)絡(luò)操作系統(tǒng)(Network perating System)和分布式操作系統(tǒng)(Distributed Operating System)等新型操作系統(tǒng)。在這個階段,計算機(jī)系統(tǒng)和操作系統(tǒng)的發(fā)展都異常迅速,操作系統(tǒng)技術(shù)

27、逐漸成熟,新的技術(shù)不斷引入,具有開放環(huán)境、高效數(shù)據(jù)處理、友好人機(jī)界面、強(qiáng)功能開發(fā)支持,以及網(wǎng)絡(luò)互連與通信功能、多媒體處理功能等。三、的特征 前面所介紹的三種基本OS,它們各有自己的特征,如批處理系統(tǒng)具有成批處理的特征,分時系統(tǒng)具有交互特征,實時系統(tǒng)具有實時特征,但它們都具有以下四個基本特征。并發(fā)性(Concurrence)并發(fā)性是指在某一時間間隔內(nèi),有若干個事件發(fā)生。 并行性在某一時刻,可能有若干事件發(fā)生。并發(fā)性是指兩個或多個事件在同一時間間隔內(nèi)發(fā)生。在多道程序環(huán)境下,并發(fā)性是指在一段時間內(nèi),宏觀上有多道程序在同時運(yùn)行,但在單處理機(jī)系統(tǒng)中,每一時刻卻僅能有一道程序執(zhí)行,故微觀上這些程序只能分時

28、地交替執(zhí)行。程序的并發(fā)執(zhí)行能有效地改善資源利用率和提高系統(tǒng)的吞吐量,但顯然會使操作系統(tǒng)由于增加了控制和管理各種并發(fā)活動的功能變得復(fù)雜化。應(yīng)該指出,通常的多個程序是不能并發(fā)執(zhí)行的。系統(tǒng)必須分別為每個程序建立進(jìn)程,以隨時記錄各個程序由于并發(fā)執(zhí)行而形成的“停停走走”的狀態(tài)中的信息,以備該進(jìn)程再次獲得處理機(jī)時,能從中取得現(xiàn)場信息而繼續(xù)運(yùn)行下去。所謂進(jìn)程,簡單地說,是指在系統(tǒng)中能獨立運(yùn)行和作為資源分配的基本單位,多個進(jìn)程之間可以并發(fā)執(zhí)行以及交換信息。有關(guān)進(jìn)程的概念將在后面的章節(jié)中詳細(xì)闡述。 共享性(Sharing)資源共享是指系統(tǒng)中的資源可供多個用戶使用。根據(jù)資源的屬性,資源共享可有以:()互斥共享是指

29、僅當(dāng)一個作業(yè)(進(jìn)程)使用完某資源并釋放后,其他作業(yè)才能使用。通常,人們把在一段時間內(nèi)只允許一個進(jìn)程訪問的資源稱為“ 臨界資源”,如打印機(jī)、磁帶機(jī)以及某些變量、表格等軟資源都屬于臨界資源。對臨界資源必須采用互斥共享方式。()同時共享指允許在一段時間內(nèi),若干個作業(yè)同時對某一資源進(jìn)行訪問,典型的可同時共享的硬設(shè)備是磁盤;又如,可重入碼程序則是一種可供同時共享的軟資源。 “并發(fā)”和“共享”是操作系統(tǒng)的兩個最基本特征,它們互為存在條件,即資源共享是以程序的并發(fā)執(zhí)行為存在條件,沒有并發(fā)執(zhí)行,就不可能有共享;反之,若不能很好地實現(xiàn)共享,則程序的并發(fā)執(zhí)行必將受到影響。3. 虛擬性(Virtual) 所謂“虛擬

30、”,是指通過某種技術(shù)把一個物理實體變成若干個邏輯上的對應(yīng)物。前者是實的,而后者是虛的,是用戶感覺上的東西。例如,在多道分時系統(tǒng)中,雖然只有一個CPU,但每個終端用戶卻都認(rèn)為是有一個CPU在專門為他服務(wù),亦即,利用多道程序技術(shù)可以把一臺物理上的CPU虛擬為多臺邏輯上的CPU。類似地,也可以把一臺物理I/O設(shè)備虛擬為一臺邏輯上的I/O設(shè)備。在操作系統(tǒng)中虛擬的實現(xiàn),主要是通過分時使用方法。顯然,如果為某一物理設(shè)備所對應(yīng)的虛擬的邏輯設(shè)備數(shù),則虛擬設(shè)備的速度必然是物理設(shè)備速度的。4 異步性(Asynchronism)(不確定性)不確定性有兩種含義:(1)程序執(zhí)行的結(jié)果是不確定的,即對同一程序,使用相同的

31、輸入、在相同的環(huán)境下運(yùn)行,但經(jīng)多次運(yùn)行,卻可能獲得完全不同的結(jié)果。(2)多道程序環(huán)境下,每個程序在何時執(zhí)行,何時暫停,以怎樣的速度向前推進(jìn),每道程序總共需多少時間才能完成,都是不可預(yù)知的;或者說,進(jìn)程是以異步方式運(yùn)行的。上述的第一種不確定性是絕對不允許的,因而也是操作系統(tǒng)必須解決的主要問題;而第二種不確定性卻是允許的,這就是進(jìn)程的異步性,是操作系統(tǒng)的一個重要特征。四、操作系統(tǒng)的進(jìn)一步發(fā)展一般認(rèn)為,以后新一代的OS應(yīng)是智能型的。一方面指OS的設(shè)計過程中以知識為基礎(chǔ),要有知識獲取和學(xué)習(xí)功能并能建立相應(yīng)的知識庫和推理機(jī)制;另一方面是建立更加友好、更加方便的智能化接口。采用倍受歡迎的多媒體技術(shù),使計算

32、機(jī)具有直接看、讀、聽、說、寫、圖案識別、氣味區(qū)分等智能,新的人機(jī)通信模式或提示用戶作出正確或明智的決策。新一代的OS面對的將是一個超大規(guī)模的、多處理機(jī)并行的、開放、分布的硬件體系結(jié)構(gòu),因此,面向?qū)ο蟮募夹g(shù)必然會被廣泛地用于以后的OS。微機(jī)操作系統(tǒng)1  單用戶微機(jī)操作系統(tǒng)目前最具代表性的單用戶微機(jī)操作系統(tǒng)有以下三種:(1)CP/M:CP/M是Control Program Monitor的縮寫。它是在1975年由Digital Research公司率先推出的、帶有軟盤系統(tǒng)的8位微機(jī)操作系統(tǒng);(2)MS-DOS:1981年IBM公司首次推出了IBM-PC個人計算機(jī),在微機(jī)中采用了Micr

33、osoft公司開發(fā)的MS-DOS操作系統(tǒng)。該操作系統(tǒng)在CP/M的基礎(chǔ)上進(jìn)行了較大的擴(kuò)充,增加了許多內(nèi)部和外部命令,使該操作系統(tǒng)具有較強(qiáng)的功能及性能優(yōu)良的文件系統(tǒng),又因為它是配置在IBM-PC機(jī)上,隨著該機(jī)及其兼容機(jī)的暢銷,MS-DOS操作系統(tǒng)也就成為事實上的16位微機(jī)單用戶單任務(wù)操作系統(tǒng)的標(biāo)準(zhǔn)。2  單用戶多任務(wù)操作系統(tǒng)(1)OS/2:由于MS-DOS的內(nèi)存有效地址長度為20位,故尋址范圍為1MB,而IBM公司已將其中384KB的空間用于PC機(jī)的基本I/O子系統(tǒng),故操作系統(tǒng)及應(yīng)用程序等只能使用640KB的內(nèi)存空間,這已遠(yuǎn)遠(yuǎn)不能滿足用戶的需要,致使大量的系統(tǒng)軟件和工具軟件無法裝入內(nèi)存,

34、因而使很多現(xiàn)代軟件不能在MS-DOS上運(yùn)行;其次,由于MS-DOS是一個單用戶單任務(wù)操作系統(tǒng),它不支持多任務(wù)并發(fā)執(zhí)行。然而,在實際應(yīng)用中,卻往往要求操作系統(tǒng)能支持多任務(wù)并發(fā)執(zhí)行。雖有不少廠家對MS-DOS進(jìn)行過改造,但由于8086處理器缺少必要的硬件支持,因而使許多努力都未能獲得滿意結(jié)果。所以,1987年4月,IBM公司在宣布下一代個人系統(tǒng)PS/2的同時,發(fā)表了OS/2。它是一種在80286保護(hù)方式下工作的單用戶多任務(wù)操作系統(tǒng)。OS/1.x是16位,OS/2.x是32位。 OS/2的主要性能是:消除最大內(nèi)存僅為640KB的限制;支持多個任務(wù)并發(fā)執(zhí)行;既能充分發(fā)揮80286處理器的能力,又能運(yùn)行

35、在8086處理器環(huán)境下開發(fā)的程序;提供良好的交互式響應(yīng),但又不占用太多的內(nèi)存和磁盤空間。(2)MS Windows:1990年由Microsoft公司推出的Windows3.x,以其易學(xué)易用、友好的圖形用戶界面,并能支持多任務(wù)的優(yōu)點,得以很快地流行開來,占領(lǐng)了市場。1993年推出的Windows NT是一個全新的32位多任務(wù)操作系統(tǒng),并具有很強(qiáng)的網(wǎng)絡(luò)支持功能。1995年又推出了Windows 95,不少人認(rèn)為它很可能成為32位多任務(wù)OS的主流。3  多用戶多任務(wù)操作系統(tǒng) 早在8位微機(jī)盛行時,就已有少數(shù)微機(jī)配置了多用戶操作系統(tǒng)。出現(xiàn)16位微機(jī)后,多用戶多任務(wù)操作系統(tǒng)大量涌現(xiàn)。其中比較著

36、名的有UNIX和Microsoft公司為IBM-PC所開發(fā)的Xenix等等。UNIX是唯一能在從微型機(jī)直到大型機(jī)的各種機(jī)器上運(yùn)行的操作系統(tǒng),是當(dāng)今世界流行的操作系統(tǒng)。多處理機(jī)操作系統(tǒng)多處理機(jī)操作系統(tǒng)的類型視處理機(jī)之間的數(shù)目及耦合程度可分若干類型,其中最常見的是主-從式(Master-Slave Mode)多處理機(jī)操作系統(tǒng),在這種系統(tǒng)中,把處理機(jī)分為主處理機(jī)和從處理機(jī)兩種。其中,從處理機(jī)只執(zhí)行用戶程序,可多個,主處理機(jī)則只有一個,它配置了操作系統(tǒng),用以管理整個系統(tǒng)的資源,并負(fù)責(zé)為從處理機(jī)分配任務(wù)。網(wǎng)絡(luò)操作系統(tǒng) 計算機(jī)網(wǎng)絡(luò)是通過通信設(shè)施將地理上分散的具有自治功能的多個計算機(jī)系統(tǒng)互連起來,實現(xiàn)信息交

37、換、資源泉共享互操作和協(xié)作處理的系統(tǒng)。按網(wǎng)絡(luò)所覆蓋的地理范圍和互連計算機(jī)之間的距離的不同,可把計算機(jī)網(wǎng)絡(luò)分為兩種:WAN(Wide Area Network)和LAN(Local Area Network)。所謂網(wǎng)絡(luò)操作系統(tǒng)(NOS是網(wǎng)絡(luò)范圍的操作系統(tǒng)。其主要任務(wù)是用統(tǒng)一的方法管理整個網(wǎng)絡(luò)中共享資源的使用和任務(wù)的處理。它應(yīng)具有如下基本功能:網(wǎng)絡(luò)通信、資源管理、提供網(wǎng)絡(luò)接口、提供多種網(wǎng)絡(luò)服務(wù)。* 分布式操作系統(tǒng)在以往的操作系統(tǒng)中,其處理和控制功能都高度地集中在一臺主機(jī)上,所有的任務(wù)都由主機(jī)處理,這樣的系統(tǒng)稱為集中式處理系統(tǒng)。分布式操作是70年代和80年代發(fā)展起來的一種多處理機(jī)(或多計算機(jī))系統(tǒng)。

38、在分布式處理系統(tǒng)中,計算和處理功能分散在構(gòu)成分布式系統(tǒng)的各個處理單元上,相應(yīng)地,可把一個大任務(wù)劃分成可以并行執(zhí)行的多個子任務(wù),并動態(tài)地把這些任務(wù)分配到各處理單元上去,使它們并行執(zhí)行。在分布式系統(tǒng)中,如果每個處理單元都是計算機(jī),則可稱為分布式計算機(jī)系統(tǒng),它通常是計算機(jī)網(wǎng)絡(luò),也是目前最常見的分布式系統(tǒng)。如果處理單元只是處理器或局部存儲器,則只能稱做分布式(處理)系統(tǒng)。小結(jié):批處理系統(tǒng)是在解決人機(jī)矛盾和CPU與I/O設(shè)備速度不匹配這種矛盾的過程中,亦即在提高資源利用率的過程中形成的。引入多道程序的目的,是為了提高CPU、內(nèi)存、I/O設(shè)備以及軟件的利用率,該技術(shù)允許將多個作業(yè)同時放入內(nèi)存,使它們交替執(zhí)

39、行,共享系統(tǒng)中的資源。將多道程序設(shè)計技術(shù)引入批處理系統(tǒng),便形成多道批處理系統(tǒng)。操作系統(tǒng)的基本類型有以下三類:(1)批處理系統(tǒng)。該系統(tǒng)最重要的特征是系統(tǒng)自動地對作業(yè)進(jìn)行處理;其主要優(yōu)點是系統(tǒng)吞吐量大和資源利用率高;其缺點是平均周轉(zhuǎn)時間長,和用戶不能與自己的作業(yè)進(jìn)行對話。(2)分時系統(tǒng)。該系統(tǒng)最主要的特征是用戶可以與系統(tǒng)及自己的作業(yè)進(jìn)行交互作用,因而方便了用戶對程序的開發(fā)與調(diào)試。分時系統(tǒng)的四個基本特征是同時性、獨占性、及時性和交互作用性。(3)實時系統(tǒng)。該系統(tǒng)最主要的特征是能及時地對特定輸入做出反應(yīng),來控制相應(yīng)的對象。它也具有分時系統(tǒng)的四個基本特征,但它對及時性的要求更嚴(yán)格,而其交互作用能力卻較差

40、。 操作系統(tǒng)具有如下特征:(1)并發(fā)性。在某段時間內(nèi),有多道程序宏觀上在同時運(yùn)行,但在單處理機(jī)系統(tǒng)中,每一時刻僅能執(zhí)行一道程序,故微觀上,這些程序是在交替執(zhí)行。(2)共享性。資源共享是指系統(tǒng)中的資源已不再為某個程序所獨占,而是由多個用戶共同使用。有兩種實現(xiàn)資源共享的方式;(3)虛擬性。所設(shè)虛擬是指把一個物理上的實體變?yōu)槿舾蓚€邏輯上的對應(yīng)物。例如,多道程序技術(shù)可將一臺物理CPU虛擬為多臺邏輯CPU;(4)不確定性。作為操作系統(tǒng)特征的不確定性,是進(jìn)程以異步方式運(yùn)行。即進(jìn)程是以一種人們不可預(yù)知的速度向前推進(jìn),但其運(yùn)行結(jié)果總是確定的。從資源管理觀點看,操作系統(tǒng)具有五大功能:(1)存儲器管理。負(fù)責(zé)內(nèi)存的

41、分配、保護(hù)和擴(kuò)充,以及進(jìn)行邏輯地址到物理地址的轉(zhuǎn)換;(2)處理機(jī)管理。處理機(jī)管理可歸結(jié)為進(jìn)程管理,用于實現(xiàn)進(jìn)程的控制、同步、通信和調(diào)度;(3)設(shè)備管理。該功能包含緩沖管理、設(shè)備分配、設(shè)備處理以及虛擬設(shè)備等功能;(4)文件管理。實現(xiàn)對文件的存儲空間、目錄、讀寫等的管理,并對文件提供保護(hù);(5)作業(yè)管理。對作業(yè)進(jìn)行調(diào)度和控制。由于操作系統(tǒng)的發(fā)展所形成的新的操作系統(tǒng)類型有:(1)微機(jī)操作系統(tǒng)。其中最有代表性的單用戶、單任務(wù)微機(jī)操作系統(tǒng)是MS-DOS;多用戶多任務(wù)的操作系統(tǒng)是UNIX。(2)多處理機(jī)操作系統(tǒng)。它是配置在多處理機(jī)系統(tǒng)中的操作系統(tǒng)。(3)網(wǎng)絡(luò)操作系統(tǒng)。該操作系統(tǒng)在各主機(jī)操作的協(xié)助下,用戶管

42、理網(wǎng)絡(luò)通信和資源共享,協(xié)調(diào)各主機(jī)上任務(wù)的運(yùn)行。(4)分布式操作系統(tǒng)。該操作系統(tǒng)用于直接對系統(tǒng)中的各類資源進(jìn)行管理,采用分布式通信和同步方式實現(xiàn)各主機(jī)上任務(wù)的并行執(zhí)行。第二章 作業(yè)管理在這一章中,我們討論OS向上提供的用戶接口,即系統(tǒng)命令接口和系統(tǒng)調(diào)用接口。系統(tǒng)命令接口可完成用戶作業(yè)的組織和控制。本章重點:作業(yè)的類型和作業(yè)控制、用戶與操作系統(tǒng)之間的作業(yè)處理接口、作業(yè)的狀態(tài)、作業(yè)調(diào)度。通過第二章的討論,我們知道,一個作業(yè)進(jìn)入系統(tǒng),并為之建立相應(yīng)的一個或多個進(jìn)程后,由進(jìn)程調(diào)度來給予分配處理機(jī),讓其在處理機(jī)上執(zhí)行,完成該作業(yè)的任務(wù),那么,一個用戶向系統(tǒng)注冊登記,提交作業(yè)后,什么時候得以真正進(jìn)入系統(tǒng),由

43、誰來為其創(chuàng)建進(jìn)程呢?這是作業(yè)調(diào)度的任務(wù)。作業(yè)調(diào)度又稱高級調(diào)度或宏觀調(diào)度。作業(yè)調(diào)度程序的主要功能是:根據(jù)計算機(jī)管理人員所制定的規(guī)則(如作業(yè)優(yōu)先數(shù)大小,要求資源的品種和數(shù)量、系統(tǒng)的均衡性等),從后備作業(yè)隊列上選擇一個或多個作業(yè)置于“運(yùn)行”狀態(tài),并為它們分配必要的資源(如主存空間、外部設(shè)備等),建立相應(yīng)的用戶作業(yè)進(jìn)程和為其服務(wù)的系統(tǒng)進(jìn)程(如輸入、輸出進(jìn)程),最后將它們的程序段調(diào)放主存以等待進(jìn)程調(diào)度程序的調(diào)度。顯然,由作業(yè)調(diào)度程序選擇到的作業(yè)只有資格獲得處理機(jī),但不一定立刻就能占有它并在其上運(yùn)行。至于一個已被調(diào)度程序調(diào)度到的作業(yè),什么時候能真正在處理機(jī)上運(yùn)行,則取決于“進(jìn)程調(diào)度”所遵循的調(diào)度策略和作業(yè)

44、性質(zhì)。進(jìn)程調(diào)度又稱微觀調(diào)度或低級調(diào)度。作業(yè)調(diào)度與進(jìn)程調(diào)度之間的關(guān)系,可打個比喻來說明,前者像競賽的“協(xié)調(diào)人”,它能確定參加比賽(競爭處理機(jī))的全體“選手”,而后者像比賽場上的“裁判”,決定哪個“選手”將取得勝利(獲得物理處理機(jī))。作業(yè)管理的主要功能是對用戶作業(yè)進(jìn)行合理調(diào)度,以提高系統(tǒng)的吞吐量或縮短作業(yè)的周轉(zhuǎn)時間,并提供用戶與操作系統(tǒng)的接口,以方便用戶對自己的作業(yè)在整個運(yùn)行過程中進(jìn)行控制。§2 作業(yè)的基本概念一、作業(yè)的定義作業(yè):作業(yè)是由用戶提交給系統(tǒng)處理的一個基本任務(wù)(從用戶目光看),它是由用戶程序、數(shù)據(jù)以及對程序運(yùn)行進(jìn)行控制和處理的有關(guān)信息所組成(從系統(tǒng)角度看)。通常,一個作業(yè)又可分

45、為若干個順序處理的作業(yè)步,例如,在對一個用某高級語言編制的源程序進(jìn)行調(diào)試處理時,往往要經(jīng)過下述幾大步驟:編輯這是調(diào)用編輯程序?qū)χ付ǖ脑闯绦蛭募M(jìn)行輸入或修改;編譯對編輯后所得的文件進(jìn)行編譯、鏈接,以獲得可執(zhí)行的目標(biāo)代碼;運(yùn)行對編譯、鏈接后的程序進(jìn)行運(yùn)行,完成預(yù)期功能。作業(yè)步:作業(yè)由不同的順序相連的作業(yè)步組成。作業(yè)步是在一個作業(yè)的處理過程中,計算機(jī)所做的相對獨立的工作。(1) 用戶的觀點:在一次業(yè)務(wù)處理過程中,從輸入程序和數(shù)據(jù)到輸出結(jié)果的全過程。作業(yè)步:形成中間結(jié)果文件。注意:未必是順序的(2) 系統(tǒng)的觀點(批處理):作業(yè)由程序及數(shù)據(jù)(作業(yè)體)和作業(yè)說明書(作業(yè)控制語言)針對作業(yè)進(jìn)行資源分配&#

46、178; 一個作業(yè)是指在一次應(yīng)用業(yè)務(wù)處理過程中,從輸入開始到輸出結(jié)束,用戶要求計算機(jī)所做的有關(guān)該次業(yè)務(wù)處理的全部工作。² 作業(yè)由不同的順序相連的作業(yè)步組成。二、作業(yè)的類型 根據(jù)調(diào)度和控制的需要,可對作業(yè)進(jìn)行分類。 從調(diào)度的角度,可把作業(yè)分成:()計算型作業(yè) 指任務(wù)中包含大量的計算,而其I/O較少的作業(yè),通常的科學(xué)計算便屬計算型作業(yè);()I/O型作業(yè) 要求少量的計算而需大量I/O的作業(yè),如通常的事務(wù)處理便屬于I/O型作業(yè)。 為了提高系統(tǒng)的吞吐量,調(diào)度程序應(yīng)對這兩種作業(yè)進(jìn)行合理地組織和調(diào)度。 從控制角度可把作業(yè)分成:()批量型作業(yè)l    

47、0;  脫機(jī)作業(yè) 利用作業(yè)說明書實現(xiàn)作業(yè)的自動控制。在整個作業(yè)的運(yùn)行過程中,只需根據(jù)作業(yè)說明書中的說明對作業(yè)進(jìn)行控制,脫機(jī)作業(yè)通常是在批處理操作環(huán)境下運(yùn)行。l       聯(lián)機(jī)作業(yè) 通常利用控制臺鍵盤操作命令直接控制作業(yè)的運(yùn)行。(2)交互型作業(yè) 終端型作業(yè)也稱交互型或會話型作業(yè)。這一類作業(yè)是用會話語言(如BASIC語言)系統(tǒng)提供的語句編制源程序,系統(tǒng)對這種程序以解釋的方式執(zhí)行。用戶在終端上與計算機(jī)系統(tǒng)進(jìn)行相互通信,即用戶在終端上用鍵盤命令控制和監(jiān)督作業(yè)的運(yùn)行。同時系統(tǒng)也把作業(yè)運(yùn)行情況和結(jié)果及時告訴用戶。終端型作業(yè)通常在分時操

48、作系統(tǒng)環(huán)境下運(yùn)行。另外,單用戶微機(jī)的使用一般都采用這種工作方式。注意:在一個兼顧分時操作和批處理的系統(tǒng)中,終端用戶作業(yè)稱為“前臺”作業(yè),而批量型作業(yè)稱為“后臺”作業(yè)。作業(yè)調(diào)度優(yōu)先照顧終端型作業(yè),即給它們較高的優(yōu)先數(shù)。在終端服務(wù)業(yè)負(fù)載輕時,才去調(diào)度批量型作業(yè),以提高系統(tǒng)資源的利用率。在調(diào)度批量型作業(yè)時,又優(yōu)先照顧聯(lián)機(jī)作業(yè)。§22 作業(yè)的狀態(tài)及其建立過程一、 作業(yè)的狀態(tài)作業(yè)由程序、數(shù)據(jù)和作業(yè)說明書三部分組成。作業(yè)說明書包括作業(yè)基本情況、作業(yè)控制、作業(yè)資源要求的描述;它體現(xiàn)用戶的控制意圖。如:預(yù)計運(yùn)行時間、要求的資源情況、執(zhí)行優(yōu)先級等。² 作業(yè)基本情況:用戶名、作業(yè)名、編程語言、

49、最大處理時間等;² 作業(yè)控制描述:作業(yè)控制方式、作業(yè)步的操作順序、作業(yè)執(zhí)行出錯處理;作業(yè)資源要求描述:處理時間、優(yōu)先級、內(nèi)存空間、外設(shè)類型和數(shù)量、實用程序要求等; 一個作業(yè)從進(jìn)入系統(tǒng)到運(yùn)行完成,一般要由系統(tǒng)經(jīng)過多級調(diào)度才能實現(xiàn),通常要經(jīng)歷“進(jìn)入(提交)”、“收容(后備)”、“執(zhí)行”和“完成(終止)”四個階段,相應(yīng)地,作業(yè)就有四種狀態(tài)(注:有些教材上認(rèn)識作業(yè)只有后三種狀態(tài)):1. 進(jìn)入狀態(tài)(提交狀態(tài)):當(dāng)操作員將用戶提交的作業(yè)通過某種輸入方式輸入到外存上時,稱此階段為作業(yè)處于進(jìn)入狀態(tài)。2. 后備狀態(tài)(收容狀態(tài)):當(dāng)作業(yè)所需全部信息已輸入到外存,由作業(yè)建立程序為之建立一個作業(yè)控制塊,并插

50、入到后備作業(yè)隊列中等待作業(yè)調(diào)度運(yùn)行為止。把作業(yè)在后備隊列上等待調(diào)度的狀態(tài)稱為后備狀態(tài)。3. 執(zhí)行狀態(tài):作業(yè)調(diào)度程序從處于后備狀態(tài)的作業(yè)隊列中選中一個作業(yè)調(diào)入內(nèi)存,并為這建立相應(yīng)的進(jìn)程后,由于此時的作業(yè)已具有獨立運(yùn)行的資格,如果處理機(jī)空閑,便可立即開始執(zhí)行,故稱此時的作業(yè)是進(jìn)入了運(yùn)行狀態(tài)。作業(yè)的運(yùn)行狀態(tài)又可進(jìn)一步分為“就緒”、“執(zhí)行”和“阻塞”三個基本狀態(tài)。4. 終止?fàn)顟B(tài)(完成狀態(tài)):當(dāng)作業(yè)(進(jìn)程)的運(yùn)行正常完成或異常結(jié)束時,進(jìn)程便自我終止,或被迫終止,此時作業(yè)便進(jìn)入終止?fàn)顟B(tài)。處于終止?fàn)顟B(tài)的作業(yè)被作業(yè)終止程序回收其作業(yè)控制塊,回收已分配給它的所有資源,然后作業(yè)隨之消亡。 下圖示出了作業(yè)的狀態(tài)及其

51、轉(zhuǎn)換。作業(yè)由進(jìn)入狀態(tài)到后備狀態(tài)的轉(zhuǎn)換,是由作業(yè)建立 (作業(yè)注冊) 程序完成的;從后備狀態(tài)轉(zhuǎn)變?yōu)檫\(yùn)行狀態(tài)是由調(diào)度程序所引起;而作業(yè)由運(yùn)行狀態(tài)自愿或被迫地轉(zhuǎn)變?yōu)榻K止?fàn)顟B(tài),則是在有關(guān)作業(yè)終止的系統(tǒng)調(diào)用的作用下完成的。作業(yè)注冊后備狀態(tài)作業(yè)調(diào)度阻塞執(zhí)行就緒進(jìn)程調(diào)度時間片完I/O請求P中斷I/O完V中斷作業(yè)結(jié)束完成狀態(tài)二、作業(yè)和進(jìn)程的關(guān)系 作業(yè)可被看作是用戶向計算機(jī)提交任務(wù)的任務(wù)實體,例如一次計算、一個控制過程等。而進(jìn)程則是計算機(jī)為了完成用戶所提交的任務(wù)實體而設(shè)置的執(zhí)行實體,是系統(tǒng)分配資源的基本單位。顯然,計算機(jī)要完成一個任務(wù)實體,必須要有一個以上的執(zhí)行實體。也就是說,一個作業(yè)總是由一個以上的多個進(jìn)程組成

52、的。那么作業(yè)是怎樣分解為進(jìn)程的呢?首先,系統(tǒng)必須為一個作業(yè)創(chuàng)建一個根進(jìn)程,然后,在執(zhí)行作業(yè)控制語句時,根據(jù)任務(wù)要求,系統(tǒng)或根進(jìn)程為其創(chuàng)建相應(yīng)的子進(jìn)程,然后,為各子進(jìn)程分配資源和調(diào)度各子進(jìn)程執(zhí)行以完成作業(yè)要求的任務(wù)。作業(yè):任務(wù)實體;進(jìn)程:執(zhí)行實體。§23 用戶與的接口操作系統(tǒng)是用戶與計算機(jī)之間的接口,用戶通過操作系統(tǒng)來使用計算機(jī)。那么用戶是如何使用操作系統(tǒng)的呢?換句話說,用戶和操作系統(tǒng)之間的接口是什么呢?我們知道,計算機(jī)配置操作系統(tǒng)的目的之一是為了方便用戶。也就是說,在操作系統(tǒng)的協(xié)助下,用戶能夠簡便、靈活、安全可靠、經(jīng)濟(jì)有效地使用計算機(jī)系統(tǒng)資源來解決其問題。因此,操作系統(tǒng)為了提供有效的

53、服務(wù),它必須支持與其用戶(使用計算機(jī)來運(yùn)行其應(yīng)用程序的人)的通信。這個通信包括雙向的信息傳輸:用戶請求系統(tǒng)得到特定的服務(wù),而系統(tǒng)把服務(wù)的結(jié)果提供給用戶。這種通信可以是直接的,例如,通過交互式終端上打入和顯示的對話方式來實現(xiàn)。它也可以是間接的,例如,在批處理方式下通過提交的作業(yè)或程序來實現(xiàn)與系統(tǒng)的通信。操作系統(tǒng)中負(fù)責(zé)管理這種通信的部分稱為用戶接口。用戶接口 是計算機(jī)系統(tǒng)與其用戶之間進(jìn)行交互作用和通信的通路。對絕大多數(shù)用戶而言,一個計算機(jī)系統(tǒng)的可接受性在很大程度上取決于這個用戶接口。 用戶接口通常是以命令或系統(tǒng)調(diào)用的形式呈現(xiàn)在用戶面前,前者提供給用戶在鍵盤終端上使用,后者則提供用戶在編程時調(diào)用。分

54、別稱為程序接口和命令接口。一、程序級接口由一組系統(tǒng)調(diào)用組成 程序接口:指用戶程序和OS之間的接口。這是操作系統(tǒng)為用戶程序訪問計算機(jī)資源而提供的接口,是用戶程序取得操作系統(tǒng)服務(wù)的唯一途徑。亦即程序接口是操作系統(tǒng)為正在運(yùn)行的程序提供服務(wù)并與之通信的一個設(shè)施。它供所有的用戶使用;同時,也供操作系統(tǒng)的其它組成部分,特別是命令處理程序使用。程序接口的職責(zé)是裝入并創(chuàng)建一個準(zhǔn)備開始運(yùn)行的程序(進(jìn)程)。此外,這個接口還為程序正?;虍惓=K止給出適當(dāng)?shù)捻憫?yīng)。當(dāng)一個程序正在執(zhí)行時,程序接口接受對系統(tǒng)服務(wù)及資源的申請,并與操作系統(tǒng)的資源管理程序進(jìn)行通信。這個程序接口主要由一組系統(tǒng)調(diào)用(System Call)組成,通

55、過系統(tǒng)調(diào)用程序?qū)崿F(xiàn)與操作系統(tǒng)的通信。 系統(tǒng)調(diào)用: 指系統(tǒng)為用戶程序調(diào)用操作系統(tǒng)所提供的子程序。它是一種特殊的過程調(diào)用,這種調(diào)用通常是由特殊的機(jī)器指令實現(xiàn)的。除了提供對操作系統(tǒng)子程序的調(diào)用外,這個指令還將系統(tǒng)轉(zhuǎn)入特權(quán)方式。因此,系統(tǒng)調(diào)用程序被看成是一個低級的過程,只能由匯編語言直接訪問。大多數(shù)用高級語言編寫的程序通過子程序庫來訪問這些系統(tǒng)調(diào)用。這些子程序執(zhí)行系統(tǒng)調(diào)用并完成其它的有關(guān)功能??傊?,它與一般的函數(shù)調(diào)用不同,系統(tǒng)調(diào)用是通過中斷方式轉(zhuǎn)向相應(yīng)子程序的,它工作在核心態(tài)(即特權(quán)方式),而一般函數(shù)的調(diào)用,仍僅是在用戶態(tài)下的地址轉(zhuǎn)移。系統(tǒng)調(diào)用是操作系統(tǒng)提供給軟件開發(fā)人員的唯一接口,開發(fā)人員可利用它使

56、用系統(tǒng)功能。OS核心中都有一組實現(xiàn)系統(tǒng)功能的過程(子程序),系統(tǒng)調(diào)用就是對上述過程的調(diào)用。圖1 系統(tǒng)調(diào)用的處理過程(1) 設(shè)置系統(tǒng)調(diào)用號和參數(shù),然后執(zhí)行trap指令。¨ 調(diào)用號作為指令的一部分(如早期UNIX),或裝入到特定寄存器里(如:DOS int 21h,AH=調(diào)用號。)¨ 參數(shù)裝入到特定寄存器里,或以寄存器指針指向參數(shù)表(內(nèi)存區(qū)域)。(2) 人口的一般性處理。¨ 保護(hù)CPU現(xiàn)場,改變CPU執(zhí)行狀態(tài)(處理機(jī)狀態(tài)字PSW切換,地址空間表切換)¨ 將參數(shù)取到核心空間(3) 查入口跳轉(zhuǎn)表,跳轉(zhuǎn)到相應(yīng)功能的過程(4) 恢復(fù)CPU現(xiàn)場,將執(zhí)行結(jié)果裝入適當(dāng)位置(類似于參數(shù)帶入),執(zhí)行中斷返回指令 在早期的UNIX版本和MS-DOS版本中,其系統(tǒng)調(diào)用是用匯編語言形式提供的,因而只有在匯編語言程序中才能直接使用系統(tǒng)調(diào)用;而在高級語言中,往往是提供了與系統(tǒng)調(diào)用一一對應(yīng)的庫函數(shù),因而應(yīng)用程序便可通過調(diào)用對應(yīng)的庫函數(shù)來使用相應(yīng)的系統(tǒng)調(diào)用。例如在近年來所推出的操作系統(tǒng)中,如UNIX System中,其系統(tǒng)調(diào)用是采用語言編寫的,并以函數(shù)形式提供,

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論