操作系統的目標和作用課件_第1頁
操作系統的目標和作用課件_第2頁
操作系統的目標和作用課件_第3頁
操作系統的目標和作用課件_第4頁
操作系統的目標和作用課件_第5頁
已閱讀5頁,還剩183頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第一章操作系統引論1.1操作系統的目標和作用

1.2操作系統的發展過程

1.3操作系統的基本特性

1謝謝觀賞2019-9-21第一章操作系統引論1.1操作系統的目標和作用1謝謝觀1.1操作系統的目標和作用1.1.1操作系統的目標1.1.2操作系統的作用1.1.3推動操作系統發展的主要動力2謝謝觀賞2019-9-211.1操作系統的目標和作用1.1.1操作系統的目標2謝謝軟盤內存打印機CPU(由運算器和控制器組成)輸入程序原始數據輸出運算結果指令數據線控制信號線存儲程序并自動執行鍵盤0輸入設備外部存儲器輸出設備000100110000001100001013謝謝觀賞2019-9-21軟盤內存打印機CPU(由運算器和控制器組成)輸入程序輸出1.1.1操作系統的目標

1.有效性在早期(20世紀50~60年代),由于計算機系統非常昂貴,操作系統最重要的目標無疑是有效性。事實上,那時有效性是推動操作系統發展最主要的動力。正因如此,現在的大多數操作系統書籍,都著重于介紹如何提高計算機系統的資源利用率和系統的吞吐量問題。操作系統的有效性可包含如下兩方面的含意:

4謝謝觀賞2019-9-211.1.1操作系統的目標4謝謝觀賞2019-9-21

(1)提高系統資源利用率。在未配置OS的計算機系統中,諸如CPU、I/O設備等各種資源,都會因它們經常處于空閑狀態而得不到充分利用;內存及外存中所存放的數據太少或者無序而浪費了大量的存儲空間。配置了OS之后,可使CPU和I/O設備由于能保持忙碌狀態而得到有效的利用,且可使內存和外存中存放的數據因有序而節省了存儲空間。5謝謝觀賞2019-9-21(1)提高系統資源利用率。在未配置OS的計算機系統中,

(2)提高系統的吞吐量。計算機的吞吐量:計算機系統的吞吐量是指流入,處理和流出系統的信息的速率。信息能夠多快地輸入內存

CPU能夠多快地取指令數據能夠多快地從內存取出或存入所得結果能夠多快地從內存送給一臺外圍設備這些步驟中的每一步都關系到主存,因此,系統吞吐量主要取決于主存的存取周期。操作系統還可以通過合理地組織計算機的工作流程,而進一步改善資源的利用率,加速程序的運行,縮短程序的運行周期,從而提高系統的吞吐量。

6謝謝觀賞2019-9-21(2)提高系統的吞吐量。6謝謝觀賞2019-9-21

2.方便性配置OS后可使計算機系統更容易使用。一個未配置OS的計算機系統是極難使用的,因為計算機硬件只能識別0和1這樣的機器代碼。用戶要直接在計算機硬件上運行自己所編寫的程序,就必須用機器語言書寫程序;用戶要想輸入數據或打印數據,也都必須自己用機器語言書寫相應的輸入程序或打印程序。如果我們在計算機硬件上配置了OS,用戶便可通過OS所提供的各種命令來使用計算機系統。比如,用編譯命令可方便地把用戶用高級語言書寫的程序翻譯成機器代碼,大大地方便了用戶,從而使計算機變得易學易用。

7謝謝觀賞2019-9-212.方便性7謝謝觀賞2019-9-21

3.可擴充性隨著VLSI技術和計算機技術的迅速發展,計算機硬件和體系結構也隨之得到迅速發展,相應地,它們也對OS提出了更高的功能和性能要求。此外,多處理機系統、計算機網絡,特別是Internet的發展,又對OS提出了一系列更新的要求。因此,OS必須具有很好的可擴充性,方能適應計算機硬件、體系結構以及應用發展的要求。這就是說,現代OS應采用新的OS結構,如微內核結構和客戶服務器模式,以便于方便地增加新的功能和模塊,并能修改老的功能和模塊。關于新的OS結構將在本章最后一節中介紹。

8謝謝觀賞2019-9-213.可擴充性8謝謝觀賞2019-9-21

4.開放性自20世紀80年代以來,由于計算機網絡的迅速發展,特別是Internet的應用的日益普及,使計算機操作系統的應用環境已由單機封閉環境轉向開放的網絡環境。為使來自不同廠家的計算機和設備能通過網絡加以集成化,并能正確、有效地協同工作,實現應用的可移植性和互操作性,要求操作系統必須提供統一的開放環境,進而要求OS具有開放性。開放性是指系統能遵循世界標準規范,特別是遵循開放系統互連(OSI)國際標準。凡遵循國際標準所開發的硬件和軟件,均能彼此兼容,可方便地實現互連。開放性已成為20世紀90年代以后計算機技術的一個核心問題,也是一個新推出的系統或軟件能否被廣泛應用的至關重要的因素。

9謝謝觀賞2019-9-214.開放性9謝謝觀賞2019-9-211.1操作系統的目標和作用1.1.1操作系統的目標1.1.2操作系統的作用1.1.3推動操作系統發展的主要動力10謝謝觀賞2019-9-211.1操作系統的目標和作用1.1.1操作系統的目標10謝1.1.2操作系統的作用

1.OS作為用戶與計算機硬件系統之間的接口

OS作為用戶與計算機硬件系統之間接口的含義是:OS處于用戶與計算機硬件系統之間,用戶通過OS來使用計算機系統。或者說,用戶在OS幫助下,能夠方便、快捷、安全、可靠地操縱計算機硬件和運行自己的程序。應注意,OS是一個系統軟件,因而這種接口是軟件接口。圖1-1是OS作為接口的示意圖。由圖可看出,用戶可通過以下三種方式使用計算機。

11謝謝觀賞2019-9-211.1.2操作系統的作用11謝謝觀賞2019-9-21圖1-1

OS作為接口的示意圖

12謝謝觀賞2019-9-21圖1-1OS作為接口的示意圖12謝謝觀賞2019-9-2

(1)命令方式。這是指由OS提供了一組聯機命令接口,以允許用戶通過鍵盤輸入有關命令來取得操作系統的服務,并控制用戶程序的運行。

(2)系統調用方式。OS提供了一組系統調用,用戶可在自己的應用程序中通過相應的系統調用,來實現與操作系統的通信,并取得它的服務。

(3)圖形、窗口方式。這是當前使用最為方便、最為廣泛的接口,它允許用戶通過屏幕上的窗口和圖標來實現與操作系統的通信,并取得它的服務。

13謝謝觀賞2019-9-21(1)命令方式。這是指由OS提供了一組聯機命令接口,以

2.OS作為計算機系統資源的管理者在一個計算機系統中,通常都含有各種各樣的硬件和軟件資源。歸納起來可將資源分為四類:處理器存儲器I/O設備信息(數據和程序)。14謝謝觀賞2019-9-212.OS作為計算機系統資源的管理者14謝謝觀賞2019-

2.OS作為計算機系統資源的管理者相應地,OS的主要功能也正是針對這四類資源進行有效的管理,即:處理機管理,用于分配和控制處理機;存儲器管理,主要負責內存的分配與回收;

I/O設備管理,負責I/O設備的分配與操縱;文件管理,負責文件的存取、共享和保護。可見,OS的確是計算機系統資源的管理者。事實上,當今世界上廣為流行的一個關于OS作用的觀點,正是把OS作為計算機系統的資源管理者。

15謝謝觀賞2019-9-212.OS作為計算機系統資源的管理者15謝謝觀賞2019-

3.OS實現了對計算機資源的抽象對于一個完全無軟件的計算機系統(即裸機),它向用戶提供的是實際硬件接口(物理接口),用戶必須對物理接口的實現細節有充分的了解,并利用機器指令進行編程,因此該物理機器必定是難以使用的。為了方便用戶使用I/O設備,人們在裸機上覆蓋上一層I/O設備管理軟件,如圖1-2所示,由它來實現對I/O設備操作的細節,并向上提供一組I/O操作命令,如Read和Write命令,用戶可利用它來進行數據輸入或輸出,而無需關心I/O是如何實現的。此時用戶所看到的機器將是一臺比裸機功能更強、使用更方便的機器。這就是說,在裸機上鋪設的I/O軟件隱藏了對I/O設備操作的具體細節,向上提供了一組抽象的I/O設備。

16謝謝觀賞2019-9-213.OS實現了對計算機資源的抽象16謝謝觀賞2019-9圖1-2

I/O軟件隱藏了I/O操作實現的細節

17謝謝觀賞2019-9-21圖1-2I/O軟件隱藏了I/O操作實現的細節17謝謝觀賞通常把覆蓋了上述軟件的機器稱為擴充機器或虛機器。它向用戶(進程)提供了一個對硬件操作的抽象模型,用戶可利用抽象模型提供的接口使用計算機,而無需了解物理接口實現的細節,從而使用戶更容易地使用計算機硬件資源。由該層軟件實現了對計算機硬件操作的第一個層次的抽象。

18謝謝觀賞2019-9-21通常把覆蓋了上述軟件的機器稱為擴充機器或虛機器。它向用戶為了方便用戶使用文件系統,人們又在第一層軟件上再覆蓋上一層用于文件的管理軟件,同樣由它來實現對文件操作的細節,并向上提供一組對文件進行存取操作的命令,用戶可利用這組命令進行文件的存取。此時,用戶所看到的是一臺功能更強、使用更方便的虛機器。該層軟件實現了對硬件資源操作的第二個層次的抽象。而當人們又在文件管理軟件上再覆蓋一層面向用戶的窗口軟件后,用戶便可在窗口環境下方便地使用計算機,形成一臺功能更強的虛機器。

19謝謝觀賞2019-9-21為了方便用戶使用文件系統,人們又在第一層軟件上再覆蓋上一由此可知,OS是鋪設在計算機硬件上的多層系統軟件,它們不僅增強了系統的功能,而且還隱藏了對硬件操作的細節,由它們實現了對計算機硬件操作的多個層次的抽象。值得說明的是,對一個硬件在底層進行抽象后,在高層還可再次對該資源進行抽象,成為更高層的抽象模型。隨著抽象層次的提高,抽象接口所提供的功能就越來越強,用戶使用起來也更加方便。

20謝謝觀賞2019-9-21由此可知,OS是鋪設在計算機硬件上的多層系統軟件,它們不1.1.1操作系統的目標1.1.2操作系統的作用1.1.3推動操作系統發展的主要動力21謝謝觀賞2019-9-211.1.1操作系統的目標21謝謝觀賞2019-9-211.1.3推動操作系統發展的主要動力

1.不斷提高計算機資源的利用率在計算機發展的初期,計算機系統特別昂貴,人們必須千方百計地提高計算機系統中各種資源的利用率,這就是OS最初發展的推動力。由此形成了能自動地對一批作業進行處理的多道批處理系統。在20世紀60和70年代,又分別出現了能有效提高I/O設備和CPU利用率的SPOOLing系統和改善存儲器系統利用率的虛擬存儲器技術,以及在網絡環境下,在服務器上配置了允許所有網絡用戶訪問的文件系統和數據庫系統。

22謝謝觀賞2019-9-211.1.3推動操作系統發展的主要動力22謝謝觀賞2019-

2.方便用戶當資源利用率不高的問題得到基本解決后,用戶在上機、調試程序時的不方便性便又成為主要矛盾。于是人們又想方設法改善用戶上機、調試程序時的環境,這又成為繼續推動OS發展的主要因素。隨之便形成了允許進行人機交互的分時系統,或稱為多用戶系統。在20世紀90年代初出現了受到用戶廣泛歡迎的圖形用戶界面,極大地方便了用戶使用計算機,使中小學生都能很快地學會上機操作,這無疑會更加推動計算機的迅速普及。

23謝謝觀賞2019-9-212.方便用戶23謝謝觀賞2019-9-21

3.器件的不斷更新換代微電子技術的迅猛發展,推動著計算機器件,特別是微機芯片的不斷更新,使得計算機的性能迅速提高,規模急劇擴大,從而推動了OS的功能和性能也迅速增強和提高。例如,當微機芯片由8位發展到16位、32位,進而又發展到64位時,相應的微機OS也就由8位發展到16位和32位,進而又發展到64位,此時相應OS的功能和性能也都有顯著的增強和提高。24謝謝觀賞2019-9-213.器件的不斷更新換代24謝謝觀賞2019-9-21在多處理機快速發展的同時,外部設備也在迅速發展。例如,早期的磁盤系統十分昂貴,只能配置在大型機中。隨著磁盤價格的不斷降低且小型化,很快在中、小型機以及微型機上也無一例外地配置了磁盤系統,而且其容量還遠比早期配置在大型機上的大得多。現在的微機操作系統(如WindowsXP)能支持種類非常多的外部設備,除了傳統的外設外,還可以支持光盤、移動硬盤、閃存盤、掃描儀等。

25謝謝觀賞2019-9-21在多處理機快速發展的同時,外部設備也在迅速發展。例如,早

4.計算機體系結構的不斷發展計算機體系結構的發展,也不斷推動著OS的發展并產生新的操作系統類型。例如,當計算機由單處理機系統發展為多處理機系統時,相應地,操作系統也就由單處理機OS發展為多處理機OS。又如,當出現了計算機網絡后,配置在計算機網絡上的網絡操作系統也就應運而生,它不僅能有效地管理好網絡中的共享資源,而且還向用戶提供了許多網絡服務。

26謝謝觀賞2019-9-214.計算機體系結構的不斷發展26謝謝觀賞2019-9-21.2操作系統的發展過程1.2.1無操作系統的計算機系統1.2.2單道批處理系統1.2.3多道批處理系統1.2.4分時系統1.2.5實時系統1.2.6微機操作系統的發展27謝謝觀賞2019-9-211.2操作系統的發展過程1.2.1無操作系統的計算機系統1.2.1無操作系統的計算機系統

1.人工操作方式從第一臺計算機誕生(1945年)到20世紀50年代中期的計算機,屬于第一代計算機。此時的計算機是利用成千上萬個真空管做成的,它的運行速度僅為每秒數千次,但體積卻十分龐大,且功耗也非常高。這時還未出現OS。計算機操作是由用戶(即程序員)采用人工操作方式直接使用計算機硬件系統,即由程序員將事先已穿孔(對應于程序和數據)的紙帶(或卡片)裝入紙帶輸入機(或卡片輸入機),再啟動它們將程序和數據輸入計算機,然后啟動計算機運行。當程序運行完畢并取走計算結果之后,才讓下一個用戶上機。這種人工操作方式有以下兩方面的缺點:28謝謝觀賞2019-9-211.2.1無操作系統的計算機系統28謝謝觀賞2019-9-

(1)用戶獨占全機。此時,計算機及其全部資源只能由上機用戶獨占。

(2)CPU等待人工操作。當用戶進行裝帶(卡)、卸帶(卡)等人工操作時,CPU及內存等資源是空閑的。可見,人工操作方式嚴重降低了計算機資源的利用率,此即所謂的人機矛盾。隨著CPU速度的提高和系統規模的擴大,人機矛盾變得日趨嚴重。此外,隨著CPU速度的迅速提高而I/O設備的速度卻提高緩慢,這又使CPU與I/O設備之間速度不匹配的矛盾更加突出。為了緩和此矛盾,曾先后出現了通道技術、緩沖技術,但都未能很好地解決上述矛盾,直至后來又引入了脫機輸入/輸出技術,才獲得了較為令人滿意的結果。

29謝謝觀賞2019-9-21(1)用戶獨占全機。此時,計算機及其全部資源只能由上機

2.脫機輸入/輸出方式為了解決人機矛盾及CPU和I/O設備之間速度不匹配的矛盾,20世紀50年代末出現了脫機輸入/輸出(Off-LineI/O)技術。該技術是事先將裝有用戶程序和數據的紙帶(或卡片)裝入紙帶輸入機(或卡片機),在一臺外圍機的控制下,把紙帶(卡片)上的數據(程序)輸入到磁帶上。當CPU需要這些程序和數據時,再從磁帶上將其高速地調入內存。

30謝謝觀賞2019-9-212.脫機輸入/輸出方式30謝謝觀賞2019-9-21圖1-3脫機I/O示意圖

31謝謝觀賞2019-9-21圖1-3脫機I/O示意圖31謝謝觀賞2019-9-21類似地,當CPU需要輸出時,可由CPU直接高速地把數據從內存送到磁帶上,然后再在另一臺外圍機的控制下,將磁帶上的結果通過相應的輸出設備輸出。圖1-3示出了脫機輸入/輸出過程。由于程序和數據的輸入和輸出都是在外圍機的控制下完成的,或者說,它們是在脫離主機的情況下進行的,故稱為脫機輸入/輸出方式;反之,在主機的直接控制下進行輸入/輸出的方式稱為聯機。32謝謝觀賞2019-9-21類似地,當CPU需要輸出時,可由CPU直接高速地把數據從輸入/輸出(On-LineI/O)方式。這種脫機I/O方式的主要優點如下:

(1)減少了CPU的空閑時間。裝帶(卡)、卸帶(卡)以及將數據從低速I/O設備送到高速磁帶(或盤)上,都是在脫機情況下進行的,并不占用主機時間,從而有效地減少了CPU的空閑時間,緩和了人機矛盾。

(2)提高了I/O速度。當CPU在運行中需要數據時,是直接從高速的磁帶或磁盤上將數據調入內存的,不再是從低速I/O設備上輸入,極大地提高了I/O速度,從而緩和了CPU和I/O設備速度不匹配的矛盾,進一步減少了CPU的空閑時間。

33謝謝觀賞2019-9-21輸入/輸出(On-LineI/O)方式。這種脫機I/O1.2操作系統的發展過程1.2.1無操作系統的計算機系統1.2.2單道批處理系統1.2.3多道批處理系統1.2.4分時系統1.2.5實時系統1.2.6微機操作系統的發展34謝謝觀賞2019-9-211.2操作系統的發展過程1.2.1無操作系統的計算機系統1.2.2單道批處理系統

1.單道批處理系統的處理過程上世紀50年代中期發明了晶體管,人們開始用晶體管替代真空管來制作計算機,從而出現了第二代計算機。它不僅使計算機的體積大大減小,功耗顯著降低,同時可靠性也得到大幅度提高,使計算機已具有推廣應用的價值,但計算機系統仍非常昂貴。為了能充分地利用它,應盡量讓該系統連續運行,以減少空閑時間。為此,通常是把一批作業以脫機方式輸入到磁帶上,并在系統中配上監督程序(Monitor),在它的控制下使這批作業能一個接一個地連續處理。

35謝謝觀賞2019-9-211.2.2單道批處理系統35謝謝觀賞2019-9-21其自動處理過程是:首先,由監督程序將磁帶上的第一個作業裝入內存,并把運行控制權交給該作業。當該作業處理完成時,又把控制權交還給監督程序,再由監督程序把磁帶(盤)上的第二個作業調入內存。計算機系統就這樣自動地一個作業一個作業地進行處理,直至磁帶(盤)上的所有作業全部完成,這樣便形成了早期的批處理系統。由于系統對作業的處理都是成批地進行的,且在內存中始終只保持一道作業,故稱此系統為單道批處理系統(SimpleBatchProcessingSystem)。圖1-4示出了單道批處理系統的處理流程。

36謝謝觀賞2019-9-21其自動處理過程是:首先,由監督程序將磁帶上的第一個作業裝圖1-4單道批處理系統的處理流程

37謝謝觀賞2019-9-21圖1-4單道批處理系統的處理流程37謝謝觀賞2019-

2.單道批處理系統的特征單道批處理系統是最早出現的一種OS。嚴格地說,它只能算作是OS的前身而并非是現在人們所理解的OS。盡管如此,該系統比起人工操作方式的系統已有很大進步。該系統的主要特征如下:

(1)自動性。在順利情況下,在磁帶上的一批作業能自動地逐個地依次運行,而無需人工干預。38謝謝觀賞2019-9-212.單道批處理系統的特征38謝謝觀賞2019-9-21

(2)順序性。磁帶上的各道作業是順序地進入內存,各道作業的完成順序與它們進入內存的順序,在正常情況下應完全相同,亦即先調入內存的作業先完成。

(3)單道性。內存中僅有一道程序運行,即監督程序每次從磁帶上只調入一道程序進入內存運行,當該程序完成或發生異常情況時,才換入其后繼程序進入內存運行。

39謝謝觀賞2019-9-21(2)順序性。磁帶上的各道作業是順序地進入內存,各道作1.2操作系統的發展過程1.2.1無操作系統的計算機系統1.2.2單道批處理系統1.2.3多道批處理系統1.2.4分時系統1.2.5實時系統1.2.6微機操作系統的發展40謝謝觀賞2019-9-211.2操作系統的發展過程1.2.1無操作系統的計算機系統1.2.3多道批處理系統

1.多道程序設計的基本概念在單道批處理系統中,內存中僅有一道作業,它無法充分利用系統中的所有資源,致使系統性能較差。為了進一步提高資源的利用率和系統吞吐量,在20世紀60年代中期又引入了多道程序設計技術,由此而形成了多道批處理系統(MultiprogrammedBatchProcessingSystem)。在該系統中,用戶所提交的作業都先存放在外存上并排成一個隊列,稱為“后備隊列”;然后,由作業調度程序按一定的算法從后備隊列中選擇若干個作業調入內存,使它們共享CPU和系統中的各種資源。具體地說,在OS中引入多道程序設計技術可帶來以下好處:

41謝謝觀賞2019-9-211.2.3多道批處理系統41謝謝觀賞2019-9-21

(1)提高CPU的利用率。當內存中僅有一道程序時,每逢該程序在運行中發出I/O請求后,CPU空閑,必須在其I/O完成后CPU才繼續運行;尤其因I/O設備的低速性,更使CPU的利用率顯著降低。圖1-5(a)示出了單道程序的運行情況,從圖中可以看出:在t2~t3、t6~t7時間間隔內CPU空閑。在引入多道程序設計技術后,由于同時在內存中裝有若干道程序,并使它們交替地運行,這樣,當正在運行的程序因I/O而暫停執行時,系統可調度另一道程序運行,從而保持了CPU處于忙碌狀態。圖1-5(b)示出了四道程序時的運行情況。

42謝謝觀賞2019-9-21(1)提高CPU的利用率。當內存中僅有一道程序時,每逢圖1-5單道和多道程序運行情況

43謝謝觀賞2019-9-21圖1-5單道和多道程序運行情況43謝謝觀賞2019-9-

(2)可提高內存和I/O設備利用率。為了能運行較大的作業,通常內存都具有較大容量,但由于80%以上的作業都屬于中小型,因此在單道程序環境下,也必定造成內存的浪費。類似地,對于系統中所配置的多種類型的I/O設備,在單道程序環境下也不能充分利用。如果允許在內存中裝入多道程序,并允許它們并發執行,則無疑會大大提高內存和I/O設備的利用率。

(3)增加系統吞吐量。在保持CPU、I/O設備不斷忙碌的同時,也必然會大幅度地提高系統的吞吐量,從而降低作業加工所需的費用。

44謝謝觀賞2019-9-21(2)可提高內存和I/O設備利用率。為了能運行較大的作

2.多道批處理系統的優缺點雖然早在20世紀60年代就已出現了多道批處理系統,但至今它仍是三大基本操作系統類型之一。在大多數大、中、小型機中都配置了它,說明它具有其它類型OS所不具有的優點。多道批處理系統的主要優缺點如下:

(1)資源利用率高。由于在內存中駐留了多道程序,它們共享資源,可保持資源處于忙碌狀態,從而使各種資源得以充分利用。

45謝謝觀賞2019-9-212.多道批處理系統的優缺點45謝謝觀賞2019-9-21

(2)系統吞吐量大。系統吞吐量是指系統在單位時間內所完成的總工作量。能提高系統吞吐量的主要原因可歸結為:第一,CPU和其它資源保持“忙碌”狀態;

第二,僅當作業完成時或運行不下去時才進行切換,系統開銷小。

46謝謝觀賞2019-9-21(2)系統吞吐量大。系統吞吐量是指系統在單位時間內所完

(3)平均周轉時間長。作業的周轉時間是指從作業進入系統開始,直至其完成并退出系統為止所經歷的時間。在批處理系統中,由于作業要排隊,依次進行處理,因而作業的周轉時間較長,通常需幾個小時,甚至幾天。

(4)無交互能力。用戶一旦把作業提交給系統后,直至作業完成,用戶都不能與自己的作業進行交互,這對修改和調試程序是極不方便的。

47謝謝觀賞2019-9-21(3)平均周轉時間長。作業的周轉時間是指從作業進入系統

3.多道批處理系統需要解決的問題多道批處理系統是一種有效、但十分復雜的系統。為使系統中的多道程序間能協調地運行,必須解決下述一系列問題。

(1)處理機管理問題。在多道程序之間,應如何分配被它們共享的處理機,使CPU既能滿足各程序運行的需要,又能提高處理機的利用率,以及一旦把處理機分配給某程序后,又應在何時收回等一系列問題,屬于處理機管理問題。

48謝謝觀賞2019-9-213.多道批處理系統需要解決的問題48謝謝觀賞2019-9

(2)內存管理問題。應如何為每道程序分配必要的內存空間,使它們“各得其所”且不致因相互重疊而丟失信息,以及應如何防止因某道程序出現異常情況而破壞其它程序等問題,就是內存管理問題。

(3)I/O設備管理問題。系統中可能具有多種類型的I/O設備供多道程序所共享,應如何分配這些I/O設備,如何做到既方便用戶對設備的使用,又能提高設備的利用率,這就是I/O設備管理問題。

49謝謝觀賞2019-9-21(2)內存管理問題。應如何為每道程序分配必要的內存空間

(4)文件管理問題。在現代計算機系統中,通常都存放著大量的程序和數據(以文件形式存在),應如何組織這些程序和數據,才能使它們既便于用戶使用,又能保證數據的安全性和一致性,這些屬于文件管理問題。

(5)作業管理問題。對于系統中的各種應用程序,其中有的屬于計算型,即以計算為主的程序;有的屬于I/O型,即以I/O為主的程序;又有些作業既重要又緊迫;而有的作業則要求系統能及時響應,這時應如何組織這些作業,這便是作業管理問題。

50謝謝觀賞2019-9-21(4)文件管理問題。在現代計算機系統中,通常都存放著大1.2操作系統的發展過程1.2.1無操作系統的計算機系統1.2.2單道批處理系統1.2.3多道批處理系統1.2.4分時系統1.2.5實時系統1.2.6微機操作系統的發展51謝謝觀賞2019-9-211.2操作系統的發展過程1.2.1無操作系統的計算機系統1.2.4分時系統

1.分時系統的產生分時系統(TimeSharingSystem)與多道批處理系統之間有著截然不同的性能差別,它能很好地將一臺計算機提供給多個用戶同時使用,提高計算機的利用率。它被經常應用于查詢系統中,滿足許多查詢用戶的需要。用戶的需求具體表現在以下幾個方面:

(1)人-機交互。每當程序員寫好一個新程序時,都需要上機進行調試。由于新編程序難免有些錯誤或不當之處需要修改,因而希望能像早期使用計算機時一樣對它進行直接控制,并能以邊運行邊修改的方式,對程序中的錯誤進行修改,亦即,希望能進行人-機交互。

52謝謝觀賞2019-9-211.2.4分時系統52謝謝觀賞2019-9-21

(2)共享主機。在20世紀60年代計算機非常昂貴,不可能像現在這樣每人獨占一臺微機,而只能是由多個用戶共享一臺計算機,但用戶在使用機器時應能夠像自己獨占計算機一樣,不僅可以隨時與計算機交互,而且應感覺不到其他用戶也在使用該計算機。

(3)便于用戶上機。在多道批處理系統中,用戶上機前必須把自己的作業郵寄或親自送到機房。這對于用戶尤其是遠地用戶來說是十分不便的。用戶希望能通過自己的終端直接將作業傳送到機器上進行處理,并能對自己的作業進行控制。

53謝謝觀賞2019-9-21(2)共享主機。在20世紀60年代計算機非常昂貴,不可

2.分時系統實現中的關鍵問題

(1)及時接收。要及時接收用戶鍵入的命令或數據并不困難,為此,只需在系統中配置一個多路卡。例如,當要在主機上連接8個終端時,須配置一個8用戶的多路卡。多路卡的作用是使主機能同時接收各用戶從終端上輸入的數據。此外,還須為每個終端配置一個緩沖區,用來暫存用戶鍵入的命令(或數據)。

54謝謝觀賞2019-9-212.分時系統實現中的關鍵問題54謝謝觀賞2019-9-2

(2)及時處理。人機交互的關鍵,是使用戶鍵入命令后能及時地控制自己作業的運行,或修改自己的作業。為此,各個用戶的作業都必須在內存中,且應能頻繁地獲得處理機而運行;否則,用戶鍵入的命令將無法作用到自己的作業上。前面介紹的批處理系統是無法實現人機交互的。因為通常大多數作業都還駐留在外存上,即使是已調入內存的作業,也經常要經過較長時間的等待后方能運行,因而使用戶鍵入的命令很難及時作用到自己的作業上。

55謝謝觀賞2019-9-21(2)及時處理。人機交互的關鍵,是使用戶鍵入命令后能及由此可見,為實現人機交互,必須徹底地改變原來批處理系統的運行方式。首先,用戶作業不能先進入磁盤,然后再調入內存。因為作業在磁盤上不能運行,當然用戶也無法與機器交互,因此,作業應直接進入內存。其次,不允許一個作業長期占用處理機,直至它運行結束或出現I/O請求后,方才調度其它作業運行。為此,應該規定每個作業只運行一個很短的時間(例如0.1秒鐘,通常把這段時間稱為時間片),然后便暫停該作業的運行,并立即調度下一個程序運行。如果在不長的時間(如3秒)內能使所有的用戶作業都執行一次(一個時間片的時間),便可使每個用戶都能及時地與自己的作業交互,從而可使用戶的請求得到及時響應。

56謝謝觀賞2019-9-21由此可見,為實現人機交互,必須徹底地改變原來批處理系統的

3.分時系統的特征分時系統與多道批處理系統相比,具有非常明顯的不同特征,由上所述可以歸納成以下四個特點:

(1)多路性。允許在一臺主機上同時聯接多臺聯機終端,系統按分時原則為每個用戶服務。宏觀上,是多個用戶同時工作,共享系統資源;而微觀上,則是每個用戶作業輪流運行一個時間片。多路性即同時性,它提高了資源利用率,降低了使用費用,從而促進了計算機更廣泛的應用。

57謝謝觀賞2019-9-213.分時系統的特征57謝謝觀賞2019-9-21

(2)獨立性。每個用戶各占一個終端,彼此獨立操作,互不干擾。因此,用戶所感覺到的,就像是他一人獨占主機。

(3)及時性。用戶的請求能在很短的時間內獲得響應。此時間間隔是以人們所能接受的等待時間來確定的,通常僅為1~3秒鐘。

(4)交互性。用戶可通過終端與系統進行廣泛的人機對話。其廣泛性表現在:用戶可以請求系統提供多方面的服務,如文件編輯、數據處理和資源共享等。

58謝謝觀賞2019-9-21(2)獨立性。每個用戶各占一個終端,彼此獨立操作,互不1.2操作系統的發展過程1.2.1無操作系統的計算機系統1.2.2單道批處理系統1.2.3多道批處理系統1.2.4分時系統1.2.5實時系統1.2.6微機操作系統的發展59謝謝觀賞2019-9-211.2操作系統的發展過程1.2.1無操作系統的計算機系統1.2.5實時系統所謂“實時”,是表示“及時”,而實時系統(RealTimeSystem)是指系統能及時(或即時)響應外部事件的請求,在規定的時間內完成對該事件的處理,并控制所有實時任務協調一致地運行。

1.應用需求雖然多道批處理系統和分時系統已能獲得較為令人滿意的資源利用率和響應時間,從而使計算機的應用范圍日益擴大,但它們仍然不能滿足以下某些應用領域的需要。

60謝謝觀賞2019-9-211.2.5實時系統60謝謝觀賞2019-9-21

(1)實時控制。當把計算機用于生產過程的控制,以形成以計算機為中心的控制系統時,系統要求能實時采集現場數據,并對所采集的數據進行及時處理,進而自動地控制相應的執行機構,使某些(個)參數(如溫度、壓力、方位等)能按預定的規律變化,以保證產品的質量和提高產量。類似地,也可將計算機用于對武器的控制,如火炮的自動控制系統、飛機的自動駕駛系統,以及導彈的制導系統等。此外,隨著大規模集成電路的發展,已制作出各種類型的芯片,并可將這些芯片嵌入到各種儀器和設備中,用來對設備的工作進行實時控制,這就構成了所謂的智能儀器和設備。在這些設備中也需要配置某種類型的、能進行實時控制的系統。通常把用于進行實時控制的系統稱為實時系統。

61謝謝觀賞2019-9-21(1)實時控制。當把計算機用于生產過程的控制,以形成以

(2)實時信息處理。通常,人們把用于對信息進行實時處理的系統稱為實時信息處理系統。該系統由一臺或多臺主機通過通信線路連接到成百上千個遠程終端上,計算機接收從遠程終端上發來的服務請求,根據用戶提出的請求對信息進行檢索和處理,并在很短的時間內為用戶做出正確的響應。典型的實時信息處理系統有早期的飛機或火車的訂票系統、情報檢索系統等。

62謝謝觀賞2019-9-21(2)實時信息處理。通常,人們把用于對信息進行實時處理

2.實時任務

1)按任務執行時是否呈現周期性來劃分

(1)周期性實時任務。外部設備周期性地發出激勵信號給計算機,要求它按指定周期循環執行,以便周期性地控制某外部設備。

(2)非周期性實時任務。外部設備所發出的激勵信號并無明顯的周期性,但都必須聯系著一個截止時間(Deadline)。它又可分為開始截止時間(某任務在某時間以前必須開始執行)和完成截止時間(某任務在某時間以前必須完成)兩部分。

63謝謝觀賞2019-9-212.實時任務63謝謝觀賞2019-9-21

2)根據對截止時間的要求來劃分

(1)硬實時任務(Hardreal-timeTask)。系統必須滿足任務對截止時間的要求,否則可能出現難以預測的結果。

(2)軟實時任務(Softreal-timeTask)。它也聯系著一個截止時間,但并不嚴格,若偶爾錯過了任務的截止時間,對系統產生的影響也不會太大。

64謝謝觀賞2019-9-212)根據對截止時間的要求來劃分64謝謝觀賞2019-9

3.實時系統與分時系統特征的比較

(1)多路性。實時信息處理系統也按分時原則為多個終端用戶服務。實時控制系統的多路性則主要表現在系統周期性地對多路現場信息進行采集,以及對多個對象或多個執行機構進行控制。而分時系統中的多路性則與用戶情況有關,時多時少。

(2)獨立性。實時信息處理系統中的每個終端用戶在向實時系統提出服務請求時,是彼此獨立地操作,互不干擾;而實時控制系統中,對信息的采集和對對象的控制也都是彼此互不干擾。

65謝謝觀賞2019-9-213.實時系統與分時系統特征的比較65謝謝觀賞2019-9

(3)及時性。實時信息處理系統對實時性的要求與分時系統類似,都是以人所能接受的等待時間來確定的;而實時控制系統的及時性,則是以控制對象所要求的開始截止時間或完成截止時間來確定的,一般為秒級到毫秒級,甚至有的要低于100微秒。

(4)交互性。實時信息處理系統雖然也具有交互性,但這里人與系統的交互僅限于訪問系統中某些特定的專用服務程序。它不像分時系統那樣能向終端用戶提供數據處理和資源共享等服務。

66謝謝觀賞2019-9-21(3)及時性。實時信息處理系統對實時性的要求與分時系統

(5)可靠性。分時系統雖然也要求系統可靠,但相比之下,實時系統則要求系統具有高度的可靠性。因為任何差錯都可能帶來巨大的經濟損失,甚至是無法預料的災難性后果,所以在實時系統中,往往都采取了多級容錯措施來保障系統的安全性及數據的安全性。

67謝謝觀賞2019-9-21(5)可靠性。分時系統雖然也要求系統可靠,但相比之下,1.2操作系統的發展過程1.2.1無操作系統的計算機系統1.2.2單道批處理系統1.2.3多道批處理系統1.2.4分時系統1.2.5實時系統1.2.6微機操作系統的發展68謝謝觀賞2019-9-211.2操作系統的發展過程1.2.1無操作系統的計算機系統1.2.6微機操作系統的發展

1.單用戶單任務操作系統單用戶單任務操作系統的含義是,只允許一個用戶上機,且只允許用戶程序作為一個任務運行。這是最簡單的微機操作系統,主要配置在8位和16位微機上。最有代表性的單用戶單任務微機操作系統是CP/M和MS-DOS。

69謝謝觀賞2019-9-211.2.6微機操作系統的發展69謝謝觀賞2019-9-

1)CP/M

1974年第一代通用8位微處理機芯片Intel8080出現后的第二年,DigitalResearch公司就開發出帶有軟盤系統的8位微機操作系統。1977年DigitalResearch公司對CP/M進行了重寫,使其可配置在以Intel8080、8085、Z80等8位芯片為基礎的多種微機上。1979年又推出帶有硬盤管理功能的CP/M2.2版本。由于CP/M具有較好的體系結構,可適應性強,且具有可移植性以及易學易用等優點,使之在8位微機中占據了統治地位。

70謝謝觀賞2019-9-211)CP/M70謝謝觀賞2019-9-21

2)MS-DOS

1981年IBM公司首次推出了IBM-PC個人計算機(16位微機),在微機中采用了微軟公司開發的MS-DOS(DiskOperatingSystem)操作系統,該操作系統在CP/M的基礎上進行了較大的擴充,使其在功能上有很大的增強。1983年IBM推出PC/AT(配有Intel80286芯片),相應地,微軟又開發出MS-DOS2.0版本,它不僅能支持硬盤設備,還采用了樹形目錄結構的文件系統。1987年又宣布了MS-DOS3.3版本。從MS-DOS1.0到3.3為止的DOS版本都屬于單用戶單任務操作系統,內存被限制在640KB。從1989年到1993年又先后推出了多個MS-DOS版本,它們都可以配置在Intel80386、80486等32位微機上。從20世紀80年代到90年代初,由于MS-DOS性能優越而受到當時用戶的廣泛歡迎,成為事實上的16位單用戶單任務操作系統標準。

71謝謝觀賞2019-9-212)MS-DOS71謝謝觀賞2019-9-21

2.單用戶多任務操作系統單用戶多任務操作系統的含義是,只允許一個用戶上機,但允許用戶把程序分為若干個任務,使它們并發執行,從而有效地改善了系統的性能。目前在32位微機上配置的操作系統基本上都是單用戶多任務操作系統,其中最有代表性的是由微軟公司推出的Windows。1985年和1987年微軟公司先后推出了Windows1.0和Windows2.0版本操作系統,由于當時的硬件平臺還只是16位微機,對1.0和2.0版本不能很好的支持。1990年微軟公司又發布了Windows3.0版本,隨后又宣布了Windows3.1版本,它們主要是針對386和486等32位微機開發的,較之以前的操作系統有著重大的改進,引入了友善的圖形用戶界面,支持多任務和擴展內存的功能,使計算機更好使用,從而成為386和486等微機的主流操作系統。

72謝謝觀賞2019-9-212.單用戶多任務操作系統72謝謝觀賞2019-9-21

1995年微軟公司推出了Windows95,它較之以前的Windows3.1有許多重大改進,采用了全32位的處理技術,并兼容以前的16位應用程序,在該系統中還集成了支持Internet的網絡功能。1998年微軟公司又推出了Windows95的改進版Windows98,它已是最后一個仍然兼容以前的16位應用程序的Windows,其最主要的改進是把微軟公司自己開發的Internet瀏覽器整合到系統中,大大方便了用戶上網瀏覽,另一個特點是增加了對多媒體的支持。2001年微軟又發布了32位版本的WindowsXP,同時提供了家用和商業工作站兩種版本,它是當前使用最廣泛的個人操作系統。2001年還發布了64位版本的WindowsXP。

73謝謝觀賞2019-9-211995年微軟公司推出了Windows95,它較之以前微機操作系統—Windows系列Windows2.0Windows3.0Windows3.1WindowsNT3.1Windows3.2Windows1.0Windows95Windows98WindowsMEWindows2000WindowsXPWindows2003WindowsNT4.0WindowsVista19851987199019921993199419951996199820002000200120032005/html/2005/0813/1467.htm74謝謝觀賞2019-9-21微機操作系統—Windows系列Windows2.0Win微機操作系統—Windows系列75謝謝觀賞2019-9-21微機操作系統—Windows系列75謝謝觀賞2019-9-2

3.多用戶多任務操作系統多用戶多任務操作系統的含義是,允許多個用戶通過各自的終端使用同一臺機器,共享主機系統中的各種資源,而每個用戶程序又可進一步分為幾個任務,使它們能并發執行,從而可進一步提高資源利用率和系統吞吐量。在大、中和小型機中所配置的大多是多用戶多任務操作系統,而在32位微機上也有不少是配置的多用戶多任務操作系統,其中最有代表性的是UNIXOS。

76謝謝觀賞2019-9-213.多用戶多任務操作系統76謝謝觀賞2019-9-21

UNIXOS是美國電報電話公司的Bell實驗室在1969~1970年期間開發的,1979年推出來的UNIXV.7已被廣泛應用于多種中、小型機上。隨著微機性能的提高,人們又將UNIX移植到微機上。在1980年前后,將UNIX第7版本移植到Motorola公司的MC680xx微機上,后來又將UNIXV7.0版本進行簡化后移植到Intel8080上,把它稱為Xenix。現在最有影響的兩個能運行在微機上的UNIX操作系統的變型是SolarisOS和LinuxOS。

77謝謝觀賞2019-9-21UNIXOS是美國電報電話公司的Bell實驗室在196微機操作系統—Unix系列設計目標

向大的用戶團體提供對計算機的同時訪問。支持強大的計算能力與數據存儲。在需要時,用戶能夠容易地共享他們的數據。Ken

ThompsonAT&T貝爾實驗室1983年的Turing獎Dennis

M.

Ritchie78謝謝觀賞2019-9-21微機操作系統—Unix系列設計目標向大的用戶團體提供對計算

(1)SolarisOS:SUN公司于1982年推出的SUNOS1.0是一個運行在Motorola680x0平臺上的UNIXOS。在1988年宣布的SUNOS4.0把運行平臺從早期的Motorola680x0平臺遷移到SPARC平臺,并開始支持Intel公司的Intel80x86;1992年SUN發布了Solaris2.0。從1998年開始,Sun公司推出64位操作系統Solaris2.7和2.8,這幾款操作系統在網絡特性、互操作性、兼容性以及易于配置和管理方面均有很大的提高。

79謝謝觀賞2019-9-21(1)SolarisOS:SUN公司于1982年

(2)LinuxOS:Linux是UNIX的一個重要變種,最初是由芬蘭學生LinusTorvalds針對Intel80386開發的。1991年在Internet網上發布第一個Linux版本,由于源代碼公開,因此有很多人通過Internet與之合作,使Linux的性能迅速提高,其應用范圍也日益擴大。相應地,源代碼也急劇膨脹,此時它已是具有全面功能的UNIX系統,大量在UNIX上運行的軟件(包括1000多種實用工具軟件和大量的網絡軟件)被移植到Linux上,而且可以在主要的微機上運行,如Intel80x86Pentium等。

80謝謝觀賞2019-9-21(2)LinuxOS:Linux是UNIX的一個微機操作系統—Linux系列Linux與Unix

Linux與UNIX操作系統類似;不是UNIX操作系統的變種,在開發初期其內核代碼是仿效UNIX的;幾乎所有UNIX的工具與外殼都可以運行在Linux上。LinusTorvalds1991年開始,1994年Linux1.081謝謝觀賞2019-9-21微機操作系統—Linux系列Linux與UnixLinu1.3操作系統的基本特性1.3.1并發性1.3.2共享性1.3.3虛擬技術1.3.4異步性82謝謝觀賞2019-9-211.3操作系統的基本特性1.3.1并發性82謝謝觀賞21.3.1并發性

1.并行與并發并行性和并發性(Concurrence)是既相似又有區別的兩個概念:并行性:是指兩個或多個事件在同一時刻發生;并發性:是指兩個或多個事件在同一時間間隔內發生。在多道程序環境下,并發性是指在一段時間內宏觀上有多個程序在同時運行,但在單處理機系統中,每一時刻卻僅能有一道程序執行,故微觀上這些程序只能是分時地交替執行。倘若在計算機系統中有多個處理機,則這些可以并發執行的程序便可被分配到多個處理機上,實現并行執行,即利用每個處理機來處理一個可并發執行的程序,這樣,多個程序便可同時執行。

83謝謝觀賞2019-9-211.3.1并發性83謝謝觀賞2019-9-21

2.引入進程應當指出,通常的程序是靜態實體(PassiveEntity),在多道程序系統中,它們是不能獨立運行的,更不能和其它程序并發執行。在操作系統中引入進程的目的,就是為了使多個程序能并發執行。例如,在一個未引入進程的系統中,在屬于同一個應用程序的計算程序和I/O程序之間,兩者只能是順序執行,即只有在計算程序執行告一段落后,才允許I/O程序執行;反之,在程序執行I/O操作時,計算程序也不能執行,這意味著處理機處于空閑狀態

。但在引入進程后,若分別為計算程序和I/O程序各建立一個進程,則這兩個進程便可并發執行。

84謝謝觀賞2019-9-212.引入進程84謝謝觀賞2019-9-21由于在系統中具備使計算程序和I/O程序同時運行的硬件條件,因而可將系統中的CPU和I/O設備同時開動起來,實現并行工作,從而有效地提高了系統資源的利用率和系統吞吐量,并改善了系統的性能。引入進程的好處遠不止于此,事實上可以在內存中存放多個用戶程序,分別為它們建立進程后,這些進程可以并發執行,亦即實現前面所說的多道程序運行。這樣便能極大地提高系統資源的利用率,增加系統的吞吐量。

85謝謝觀賞2019-9-21由于在系統中具備使計算程序和I/O程序同時運行的硬件條件為使多個程序能并發執行,系統必須分別為每個程序建立進程(Process)。簡單說來,進程是指在系統中能獨立運行并作為資源分配的基本單位,它是由一組機器指令、數據和堆棧等組成的,是一個能獨立運行的活動實體。多個進程之間可以并發執行和交換信息。一個進程在運行時需要一定的資源,如CPU、存儲空間及I/O設備等。

86謝謝觀賞2019-9-21為使多個程序能并發執行,系統必須分別為每個程序建立進程(進程管理#include<stdio.h>main()

{

inti,j,k;i=4;j=5;k=i+j;printf("%d",k);}單道程序技術多道程序技術87謝謝觀賞2019-9-21進程管理#include<stdio.h>單道程序技術多道進程管理進程管理的具體任務對進程進行控制和為進程分配CPU,即進行進程調度,從而協調多道程序之間的關系,使CPU這一資源得到最充分的利用。什么是進程?進程是一個具有獨立功能的程序在一個數據集合上的一次運行活動。88謝謝觀賞2019-9-21進程管理進程管理的具體任務對進程進行控制和為進程分配CPU,

3.引入線程通常在一個進程中可以包含若干個線程,它們可以利用進程所擁有的資源。在引入線程的OS中,通常都是把進程作為分配資源的基本單位,而把線程作為獨立運行和獨立調度的基本單位。由于線程比進程更小,基本上不擁有系統資源,故對它的調度所付出的開銷就會小得多,能更高效地提高系統內多個程序間并發執行的程度。因而近年來推出的通用操作系統都引入了線程,以便進一步提高系統的并發性,并把它視作現代操作系統的一個重要標致。

89謝謝觀賞2019-9-213.引入線程89謝謝觀賞2019-9-21進程管理什么是線程?線程是進程中的一個實體,是CPU調度和分配的基本單位。主存主存進程線程1線程2線程390謝謝觀賞2019-9-21進程管理什么是線程?線程是進程中的一個實體,是CPU調度和分1.3操作系統的基本特性1.3.1并發性1.3.2共享性1.3.3虛擬技術1.3.4異步性91謝謝觀賞2019-9-211.3操作系統的基本特性1.3.1并發性91謝謝觀賞21.3.2共享性

1.互斥共享方式系統中的某些資源,如打印機、磁帶機,雖然它們可以提供給多個進程(線程)使用,但為使所打印或記錄的結果不致造成混淆,應規定在一段時間內只允許一個進程(線程)訪問該資源。為此,系統中應建立一種機制,以保證對這類資源的互斥訪問。當一個進程A要訪問某資源時,必須先提出請求。如果此時該資源空閑,系統便可將之分配給請求進程A使用。此后若再有其它進程也要訪問該資源時(只要A未用完),則必須等待。僅當A進程訪問完并釋放該資源后,才允許另一進程對該資源進行訪問。92謝謝觀賞2019-9-211.3.2共享性92謝謝觀賞2019-9-21我們把這種資源共享方式稱為互斥式共享,而把在一段時間內只允許一個進程訪問的資源稱為臨界資源或獨占資源。計算機系統中的大多數物理設備,以及某些軟件中所用的棧、變量和表格,都屬于臨界資源,它們要求被互斥地共享。為此,在系統中必需配置某種機制來保證諸進程互斥地使用獨占資源。

93謝謝觀賞2019-9-21我們把這種資源共享方式稱為互斥式共享,而把在一段時間內只

2.同時訪問方式系統中還有另一類資源,允許在一段時間內由多個進程“同時”對它們進行訪問。這里所謂的“同時”,在單處理機環境下往往是宏觀上的,而在微觀上,這些進程可能是交替地對該資源進行訪問。典型的可供多個進程“同時”訪問的資源是磁盤設備,一些用重入碼編寫的文件也可以被“同時”共享,即若干個用戶同時訪問該文件。并發和共享是操作系統的兩個最基本的特征,它們又是互為存在的條件。一方面,資源共享是以程序(進程)的并發執行為條件的,若系統不允許程序并發執行,自然不存在資源共享問題;另一方面,若系統不能對資源共享實施有效管理,協調好諸進程對共享資源的訪問,也必然影響到程序并發執行的程度,甚至根本無法并發執行。

94謝謝觀賞2019-9-212.同時訪問方式94謝謝觀賞2019-9-211.3操作系統的基本特性1.3.1并發性1.3.2共享性1.3.3虛擬技術1.3.4異步性95謝謝觀賞2019-9-211.3操作系統的基本特性1.3.1并發性95謝謝觀賞21.3.3虛擬技術

1.時分復用技術時分復用,亦即分時使用方式,它最早用于電信業中。為了提高信道的利用率,人們利用時分復用方式,將一條物理信道虛擬為多條邏輯信道,將每條信道供一對用戶通話。在計算機領域中,廣泛利用該技術來實現虛擬處理機、虛擬設備等,以提高資源的利用率。

96謝謝觀賞2019-9-211.3.3虛擬技術96謝謝觀賞2019-9-21

1)虛擬處理機技術在虛擬處理機技術中,利用多道程序設計技術,為每道程序建立一個進程,讓多道程序并發地執行,以此來分時使用一臺處理機。此時,雖然系統中只有一臺處理機,但它卻能同時為多個用戶服務,使每個終端用戶都認為是有一個處理機在專門為他服務。亦即,利用多道程序設計技術,把一臺物理上的處理機虛擬為多臺邏輯上的處理機,在每臺邏輯處理機上運行一道程序。我們把用戶所感覺到的處理機稱為虛擬處理器。

97謝謝觀賞2019-9-211)虛擬處理機技術97謝謝觀賞2019-9-21

2)虛擬設備技術我們還可以通過虛擬設備技術,將一臺物理I/O設備虛擬為多臺邏輯上的I/O設備,并允許每個用戶占用一臺邏輯上的I/O設備,這樣便可使原來僅允許在一段時間內由一個用戶訪問的設備(即臨界資源),變為在一段時間內允許多個用戶同時訪問的共享設備。例如,原來的打印機屬于臨界資源,而通過虛擬設備技術,可以把它變為多臺邏輯上的打印機,供多個用戶“同時”打印。

98謝謝觀賞2019-9-212)虛擬設備技術98謝謝觀賞2019-9-21

2.空分復用技術早在上世紀初,電信業中就使用頻分復用技術來提高信道的利用率。它是將一個頻率范圍非常寬的信道,劃分成多個頻率范圍較窄的信道,其中的任何一個頻帶都只供一對用戶通話。早期的頻分復用只能將一條物理信道劃分為十幾條到幾十條話路,后來又很快發展成上萬條話路,每條話路也只供一對用戶通話。之后,在計算機中也使用了空分復用技術來提高存儲空間的利用率。

99謝謝觀賞2019-9-212.空分復用技術99謝謝觀賞2019-9-21

1)虛擬磁盤技術通常在一臺機器上只配置一臺硬盤。我們可以通過虛擬磁盤技術將一臺硬盤虛擬為多臺虛擬磁盤,這樣使用起來既方便又安全。虛擬磁盤技術也是采用了空分復用方式,即它將硬盤劃分為若干個卷,例如1、2、3、4四個卷,再通過安裝程序將它們分別安裝在C、D、E、F四個邏輯驅動器上,這樣,機器上便有了四個虛擬磁盤。當用戶要訪問D盤中的內容時,系統便會訪問卷2中的內容。

100謝謝觀賞2019-9-211)虛擬磁盤技術100謝謝觀賞2019-9-21

2)虛擬存儲器技術在單道程序環境下,處理機會有很多空閑時間,內存也會有很多空閑空間,顯然,這會使處理機和內存的效率低下。如果說時分復用技術是利用處理機的空閑時間來運行其它的程序,使處理機的利用率得以提高,那么空分復用則是利用存儲器的空閑空間來存放其它的程序,以提高內存的利用率。101謝謝觀賞2019-9-212)虛擬存儲器技術101謝謝觀賞2019-9-21但是,單純的空分復用存儲器只能提高內存的利用率,并不能實現在邏輯上擴大存儲器容量的功能,必須引入虛擬存儲技術才能達到此目地。而虛擬存儲技術在本質上就是使內存分時復用。它可以使一道程序通過時分復用方式,在遠小于它的內存空間中運行。

例如,一個100MB的應用程序可以運行在20MB的內存空間。下一節將要介紹的用于實現內存擴充的“請求調入功能”和“置換功能”就是用于每次只把用戶程序的一部分調入內存運行,這樣便實現了用戶程序的各個部分分時進入內存運行的功能。

102謝謝觀賞2019-9-21但是,單純的空分復用存儲器只能提高內存的利用率,并不能實應當著重指出:如果虛擬的實現是通過時分復用的方法來實現的,即對某一物理設備進行分時使用,設N是某物理設備所對應的虛擬的邏輯設備數,則每臺虛擬設備的平均速度必然等于或低于物理設備速度的1/N。類似地,如果是利用空分復用方法來實現虛擬,此時一臺虛擬設備平均占用的空間必然也等于或低于物理設備所擁有空間的1/N。

103謝謝觀賞2019-9-21應當著重指出:如果虛擬的實現是通過時分復用的方法來實現的1.3操作系統的基本特性1.3.1并發性1.3.2共享性1.3.3虛擬技術1.3.4異步性104謝謝觀賞2019-9-211.3操作系統的基本特性1.3.1并發性104謝謝觀賞1.3.4異步性在多道程序環境下允許多個進程并發執行,但只有進程在獲得所需的資源后方能執行。在單處理機環境下,由于系統中只有一臺處理機,因而每次只允許一個進程執行,其余進程只能等待。當正在執行的進程提出某種資源要求時,如打印請求,而此時打印機正在為其它某進程打印,由于打印機屬于臨界資源,因此正在執行的進程必須等待,且放棄處理機,直到打印機空閑,并再次把處理機分配給該進程時,該進程方能繼續執行。可見,由于資源等因素的限制,使進程的執行通常都不是“一氣呵成”,而是以“停停走走”的方式運行。

105謝謝觀賞2019-9-211.3.4異步性105謝謝觀賞2019-9-21內存中的每個進程在何時能獲得處理機運行,何時又因提出某種資源請求而暫停,以及進程以怎樣的速度向前推進,每道程序總共需多少時間才能完成,等等,這些都是不可預知的。由于各用戶程序性能的不同,比如,有的側重于計算而較少需要I/O,而有的程序其計算少而I/O多,這樣,很可能是先進入內存的作業后完成,而后進入內存的作業先完成。或者說,進程是以人們不可預知的速度向前推進,此即進程的異步性(Asynchronism)。盡管如此,但只要在操作系統中配置有完善的進程同步機制,且運行環境相同,作業經多次運行都會獲得完全相同的結果。因此,異步運行方式是允許的,而且是操作系統的一個重要特征。

106謝謝觀賞2019-9-21內存中的每個進程在何時能獲得處理機運行,何時又因提出某種1.4操作系統的主要功能1.4.1處理機管理功能1.4.2存儲器管理功能1.4.3設備管理功能1.4.4文件管理功能1.4.5操作系統與用戶之間的接口107謝謝觀賞2019-9-211.4操作系統的主要功能1.4.1處理機管理功能107謝1.4.1處理機管理功能在傳統的多道程序系統中,處理機的分配和運行都是以進程為基本單位,因而對處理機的管理可歸結為對進程的管理;在引入了線程的OS中,也包含對線程的管理。處理機管理的主要功能是:創建和撤消進程(線程);對諸進程(線程)的運行進行協調;實現進程(線程)之間的信息交換;以及按照一定的算法把處理機分配給進程(線程)。

108謝謝觀賞2019-9-211.4.1處理機管理功能108謝謝觀賞2019-9-21

1.進程控制在傳統的多道程序環境下,要使作業運行,必須先為它創建一個或幾個進程,并為之分配必要的資源。當進程運行結束時,立即撤消該進程,以便能及時回收該進程所占用的各類資源。進程控制的主要功能是:為作業創建進程;撤消已結束的進程;控制進程在運行過程中的狀態轉換。在現代OS中,進程控制還應具有為一個進程創建若干個線程的功能和撤消(終止)已完成任務的線程的功能。

109謝謝觀賞2019-9-211.進程控制109謝謝觀賞2019-9-21

2.進程同步前已述及,進程是以異步方式運行的,并以人們不可預知的速度向前推進。為使多個進程能有條不紊地運行,系統中必須設置進程同步機制。進程同步的主要任務是為多個進程(含線程)的運行進行協調。有兩種協調方式:

(1)進程互斥方式。這是指諸進程(線程)在對臨界資源進行訪問時,應采用互斥方式;

(2)進程同步方式。這是指在相互合作去完成共同任務的諸進程(線程)間,由同步機構對它們的執行次序加以協調。

110謝謝觀賞2019-9-212.進程同步110謝謝觀賞2019-9-21

3.進程通信在多道程序環境下,為了加速應用程序的運行,應在系統中建立多個進程,并且再為一個進程建立若干個線程,由這些進程(線程)相互合作去完成一個共同的任務。而在這些進程(線程)之間,又往往需要交換信息。例如,有三個相互合作的進程,它們是輸入進程、計算進程和打印進程。輸入進程負責將所輸入的數據傳送給計算進程;計算進程利用輸入數據進行計算,并把計算結果傳送給打印進程;最后,由打印進程把計算結果打印出來。進程通信的任務就是用來實現在相互合作的進程之間的信息交換。

111謝謝觀賞2019-9-213.進程通信111謝謝觀賞2019-9-21

4.調度在后備隊列上等待的每個作業都需經過調度才能執行。在傳統的操作系統中,包括作業調度和進程調度兩步。

(1)作業調度。作業調度的基本任務是從后備隊列中按照一定的算法,選擇出若干個作業,為它們分配運行所需的資源(首先是分配內

溫馨提示

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

評論

0/150

提交評論