1. 程式人生 > >《操作系統》第1章:操作系統概述

《操作系統》第1章:操作系統概述

搶占式 通道 集中 工作 接口 穩定性 就是 界面 進行

第1章:操作系統概述

技術分享圖片

1.1 操作系統概述

操作系統的基本特征:並發、共享、虛擬、異步。最基本特征:並發和共享。
操作系統可粗分為:硬件、操作系統、應用程序、用戶。
操作系統是指控制和管理整個計算機系統的硬件和軟件資源,並合理地組織調度計算機的工作和資源分配,以提供給用戶和其他軟件方便的接口和環境的程序集合,是計算機系統中最基本的系統軟件。
並發性是指若幹事件在同一時間間隔內發生,並行性是指若幹事件在同一時刻發生。引入進程的目的是使程序能並發執行。操作系統的並發性是通過分時得以實現。
並行性是指系統具有同時運算或操作的特性,在同一時刻完成兩種或兩種以上的工作,並行性需要硬件的支持。
資源共享即共享,是指系統中的資源可供內存中多個並發執行的進程共同使用,分為互斥共享方式和同時訪問方式。程序的並發是資源共享的前提和條件。
把在一段時間內只允許一個進程訪問的資源稱為臨界資源或獨占資源。
虛擬是指把一個物理上的實體變為若幹個邏輯上的對應物。利用多道程序設計技術,把一個物理上的CPU虛擬為多個邏輯上的CPU,稱為虛擬處理器。
操作系統虛擬技術:時分復用技術,如處理器的分時共享;空分復用技術,如虛擬存儲器。
操作系統主要向用戶提供命令接口和程序接口,以及圖形接口。
操作系統作為計算機系統資源的管理者:處理機管理、存儲器管理、文件管理、設備管理。
進程管理主要功能:進程控制、進程同步、進程通信、死鎖處理、處理機調度。
存儲器管理主要包括:內存分配、地址映射、內存保護與共享、內存擴充。
文件管理包括:文件存儲空間管理、目錄管理、文件讀寫管理和保護。
設備管理主要包括:緩沖管理、設備分配、設備處理和虛擬設備。
操作系統提供的接口:
命令接口:用戶利用這些操作命令來組織和控制作業的執行。
程序接口:編程人員可以使用它們來請求操作系統服務。
命令接口按作業控制方式分為:
聯機命令接口(交互式命令接口):適用於分時或實時系統的接口。
脫機命令接口(批處理命令接口):適用於批處理系統。
程序接口:由一組系統調用命令(簡稱系統調用,也稱廣義指令)組成。
GUI(圖形用戶界面)最終是通過調用程序接口實現的。
庫函數是高級語言中提供給系統調用對應的函數,庫函數屬於應用程序而非系統調用,是系統調用的上層。
順序性是單道程序設計的基本特征。引入多道程序設計後,程序的執行就失去封閉性和順序性。
? 庫函數與系統調用的區別與聯系
庫函數是語言或應用程序的一部分,可以運行在用戶空間中。而系統調用是操作系統的一部分,是內核提供給用戶的程序接口,運行在內核空間中,而且許多庫函數都會使用系統調用來實現功能。沒有使用系統調用的庫函數,執行效率比系統調用高,因為使用系統調用時,需要上下問的切換以及狀態的轉換(由用戶態轉向內核態)。
? 互斥共享和同時共享
互斥共享是因為在一段時間內只能滿足一個請求,否則就會出現嚴重問題。同時共享通常要求一個請求分幾個時間片段間隔地完成與連續完成的效果相同。
通道是控制輸入輸出的設備。
系統調用是操作系統提供給應用程序使用內核功能的接口,只能通過用戶程序間接使用。
庫函數是高級語言中提供的與系統調用對應的函數,目的是隱藏『訪管』指令的細節,使系統調用更為方便、抽象。庫函數屬於用戶程序而非系統調用,是系統調用的上層。
廣義指令就是系統調用命令,命令解釋器屬於命令接口,shell指命令解析器,屬於命令接口。系統中的緩存全部由操作系統管理,對用戶是透明的,操作系統不提供管理系統緩存的系統調用。
引入多道程序設計後,程序的執行就失去了封閉性和順序性。順序性是單道程序設計的基本特征。
? 庫函數與系統調用的區別與聯系
庫函數是語言或應用程序的一部分,可以運行在用戶空間中。系統調用使操作系統的一部分,是內核提供給用戶的程序借口,運行在內核空間中,,而且許多庫函數都會使用系統調用來實現功能。沒有使用系統調用的庫函數,執行效率通常比系統調用高,因為使用系統調用時,需要上下文的切換以及狀態的轉換(由用戶態轉向核心態)。

1.2 操作系統的發展與分類

? 手工操作系統:獨占計算機資源、資源利用率低、CPU等待手工操作,CPU利用不充分
? 單道批處理系統:高效利用CPU的資源;自動性、順序性、單道性
? 多道批處理系統:多道、宏觀上並行、微觀上串行;優點是資源利用率高,缺點是用戶響應的時間長,不提供人機交互能力。
? 分時操作系統:
? 同時性:允許多個終端用戶同時使用一臺計算機
? 交互性:用戶能夠方便地與系統進行人-機對話
? 獨立性:系統中多個用戶可以彼此獨立地進行操作,互不幹擾
? 及時性:用戶請求能在很短時間內獲得響應
? 實時操作系統:及時性、可靠性,交互性不如分時
在實時操作系統的控制下,計算機系統接收到外部信號後及時進行處理,並且要在嚴格的時限內處理完接收的事件。
? 網絡操作系統:服務於計算機網絡,集中控制方式
? 分布式操作系統:建立在網絡早做系統上,控制功能均為分布式,分布性和並行性
? 個人計算機操作系統:使用最廣泛的操作系統
操作系統的基本類型:批處理系統、分時系統、實時系統。
分布式操作系統與網絡操作系統的本質上的不同在於分布式操作系統中,若幹太計算機相互協同完成同一任務。
批處理操作系統、分時操作系統、實時操作系統的特點:
? 批處理操作系統的用戶脫機使用計算機,作業是成批處理得,系統內多道程序並發執行,交互能力差
? 分時操作系統可以讓多個用戶同時使用計算機,人機交互性較強,具有每個用戶獨立使用計算機的獨占性,系統響應及時。
? 實時操作系統能對控制對象做出及時反應,可靠性高,響應及時,但資源利用率較低。
脫機技術用於解決獨占設備問題,虛擬技術與交換技術以多道程序設計技術為前提,多道程序設計技術由於同時在主存中運行多個程序,在一個程序等待時,可以去執行其他程序,因此提高了系統資源的利用率。
實時操作系統必須在被控制對象規定時間內處理來自外部的事件。
實時系統的進程調度通常采用搶占式的優先級高者優先算法。靜態頁式管理與代碼可重入與系統響應時間無關。

1.3 操作系統的運行環境

特權指令是指計算機中不允許用戶直接使用的指令。
操作系統內核:
? 時鐘管理:操作系統需要通過時鐘管理,向用戶提供標準的系統時間;通過時鐘中斷的管理,可以實現進程的切換。
? 中斷機制:引入中斷機制的初衷是提高多道程序運行環境中CPU的利用率。
? 原語:處於操作系統的最底層,是最接近硬件的部分;這些程序的運行具有原子性,這些程序的的運行時間都較短,而且調用頻繁。
? 系統控制的數據結構及處理:核心態指令實際上包括系統調用類指令和一些針對始終、中斷和原語的操作指令。
運行用戶態的CPU轉為核心態通過硬件實現。
進程管理:進城狀態管理、進程調度和分派、創建與撤銷進城控制塊等。
存儲器管理:存儲器的空間分配和回收、內存信息保護程序、代碼對換程序等。
設備管理:緩沖區管理、設備分配和回收等。
中斷(外中斷)指來自CPU執行指令以外的事件的發生。時鐘中斷表示一個固定的時間片已到,讓處理機處理計時、啟動定時運行的任務等,這類中斷通常是與當前程序運行無關的事件,即它們與當前處理機運行的程序無關。
異常,也稱內中斷、例外或陷入,指源自CPU執行指令內部的事件,如程序的非法操作碼、地址越界、算術溢出、虛存系統的卻也以及專門的陷入指令引起的事件。
系統調用是用戶在程序中調用操作系統所提供的一些子功能,系統調用可以被看做特殊的公共子程序。
系統調用按功能分類:
? 設備管理:完成設備的請求貨釋放,以及設備啟動等功能。
? 文件管理:完成文件的讀、寫、創建、刪除等功能。
? 進城控制:完成進程的創建、撤銷、阻塞、喚醒等功能。
? 進程通信:完成進城之間的消息傳遞或信號傳遞等功能。
? 內存管理:完成內存的分配、回收以及獲取作業占用內存區大小及初始等功能。
系統調用運行在系統的核心態,通過系統調用的方式來使用系統,保證系統的穩定性和安全性,防止用戶隨意更改或訪問系統的數據或命令。系統調用命令是由操作系統提供的一個或多個字程序模塊實現的。
從核心態轉向用戶態由一條指令實現,這條指令是特權指令,一般是中斷返回指令。
程序的運行由用戶態轉到核心態用訪管指令,訪管指令在用戶態使用,所以不是特權指令。

1.4 操作系統的體系結構

大內核系統將操作系統的主要功能模塊都作為一個緊密聯系的整體運行在核心態,從二位應用提供高性能的系統服務。
微內核結構將內核中最基本的功能(如進程管理等)保留在內和,將不需要在核心態執行的功能移到用戶態執行,服務之間使用進程間通信機制進行信息交換,降低內內核的設計復雜性,添加系統服務時,不必修改內核。
微內核結構有效地分離了內核與服務、服務與服務,使得它們之間的接口更加清晰,維護的代價大大降低,各部分可以獨立地優化和演演進,從而保證了操作系統的可靠性。微內核最大的問題是性能問題。
並行性與並發性的區別與聯系
並行性是指兩個活多個事件在同一時刻發生。並發性是指兩個或多個事件在同一時間間隔內發生。
特權指令與非特權指令
特權指令是指有特殊權限的指令,只能用於操作系統或其他系統軟件,不能直接提供給用戶使用。特權指令必須在核心態執行。為防止用戶程序中使用特權指令,用戶態下只能使用非特權指令,核心態下可以使用全部指令。從用戶態轉為核心態的唯一途徑是中斷或異常。
訪管指令與訪管中斷
訪管指令是一條可以在用戶態下執行的指令。在用戶程序中,因要求操作系統提供服務而有意識地使用訪管指令,從而產生一個中斷事件(自願中斷),將操作系統轉換為核心態,稱為訪管中斷。訪管指令由訪管中斷產生,程序員使用訪管指令向操作系統請求服務。訪管指令不是特權指令。

《操作系統》第1章:操作系統概述