1.1操作系統(tǒng)概述
操作系統(tǒng)定義
■ 沒有公認(rèn)的精確定義
■ 操作系統(tǒng)是一個控制程序
一個系統(tǒng)軟件
控制程序執(zhí)行過程,防止錯誤和計算機的不當(dāng)使用
執(zhí)行用戶程序,給用戶程序提供各種服務(wù)
方便用戶使用計算機系統(tǒng)
■ 操作系統(tǒng)是一個資源管理器
應(yīng)用程序與硬件之間的中間層
管理各種計算機軟硬件資源
提供訪問計算機軟硬件資源的高效手段
解決資源訪問沖突,確保資源公平使用
操作系統(tǒng)的地位

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

操作系統(tǒng)軟件的組成
■Shell--命令行接口
通過鍵盤操縱。
方便用戶進(jìn)行命令輸入
■GUI--圖形用戶接口
WIMP(視窗(Window)、圖標(biāo)(Icon)、選單(Menu)、指標(biāo)(Pointer))
直接操作和所見即所得
■Kernel--操作系統(tǒng)的內(nèi)部
執(zhí)行各種資源管理等功能

操作系統(tǒng)內(nèi)核特征
并發(fā):計算機系統(tǒng)中同時存在多個運行的程序,需要OS管理和調(diào)度
共享:(1)“同時”訪問(2)互斥共享
共享是指說我們多個應(yīng)用并發(fā)運行的時候宏觀上要體現(xiàn)出它們同時在訪問資源的情況微觀上要實現(xiàn)它們的互斥訪問
虛擬:利用多道程序設(shè)計技術(shù),讓每個用戶都覺得有一個計算機專門為他服務(wù)
異步:(1)程序的執(zhí)行不是一貫到底,而是走走停停,向前推進(jìn)的速度不可預(yù)知
(2)只要運行環(huán)境相同,OS需要保證程序運行的結(jié)果也要相同
1.2操作系統(tǒng)的演變
■ 主要功能:硬件抽象和協(xié)調(diào)管理
■ 原則:設(shè)計隨著各種相關(guān)技術(shù)的改變而做出一定的改變
■ 在過去二十年底層技術(shù)有極大的改變!!

從1981到2012計算機系統(tǒng)的對比
操作系統(tǒng)的演變
■ 單用戶系統(tǒng)(’45-’55)
操作系統(tǒng)=裝載器+通用子程序庫

問題:昂貴組件的低利用率
■ 批處理系統(tǒng)(’55-’65)
前后打印和前面的輸入等I/O操作不用昂貴的計算機來做,用周邊設(shè)備來做這種輸入和最后的輸出,中間這一段價錢貴的部分讓它盡可能的快
順序執(zhí)行與批處理

■ 多道程序(’65-’80)
變成的多道程序的交替執(zhí)行,但是交替的條件是前一個正在執(zhí)行的程序主動讓出CPU的使用權(quán)
保持多個工作在內(nèi)存中并且在各工作間復(fù)用CPU

■ 分時(在前一個作業(yè)沒有結(jié)束的時候,后一個作業(yè)能夠交替運行)

定時中斷用于工作對CPU的復(fù)用
■ 個人計算機:每個用戶一個系統(tǒng)
·個人電腦系統(tǒng)
單用戶
利用率已不再是關(guān)注點
重點是用戶界面和多媒體功能
很多老的服務(wù)和功能不存在
·演變
最初:操作系統(tǒng)作為一個簡單的服務(wù)提供者(簡單庫)
現(xiàn)在:支持協(xié)調(diào)和溝通的多應(yīng)用系統(tǒng)
越來越多的安全問題(如,電子商務(wù)、醫(yī)療記錄)
■ 分布式計算:每個用戶多個系統(tǒng)
·網(wǎng)絡(luò)支持成為一個重要的功能
·通常支持分布式服務(wù)
跨多系統(tǒng)的數(shù)據(jù)共享和協(xié)調(diào)
·可能使用多個處理器
松、緊耦合系統(tǒng)
·高可用性與可靠性的要求

操作系統(tǒng)演變中的計算機系統(tǒng)

1.3操作系統(tǒng)結(jié)構(gòu)
簡單結(jié)構(gòu)
■MS-DOS– 在最小的空間,設(shè)計用于提供大部分功能(1981~1994)
沒有拆分為模塊
雖然MS-DOS在接口和功能水平?jīng)]有很好地分離,主要用匯編編寫

分層結(jié)構(gòu)
■ 將操作系統(tǒng)分為多層(levels)
每層建立在低層之上
最底層(layer 0),是硬件
最高層(layer N)是用戶界面
■ 每一層僅使用更低一層的功能 ?(操作)和服務(wù)。

微內(nèi)核結(jié)構(gòu)(Microkernel)
■ 盡可能把內(nèi)核功能移到用戶空間
■ 用戶模塊間的通信使用消息傳遞
■ 好處:靈活/安全…
■ 缺點:性能

外核結(jié)構(gòu)(Exokernel)
■ ?讓內(nèi)核分配機器的物理資源給多個應(yīng)用程序,并讓每個程序決定如何處理這些資源.
■ ?程序能鏈接到操作系統(tǒng)庫(libOS)實現(xiàn)了操作系統(tǒng)抽象
■ ?保護(hù)與控制分離

VMM(虛擬機管理器)

■ ?虛擬機管理器將單獨的機器接口轉(zhuǎn)換成很多的虛擬機,每個虛擬機都是一個原始計算機系統(tǒng)的有效副本,并能完成所有的處理器指令。

?;