第1章 操作系統(tǒng)課件_第1頁
第1章 操作系統(tǒng)課件_第2頁
第1章 操作系統(tǒng)課件_第3頁
第1章 操作系統(tǒng)課件_第4頁
第1章 操作系統(tǒng)課件_第5頁
已閱讀5頁,還剩153頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

操作系統(tǒng)

OperatingSystem

主講:高軍

黑龍江八一農(nóng)墾大學信息技術學院

1

教師信息

?姓名:高軍

?辦公室:信息館316

?辦公室電話:6819325

?手機/p>

?QQ:382311244

?EmaiI:gaojun_891@163.com

2

課程地位

os是計算機系統(tǒng)的核心和靈魂,是計算機系統(tǒng)必

不可少的組成部分;它也是計算機教學的核心內(nèi)

容之一,是計算機相關專業(yè)的核心課程之一。

OS是硬件的首次擴充,又是最核心的系統(tǒng)軟件,

OS課程具有承上啟下的重要作用,既能對先行課

程:程序設計、計算機組成原理和數(shù)據(jù)結構等進

行總結和提高;同時也為后繼專業(yè)課程的學習打

下良好基礎。

OS課程的學習對學生的軟件設計開發(fā)能力、創(chuàng)新

能力、科學作風與綜合素質的培養(yǎng)有至關重要的

作用。

3

學習方法:

?(1)多結合平時使用的操作系統(tǒng)去思考

?(2)問題?+怎么辦?+如何提高效率?

?(3)學習時,要建立多用戶共享硬件資源的基礎

上考慮問題。

4

第1章操作系統(tǒng)概論

?主要內(nèi)容

-1.1操作系統(tǒng)概觀

-1.2操作系統(tǒng)的形成和發(fā)展

-1.3操作系統(tǒng)提供的服務和用戶接口

-1.4操作系統(tǒng)結構和運行模型

-1.5流行操作系統(tǒng)簡介

5

1.1操作系統(tǒng)概觀

?1.1.1操作系統(tǒng)的定義和目標

?1.1.2操作系統(tǒng)的資源管理技術

?1.1.3操作系統(tǒng)的作用與功能

?1.1.4操作系統(tǒng)的主要特性

6

1.1.1操作系統(tǒng)的定義和目標

?定義:操作系統(tǒng)是管理系統(tǒng)資源、控制程序執(zhí)行

,改善人機界面,提供各種服務,合理組織計算

機工作流程和為用戶有效使用計算機提供良好運

行環(huán)境的最基本的一種系統(tǒng)軟件。

?系統(tǒng)角度:管理系統(tǒng)資源、控制程序執(zhí)行、合理

組織計算機工作流程。

?用戶角度:改善人機界面,提供各種服務、為用

戶有效使用計算機提供良好運行環(huán)境

7

操作系統(tǒng)的主要目標

?方便用戶使用

?擴充機器功能

?管理系統(tǒng)資源

?提高系統(tǒng)效率

?構筑開放環(huán)境

8

計算機系統(tǒng)的層次結構⑴

用戶1用戶2用戶3用戶4用戶n

???

財務系統(tǒng)航空訂票上網(wǎng)瀏覽電子商務…科學計算

(應用軟件)

編譯程序匯編程序數(shù)據(jù)庫二一實用程序

(支撐軟件)

一操作系統(tǒng)------

------------(系統(tǒng)軟件)------------

―I計算機硬件—

9

計算機系統(tǒng)的層次結構(2)

?硬件層

-提供基本的可計算性資源,如處理器、寄存器、存儲器

及各種I/O設備。

?操作系統(tǒng)層

-負責管理和控制計算機硬件并對其做首次擴充和改造。

?系統(tǒng)程序層(支撐軟件層)

-利用系統(tǒng)所提供的擴展指令集,實現(xiàn)編譯、匯編等實用

程序,支持應用軟件的開發(fā)和運行。

?應用層

-解決用戶特定的或不同應用所需要的信息處理問題。

10

操作系統(tǒng)與支撐軟件及應用軟件的區(qū)別

?程序意圖不同,操作系統(tǒng)有權分配資源,而其它

程序只能使用資源;

?操作系統(tǒng)是軟件系統(tǒng)的核心,是各種軟件的基礎

運行平臺;

?通用操作系統(tǒng)提供共性功能支持,與硬件相關但

和應用領域無關;

?支撐軟件及應用軟件不能直接而只能通過操作系

統(tǒng)來使用計算機系統(tǒng)的物理資源。

11

1.1.2操作系統(tǒng)的資源管理技術

資源復用

(解決物理資源數(shù)量不足)

資源虛化

1.資源管理技術VG嬴而理資源數(shù)量不足,

提高服務的能力和水平)

資源抽象

(處理系統(tǒng)的復雜性,

解決資源的易用性)

12

1)資源復用

⑴空分復用共享一該資源可進一步分割成更多和

更小的單位供進程使用。如內(nèi)存、磁盤。

⑵時分復用共享一并不把資源進一步分割成更小的

單位,進程可在一個時間片內(nèi)獨占使用整個物理

資源。如處理器。

13

2)資源虛化

?是對資源進行轉化、模擬或整合,把物理上的一

個資源變成邏輯上的多個對應物的一類技術。

?虛化的例子一虛擬設備、虛擬存儲器、虛擬屏幕(

終端)、虛擬信道、虛擬文件。

14

3)資源抽象

?資源抽象用于處理系統(tǒng)的復雜性,重點解決資源

的易用性。

?資源抽象指通過創(chuàng)建軟件來屏蔽硬件資源物理特

性和接口細節(jié),簡化對硬件資源的操作、控制和

使用的一類技術。

?單級資源抽象與多級資源抽象。

15

4)組合使用抽象和虛化技術

?對于一類資源,操作系統(tǒng)往往同時實施抽象和虛

化技術。

?例1,為打印機既配置“打印函數(shù)”(設備驅動程

序),又實施虛擬設備,通過打印函數(shù)抽象隱蔽

打印機動作細節(jié),實施SPOOLing虛化“擴充”物

理打印機數(shù)量。

?例2,窗口軟件是對物理終端的虛化和抽象,能

為用戶提供虛擬終端和方便的I/0服務。

16

2.操作系統(tǒng)中的基礎抽象

?進程抽象

-是對已進入主存正在運行的程序在處理器上操作的狀態(tài)

集的抽象。

?虛存抽象

-是對物理主存的抽象,進程可獲得一個碩大的連續(xù)地址

空間來存放可執(zhí)行程序和數(shù)據(jù),可使用虛擬地址來引用

物理主存單元。

?文件抽象

-是對磁盤之類存儲設備的抽象。

17

文件抽象是操作系統(tǒng)對磁盤設備的多層次抽象

?第一層抽象,從磁盤到分區(qū)。

?第二層抽象,從分區(qū)到扇區(qū)。

?第三層抽象,從扇區(qū)到簇。

?第四層抽象,從簇到文件系統(tǒng)分區(qū)。

18

操作系統(tǒng)最基礎抽象小結

進程抽象

19

3.虛擬計算機

?什么是虛擬計算機?

-虛擬計算機是一臺抽象計算機,它在硬件的基礎上由

軟件來實現(xiàn),并且與物理計算機一樣,具有指令集及

可用的存儲空間。

?什么是操作系統(tǒng)虛擬機?

-如果某臺機器上配有操作系統(tǒng),對于用戶來說,就是

一臺以操作系統(tǒng)語言(系統(tǒng)調用)為機器語言的操作

系統(tǒng)虛擬機。

?操作系統(tǒng)虛擬機的組成:

-D虛處理器

-2)虛擬主存

-3)虛擬輔存

-4)虛擬設備

20

虛擬計算機

進程Pn)

虛虛

理操作系統(tǒng)

率資源管理

虛擬機1(復用、虛

化、主抽象)

時分復用共享

空分復用共享

物理計算機21

LL3操作系統(tǒng)的作用與功能

?操作系統(tǒng)的作用:對內(nèi)是“管理員”,對外是“

服務員”:

?os作為用戶接口和服務提供者

?os作為作為擴展機或虛擬機

?os作為資源管理者和控制者

22

OS作為用戶接口和服務提供者

?操作系統(tǒng)提供友善的人機接口,使得用戶能夠方

便、可靠、安全、高效地使用硬件和運行應用程

序;

?操作系統(tǒng)對計算機硬件進行改造和擴充,為用戶

提供強有力的各種服務;

23

OS作為擴展機或虛擬機

?在計算機裸機上加上操作系統(tǒng)來組成整個計算機

系統(tǒng);

?操作系統(tǒng)把硬件的復雜性與用戶隔離開來;

?操作系統(tǒng)與硬件組成一臺功能顯著增強,使用更

加方便,安全可靠性更好的擴展機器或虛擬機。

24

操作系統(tǒng)作為計算機系統(tǒng)的資源管理者(1)

?操作系統(tǒng)中,能分配給用戶使用的硬件和軟件設施

總稱為資源,包括兩類:硬件資源和信息資源。

?硬件資源又分:處理器、存儲器、I/O設備等;

?信息資源又分:程序和數(shù)據(jù)等。

?也可把操作系統(tǒng)定義為:是能使諸用戶有效、方便

地共享一套計算機系統(tǒng)資源的一種系統(tǒng)軟件。

25

操作系統(tǒng)作為計算機系統(tǒng)的資源管理者(2)

?操作系統(tǒng)的重要任務之一

?對資源進行抽象研究,找出各種資源共性和個性,有序

地管理計算機中的硬件、軟件資源,跟蹤資源使用情況

,監(jiān)視資源的狀態(tài),滿足用戶對資源的需求,協(xié)調各程

序對資源的使用沖突;

?研究使用資源的統(tǒng)一方法,讓用戶簡單、有效的使用資

源,最大限度地實現(xiàn)各類資源的共享,提高資源利用率

,從而,使得計算機系統(tǒng)的效率有很大提高。

26

操作系統(tǒng)的功能

?處理機管理

?存儲管理

?設備管理

?文件管理

?網(wǎng)絡與通信管理

?用戶接口

27

處理機管理

⑴進程控制和管理;

⑵進程同步和互斥;

⑶進程通信;

(4)進程死鎖;

⑸線程控制和管理;

⑹處理器調度,又分高級調度,中級調度和低

級調度。

28

存儲管理

⑴主存分配;

⑵地址轉換與存儲保護;

⑶主存共享;

(4)存儲擴充。

29

設備管理

⑴提供設備中斷處理;

⑵提供緩沖區(qū)管理;

⑶提供設備獨立性,實現(xiàn)邏輯設備到物理設備

之間的映射;

⑷設備的分配和回收;

⑸實現(xiàn)共享型設備的驅動調度;

(6)實現(xiàn)虛擬設備。

30

文件管理

⑴提供文件的邏輯組織方法;

⑵提供文件的物理組織方法;

⑶提供文件的存取和使用方法;

⑷實現(xiàn)文件的目錄管理;

⑸實現(xiàn)文件的共享和安全性控制;

(6)實現(xiàn)文件的存儲空間管理。

31

網(wǎng)絡與通信管理

(1)網(wǎng)絡資源管理;

⑵數(shù)據(jù)通信管理;

⑶網(wǎng)絡管理。

用戶接口

⑴程序接口;

⑵操作接口。

32

1.1.4操作系統(tǒng)的主要特性

第一個特性一并發(fā)性

第二個特性一共享性

這是操作系統(tǒng)最重要的兩個特征

第三個特性一異步性

第四個特性一不確定性

33

操作系統(tǒng)中的并發(fā)性⑴

?并發(fā)性--指兩個或兩個以上的事件或活動在同

一時間間隔內(nèi)發(fā)生。

?發(fā)揮并發(fā)性能夠消除系統(tǒng)中部件和部件之間的

相互等待,有效地改善系統(tǒng)資源的利用率,改

進系統(tǒng)的吞吐率,提高系統(tǒng)效率。

34

操作系統(tǒng)中的并發(fā)性(2)

并發(fā)性使系統(tǒng)變得復雜化:

?如何從一個活動切換到另一個活動?

?怎樣將各個活動隔離開來,使之互不干擾,免遭

對方破壞?怎樣讓多個活動協(xié)作完成任務?

?怎樣協(xié)調多個活動對資源的競爭?

?如何保證每個活動的資源不被其它進程侵犯?

?多個活動共享文件數(shù)據(jù)時,如何保證數(shù)據(jù)的一致

性?

35

操作系統(tǒng)中的并發(fā)性⑶

?采用并發(fā)技術的系統(tǒng)稱多任務系統(tǒng)。

?并發(fā)的實質是一個物理CPU(也可以多個物理

CPU)在若干道程序之間多路復用,并發(fā)性是

對有限物理資源強制行使多用戶共享以提高效

率。

?結論:實現(xiàn)并發(fā)技術的關鍵之一是如何對系統(tǒng)

內(nèi)的多個活動(進程)進行切換的技術。

36

操作系統(tǒng)中的并發(fā)性(4)

?并行性---兩個或兩個以上的事件或活動在同一

時刻發(fā)生

?并行的事件或活動一定是并發(fā)的,但反之并發(fā)的

事件或活動未必是并行的。

?并行性是并發(fā)性的特例,而并發(fā)性是并行性的擴

展。

37

操作系統(tǒng)中的共享性

?共享指操作系統(tǒng)中的資源可被多個并發(fā)執(zhí)

行的進程所使用:

?透明資源共享:資源隔離與授權訪問

?顯式資源共享:臨界資源與獨占訪問

?與共享性有關的問題:資源分配、信息保護、

存取控制等,必須要妥善解決好。

38

操作系統(tǒng)中的異步性(1)

操作系統(tǒng)中的異步性處處可見:

⑴進程何時執(zhí)行?何時暫停?怎樣的速度向前推

進?都是異步(隨機)的。

⑵作業(yè)到達系統(tǒng)的類型和時間是隨機的;

⑶操作員發(fā)出命令或按按鈕的時刻是隨機的;

⑷程序運行發(fā)生錯誤或異常的時刻是隨機的;

⑸各種各樣硬件和軟件中斷事件發(fā)生的時刻是隨

機的。

39

操作系統(tǒng)中的異步性⑵

?異步性給系統(tǒng)帶來潛在危險,有可能導致與時間

有關的錯誤。

?操作系統(tǒng)的一個重要任務是必須確保捕捉任何一

種隨機事件,正確處理可能發(fā)生的隨機事件,正

確處理任何一種產(chǎn)生的事件序列,否則將會導致

嚴重后果。

40

1.2操作系統(tǒng)的發(fā)展和形成

1.2.1人工操作階段

1.2.2管理程序階段

1.2.3多道程序設計與操作系統(tǒng)的形成

1.2.4操作系統(tǒng)的分類

41

1.2.1人工操作階段

?人工把源程序用穿孔機穿制在卡片或紙帶上

?將準備好的匯編解釋程序或編譯系統(tǒng)裝入計算機

?匯編程序或編譯系統(tǒng)讀入人工裝在輸入機上的穿

孔卡或穿孔帶

?執(zhí)行M編過程或編譯過程,產(chǎn)生目標程序,并輸

出目標卡片迭或紙帶

?通過引導程序把裝在輸入機上的目標程序讀入計

算機

?啟動目標程序執(zhí)行,從輸入機上讀入人工裝好的

數(shù)據(jù)卡或數(shù)據(jù)帶

?產(chǎn)生計算結果,執(zhí)行結果從打印機上或卡片機上

輸出

42

人工操作階段的缺點

?用戶上機獨占全機資源,造成資源利用率不

高,系統(tǒng)效率低下

?手工操作多,浪費處理機時間,也極易發(fā)生

差錯

?數(shù)據(jù)的輸入,程序的執(zhí)行、結果的輸出均聯(lián)

機進行,從上機到下機的時間拉得非常長

43

1.2.2管理程序階段⑴

工作流程如下:

操作員集中一批用戶提交的作業(yè),由管理程序將

作業(yè)從紙帶或卡片機輸入到磁帶上,每當一批作

業(yè)輸入完成后,管理程序自動把磁帶上的第一個

作業(yè)裝入主存,并把控制權交給作業(yè)。當該作業(yè)

執(zhí)行完成后,作業(yè)又把控制權繳回管理程序,管

理程序再調入磁帶上的第二個作業(yè)到主存執(zhí)行

44

管理程序階段⑵

中斷處理

設備驅動

作業(yè)定序

命令和JCL語言解釋器

區(qū)

管理程序的主存組織

45

管理程序階段(3)

管理程序的主要功能:

?自動控制和處理作業(yè)流

?提供一套操作命令

?提供設備驅動和I/O控制功能

?提供庫函數(shù)和程序裝配功能

?提供簡單的文件管理功能

46

1.2.3多道程序設計與操作系統(tǒng)形成

1.多道程序設計(Multiprogramming)的概念

?前提:中斷與通道的出現(xiàn),使得計算機體系結構由原來

的以CPU為中心轉變成以主存為中心,同時I/O設備具備

了中斷主機工作的能力,使得系統(tǒng)具有CPU和設備并行工

作的能力。

?多道程序設計是指允許多個程序同時進入一個計算機系

統(tǒng)的主存儲器并啟動進行計算的方法

-從宏觀上看是并行的

-從微觀上看是串行的

?引入多道程序設計技術的目的:可以提高CPU的利用率,

充分發(fā)揮計算機硬件的并行性。

?多道程序設計技術是操作系統(tǒng)發(fā)展的里程碑。

47

多道程序設計舉例

?例:為求解某個數(shù)據(jù)問題,要求從輸入機(運轉

速度為6400個字符/s)輸入500個字符,經(jīng)處理(

費時52ms)后,將結果(假定為2000個字符)存

儲到磁帶上(磁帶機的運轉速度為105字符/s),

然后再讀取500個字符進行處理,直到所有數(shù)據(jù)

處理完畢為止。

48

多道程序設計舉例一一單道處理

78130150228280300378430450

時間.,,,

輸入機i];■:|!

處理器;1|[;i

磁帶機::::::

單道算題運行時處理器的使用效率

52/(78十52十20)735%

49

多道程序設計舉例一一多道處理

?假設在計算機接收上述任務后還接收另一道計算

題:從另一臺磁帶機上2000個字符,經(jīng)42ms的處

理后,從行式打印機(運轉速度為1350行/min)

上輸出兩行。此時CPU的利用率為多少呢?

50

多道程序設計舉例一一多道處理

78130150228280300378430450

時間_

輸入機

:P1::P2P1::P2

處理器

磁帶機1

磁帶機2-

打印機

兩道算題運行時處理器的使用效率

(52+42)"52=63%

多道程序設計的效果

?采用多道程序設計提高了系統(tǒng)效率,即增長了

單位時間的算題量,但對每道程序來說,卻延

長了計算時間。

?多道程序設計技術提高資源利用率和系統(tǒng)吞吐

率是以犧牲用戶的響應時間為代價的。

52

多道程序設計的優(yōu)點與缺點

?提高了CPU的利用率

?提高了主存和I/O設備的利用率

?改進了系統(tǒng)的吞吐率

?充分發(fā)揮了系統(tǒng)的并行性

?其主要缺點是:作業(yè)周轉時間延長

53

3.多道程序設計系統(tǒng)與多重處理系統(tǒng)

多重處理系統(tǒng)是指配置了多個物理CPU,能真正同

時執(zhí)行多道程序的系統(tǒng)。要有效地使用多重處理系

統(tǒng),必須采用多道程序設計技術;反過來,多道程

序設計不一定要求有多重處理系統(tǒng)支持。

實現(xiàn)多道程序設計必須解決三個問題:

?存儲保護與程序浮動;

?處理器的管理和調度;

?系統(tǒng)資源的管理和調度。

54

L2.4操作系統(tǒng)的發(fā)展與分類

三種基本的操作系統(tǒng)類型:

⑴批處理操作系統(tǒng)

⑵分時操作系統(tǒng)

⑶實時操作系統(tǒng)

55

批處理操作系統(tǒng)(BatchOS)

?何謂“批”?作業(yè)流與批處理

-作業(yè)是把程序、數(shù)據(jù)連同作業(yè)說明書組織起來的任務

單位;

-批處理是把批中的作業(yè)預先輸入作業(yè)隊列,由操作系

統(tǒng)按照作業(yè)說明書的要求來調度和控制作業(yè)的執(zhí)行。

?批處理操作系統(tǒng)

-采用批處理方式工作的操作系統(tǒng)

?批處理系統(tǒng)的主要特征:

-用戶脫機工作

-成批處理作業(yè)

56

分時操作系統(tǒng)(TimeSharingOS)

?為什么要有分時操作系統(tǒng)?批處理系統(tǒng)的缺點

-無交互性:批處理用戶不能干預自己程序的運行,

無法得知程序的運行情況,不利于程序調試和排錯

-作業(yè)周轉時間長

?分時技術

所謂分時技術,就是把處理機的運行時間分成很短的

時間片,按時間片輪流把處理機分配給各作業(yè)使用,

若某個作業(yè)在給定的時間片內(nèi)不能完成其計算,則該

作業(yè)暫時中斷,把處理機讓給另一作業(yè)使用,等待下

一輪時再繼續(xù)運行。

57

分時操作系統(tǒng)的特征

?分時操作系統(tǒng)

-允許多個聯(lián)機用戶同時使用一個計算機系統(tǒng)進行交

互式計算的操作系統(tǒng)。

?分時系統(tǒng)的特征

-同時性(多路性):若干個用戶可同時使用計算機

-獨立性:用戶彼此獨立,互不干擾

-及時性:因時間片短,因此用戶的請求能在較短的

時間內(nèi)得到響應

-交互性:用戶能進行人一機對話,以交互方式工作

58

分時與批處理操作系統(tǒng)的區(qū)別

?目標不同

?適應作業(yè)的性質不同

?資源使用率不同

?作業(yè)控制方式不同

59

?實時操作系統(tǒng)(RealTimeOS)

含義

所謂“實時”,是指能及時響應隨機發(fā)生的外

部事件、并對事件做出快速處理的能力。而“外

部事件”,是指與計算機相連接的設備向計算機

發(fā)出的各種服務請求。

“實時操作系統(tǒng)”是能對來自外部的請求和

信號在限定的時間范圍內(nèi)做出及時響應的一種操

作系統(tǒng)。

用于控制飛機飛行、導彈發(fā)射以及冶煉軋鋼等

生產(chǎn)過程,被稱為“實時控制系統(tǒng)”;用于飛機

訂票、銀行業(yè)務部門,被稱為“實時信息處理系

統(tǒng)”。60

?實時操作系統(tǒng)(RealTimeOS)

特點

高及時性:對外部事件信號的接收、分析

處理、以及給出反饋信號進行控制,都必須在

嚴格的時間限度內(nèi)完成。否則可能會引起爆炸、

火災等事故,給人身安全和國家財產(chǎn)造成無法

挽回的損失。

高可靠性:無論是實時控制系統(tǒng)還是實時

信息處理系統(tǒng),都必須有高可靠性。

61

實時操作系統(tǒng)

三種典型的實時系統(tǒng):

?過程控制系統(tǒng)(生產(chǎn)過程控制)

?信息查詢系統(tǒng)(情報檢索)

?事務處理系統(tǒng)(銀行業(yè)務)

62

網(wǎng)絡操作系統(tǒng)(NetworkOS)

所謂“計算機網(wǎng)絡”,是指把地理上分散

的、具有獨立功能的多個計算機和終端設備

,經(jīng)通信線路加以連接,達到數(shù)據(jù)通信和資

源共享目的的計算機系統(tǒng)。

在網(wǎng)絡范圍內(nèi),用于管理網(wǎng)絡通信和共享

資源,協(xié)調各計算機上任務的運行,并向用

戶提供統(tǒng)一的、有效方便的網(wǎng)絡接口的程序

集合,稱為“網(wǎng)絡操作系統(tǒng)”。

63

網(wǎng)絡操作系統(tǒng)NetworkOSystem

網(wǎng)絡示意圖:

64

網(wǎng)絡操作系統(tǒng)(NetworkOS)

?網(wǎng)絡操作系統(tǒng)應該具有的功能:

(1)網(wǎng)絡通信

(2)資源管理

(3)網(wǎng)絡管理

(4)網(wǎng)絡服務

65

分布式操作系統(tǒng)(DistributeOS)_____

?分布式計算機系統(tǒng)由多臺分散的地位對等的計算

機經(jīng)互連網(wǎng)絡連接而成,具備四項基本功能:

(1)進程通信

(2)資源共享

(3)并行計算

(4)網(wǎng)絡管理

?分布式操作系統(tǒng)與單機集中式操作系統(tǒng)的主要區(qū)

別在于:

(1)資源管理

(2)進程通信:

(3)系統(tǒng)結構:

66

嵌入式操作系統(tǒng)(embeddedOS)

?3C(computer,communication,consumer

electronics)

。計算機是貫穿社會信息化的核心技術,網(wǎng)絡和

通信是社會信息化賴以存在的基礎設施,電子

消費產(chǎn)品是人與社會信息化的主要接口。

?嵌入式(計算機)系統(tǒng)的應用環(huán)境帶來了對嵌入式

系統(tǒng)軟件(embeddedsoftware)的要求。

67

嵌入式操作系統(tǒng)⑵

?嵌入式OS指運行在嵌入式(計算機)環(huán)境中,對整

個系統(tǒng)及所有操作的各種部件、裝置等資源進行

統(tǒng)一協(xié)調、處理、指揮和控制的系統(tǒng)軟件

?嵌入式OS具有通常操作系統(tǒng)的功能,包括:與硬

件相關的底層軟件、操作系統(tǒng)核心功能,功能強

大的還提供圖形界面、通信協(xié)議、小型瀏覽器等

設施

68

嵌入式操作系統(tǒng)特征

?微型化

?可定制

?實時性

?可靠性

?易移植性

69

嵌入式操作系統(tǒng)實例(1)

?常見的嵌入式系統(tǒng):

?Linux、uCIinux>WinCE、PalmOS、Symbian>

eCos>uCOS-1I>VxWorks>pSOS、NucIeus>

ThreadX、Rtems、QNX、INTEGRITY、OSE、C

Executive>PersonaIJava

70

嵌入式操作系統(tǒng)實例(1)

?VxWorks是美國WindRiver公司開發(fā)的嵌入式實

時操作系統(tǒng),可靠性高、性能卓越、界面友好,

廣泛地應用在通信、軍事、航空、航天等高精尖

技術及實時性要求極高的領域中,在美國的F-16

、FAT8戰(zhàn)斗機、B-2隱形轟炸機、愛國者導彈,

和火星探測器(97年4月在火星表面登陸)上使用

71

嵌入式操作系統(tǒng)實例(2)

?WindowsCE是微軟開發(fā)的,用于通信、娛樂和移

動式計算設備的操作系統(tǒng)(平臺),它是微軟“維

納斯”計劃的核心。CE是具有開放性的,32位多

任務、多線程嵌入式操作系統(tǒng)。

?PersonaIJava是SUN公司開發(fā)的用于家庭、辦公

室和移動信息電器創(chuàng)建連網(wǎng)應用的Java應用環(huán)境

,適宜更新?lián)Q代快的信息電器的應用開發(fā)。

72

1.3操作系統(tǒng)提供的服務和用戶接口

1.3.1操作系統(tǒng)提供的用戶接口

1.3.2程序接口與系統(tǒng)調用

1.3.3作業(yè)接口與操作命令

73

1.3.1操作系統(tǒng)提供的用戶接口

?程序接口與系統(tǒng)調用

?作業(yè)接口與操作命令

74

1.3.2程序接口與系統(tǒng)調用

75

操作系統(tǒng)提供的程序接口⑴

?什么是系統(tǒng)調用?

-系統(tǒng)調用把應用程序的請求傳送至內(nèi)核,調用相應的內(nèi)

核函數(shù)完成所需的處理,將處理結果返回給應用程序。

?系統(tǒng)調用的作用?

-內(nèi)核可以基于權限和規(guī)則對資源訪問進行裁決,保證系

統(tǒng)的安全性;

-對資源進行抽象,提供一致性接口,避免用戶在使用資

源時發(fā)生錯誤,使編程效率提高。

?內(nèi)核的主體是系統(tǒng)調用的集合,內(nèi)核可以看成是

特殊的公共子程序。

?系統(tǒng)調用是應用程序獲得操作系統(tǒng)服務的唯一途

徑。

76

操作系統(tǒng)提供的程序接口(2)

?POSIX標準

?專門規(guī)定了內(nèi)核的系統(tǒng)調用接口標準,操作系

統(tǒng)若遵循此標準,應用程序就具有可移植性。

?API和庫函數(shù)

?API是UNIX/Linux在標準C函數(shù)庫中,將系統(tǒng)

調用封裝,使得應用程序能夠直接使用的一種

機制。

?庫函數(shù)和系統(tǒng)調用

?一個API可能用到一個或多個系統(tǒng)調用

?若干API可能封裝相同的系統(tǒng)調用

?也可能與系統(tǒng)調用無關(如strcpyO)

77

操作系統(tǒng)提供的程序接口⑶

應用程序、庫函數(shù)、系統(tǒng)調用的調用關系鏈78

系統(tǒng)調用與函數(shù)調用的區(qū)別

?調用形式和實現(xiàn)方式不同。

?:?函數(shù)調用轉向的地址固定,而系統(tǒng)調用按功能號進行;

?:?函數(shù)調用在用戶態(tài)(執(zhí)行用戶程序時的狀態(tài))執(zhí)行,只

能訪問用戶棧,系統(tǒng)調用在核心態(tài)(執(zhí)行內(nèi)核程序時的

狀態(tài))執(zhí)行,訪問核心棧。

?被調用代碼的位置不同。

?:?函數(shù)調用是靜態(tài)的,調用程序和被調用代碼處于同一程

序內(nèi);

?:?系統(tǒng)調用是動態(tài)的,系統(tǒng)調用的代碼位于操作系統(tǒng)中。

?提供方式不同。

?:?函數(shù)由編程語言提供;

?:?系統(tǒng)調用由操作系統(tǒng)提供。

79

1.3.3作業(yè)接口與操作命令

?操作接口又稱作業(yè)級接口,是操作系統(tǒng)為

用戶操作控制計算機工作和提供服務的手

段集合,通常可借助操作控制命令、圖形

操作界面(命令)、以及作業(yè)控制語言(命令

)等來實現(xiàn)

80

L4操作系統(tǒng)結構和運行模型_________

1.4.1操作系統(tǒng)的構件和結構

1.4.2操作系統(tǒng)的運行模型

1.4.3Windows2003客戶/服務器結構

81

L4.1操作系統(tǒng)構件和結構

?操作系統(tǒng)設計呈現(xiàn)出以下特征:

-復雜程度高,

-生成周期長,

-正確性難保證。

?操作系統(tǒng)結構設計有三層含義:

-研究操作系統(tǒng)整體結構,如功能如何分塊,相互如何

交互,及考慮構造它的過程和方法;

-研究操作系統(tǒng)程序局部結構,包括數(shù)據(jù)結構和控制結

構;

-操作系統(tǒng)運行時的組織,如系統(tǒng)是否組織成進程或線

程?在系統(tǒng)空間還是在用戶空間運行?

82

操作系統(tǒng)的構件

?內(nèi)核

?進程

?線程

?類程

?管程

83

1.操作系統(tǒng)的內(nèi)核Kernel(1)

1)什么是內(nèi)核?

內(nèi)核是一組程序模塊,作為可信軟件來提供支持

進程并發(fā)執(zhí)行的基本功能和基本操作,通常駐留

在內(nèi)核空間,運行于核心態(tài),具有訪問硬件設備

和所有主存空間的權限,是僅有的能夠執(zhí)行特權

指令的程序。

2)內(nèi)核分類:微內(nèi)核和單內(nèi)核(整體、分層)。

3)Linux是單內(nèi)核操作系統(tǒng),Mach是微內(nèi)核操作系

統(tǒng),Windows是客戶/服務器結構。

84

1.操作系統(tǒng)的內(nèi)核Kernel(1)

?單內(nèi)核也叫集中式操作系統(tǒng)。整個系統(tǒng)是一個大

模塊,可以被分為若干邏輯模塊,即處理器管理

、存儲器管理、設備管理和文件管理,其模塊間

的交互是通過直接調用其他模塊中的函數(shù)實現(xiàn)的

O

?微內(nèi)核是指把操作系統(tǒng)結構中的內(nèi)存管理、設備

管理、文件系統(tǒng)等高級服務功能盡可能地從內(nèi)核

中分離出來,變成幾個獨立的非內(nèi)核模塊,而在

內(nèi)核只保留少量最基本的功能,使內(nèi)核變得簡潔

可靠,因此叫微內(nèi)核。通過消息機制訪問。

85

操作系統(tǒng)的內(nèi)核⑵

Linux單內(nèi)核結構

應用程序

用戶

系統(tǒng)庫(函數(shù)庫)

系統(tǒng)調用接口

模塊內(nèi)核(進程管理、存

儲管理、文件管理、

設備管理、網(wǎng)絡管

設備

驅動理)

計算機硬件

86

操作系統(tǒng)的內(nèi)核⑶

微內(nèi)核結構

操作系統(tǒng)

口口-*fn

客戶客戶文件服進程服主存服態(tài)

講程1講程2堂強務器務器

三國核(消息傳遞)

計算機硬件心

態(tài)

客戶通過微內(nèi)

核發(fā)送消息給

文件服務器

87

內(nèi)核的基本功能

?資源抽象

?資源分配

?資源共享

88

內(nèi)核的基本屬性

?核是由中斷驅動的

?內(nèi)核是不可搶占的

?內(nèi)核部分程序在屏蔽中斷狀態(tài)下執(zhí)行

?內(nèi)核可以使用特權指令

89

2.進程

?進程使得操作系統(tǒng)的結構變得清晰:

-一個進程到另一個進程的控制轉移由進程調度機制來

統(tǒng)一管理;

-進程之間的交互由通信及同步機制完成,提高了系統(tǒng)

的安全性和可靠性。

3.線程

?線程可看做一種構件,是組成進程構件的更小的

構件單位。

-進程是資源分配的基本單位;

-線程是系統(tǒng)調度的基本單位。

90

4.管程

?管程是管理共享資源的一種同步機制,對管程的

調用表示對共享資源的請求與釋放。

?管程可以被多個進程或管程嵌套調用,但是它們

只能互斥的訪問管程。

?管程應包含條件變量,對進程進行掛起和釋放。

5.類程

?類程用于管理私有資源,只能被進程及起源于同

一進程的其它類程或管程嵌套調用鏈所調用。

91

L4.2操作系統(tǒng)的運行模型

?操作系統(tǒng)本身是一組程序,也在處理器上運行,

那么,操作系統(tǒng)程序是否組織成進程?它是如何控

制的、怎樣執(zhí)行的呢?它在什么模式下運行呢?

?從操作系統(tǒng)的運行方式來看,可分成:

1)非進程內(nèi)核模型

2)OS功能(函數(shù))在用戶進程內(nèi)執(zhí)行的模型

3)OS功能(函數(shù))作為進程執(zhí)行的模型

92

操作系統(tǒng)的運行模型⑴

1)非進程內(nèi)核模型

應用應用應用

進程進程進程用戶態(tài)

內(nèi)核核心態(tài)

操作系統(tǒng)運行模型(2)

2)OS功能在用戶進程內(nèi)執(zhí)行的模型

94

操作系統(tǒng)的運行模型(3)

3)OS功能作為獨立進程執(zhí)行的模型

IOSIOS

數(shù)

數(shù)

數(shù)

態(tài)

微內(nèi)核(進程切換函數(shù))心

態(tài)

溫馨提示

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

評論

0/150

提交評論