學習資料:《作業系統》清華大學出版社 2012
一、功能
1.管理系統的各個部件,使它們能夠正常運轉
2.給上層的應用軟體提供乙個易於理解和程式設計的介面
二、角色
對於作業系統的設計者,作業系統是系統資源的管理者(如何管理cpu、記憶體、i/o裝置等系統部件)
對於應用程式開發人員,作業系統是一組抽象的api(messgebox,createwindow等等)
對於普通終端使用者,作業系統是乙個操作環境,是執行各種操作的乙個平台
三、發展
1.20世紀50年代
程式設計採用機器語言,紙帶形式輸入輸出程式,沒有作業系統的概念
2.20世紀50年代末到60年代--------單道批處理
批處理管理程式實現程式設計師與操作員兩個角色的分離,程式設計師在其他地方程式設計,將程式卡片交給負責排程的操作員。由常駐記憶體的批處理管理程式自動地去識別、裝入乙個作業並執行。序列地執行作業,每次只執行乙個作業。
限制:程式的除錯困難,cpu和輸入輸出裝置的使用忙閒不均
3.20世紀60年代中期到70年代中期--------多道批處理
多道即許在記憶體中同時存放多個作業,由cpu以切換的方式為他們服務。從巨集觀上看是並行,從微觀上看,各個作業實際上是序列執行,他們交替地使用i/o裝置。
優點: 能夠實現cpu和i/o裝置之間的併發執行,提高了系統資源的使用效率
缺點:沒有從使用者的角度出發,解決使用者對響應時間的要求
4.現代作業系統
主要特點:規模越來越龐大,功能越來越複雜。
四、型別
1.批處理作業系統
單道批系統和多道批系統
2.分時作業系統
基本思路是把cpu的時間劃分為乙個個的時間片,然後讓每個作業輪流執行,由於cpu的運算速度非常快,所以每個作業都感覺不到是在輪流執行,以為它是在獨享主機。
3.實時作業系統
使計算機能及時響應外部事件的請求,在規定的嚴格事件內完成對該事件的處理,並控制所有實時裝置和實時任務協調一致地工作的作業系統。
特點:實時性,可靠性
例子:火箭的發射,核電站的控制與監測
4.嵌入式作業系統
執行在嵌入式系統環境下的作業系統。以應用為中心,應用環境以計算機技術為基礎,軟硬體可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗和應用環境有嚴格要求的專用計算機系統。
5.個人計算機作業系統
針對單個使用者使用的個人計算機進行優化的作業系統,是一種單使用者多工的作業系統。
特點:供個人使用,功能強;使用者介面友好,使用方便;有豐富的應用軟體;要求支援多種硬體和外部裝置。。。
6.分布式作業系統
把大量計算機通過網路連線在一起,以獲得極高的運算能力和廣泛的資料共享,
基本特徵:處理上的分布,即功能和任務的分布
主要特徵:1)它是乙個統一的作業系統,所有主機使用的都是同乙個作業系統
2)實現資源的進一步共享
3)透明性。網路資源排程對使用者來說是透明的,使用者提交後不知道也不需要知道這個計算任務正在哪幾台主機上並行地執行。
4)自治性。分布式系統的各個主機處於平等地位,沒有主從關係。某台機器故障,一般不會影響到整個系統。
5)處理能力更強,速度更快,可靠性更高
五、硬體環境
1. 受保護的指令
(特權指令),指只有作業系統才有權使用的指令。
硬體通過設定處理器的狀態來實現,根據執行程式對資源和機器指令的使用許可權,把處理器設定為不同的狀態,一般為管態和目態。
管態:作業系統的管理程式執行時的狀態,它具有較高的特權級別,所以又稱為特權態或者系統態。
目態:使用者程式執行時的狀態,具有較低的特權級別,又稱普通態或者使用者態。
1)如何判斷當前執行程式的狀態
cpu通過程式狀態字(program status word,psw)來判斷當前執行的程式是作業系統程式還是使用者程式。
psw:是cpu內部乙個專門的暫存器,用來指示處理器的狀態,它通常包括工作狀態碼、條件碼和中斷遮蔽碼等。工作狀態碼指明cpu的當前狀態是管態還是目態,條件碼用來反映指令執行後的結果特徵,中斷遮蔽碼用來指出是否允許中斷。
2)狀態之間如何切換
通過修改程式狀態字暫存器的狀態標誌位。問題在於修改狀態標誌位本身就是乙個特權指令。
管態到目態,可以直接修改狀態標誌位。
目態到管態只能通過系統呼叫過程的中斷操作來執行。換言之,目態到管態的轉換不是通過指令來修改cpu的狀態標誌位,而是由cpu在中斷時自動完成的。
2.系統呼叫
即使用者程式通過訪管指令或者陷阱指令,來請求作業系統為其提供某種功能的服務。
過程如下:1)cpu執行到訪管指令或者陷阱指令,引起中斷
2)處理器儲存中斷點的程式執行上下文環境,包括程式狀態字、程式計數器等等,然後cpu轉態切換到管態(這裡存在上述的目態到管態的中斷後切換操作)
3)處理器把控制權轉移到相應的中斷處理程式,然後呼叫相應的系統服務
4)中斷處理結束後,cpu恢復被中斷程式的上下文環境,因此cpu被恢復為目態,並且回到中斷點繼續執行。
3.記憶體保護
對於每乙個應用程式,都應該設定它的活動範圍,只能訪問該範圍內的**和資料。
硬體上通過增加一對暫存器(基位址暫存器和邊界暫存器)來實現。現代作業系統採用的一般是虛擬儲存管理技術,把記憶體和外存結合起來使用,硬體必須提供虛擬位址和屋裡位址的對映機制。
4.中斷機制
中斷是指由於某個時間的發生,改變了正在cpu上執行的指令的順序。
其過程一般為,中斷發生,cpu暫停當前程式,cpu保留現場後自動專區執行相應事件的處理程式,處理完畢後返回斷點,繼續執行被打斷的程式。
型別:1)同步中斷
由cpu控制黨員所發出的中斷,也稱為「異常」。例如:由cpu監測到的異常(算術溢位、被0除...)、由程式主動設定的異常(int、int3等指令)
2)非同步中斷
由cpu意外的其他硬體裝置在任意時刻所發出的中斷。例如:可遮蔽中斷即i/o中斷(印表機缺紙)、不可遮蔽中斷(斷電、儲存器效驗錯)
一般來說,每個中斷或異常都用0~255之間的整數來標識,稱為中斷向量。系統會維護乙個中斷向量表,表中存放了相應的處理程式的其實位址。當中斷發生,系統根據中斷向量從該表中取出起始位址,然後跳轉過去執行。
5.輸入輸出系統
作業系統(一) 概述
作業系統是緊貼硬體之上,所有其他軟體之下 是其它軟體的環境 用來管理硬體 使cpu i o裝置和儲存空間能夠有效利用,管理分配軟硬體資源,合理組織計算機工作流程 作業管理,程序管理 實現使用者介面 彌補硬體系統的型別和數量的差別 將覆蓋了軟體的機器稱為擴充機器或虛擬機器,因此,os是擴充套件機 虛擬...
通過Linux理解作業系統(一) 概述
通過linux理解作業系統 一 概述 用了那麼多年電腦,作業系統從winxp vista 再到win7 然後是現在用的ubuntu 這麼長的時間裡,一直沒有搞明白這作業系統是個什麼東西,為什麼這麼神奇,只要點一點,按一按,那些一塊一塊的硬體就可以完成我們的工作。直到學了作業系統這門課程,才開始有點朦...
作業系統總結一概述
作業系統是指控制和管理整個計算機系統硬體和軟體資源,並合理的組織和排程計算機的資源分配,以提供給使用者和其他軟體方便的介面和環境的程式集合 程式介面 程式設計人員可以使用它們來請求作業系統服務,有一組系統呼叫命令組成 核心包括 系統呼叫類指令和一些對時鐘管理 中斷機制 原語 資料結構及處理的操作指令...