計算機操作系統第1章_第1頁
計算機操作系統第1章_第2頁
計算機操作系統第1章_第3頁
計算機操作系統第1章_第4頁
計算機操作系統第1章_第5頁
已閱讀5頁,還剩115頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、讓教學更簡單,讓學習更有效讓IT教學更簡單,讓IT學習更有效讓教學更簡單,讓學習更有效 操作系統主講:冷 鵬 QQ:1335448497讓教學更簡單,讓學習更有效讓教學更簡單,讓學習更有效什么是操作系統?讓教學更簡單,讓學習更有效所處的“位置”決定著承擔的“任務”n大多數的人都知道大多數的人都知道第一步第一步: 去電子商場購買、組裝一臺機器去電子商場購買、組裝一臺機器硬件硬件操作系統操作系統應用軟件應用軟件CPU、內存、磁盤、內存、磁盤、顯示器、鍵盤顯示器、鍵盤Windows,Linux第二步第二步: 找光盤,給這臺機器裝上找光盤,給這臺機器裝上操作系統操作系統第三步第三步: 在操作系統上安裝

2、應用軟件,開始使用在操作系統上安裝應用軟件,開始使用Word,Matlab讓教學更簡單,讓學習更有效使計算機更好用使計算機更好用!這是操作系統的根本要義這是操作系統的根本要義!為什么操作系統放在為什么操作系統放在“哪哪里里”?n如果哪里如果哪里沒有沒有操作系統操作系統操作系統可以:屏蔽細節、統一管理硬件、防止違法操作操作系統可以:屏蔽細節、統一管理硬件、防止違法操作 硬件硬件應用軟件應用軟件用戶需要直接操作硬件。用戶需要直接操作硬件。需要知道顯存位置、知需要知道顯存位置、知道掃描碼道掃描碼應用軟件需要知道很多硬應用軟件需要知道很多硬件信息。需要知道應用已件信息。需要知道應用已經占有哪些內存經占

3、有哪些內存使計算機的使用更加方便、簡單、高效使計算機的使用更加方便、簡單、高效讓教學更簡單,讓學習更有效n管理所有硬件資源管理所有硬件資源偉大的馮偉大的馮 諾依曼認為,計算機由五大部件組成諾依曼認為,計算機由五大部件組成:輸入輸入設備、輸出設備、存儲器、運算器、控制器設備、輸出設備、存儲器、運算器、控制器OS需要管理需要管理CPU(運算器、控制器運算器、控制器)OS需要管理需要管理memory(內存內存)OS需要管理需要管理disk(外存外存)OS需要管理需要管理IO(輸入輸入/輸出設備輸出設備)進程管理進程管理內存管理內存管理文件系統文件系統I/O系統系統課程核心內容課程核心內容讓教學更簡單

4、,讓學習更有效n管理管理OS中出現的軟件資源中出現的軟件資源硬件速度不匹配現象常見硬件速度不匹配現象常見 緩存區緩存區緩存管理,如緩存管理,如磁盤緩存等磁盤緩存等!課程內容按照硬件管理組織,軟件資源的管理滲課程內容按照硬件管理組織,軟件資源的管理滲透在各個章節中透在各個章節中GDT、函數表等、函數表等OS用樹管理大量信息用樹管理大量信息典型的如目錄管理典型的如目錄管理OS要抽象要抽象要完成邏輯到物理的映射要完成邏輯到物理的映射OS中會出現許多數據結構中會出現許多數據結構鏈表、隊列、散鏈表等鏈表、隊列、散鏈表等讓教學更簡單,讓學習更有效n進程管理、內存管理、文件系統、進程管理、內存管理、文件系統

5、、IO系統系統四大塊四大塊這四個部分就能使操作系統運轉起來這四個部分就能使操作系統運轉起來即使是這四個基本部分,也可以有多種組合方式即使是這四個基本部分,也可以有多種組合方式UNIX的整體的整體式式OS結構結構函數庫函數庫系統調用接口系統調用接口文件系統文件系統進程管理進程管理存儲管理存儲管理字符設備字符設備塊設備塊設備設備驅動設備驅動硬件抽象硬件抽象用戶用戶讓教學更簡單,讓學習更有效n操作系統原理(第四版)龐麗萍操作系統原理(第四版)龐麗萍 著著 /2008-05-01 /華中科技大學出版社華中科技大學出版社nOperating Systems Internals And Design Pr

6、inciples(第(第6版)(英文版)版)(英文版)n計算機操作系統計算機操作系統 陸麗娜陸麗娜 高等教育出版社高等教育出版社n操作系統原理(操作系統原理(21世紀高等學校規劃教材世紀高等學校規劃教材計算計算機科學與技術)機科學與技術) 出版社出版社:清華大學出版社清華大學出版社讓教學更簡單,讓學習更有效n期末筆試期末筆試70%操作系統基本概念、基本的實現技術操作系統基本概念、基本的實現技術一定數量的思考問題一定數量的思考問題n平時成績平時成績30%上機實驗上機實驗平時考勤平時考勤讓教學更簡單,讓學習更有效紙上得來終決淺紙上得來終決淺絕知此事要躬行絕知此事要躬行讓教學更簡單,讓學習更有效目錄

7、 讓教學更簡單,讓學習更有效 掌握什么是操作系統掌握什么是操作系統 掌握操作系統的掌握操作系統的目標目標和作用和作用 了解操作系統的發展過程,掌握不同種類了解操作系統的發展過程,掌握不同種類操作系統的優缺點操作系統的優缺點 理解操作系統的基本特性理解操作系統的基本特性 掌握操作系統的主要功能掌握操作系統的主要功能 了解常用的操作系統結構設計方法了解常用的操作系統結構設計方法讓教學更簡單,讓學習更有效第一章 操作系統引論知識引入1 11.1 操作系統的目標和作用2 21.2 操作系統的發展過程3 31.3 操作系統的基本特性3 31.4 操作系統的主要功能3 31.5 OS結構設計3 3習題讓教

8、學更簡單,讓學習更有效 操作系統的目標與應用環境有關。 例如: (1)在查詢系統中所用的OS,希望能提供良好的人機交互性; (2)對于應用于工業控制、武器控制以及多媒體環境下的OS,要求其具有實時性; (3)對于微機上配置的OS,則更看重的是其使用的方便性。1.11.1操作系統的目標和作用操作系統的目標和作用讓教學更簡單,讓學習更有效1.1.1 操作系統的目標1. 方便性:OS使計算機系統更易于使用。2. 有效性:OS使資源的利用率更高,系統的吞吐量更大。3. 可擴充性:OS必須能方便地增加新的功能和模塊,并能修改老的功能和模塊,以適用計算機硬件、體系結構以及應用發展的要求。4. 開放性:使來

9、自不同廠家的計算機和設備能夠有效地協同工作,實現應用的可移植性和互操作性。1.11.1操作系統的目標和作用操作系統的目標和作用讓教學更簡單,讓學習更有效第一章第一章 操作系統引論操作系統引論1.1.2 操作系統的作用 1、OS作為用戶與計算機硬件之間的接口作為用戶與計算機硬件之間的接口OSOS處于用戶和計算機硬件系統之間,用戶通過處于用戶和計算機硬件系統之間,用戶通過OSOS來使用來使用計算機系統計算機系統用戶可以通過命令方式、系統調用方式和圖形、窗口方用戶可以通過命令方式、系統調用方式和圖形、窗口方式使用計算機式使用計算機用戶用戶應用程序應用程序系統調用系統調用 命令命令 圖標、窗口圖標、窗

10、口操作系統操作系統計算機硬件計算機硬件1.11.1操作系統的目標和作用操作系統的目標和作用讓教學更簡單,讓學習更有效(1) 命令方式。這是指由OS提供了一組聯機命令接口,以允許用戶通過鍵盤輸入有關命令來取得操作系統的服務,并控制用戶程序的運行。(2) 系統調用方式。OS提供了一組系統調用,用戶可在自己的應用程序中通過相應的系統調用,來實現與操作系統的通信,并取得它的服務。(3) 圖形、窗口方式。這是當前使用最為方便、最為廣泛的接口,它允許用戶通過屏幕上的窗口和圖標來實現與操作系統的通信,并取得它的服務。 讓教學更簡單,讓學習更有效2.OS作為計算機系統資源的管理者 在一個計算機系統中,通常都含

11、有多種硬件和軟件資源。歸納起來可將這些資源分為四類:處理機、存儲器、I/O設備以及文件(數據和程序)。相應地,OS的主要功能也正是對這四類資源進行有效的管理。 (1)處理機管理處理機管理是用于分配和控制處理機; (2)存儲器管理存儲器管理主要負責內存的分配與回收; (3)I/O設備管理設備管理是負責I/O設備的分配(回收)與操縱; (4)文件管理文件管理是用于實現對文件的存取、共享和保護; 可見,OS的確是計算機系統資源的管理者。1.11.1操作系統的目標和作用操作系統的目標和作用讓教學更簡單,讓學習更有效操作系統的作用2.OS作為計算機系統資源的管理者硬件資源:處理器、存儲器、硬件資源:處理

12、器、存儲器、I/OI/O設備設備信息資源:程序和數據信息資源:程序和數據1.11.1操作系統的目標和作用操作系統的目標和作用讓教學更簡單,讓學習更有效3、OS實現了對計算機資源的抽象實現了對計算機資源的抽象 當計算機上覆蓋了操作系統后,便為用戶提供了一臺功能當計算機上覆蓋了操作系統后,便為用戶提供了一臺功能顯著增強,使用更加方便,效率明顯提高的虛擬計算機顯著增強,使用更加方便,效率明顯提高的虛擬計算機物理接口硬件I/O軟件物理接口硬件 I/O操作命令操作命令(Read,Write)虛機器虛機器用戶需了解用戶需了解物理接口的物理接口的實現細節;實現細節;利用機器指利用機器指令進行編程令進行編程用

13、戶無需了解用戶無需了解物理接口的實物理接口的實現細節;現細節;在窗口環境下在窗口環境下使用計算機使用計算機1.11.1操作系統的目標和作用操作系統的目標和作用讓教學更簡單,讓學習更有效 通常把覆蓋了上述軟件的機器稱為擴充機器或虛機器。 它向用戶(進程)提供了一個對硬件操作的抽象模型,用戶可利用抽象模型提供的接口使用計算機,而無需了解物理接口實現的細節,從而使用戶更容易地使用計算機硬件資源。 由該層軟件實現了對計算機硬件操作的第一個層次的抽象。 讓教學更簡單,讓學習更有效 為了方便用戶使用文件系統,人們又在第一層軟件上再覆蓋上一層用于文件的管理軟件,同樣由它來實現對文件操作的細節,并向上提供一組

14、對文件進行存取操作的命令,用戶可利用這組命令進行文件的存取。此時,用戶所看到的是一臺功能更強、使用更方便的虛機器。該層軟件實現了對硬件資源操作的第二個層次的抽象。而當人們又在文件管理軟件上再覆蓋一層面向用戶的窗口軟件后,用戶便可在窗口環境下方便地使用計算機,形成一臺功能更強的虛機器。 讓教學更簡單,讓學習更有效 由此可知,OS是鋪設在計算機硬件上的多層系統軟件,它們不僅增強了系統的功能,而且還隱藏了對硬件操作的細節,由它們實現了對計算機硬件操作的多個層次的抽象。值得說明的是,對一個硬件在底層進行抽象后,在高層還可再次對該資源進行抽象,成為更高層的抽象模型。隨著抽象層次的提高,抽象接口所提供的功

15、能就越來越強,用戶使用起來也更加方便。 讓教學更簡單,讓學習更有效1.1.3 推動操作系統發展的主要動力 1不斷提高計算機資源利用率(批處理)2. 方便用戶(分時系統)3. 器件的不斷更新換代(8位-16位-32位-64位)4. 計算機體系結構的不斷發展(單CPU到多CPU)5. 不斷提出新的應用需求1.11.1操作系統的目標和作用操作系統的目標和作用讓教學更簡單,讓學習更有效 操作系統的發展隨著計算機硬件、應用軟件的發操作系統的發展隨著計算機硬件、應用軟件的發展而發展。發展的宗旨并未改變,依然是充分利用展而發展。發展的宗旨并未改變,依然是充分利用硬件,提供更好的服務。硬件,提供更好的服務。1

16、)在20世紀50年代中期,出現了第一個簡單的批處理OS;2)60年代中期開發出多道程序批處理系統;3)不久又推出分時系統,與此同時,用于工業和武器控制的實時OS也相繼問世。4)20世紀70到90年代,相繼開發出了微機OS、多處理機OS和網絡OS,并得到極為迅猛的發展。1.2 1.2 操作系統的發展過程操作系統的發展過程讓教學更簡單,讓學習更有效手手工工操操 作作階階段段PC機機OS網絡網絡OS分布式分布式OS多處理多處理OS嵌入式嵌入式OS1.2 1.2 操作系統的發展過程操作系統的發展過程讓教學更簡單,讓學習更有效手工操作階段第一臺計算機第一臺計算機ENIACENIAC的運算速度為每秒的運算

17、速度為每秒50005000次,操作次,操作者必須用線路連接的方法手工編排程序然后連接電路。者必須用線路連接的方法手工編排程序然后連接電路。 讓教學更簡單,讓學習更有效程序通過插板或卡片裝入程序通過插板或卡片裝入無操作系統的計算機系統讓教學更簡單,讓學習更有效1. 人工操作方式:無任何軟件早期的操作方式是由程序員將事先已穿孔的紙帶(或卡片),裝入紙帶輸入機(或卡片輸入機),再啟動它們將紙帶(或卡片)上的程序和數據輸入計算機,然后啟動計算機運行。僅當程序運行完畢并取走計算結果后,才允許下一個用戶上機。這種人工操作方式有以下兩方面的缺點: (1) 用戶獨占全機,即一臺計算機的全部資源由上機用戶所獨占

18、。 (2) CPU等待人工操作。當用戶進行裝帶(卡)、卸帶(卡)等人工操作時,CPU及內存等資源是空閑的。1.2 1.2 操作系統的發展過程操作系統的發展過程讓教學更簡單,讓學習更有效第一章第一章 操作系統引論操作系統引論問題:問題:人人 機矛盾機矛盾 CPUI/O CPUI/O速度不匹配的矛盾速度不匹配的矛盾 機器機器 作業在機器上作業在機器上 人工操人工操 操作時間與機器操作時間與機器 速度速度 計算所需時間計算所需時間 作時間作時間 有效運行時間之比有效運行時間之比 1 1萬次萬次/ /秒秒 1 1小時小時 3 3分鐘分鐘 1 1 :2020 60 60萬次萬次/ /秒秒 1 1分鐘分鐘

19、 3 3分鐘分鐘 3 3 :1 1讓教學更簡單,讓學習更有效2. 脫機輸入/輸出(Off-Line I/O)方式為了解決人機矛盾及CPU和I/O設備之間速度不匹配的矛盾,20世紀50年代末出現了脫機I/O技術。該技術是事先將裝有用戶程序和數據的紙帶裝入紙帶輸入機,在一臺外圍機的控制下,把紙帶(卡片)上的數據(程序)輸入到磁帶上。當CPU需要這些程序和數據時,再從磁帶上高速地調入內存。 這種脫機I/O方式的主要優點如下主要優點如下:(1) 減少了CPU的空閑時間。 (2) 提高了I/O速度。1.2 1.2 操作系統的發展過程操作系統的發展過程讓教學更簡單,讓學習更有效圖1-3 脫機I/O示意圖1

20、.2 1.2 操作系統的發展過程操作系統的發展過程讓教學更簡單,讓學習更有效1. 單道批處理系統(Simple Batch Processing System)的處理過程為實現對作業的連續處理,需要先把一批作業以脫機方式輸入到磁帶上,并在系統中配上監督程序(Monitor),在它的控制下,使這批作業能一個接一個地連續處理。 1.2 1.2 操作系統的發展過程操作系統的發展過程讓教學更簡單,讓學習更有效圖1-4 單道批處理系統的處理流程讓教學更簡單,讓學習更有效 單道批處理系統是最早出現的一種OS。嚴格地說,它只能算作是OS的前身而并非是現在人們所理解的OS。盡管如此,該系統比起人工操作方式的系

21、統已有很大進步。該系統的主要特征如下: (1) 自動性。在順利情況下,在磁帶上的一批作業能 (2) 順序性。磁帶上的各道作業是順序地進入內存,各道作業的完成順序與它們進入內存的順序,在正常情況下應完全相同, (3) 單道性。,即監督程序每次從磁帶上只調入一道程序進入內存運行,當該程序完成或發生異常情況時,才換入其后繼程序進入內存運行。單道批處理系統的特征單道批處理系統的特征讓教學更簡單,讓學習更有效2. 單道批處理系統的缺點單道批處理系統最主要的缺點是最主要的缺點是,系統中的資源得不到充分的利用。這是因為在內存中僅有一道程序,每逢該程序在運行中發出I/O請求后,CPU便處于等待狀態,必須在其I

22、/O完成后才繼續運行。又因I/O設備的低速性,更使CPU的利用率顯著降低。圖1-5示出了單道程序的運行情況,從圖可以看出:在t2t3、t6t7時間間隔內CPU空閑。讓教學更簡單,讓學習更有效用戶程序用戶程序監督程序監督程序I/O操作操作I/OI/O中斷請求中斷請求t t1 1結束中斷結束中斷I/OI/O完成完成啟動啟動I/OI/OI/OI/O中斷請求中斷請求結束中斷結束中斷I/OI/O完成完成啟動啟動I/OI/Ot t2 2t t3 3t t4 4t t5 5t t6 6t t7 7t t8 8從藍色的實線來看從藍色的實線來看CPUCPU是斷續性運作是斷續性運作t2t3、 t6t7時間間隔內C

23、PU空閑圖1-5 單道程序的運行情況讓教學更簡單,讓學習更有效讓教學更簡單,讓學習更有效 讓教學更簡單,讓學習更有效1.2.3 多道批處理系統(Multiprogrammed Batch Processing System)1. 多道程序設計的基本概念為了進一步提高資源的利用率和系統吞吐量,在20世紀60年代中期引入了多道程序設計技術,由此形成了多道批處理系統。【多道程序設計原理】:在計算機內存中同時存放幾道相互獨立的程序,它們在管理程序的控制下相互穿插地運行,共享CPU和外設等資源。采用多道程序設計技術的批處理系統稱為多道批處理系統。圖1-6示出了四道程序時的運行情況1.2 1.2 操作系統

24、的發展過程操作系統的發展過程讓教學更簡單,讓學習更有效程序程序A程序程序C程序程序B程序程序D調度程序調度程序I/O請求請求A I/O完成完成A再次被調度再次被調度 程序程序B I/O請求請求C I/O請求請求D I/O請求請求程序程序B I/O完成完成C I/O完成完成C再次被調度再次被調度A 完成完成從藍色的實線來看從藍色的實線來看CPUCPU是持續性運作是持續性運作A的的I/O 打印機打印機B的的I/O 顯示器顯示器C的的I/O 鍵盤鍵盤D的的I/O 打印機打印機圖1-6 多道程序的運行情況1.2.3 1.2.3 多道批處理多道批處理系統系統程序程序B程序程序A A讓教學更簡單,讓學習更

25、有效2. 多道批處理系統的優缺點多道批處理系統的優缺點如下:(1) 資源利用率高。引入多道批處理能使多道程序交替運行,以保持CPU處于忙碌狀態;在內存中裝入多道程序可提高內存的利用率;此外還可以提高I/O設備的利用率。(2) 系統吞吐量大。能提高系統吞吐量的主要原因可歸結為: CPU和其它資源保持“忙碌”狀態; 僅當作業完成時或運行不下去時才進行切換,系統開銷小。1.2.3 1.2.3 多道批處理多道批處理系統系統讓教學更簡單,讓學習更有效 (3) 平均周轉時間長。由于作業要排隊依次進行處理,因而作業的周轉時間較長,通常需幾個小時,甚至幾天。(4) 無交互能力。用戶一旦把作業提交給系統后,直至

26、作業完成,用戶都不能與自己的作業進行交互,修改和調試程序極不方便。1.2.3 1.2.3 多道批處理多道批處理系統系統讓教學更簡單,讓學習更有效3. 多道批處理系統需要解決的問題多道批處理系統是一種十分有效,但又非常復雜的系統,為使系統中的多道程序間能協調地運行,系統必須解決下述一系列問題:(1) 處理機爭用問題。在多道程序之間如何共享處理在多道程序之間如何共享處理機,使機,使CPUCPU既能滿足各程序運行的需要,又能提高處理機既能滿足各程序運行的需要,又能提高處理機的利用率。的利用率。(2) 內存分配和保護問題。多個作業完成的先后順序多個作業完成的先后順序與它們進入內存的順序之間并無嚴格的對

27、應關系。與它們進入內存的順序之間并無嚴格的對應關系。(3) I/O設備分配問題。有多種類型的有多種類型的I/OI/O設備供多道設備供多道程序共享,如何分配設備?如何既方便用戶使用又能提高程序共享,如何分配設備?如何既方便用戶使用又能提高設備利用率?設備利用率?1.2.3 1.2.3 多道批處理多道批處理系統系統讓教學更簡單,讓學習更有效(4) 文件的組織和管理問題。如何組織這些以文件形如何組織這些以文件形式存在的數據和程序?式存在的數據和程序?(5) 作業管理問題。系統中存在著各種作業系統中存在著各種作業( (應用程應用程序序) ),有的作業是有的作業是I/OI/O型,有些是計算型,有的要求型

28、,有些是計算型,有的要求系統能及時響應。如何組織這些作業?系統能及時響應。如何組織這些作業?(6) 用戶與系統的接口問題。為使用戶能方便的使用為使用戶能方便的使用操作系統,操作系統,OSOS還應提供用戶與還應提供用戶與OSOS之間的接口。之間的接口。1.2.3 1.2.3 多道批處理多道批處理系統系統讓教學更簡單,讓學習更有效 多道程序系統和多處理系統多道程序系統和多處理系統(Multi-Processing (Multi-Processing System)System)的區別:前者指多個程序同時在內存中交替的區別:前者指多個程序同時在內存中交替運行,后者指多個處理器。運行,后者指多個處理器

29、。 單道單道多道多道內存使用內存使用每次一個作業每次一個作業每次多個作業(充分利用內每次多個作業(充分利用內存)存)作業次序作業次序順序,先進先出順序,先進先出無確定次序無確定次序讓教學更簡單,讓學習更有效例:例:在有一臺在有一臺CPUCPU和兩臺輸入和兩臺輸入/ /輸出設備(磁盤機和磁輸出設備(磁盤機和磁帶機)的多道程序系統中,同時投入運行帶機)的多道程序系統中,同時投入運行2 2個程序個程序A A和和B B。這。這2 2個程序對個程序對CPUCPU和磁盤和磁帶的使用順序和使用和磁盤和磁帶的使用順序和使用時間為:時間為:程序程序A A:磁帶(:磁帶(30S30S)、)、CPUCPU(10S1

30、0S)、磁盤()、磁盤(30S30S)、)、 CPUCPU(10S10S)、磁帶()、磁帶(20S20S)程序程序B B:磁盤(:磁盤(20S20S)、)、CPUCPU(30S30S)、磁帶()、磁帶(40S40S)假定:假定:CPUCPU、磁盤和磁帶都能并行工作、磁盤和磁帶都能并行工作試問:試問:在在單道單道和和多道多道兩種方式下,兩種方式下, 1 1、程序、程序A A和和B B從投入運行到運行完成所用的時間從投入運行到運行完成所用的時間 分別是多少?分別是多少? 2 2、CPUCPU、磁盤和磁帶的利用率是多少?、磁盤和磁帶的利用率是多少?讓教學更簡單,讓學習更有效CPUCPU程序程序A程序

31、程序B磁帶磁帶磁盤磁盤20s30s50sB60sA90sA100s120s程序程序A A:磁帶(:磁帶(30S30S)、)、CPUCPU(10S10S)、磁盤()、磁盤(30S30S)、)、 CPUCPU(10S10S)、磁帶()、磁帶(20S20S)程序程序B B:磁盤(:磁盤(20S20S)、)、CPUCPU(30S30S)、磁帶()、磁帶(40S40S)讓教學更簡單,讓學習更有效第一章第一章 操作系統引論操作系統引論讓教學更簡單,讓學習更有效 有三個程序有三個程序A A、B B、C C,它們使用同一個設,它們使用同一個設備進行備進行I/OI/O操作,并按操作,并按A A、B B、C C的

32、優先次序執的優先次序執行。這三個程序的計算和行。這三個程序的計算和I/OI/O操作時間如下表操作時間如下表所示。假設調度時間可忽略不計,請分別畫所示。假設調度時間可忽略不計,請分別畫出出單道程序環境單道程序環境和和多道程序環境多道程序環境下(假設內下(假設內存中可同時裝入這三道程序),它們運行的存中可同時裝入這三道程序),它們運行的時間關系圖,并比較它們的總運行時間。時間關系圖,并比較它們的總運行時間。第一章第一章 操作系統引論操作系統引論讓教學更簡單,讓學習更有效讓教學更簡單,讓學習更有效1. 分時系統的引入如果說推動多道批處理系統形成和發展的主要動力是提高資源利用率和系統吞吐量,那么,推動

33、分時系統形成和發展的主要動力,由此形成了一種新型OS。用戶的需求具體表現在以下幾個方面:(1) 人機交互。(2) 共享主機。 1.2.4 分時系統讓教學更簡單,讓學習更有效2. 分時系統實現中的關鍵問題在多道批處理系統中,用戶無法與自己的作業進行交互的主要原因是:作業都先駐留在外存上,即使以后被調入內存,也要經過較長時間的等待后方能運行,用戶無法與自己的作業進行交互。 1) 及時接收2) 及時處理1.2.4 分時系統讓教學更簡單,讓學習更有效3. 分時系統的特征分時系統與多道批處理系統相比,具有非常明顯的不同特性,可以歸納成以下四個方面:(1) 多路性。(2) 獨立性。(3) 及時性。(4)

34、交互性。 1.2.4 分時系統讓教學更簡單,讓學習更有效 讓教學更簡單,讓學習更有效1. 實時系統的類型隨著計算機應用的普及,實時系統的類型也相應增多,下面列出當前常見的幾種:(1) 工業(武器)控制系統。(2) 信息查詢系統。(3) 多媒體系統。(4) 嵌入式系統。 讓教學更簡單,讓學習更有效2. 實時任務的類型(1) 周期性實時任務和非周期性實時任務。(2) 硬實時任務和軟實時任務。 讓教學更簡單,讓學習更有效3. 實時系統與分時系統特征的比較(1) 多路性。(2) 獨立性。(3) 及時性。(4) 交互性。(5) 可靠性。 讓教學更簡單,讓學習更有效讓教學更簡單,讓學習更有效1單用戶單任務

35、操作系統1) CP/M 2) MS-DOS1.2.6 微機操作系統的發展 讓教學更簡單,讓學習更有效2. 單用戶多任務操作系統單用戶多任務操作系統的含義是,只允許一個用戶上機,但允許用戶把程序分為若干個任務,使它們并發執行,從而有效地改善了系統的性能。其中最具代表性的就是WINDOWS操作系統。 1.2.6 微機操作系統的發展 讓教學更簡單,讓學習更有效3. 多用戶多任務操作系統多用戶多任務操作系統的含義是,允許多個用戶通過各自的終端,使用同一臺機器,共享主機系統中的各種資源,而每個用戶程序又可進一步分為幾個任務,使它們能并發執行,從而可進一步提高資源利用率和系統吞吐量。在大、中和小型機中所配

36、置的大多是多用戶多任務操作系統,而在32位微機上,也有不少配置的是多用戶多任務操作系統,其中。1.2.6 微機操作系統的發展 讓教學更簡單,讓學習更有效 前面所介紹的多道批處理系統、分時系統和實時系統這三種基本操作系統都具有各自不同的特征,如:1)批處理系統有著高的資源利用率和系統吞吐量;2)分時系統能獲得及時響應;3)實時系統具有實時特征。 除此之外,它們還共同具有并發、共享、虛擬和異步四個基本特征。讓教學更簡單,讓學習更有效單處理機單處理機多處理機多處理機 正是系統中的程序能并發執行這一特征,才使得OS能有效地提高系統中的資源利用率,增加系統的吞吐量。讓教學更簡單,讓學習更有效1. 并行與

37、并發并行性和并發性是既相似又有區別的兩個概念。并行性是指兩個或多個事件在同一時刻發生。而并發性是指兩個或多個事件在同一時間間隔內發生。 讓教學更簡單,讓學習更有效2. 引入進程在一個未引入進程的系統中,在屬于同一個應用程序的計算程序和I/O程序之間只能是順序執行,即只有在計算程序執行告一段落后,才允許I/O程序執行;反之,在程序執行I/O操作時,計算程序也不能執行。但在為計算程序和I/O程序分別建立一個進程(Process)后,這兩個進程便可并發執行。若對內存中的多個程序都分別建立一個進程,它們就可以并發執行,這樣便能極大地提高系統資源的利用率,增加系統的吞吐量。讓教學更簡單,讓學習更有效讓教

38、學更簡單,讓學習更有效 一般情況下的共享與操作系統環境下的共享其含義并不完全相同。 1. 互斥共享方式 系統中的某些資源,如打印機、磁帶機等,雖然可以提供給多個進程(線程)使用,但應規定在一段時間內,只允許一個進程訪問該資源。為此,在系統中應建立一種機制,以保證多個進程對這類資源的互斥訪問。讓教學更簡單,讓學習更有效2. 同時訪問方式系統中還有另一類資源,允許在一段時間內由多個進程“同時”對它們進行訪問。這里所謂的“同時”,在單處理機環境下是宏觀意義上的,而在微觀上,這些進程對該資源的訪問是交替進行的。典型的可供多個進程“同時”訪問的資源是磁盤設備。一些用重入碼編寫的文件也可以被“同時”共享,

39、即允許若干個用戶同時訪問該文件。讓教學更簡單,讓學習更有效虛擬讓教學更簡單,讓學習更有效 1. 時分復用技術(1) 虛擬處理機技術。(2) 虛擬設備技術。 讓教學更簡單,讓學習更有效2. 空分復用技術20世紀初,電信業中就已使用頻分復用技術來提高信道的利用率。它是指將一個頻率范圍比較寬的信道劃分成多個頻率范圍較窄的信道(稱為頻帶),其中的任何一個頻帶都僅供一對用戶通話。早期的頻分復用技術只能將一條物理信道劃分為幾條到幾十條話路,后來又很快發展到成千上萬條話路,每條話路供一對用戶通話。再后來在計算機中也把空分復用技術用于對存儲空間的管理,用以提高存儲空間的利用率。 讓教學更簡單,讓學習更有效 在

40、多道程序環境下,系統允許多個進程并發執行。在單處理機環境下,由于系統中只有一臺處理機,因而每次只允許一個進程執行,其余進程只能等待。當正在執行的進程提出某種資源要求時,如打印請求,而此時打印機正在為其它進程打印,由于打印機屬于臨界資源,因此正在執行的進程必須等待,并釋放出處理機,直到打印機空閑,并再次獲得處理機時,該進程方能繼續執行。可見,由于資源等因素的限制,使進程的執行通常都不可能“一氣呵成”,而是以“停停走走”的方式運行。讓教學更簡單,讓學習更有效 引入OS的主要目的是,為多道程序的運行提供良好的運行環境,以保證多道程序能有條不紊地、高效地運行,并能最大程度地提高系統中各種資源的利用率,

41、方便用戶的使用。為此,在傳統的OS中應具有處理機管理、存儲器管理、設備管理和文件管理等基本功能。此外,為了方便用戶使用OS,還需向用戶提供方便的用戶接口。讓教學更簡單,讓學習更有效 1. 進程控制2. 進程同步 3. 進程通信4. 進程調度(1) 作業調度。(2) 進程調度。 讓教學更簡單,讓學習更有效 讓教學更簡單,讓學習更有效讓教學更簡單,讓學習更有效1. 內存分配內存分配的主要任務是:(1) 為每道程序分配內存空間,使它們“各得其所”。(2) 提高存儲器的利用率,盡量減少不可用的內存空間(碎片)。(3) 允許正在運行的程序申請附加的內存空間,以適應程序和數據動態增長的需要。 讓教學更簡單

42、,讓學習更有效OS在實現內存分配時,可采取靜態和兩種方式:(1) 靜態分配方式。每個作業的內存空間是在作業裝入時確定的,在作業裝入后的整個運行期間不允許該作業再申請新的內存空間,也不允許作業在內存中“移動”。(2) 動態分配方式。每個作業所要求的基本內存空間雖然也是在裝入時確定的,但允許作業在運行過程中繼續申請新的附加內存空間,以適應程序和數據的動態增長,也允許作業在內存中“移動”。 讓教學更簡單,讓學習更有效2. 內存保護內存保護的主要任務是: 確保每道用戶程序都僅在自己的內存空間內運行,彼此互不干擾。 絕不允許用戶程序訪問操作系統的程序和數據,也不允許用戶程序轉移到非共享的其它用戶程序中去

43、執行。 讓教學更簡單,讓學習更有效3. 地址映射在多道程序環境下,由于每道程序經編譯和鏈接后所形成的可裝入程序其地址都是從0開始的,但不可能將它們從“0”地址(物理)開始裝入內存,致使(各程序段的)地址空間內的邏輯地址與其在內存空間中的物理地址并不相一致。為保證程序能正確運行,存儲器管理必須提供地址映射功能,即能夠將地址空間中的邏輯地址轉換為內存空間中與之對應的物理地址。該功能應在硬件的支持下完成。 讓教學更簡單,讓學習更有效4. 內存擴充內存擴充并非是從物理上去擴大內存的容量,而是借助于虛擬存儲技術,從邏輯上擴充內存容量,使用戶所感覺到的內存容量比實際內存容量大得多,以便讓更多的用戶程序能并

44、發運行。這樣既滿足了用戶的需要,又改善了系統的性能。為了能在邏輯上擴充內存,系統必須設置內存擴充機制(包含少量的硬件),用于實現下述各功能:(1) 請求調入功能。(2) 置換功能。 讓教學更簡單,讓學習更有效設備管理的主要任務如下:(1) 完成用戶進程提出的I/O請求,為用戶進程分配所需的I/O設備,并完成指定的I/O操作。(2) 提高CPU和I/O設備的利用率,提高I/O速度,方便用戶使用I/O設備。為實現上述任務,有:緩沖管理、設備分配和設備處理以及虛擬設備等功能。1. 緩沖管理2. 設備分配3. 設備處理 讓教學更簡單,讓學習更有效 讓教學更簡單,讓學習更有效1. 文件存儲空間的管理2.

45、 目錄管理3. 文件的讀/寫管理和保護(1) 文件的讀/寫管理。 (2) 文件保護。 讓教學更簡單,讓學習更有效 1. 用戶接口(1) 聯機用戶接口。(2) 脫機用戶接口。(3) 圖形用戶接口。 讓教學更簡單,讓學習更有效2. 程序接口程序接口是為用戶程序在執行中訪問系統資源而設置的,是用戶程序取得操作系統服務的唯一途徑。它是由一組系統調用組成的,每一個系統調用都是一個能完成特定功能的子程序。每當應用程序要求OS提供某種服務(功能)時,便調用具有相應功能的系統調用(子程序)。早期的系統調用都是用匯編語言提供的,只有在用匯編語言書寫的程序中才能直接使用系統調用。 讓教學更簡單,讓學習更有效 現代

46、操作系統是在傳統操作系統基礎上發展起來的,它除了具有傳統操作系統的功能外,還增加了面向安全、面向網絡和面向多媒體等功能。1. 系統安全(1) 認證技術。(2) 密碼技術。(3) 訪問控制技術。(4) 反病毒技術。讓教學更簡單,讓學習更有效2. 網絡的功能和服務(1) 網絡通信。(2) 資源管理。(3) 應用互操作。 讓教學更簡單,讓學習更有效3. 支持多媒體(1) 接納控制功能。(2) 實時調度。(3) 多媒體文件的存儲。 讓教學更簡單,讓學習更有效 早期OS的規模很小,如只有幾十KB,完全可以由一個人以手工方式,用幾個月的時間編制出來。此時,編制程序基本上是一種技巧,OS是否是有結構的并不那

47、么重要,重要的是程序員的程序設計技巧。但隨著OS規模的愈來愈大,其所具有的代碼也愈來愈多,往往需要由數十人或數百人甚至更多的人參與,分工合作,共同來完成操作系統的設計。這意味著,應采用工程化的開發方法對大型軟件進行開發。由此產生了“軟件工程學”。讓教學更簡單,讓學習更有效 1. 無結構操作系統在早期開發操作系統時,設計者只是把他的注意力放在功能的實現和獲得高的效率上,缺乏首尾一致的設計思想。此時的OS是為數眾多的一組過程的集合,每個過程可以任意地相互調用其它過程,致使操作系統內部既復雜又混亂,因此,這種OS是無結構的,也有人把它稱為整體系統結構。讓教學更簡單,讓學習更有效2. 模塊化結構OS1

48、) 模塊化程序設計技術的基本概念模塊化程序設計技術是20世紀60年代出現的一種結構化程序設計技術。該技術基于“分解”和“模塊化”的原則來控制大型軟件的復雜度。為使OS具有較清晰的結構,OS不再是由眾多的過程直接構成的,而是按其功能精心地劃分為若干個具有一定獨立性和大小的模塊。圖1-7示出了由模塊、子模塊等組成的模塊化OS結構。讓教學更簡單,讓學習更有效圖圖1-7 模塊化結構的操作系統模塊化結構的操作系統讓教學更簡單,讓學習更有效2) 模塊獨立性在模塊-接口法中,關鍵問題是模塊的劃分和規定好模塊之間的接口。如果我們在劃分模塊時將模塊劃分得太小,雖然可以降低模塊本身的復雜性,但會引起模塊之間的聯系

49、過多,從而會造成系統比較混亂;如果將模塊劃分得過大,又會增加模塊內部的復雜性,使內部的聯系增加,因此在劃分模塊時,應在兩者間進行權衡。讓教學更簡單,讓學習更有效3) 模塊接口法的優缺點利用模塊-接口法開發的OS,較之無結構OS具有以下明顯的優點:(1) 提高OS設計的正確性、可理解性和可維護性。(2) 增強OS的可適應性。(3) 加速OS的開發過程。讓教學更簡單,讓學習更有效模塊化結構設計仍存在:(1) 在OS設計時,對各模塊間的接口規定很難滿足在模塊設計完成后對接口的實際需求。(2) 在OS設計階段,設計者必須做出一系列的決定(決策),每一個決定必須建立在上一個決定的基礎上,但模塊化結構設計

50、中,各模塊的設計齊頭并進,無法尋找一個可靠的決定順序,造成各種決定的“無序性”,這將使程序人員很難做到“設計中的每一步決定”都是建立在可靠的基礎上,因此模塊-接口法又被稱為“無序模塊法”。 讓教學更簡單,讓學習更有效1) 分層式結構的基本概念為了將模塊-接口法中“決定順序”的無序性變為有序性,引入了有序分層法,分層法的設計任務是,在目標系統An和裸機系統(又稱宿主系統)A0之間,鋪設若干個層次的軟件A1、A2、A3、An-1,使An通過An-1、An-2、A2、A1層,最終能在A0上運行。在操作系統中,常采用自底向上法來鋪設這些中間層。讓教學更簡單,讓學習更有效2) 分層結構的優缺點分層結構的

51、主要優點有:(1) 易保證系統的正確性。(2) 易擴充和易維護性。分層結構的主要缺點是系統效率降低。由于層次結構是分層單向依賴的,必須在每層之間都建立層次間的通信機制,OS每執行一個功能,通常要自上而下地穿越多個層次,這無疑會增加系統的通信開銷,從而導致系統效率的降低。讓教學更簡單,讓學習更有效1. 客戶/服務器模式的由來、組成和類型客戶/服務器系統主要由三部分組成。(1) 客戶機:(2) 服務器:(3) 網絡系統:讓教學更簡單,讓學習更有效2. 客戶/服務器之間的交互(1) 客戶發送請求消息。(2) 服務器接收消息。(3) 服務器回送消息。(4) 客戶機接收消息。 讓教學更簡單,讓學習更有效

52、3. 客戶/服務器模式的優點(1) 數據的分布處理和存儲。(2) 便于集中管理。(3) 靈活性和可擴充性。 (4) 易于改編應用軟件。 讓教學更簡單,讓學習更有效1. 面向對象技術的基本概念面向對象技術是20世紀80年代初提出并很快流行起來的。 1.5.3 面向對象的程序設計讓教學更簡單,讓學習更有效1) 對象在面向對象的技術中,是利用被封裝的數據結構(變量)和一組對它進行操作的過程(方法)來表示系統中的某個對象的,如圖1-8所示。對象中的變量(數據)也稱為屬性,它可以是單個標量或一張表。面向對象中的方法是用于執行某種功能的過程,它可以改變對象的狀態,更新對象中的某些數據值或作用于對象所要訪問

53、的外部資源。如果把一個文件作為一個對象(見圖1-9),該對象的變量便是文件類型、文件大小、文件的創建者等。對象中的方法包含對文件的操作,如創建文件、打開文件、讀文件、寫文件、關閉文件等。1.5.3 面向對象的程序設計讓教學更簡單,讓學習更有效圖圖1-8一個對象的示意圖一個對象的示意圖 1.5.3 面向對象的程序設計讓教學更簡單,讓學習更有效 圖圖1-9 類和對象的關系類和對象的關系 1.5.3 面向對象的程序設計讓教學更簡單,讓學習更有效2) 對象類在實踐中,有許多對象可能表示的是同一類事物,每個對象具有自己的變量集合,而它們所具有的方法是相同的。如果為每一個相似的對象都定義一組變量和方法,顯然是低效的,由此產生了“對象類”的概念,利用“對象類”來定義一組大體相似的對象。一個類同樣定義了一組變量和針對該變量的一組方法,用它們來描述一組對象的共同屬性和行為。類是在對象上的抽象,對象則是類的實例。對象類中所定義的變量在實例中均有具體的值。1.5.

溫馨提示

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

評論

0/150

提交評論