1. 程式人生 > 其它 >第四章 作業系統

第四章 作業系統

 

 

1.作業系統概述

桌面常見四大作業系統

windows Mac Linux Unix

windows

*Windows作業系統

*微軟公司首次在PC機上嘗試圖形介面,1985年發行

*基於MS-DOS

Mac

*Mac系統是基於Unix核心的圖形化作業系統

*蘋果產品專屬作業系統

Linux

*Linux作業系統可以用在很多硬體中,例如路由器,手機,電腦,視訊遊戲控制檯等。問們最常用的安卓就是以Linux為基礎開發的。

 

 

常用的手機作業系統

  Symbian OS-昨日皇者

-硬體要求低,省電,不適用於觸控式螢幕。

  蘋果IOS——高貴華麗

-功能強大,系統穩定

-設計風格簡潔

-價格過高,過於封閉,軟體收費。

  Windows Phone——全新面貌

-優點:易用性,有內建office套件和Outlook;

-缺點:應用軟體少

  BlackBerry——高階商務

-穩定性非常好

  安卓——當今潮流

-基於Liunx作業系統

-優點:開源,聯盟,軟體豐富,免費

-缺點:系統碎片化,軟體質量參差不齊

  Harmony(鴻蒙)OS

-全新的面向全場景的分散式作業系統

-創造一個超級虛擬終端互聯的世界,將人,裝置,場景有機地聯絡在一起。

-目前已經應用到華為智慧屏,華為手錶上。

 

基本功能

提供操作介面,控制程式執行,管理系統資源,配置系統引數,監控系統狀態,工具軟體集合。

 

1.2作業系統定義和功能

作業系統的定義

作業系統是一個大型系統程式

*提供使用者介面,方便使用者控制計算機

*負責為應用程式分配和排程軟硬體資源,並控制與協調應用程式併發活動,幫助使用者存取和保護資訊。

 

 

作業系統地地位

 

 

 

 

 

作業系統地功能一:程序管理

程序管理(CPU管理,處理機管理)

*程序控制:建立,暫停,喚醒,撤銷

*程序排程:排程策略,優先順序

*程序通訊:程序間通訊

作業系統的功能二:儲存管理

 

 快取記憶體:緩解CPU的速度和記憶體之間的矛盾

作業系統的功能三:裝置管理

-管理計算機額系統中所有外圍裝置,主要任務控制裝置和CPU之間進行I/O操作

*裝置的分配和排程

*裝置傳輸控制

*裝置驅動

作業系統的功能四:檔案管理

-有效地組織檔案地儲存和修改,高效地提供檢索服務,並保護檔案安全

*儲存空間管理

*檔案地操作

*目錄的操作

*檔案和目錄的存取許可權管理

 

 

1.3作業系統的發展和分類

推動作業系統發展的主要動力

1.提高資源的利用率和系統性能

2.方便使用者:除錯程式,事務處理,服務非專業使用者

3.裝置技術的發展:CPU的位寬度,快取。。。

總而言之:出現問題,解決問題;提出需求,滿足需求

(1)手工操作(無作業系統)

電子管時代(1946-1955)

結構特點

硬體:電子管,接線面板(按鈕,開關)

程式語言:機器語言

輸入輸出:紙帶或卡片

使用特點

程式準備/啟動/結束:手工處理,繁瑣耗時

缺點

效率低:CPU有效執行時間極低

使用者獨佔:資源利用率低

主要矛盾-計算機處理能力的提高,手工操作的低效率(造成浪費)

提高效率的途徑-批處理

(2)單道批處理系統

50年代末-60年代中(電晶體)

*利用磁帶/磁碟把若干個作業分類變成作業執行序列,每個批作業由一個專門的監督程式(Monitor)自動依次處理。可使用匯編語言開發。

*優點:改善CPU和I/O裝置的效率,提高吞吐量

*缺點:磁碟/磁帶需要人工裝卸,作業需要人工分類,監督程式易遭到使用者程式的破壞(程式之間存在越界)

主要問題

*CPU和I/O裝置使用忙閒不均

-對計算為主的作業,外設空閒

-對I/O為主的作業,CPU空閒

(3)多道批處理系統

60年代中-70年代中(積體電路),利用多道批處理提高資源的利用率

*多道:記憶體中同時存放幾個作業

*併發:巨集觀上並行執行,微觀上序列執行

*使用者離線使用計算機:作業提交後直到結束或出錯,使用者無法互動

*當前執行的作業需做I/O處理時,CPU轉而執行下一個作業

優點

*資源利用率高:CPU,記憶體

*作業吞吐量達

缺點

*平均週轉時間長:短作業的週轉時間顯著增長

*互動性差:作業完成後或出錯,才能與使用者互動,不利於除錯和修改

 

多道批處理帶來的技術問題

作業排程:作業的現場儲存和恢復-儲存上下文

資源共享:資源的競爭和程序制約-互斥和同步

記憶體使用:提高記憶體使用率-覆蓋,交換和虛擬儲存

記憶體保護:系統和應用儲存區不可衝突-儲存保護

出現:作業管理,處理機管理,儲存管理,裝置管理,檔案管理

 

 

通道和中斷技術

《中斷技術

*CPU收到外部訊號(中斷訊號)後,停止當前工作,轉去處理該外部事件,處理完畢後回到原來工作的中斷處(斷點)繼續原來的工作

《通道技術

*專門處理外設與記憶體之間的資料傳輸的處理機。

《監督程式由於容易受到使用者程式的干擾,所以發展為執行系統,常駐記憶體。

(4)分時作業系統

*事務性任務的湧現

*互動性高,相應快速

*要求支援多工,多使用者

*多終端計算機

*高效能主機+多個終端

*主機:運算,CPU+記憶體

*終端:輸入和顯示

*主機採用分時技術輪流為每個終端服務。每個終端都感覺到時‘獨佔’主機

 

分時技術的概念

*主機以很短的‘時間片’為單位,將CPU輪流分配給每個終端使用,直到全部作業被執行完

*由於時間片很短,在終端數量不多的情況下,每個終端都能很快重新獲得CPU,使得每個終端都能得到及時響應。

 

分時系統的特點

多路調製性

*多使用者聯機使用同一臺計算機

獨佔性

*使用者感覺獨佔計算機

互動性

*及時響應使用者的請求,每個時間片結束後會有時鐘中斷,這時使用者就可以去幹預和了解程式執行的情況。

 

(5)實時作業系統

*用於工業工程控制,軍事實時控制,金融等領域

——響應時間短,在規定的時間之內完成;可靠性高

 

(6)通用作業系統

*目前的作業系統,通常具有分時,實時和批處理功能,又稱作通用作業系統

*適用於計算,事務處理等多種領域

*執行在多種硬體平臺上,如UNIX,Windows等

*應用於通用化,小型化的環境上。

 

作業系統的進一步發展

*在個人計算機上配置的作業系統

*常用的個人計算機作業系統:

單使用者單任務:MS DOS

單使用者多工:OS/2,MS Windows 3.x,Windows 95,Windows NT,Windows 2000 Professionanl

多使用者多工UNIX(SCO UNIX,Solars x86,Liunx,FreeBSD)

 

網路作業系統

基於計算機網路的。計算機網路中有一臺配置高,效能好的計算機,稱為伺服器,它是網路的核心,其他計算機稱為工作站。

伺服器上裝有網路作業系統,負責統一管理網路資源,實現資訊交換,資源共享和各種網路的應用

 

分散式作業系統

分散式系統由分散式作業系統管理,各結點主機不再有自己的作業系統,無主次之分。

分散式作業系統負責全系統的資源分配與排程,任務劃分,資訊傳輸和控制協調工作,併為使用者提供一個統一的介面,便於使用者執行操作和使用系統資源。

分散式系統常用於分散式計算和處理,將大型任務分解,使多個主機協作完成,可以充分利用各種資源,從而使計算機系統處理能力增強,速度更快,可靠性更高。‘

 

1.3作業系統的發展和分類

按使用者介面——命令列介面;圖形使用者介面

按使用者數——單使用者;多使用者

按任務數——單任務;雙任務

按系統功能——批處理;分時;實時;網路;分散式;個人計算機

 

2.程序管理

 

 2.1程序

定義

程序是程式在某個資料集合上的一次執行活動

資料集合:軟/硬環境,多個程序共存/共享的環境

 

 程序的特徵

 

動態性:程序是程式的一次執行過程,動態產生/消亡

併發性:程序同其它程序一起向前推進

非同步性:程序按各自速度向前推進

獨立性:程序是系統分配資源和排程CPU的單位

 

程序與程式的區別

動態與靜態

程序是動態的:程式的一次執行過程

程式是靜態的:一組指令的有序集合

暫存與長存

程序是暫存的:在記憶體駐留

程式是長存的:在介質上長期儲存

程式和程序的對應

一個程式可能有多個程序

 

程序的狀態

執行狀態(Running)

程序已經佔有CPU,在CPU上執行

就緒狀態(Ready)

具備執行條件但由於無CPU,暫時不能執行

阻塞狀態(Block)【等待(Wait)狀態】

因為等待某項服務完成或訊號不能執行的狀態

如等待:系統呼叫,I/O操作,合作程序訊號。。。

 

程序狀態的變遷

程序的狀態可以依據一定的條件相互轉化。

1.就緒-執行:程序排程

2.執行-就緒:時間片到;被搶佔

3.執行-阻塞:請求服務;等待訊號

4.阻塞-就緒:服務完全;訊號來到

 

2.2程序控制

程序控制的概念

——在程序生存全期間,對其全部行為的控制

四個典型的控制行為:建立程序,撤銷程序,阻塞程序,喚醒程序

 

 

2.3執行緒

概念(Thread)

(1)執行緒是可由CPU直接執行的實體;

(2)每個程序都有相應的執行緒,在執行程式時,實際上是執行相應的一系列執行緒;

(3)程序是資源(定址空間,暫存器組,堆疊空間)分配的最小單位,執行緒是程式執行的最小單位

(4)程序和執行緒都是一個時間短的描述,是CPU工作時間短的描述

(5)多個執行緒共享CPU可以實現併發執行。注意:巨集觀上是並行的,微觀上還是分時切換序列的。

 

 

執行緒技術典型使用場景

*多個功能需要併發

*需要改善視窗互動性

 

 

使用執行緒的麻煩

(1)程式難以除錯

(2)併發過程難以控制

(3)執行緒安全問題

 

 

3.儲存管理

3.1儲存管理的功能