操作系统--第一章 绪论(408计算机考研)
文章目錄
- 零:考綱
- 1. 操作系統(tǒng)(OS,Operating System)的概念、特征和層次結(jié)構(gòu)
- 2.操作系統(tǒng)的發(fā)展和分類
- 3.操作系統(tǒng)的運行環(huán)境
- 4.操作系統(tǒng)的體系結(jié)構(gòu)
- 一:操作系統(tǒng)的基本概念
- 1. 馮諾依曼模型與計算機系統(tǒng)
- 馮諾依曼結(jié)構(gòu):
- 計算機系統(tǒng)的層次結(jié)構(gòu):
- 引入操作系統(tǒng)的目的:
- 主要目標(biāo)有四點:
- 二:OS 的基本特性
- 1.并行與并發(fā)
- 2.共享
- 3.虛擬
- 4.異步
- 三、OS 的主要功能
- 處理機管理功能
- 存儲器管理功能
- 設(shè)備管理功能
- 文件管理功能
- 用戶接口
- 四:未配備操作系統(tǒng)的計算機系統(tǒng)
- 1.人工操作方式
- 2.脫機輸入/輸出方式
- 3. 單道批處理系統(tǒng)
- 4.多道批處理系統(tǒng)
- 1. 多道批處理系統(tǒng)的特征
- 2. 多道批處理系統(tǒng)的優(yōu)缺點
- 3.多道批處理系統(tǒng)需要解決的問題
- 5.分時系統(tǒng)
- 改變批處理系統(tǒng)的運行方式
- 分時系統(tǒng)實現(xiàn)中的關(guān)鍵問題
- 分時系統(tǒng)的特征:
- 多路性:多個用戶同時使用一臺計算機,共享CPU和其他資源,充分利用系統(tǒng)資源。
- 獨立性:
- 及時性:
- 交互性:
- 6.實時系統(tǒng)
- 五:操作系統(tǒng)的結(jié)構(gòu)
- 無結(jié)構(gòu)操作系統(tǒng)
- 模塊化操作系統(tǒng)
- 分層式操作系統(tǒng)
- 微內(nèi)核操作系統(tǒng)
零:考綱
1. 操作系統(tǒng)(OS,Operating System)的概念、特征和層次結(jié)構(gòu)
2.操作系統(tǒng)的發(fā)展和分類
3.操作系統(tǒng)的運行環(huán)境
4.操作系統(tǒng)的體系結(jié)構(gòu)
一:操作系統(tǒng)的基本概念
1. 馮諾依曼模型與計算機系統(tǒng)
馮諾依曼結(jié)構(gòu):
馮諾依曼的體系結(jié)構(gòu)只是構(gòu)成了計算機系統(tǒng)的系統(tǒng)硬件基礎(chǔ),稱為裸機,而實際呈現(xiàn)在用戶面前的是經(jīng)過若干層軟件改造后的計算機。
計算機系統(tǒng)的層次結(jié)構(gòu):
操作系統(tǒng)(Operating System,OS)是配置在計算機硬件之上的第一層軟件,其是對硬件系統(tǒng)的首次擴充。
引入操作系統(tǒng)的目的:
提供一個計算機用戶與計算機硬件系統(tǒng)之間的接口,是計算機系統(tǒng)更易于使用
用戶通過 OS 來使用計算機,從下圖可以看出,用戶可以通過系統(tǒng)調(diào)用、命令方式、圖形窗口三種方式來實現(xiàn)與 OS 的通信,并取得其服務(wù)
有效的控制和管理計算機系統(tǒng),中的各種硬件和軟件資源,使之得到更高效的利用
在計算機系統(tǒng)中,包含多種軟硬件資源,OS 的主要功能正是對資源進(jìn)行管理,歸結(jié)來說,總共分為四類:
合理地組織計算機系統(tǒng)的工作流程,以改善系統(tǒng)性能
主要目標(biāo)有四點:
方便性:便于用戶使用
(用戶的觀點):提供良好的、一致的用戶接口。無需了解許多有關(guān)硬件和系統(tǒng)軟件的細(xì)節(jié)。
有效性:提高系統(tǒng)資源利用率
(系統(tǒng)管理人員的觀點):合理地組織計算機的工作流程,管理和分配硬件、軟件資源,提高資源的利用率。
可擴充性:使用模塊化以便于修改和擴充
給計算機系統(tǒng)的功能的擴展提供開放式的支撐平臺。方便地增加新的功能和模塊。
開放性:系統(tǒng)遵循國際標(biāo)準(zhǔn)以便實現(xiàn)互連
二:OS 的基本特性
1.并行與并發(fā)
- 并行性:兩個或多個事件在同一時刻發(fā)生
- 并發(fā)性:兩個或多個事件在同一時段發(fā)生
在單處理機系統(tǒng)中,多個程序宏觀來看是并行,實際上是多個程序交替占用 CPU;而在多處理機系統(tǒng)中,多個程序被分配到多個處理機上,每個處理機處理一個可并發(fā)執(zhí)行的程序。
在未引入進(jìn)程的系統(tǒng)中,同屬一應(yīng)用程序的計算程序與 I/O 程序間只能順序執(zhí)行,這樣極大地影響了系統(tǒng)資源利用率。
若對內(nèi)存中的多個程序都分別建立一個進(jìn)程,他們就可以并發(fā)執(zhí)行,從而提高系統(tǒng)資源利用率,所謂進(jìn)程是指系統(tǒng)中能獨立運行并作為資源分配的基本單位,是由一組機器指令、數(shù)據(jù)、堆棧等組成的能獨立運行的實體。
2.共享
在 OS 下的資源共享是指系統(tǒng)中的資源可供內(nèi)存中多個并發(fā)執(zhí)行的進(jìn)程共同使用,由于內(nèi)存資源有限,系統(tǒng)必須對資源共享進(jìn)行妥善管理,以避免進(jìn)程對共享資源的爭奪。
根據(jù)資源屬性的不同,進(jìn)程對資源復(fù)用的方式也不同,目前主要有以下兩種方式:
- 互斥共享方式:在一段時間內(nèi)只允許一個進(jìn)程訪問資源(臨界資源)
- 同時訪問方式:在一段時間內(nèi)允許多個進(jìn)程同時訪問(在單處理機上,本質(zhì)上是串行的)
3.虛擬
虛擬最早出現(xiàn)在通信系統(tǒng)中,為提高信道利用率從而引入了虛擬技術(shù),所謂虛擬,是指通過某種技術(shù)將一個物理實體變?yōu)槿舾蛇壿嬌系膶?yīng)物。
在 OS 中,借鑒了通信系統(tǒng)的虛擬設(shè)備技術(shù),有以下兩種實現(xiàn)方式:
- 時分復(fù)用:利用處理機的空閑時間運行其他進(jìn)程,提高處理機利用率
- 空分復(fù)用:利用存儲器的空閑空間,分區(qū)域存放運行多道程序,提高內(nèi)存利用率
4.異步
由于資源等因素的限制,多個進(jìn)程并發(fā)執(zhí)行時間和執(zhí)行順序是不可預(yù)知的,所謂異步即是指進(jìn)程的執(zhí)行順序與執(zhí)行時間的不確定性
盡管如此,但只要在 OS 中配置有完善的進(jìn)程同步機制,且運行環(huán)境相同,作業(yè)即使經(jīng)過多次運行,得到的結(jié)果是完全相同的。
三、OS 的主要功能
處理機管理功能
在多道程序系統(tǒng)中,處理機的分配與運行均以進(jìn)程為基本單位,對處理機的管理,就是對進(jìn)程的管理,其主要用于解決內(nèi)存中多道并發(fā)執(zhí)行的 “進(jìn)程” 如何占用 CPU、如何運行的問題。
- 進(jìn)程控制:為作業(yè)創(chuàng)建進(jìn)程、撤銷已結(jié)束的進(jìn)程,控制進(jìn)程在運行過程中的狀態(tài)轉(zhuǎn)換,即對單個進(jìn)程基本信息進(jìn)行管理
- 進(jìn)程同步:為多個進(jìn)程運行進(jìn)行協(xié)調(diào),常用的協(xié)調(diào)方式有:進(jìn)程互斥方式、進(jìn)程同步方式
- 進(jìn)程互斥方式:進(jìn)程在對臨界資源訪問時,采用互斥方式
- 進(jìn)程同步方式:在相互合作去完成共同任務(wù)的進(jìn)程間,由同步機構(gòu)對他們的執(zhí)行次序進(jìn)行協(xié)調(diào)
- 進(jìn)程通信:用于實現(xiàn)相互合作進(jìn)程之間的信息交換
- 調(diào)度:調(diào)度包括作業(yè)調(diào)度、進(jìn)程調(diào)度兩步
- 作業(yè)調(diào)度:從后備隊列中按照一定算法選擇若干作業(yè),并分配所需資源,在作業(yè)調(diào)入內(nèi)存后,分別建立進(jìn)程
- 進(jìn)程調(diào)度:從進(jìn)程的就緒隊列中按一定算法選擇進(jìn)程,并將處理機分配給他
存儲器管理功能
- 內(nèi)存分配:為每道程序分配內(nèi)存空間,以提高存儲器的利用率,根據(jù)分配方式分為:靜態(tài)分配、動態(tài)分配
- 內(nèi)存保護:確保每道用戶程序只在自己的內(nèi)存空間中運行,通過界限寄存器來存放正在執(zhí)行進(jìn)程的內(nèi)存上下界,在程序運行時,對每條指令的訪問地址進(jìn)行越界檢查
- 地址映射:實現(xiàn)進(jìn)程的邏輯地址到內(nèi)存物理地址的映射,在程序編譯時形成的目標(biāo)程序地址是邏輯地址,都是從 0 開始,而真正調(diào)入內(nèi)存某個空間存放的地址是物理地址
- 內(nèi)存擴充:用虛擬存儲技術(shù)來從邏輯上擴充內(nèi)存容量,以解決內(nèi)存容量不足的問題,利用內(nèi)存擴充機制,來實現(xiàn)請求調(diào)入功能與頁面置換功能
設(shè)備管理功能
- 緩沖管理:在 I/O 設(shè)備與 CPU 間引入緩沖,使得 I/O 設(shè)備與外設(shè)的速度盡量匹配,以提高兩者的利用率、并行操作程度
- 設(shè)備分配:按某種設(shè)備分配策略,為之分配所需的設(shè)備,利用設(shè)備控制表等數(shù)據(jù)結(jié)構(gòu)來記錄設(shè)備及其控制器的標(biāo)識符和狀態(tài),不同的設(shè)備分配方式不同
- 設(shè)備處理:設(shè)備處理程序又稱設(shè)備驅(qū)動程序,用于實現(xiàn) CPU 和設(shè)備控制器間的通信
文件管理功能
- 存儲空間管理:通過分配外存空間,來提高外存的利用率,需要在文件系統(tǒng)中設(shè)置相應(yīng)數(shù)據(jù)結(jié)構(gòu)來記錄文件存儲空間的使用情況,此外要有對存儲空間分配和回收的功能
- 目錄管理:為文件建立目錄項并進(jìn)行有效組織,來提高文件檢索速度
- 文件讀寫管理與保護:用于實現(xiàn)文件的讀寫管理(設(shè)置讀寫指針)與文件的保護功能-(提供有效的存取控制功能)
用戶接口
- 命令接口:用戶通過鍵盤發(fā)出命令以控制作業(yè)的運行,分為聯(lián)機用戶接口、脫機用戶接口、圖形用戶接口
- 聯(lián)機用戶接口:為聯(lián)機用戶提供,由一組磁盤操作命令和命令解釋程序組成
- 脫機用戶接口:為批作業(yè)處理的用戶提供,由一組作業(yè)控制語言組成
- 程序接口:為用戶程序在執(zhí)行中訪問系統(tǒng)資源而設(shè)置,由一組系統(tǒng)調(diào)用組成,只有早期匯編語言能使用,后高級語言及C語言中都給出了系統(tǒng)調(diào)用對應(yīng)的庫函數(shù)。
- 圖形用戶接口:采用圖形化操作界面,提高了用戶交互性
四:未配備操作系統(tǒng)的計算機系統(tǒng)
1.人工操作方式
早期的操作方式是利用事先穿孔的紙帶,裝入紙帶輸入機將紙帶上的程序與數(shù)據(jù)輸入計算機,再啟動計算機,只有當(dāng)程序運行完畢并取走運算結(jié)果后,才允許下一個用戶上機。
人工操作的方式嚴(yán)重降低了計算機資源的利用率,出現(xiàn)了所謂的人機矛盾,即用戶獨占全機、CPU 等待人工操作。
2.脫機輸入/輸出方式
為解決人機矛盾,后出現(xiàn)了脫機 I/O 技術(shù),即事先將裝有用戶程序和數(shù)據(jù)的紙帶裝入紙帶輸入機,在一臺外圍機的處理下,將紙帶上的數(shù)據(jù)、程序輸入到磁帶上,當(dāng) CPU 需要時,再調(diào)入內(nèi)存。
脫機 I/O 技術(shù)在一定程度上,減少了 CPU 的空閑時間并提高了 I/O 速度。
3. 單道批處理系統(tǒng)
為實現(xiàn)作業(yè)的連續(xù)處理,需要將一批作業(yè)以脫機方式輸入到磁帶上,并在系統(tǒng)中配上監(jiān)督程序,在監(jiān)督程序的控制下,使得作業(yè)能一個接一個地連續(xù)處理。
雖然系統(tǒng)對作業(yè)的處理是成批進(jìn)行的,但內(nèi)存中始終保持一道作業(yè),仍然存在 I/O 設(shè)備與 CPU 速度不匹配的情況。
4.多道批處理系統(tǒng)
對于單道批處理操作系統(tǒng)來說,其可以連續(xù)的運行多個程序,減少了程序切換時的 CPU 等待時間,但其問題在于:當(dāng)執(zhí)行 I/O 操作時,CPU 是空閑的,這極大的增加了 CPU 的等待時間。
為解決資源利用率與系統(tǒng)吞吐量低下的問題,出現(xiàn)了多道批處理系統(tǒng)。
多道批處理系統(tǒng)是將多個程序同時加載到內(nèi)存中,當(dāng)其中正在運行的程序執(zhí)行 I/O 操作時,CPU 可以繼續(xù)執(zhí)行其他的程序,而當(dāng) I/O 操作結(jié)束后,之前的程序繼續(xù)執(zhí)行。
多道批處理系統(tǒng)雖然內(nèi)存中存在多個程序,但同樣一個時間內(nèi)只有一個程序被執(zhí)行,其他沒有被執(zhí)行的程序存入后備隊列中,等待調(diào)度程序調(diào)用。
多道批處理系統(tǒng)具有多道性、無序性、調(diào)度性等特點,其資源利用率高、系統(tǒng)吞吐量大、平均運行時間長,但由于后備隊列需要內(nèi)存管理,調(diào)度程序需要設(shè)備管理等問題,增加了系統(tǒng)的負(fù)載。
1. 多道批處理系統(tǒng)的特征
- 多道性
- 無序性
- 調(diào)度性
- 作業(yè)調(diào)度
- 進(jìn)程調(diào)度
2. 多道批處理系統(tǒng)的優(yōu)缺點
-
資源利用率高
CPU處于忙碌狀態(tài),可以提高I/O設(shè)備的利用率 -
系統(tǒng)吞吐量大
Cpu和其他資源保持忙碌狀態(tài),僅當(dāng)作業(yè)完成或運行不下去時切換 -
平均周轉(zhuǎn)時間長
-
排隊依次處理,作業(yè)的周轉(zhuǎn)時間較長
-
無交互能力
用戶一旦把作業(yè)提交給系統(tǒng),直至作業(yè)完成,用戶都不能與自己的作業(yè)交互 -
適合大型科學(xué)計算、數(shù)據(jù)處理
3.多道批處理系統(tǒng)需要解決的問題
- 處理機管理問題
- 分配與回收
- 提高利用率
- 內(nèi)存管理問題
- 分配與回收
- 信息保護
- I/O設(shè)備管理問題
- 分配與使用
- 提高利用率
- 文件管理問題
- 方便使用
- 保證數(shù)據(jù)的安全性與一致性
- 作業(yè)管理問題
- 根據(jù)作業(yè)類型進(jìn)行作業(yè)組織
- 用戶與系統(tǒng)接口
- 提供用戶與OS間的接口
5.分時系統(tǒng)
對于多道批處理系統(tǒng)來說,其人機交互性極差,為滿足用戶對交互性的需求,由此形成了一種新型 OS —— 分時系統(tǒng)。
所謂分時系統(tǒng)是指,在一臺主機上連接了多個配有顯示器與鍵盤終端,并由此組成的系統(tǒng),該系統(tǒng)允許多個用戶同時通過自己的終端,以交互式使用計算機,共享主機資源。
分時系統(tǒng)實現(xiàn)了多用戶連接主機、請求輪轉(zhuǎn)進(jìn)內(nèi)存、快速響應(yīng)處理等功能,其最大特點是采用時間片輪轉(zhuǎn)方式來處理服務(wù)請求。
所謂時間片,是指分配給進(jìn)程運行的一段時間,根據(jù)時間片的定義,由此有了用戶響應(yīng)時間(RT),即:用戶響應(yīng)時間 ≈ 時間片 * 用戶數(shù)量
改變批處理系統(tǒng)的運行方式
- 作業(yè)直接進(jìn)入內(nèi)存
- 系統(tǒng)采用時間片輪轉(zhuǎn)方式處理服務(wù)請求
分時系統(tǒng)實現(xiàn)中的關(guān)鍵問題
- 及時接收
- 及時處理
分時系統(tǒng)的特征:
多路性:多個用戶同時使用一臺計算機,共享CPU和其他資源,充分利用系統(tǒng)資源。
- 宏觀上:是多個人同時使用一個CPU
- 微觀上:多個人在不同時刻輪流使用CPU
獨立性:
用戶感覺不到計算機為其他人服務(wù),各用戶獨立操作,互不干擾。
及時性:
通過時間片技術(shù)和輪轉(zhuǎn)調(diào)度算法保證及時響應(yīng)。
交互性:
系統(tǒng)及時響應(yīng)用戶的請求,顯著提高調(diào)試和修改程序的效率:縮短了周轉(zhuǎn)時間。
6.實時系統(tǒng)
隨著計算機的發(fā)展,計算機需要一種能及時計算的系統(tǒng),即系統(tǒng)的正確性不僅由計算的邏輯結(jié)果來確定,還取決于產(chǎn)生結(jié)果的時間。
簡單來說,就是將時間作為關(guān)鍵參數(shù),其必須對接收到的某些信號做出實時的反應(yīng)。
由此我們可得到實時系統(tǒng)的定義:系統(tǒng)能及時響應(yīng)外部事件的請求,在規(guī)定時間內(nèi)完成對事件的處理,并控制所有實時任務(wù)協(xié)調(diào)一致地運行。
常見是實時系統(tǒng)有:工業(yè)控制系統(tǒng)、信息查詢系統(tǒng)、武器控制系統(tǒng)、嵌入式系統(tǒng)等
五:操作系統(tǒng)的結(jié)構(gòu)
無結(jié)構(gòu)操作系統(tǒng)
在早期,操作系統(tǒng)的開發(fā)者只是將注意力放在功能的實現(xiàn)和獲得高的效率上,缺乏首尾一致的設(shè)計思想。
此時 OS 是為數(shù)眾多的一組過程的集合,每個過程可以任意地調(diào)用其他過程,使得操作系統(tǒng)內(nèi)部結(jié)構(gòu)混亂又復(fù)雜。
因此,這種 OS 是無結(jié)構(gòu)的,也有人將其稱為整體系統(tǒng)結(jié)構(gòu)。
模塊化操作系統(tǒng)
20 世紀(jì) 60 年代,隨著模塊化程序設(shè)計技術(shù)的出現(xiàn),操作系統(tǒng)的編寫也開始利用該技術(shù)。
該技術(shù)是基于分解與模塊化的原則來控制大型軟件的復(fù)雜度。
為使 OS 具有較清晰的結(jié)構(gòu),OS 的設(shè)計按照模塊-接口法來進(jìn)行,即按其功能精心地劃分為若干具有一定獨立性的模塊,每個模塊具有某方面的管理功能,各模塊間能通過接口實現(xiàn)交互。
同時,進(jìn)一步將各個模塊分為若干具有一定功能的子模塊,同樣也規(guī)定好他們之間的接口。
load unsuccessful
該方法不僅提高設(shè)計的正確性、可理解性、可維護性,還增強了 OS 的可適應(yīng)性,通過對相應(yīng)功能模塊增減和修補,可以滿足新需求,同時還加速了開發(fā)過程。
但該方法同樣存在不少問題,在設(shè)計初期,模塊劃分和接口規(guī)定是十分不精確的,并且很難保證其完全正確,這會使得接口規(guī)定與實際完成的模塊需求不匹配,而出現(xiàn)裝配困難。
此外,各模塊的設(shè)計齊頭并進(jìn),沒有決策順序,是一種 “無序” 模塊,模塊間仍會有復(fù)雜依賴關(guān)系,這反而可能會使 OS 結(jié)構(gòu)不清晰。
分層式操作系統(tǒng)
為將模塊-接口法中決定順序的無序性變?yōu)橛行蛐?#xff0c;引入了有序分層法,即在目標(biāo)系統(tǒng) AnA_nAn?和邏輯系統(tǒng) A0 間,鋪設(shè)若干層次的軟件A1,A2,…,An?1A_1,A_2,…,A_{n?1}A1?,A2?,…,An?1?,使得 A_n 通過 An?1,…,A2,A1A_{n?1},…,A_2,A_1An?1?,…,A2?,A1?層后,最終能在 A0A_0A0?上運行。
在分層式操作系統(tǒng)中,采用自底向上的有序分層法,每一步設(shè)計都建立在可靠基礎(chǔ)上,每一次僅能使用其底層所提供的功能與服務(wù),由此使得系統(tǒng)的調(diào)試與驗證變得十分容易。
由于各層之間只存在單向的依賴關(guān)系,即高層僅依賴緊鄰的低層,這保證了系統(tǒng)正確性,使得系統(tǒng)容易維護與擴充。
但由于分層單向依賴,當(dāng)執(zhí)行一個功能時,總要自下而上地穿越多層,這增加系統(tǒng)通信開銷,降低了效率。
微內(nèi)核操作系統(tǒng)
微內(nèi)核操作系統(tǒng),即實現(xiàn)了一個可在其上構(gòu)建通用 OS 的基礎(chǔ)內(nèi)核,該內(nèi)核程序運行在核心態(tài),開機常駐內(nèi)存。
當(dāng)前微內(nèi)核操作系統(tǒng)結(jié)構(gòu)仍沒有一致公認(rèn)的定義,但可從以下4方面進(jìn)行描述:
- 足夠小的內(nèi)核:微內(nèi)核并非一個完整的OS。與硬件緊密相關(guān),實現(xiàn)較基本功能,復(fù)雜客戶和服務(wù)器通信
- 應(yīng)用機制與策略分離原理:機制用于實現(xiàn)某一功能的具體執(zhí)行機構(gòu),位于基層;策略借助某些參數(shù)和算法實現(xiàn)功能優(yōu)化或達(dá)到不同功能目標(biāo),位于高層
- 采用面向?qū)ο蠹夹g(shù)
- 基于 C/S 模式
微內(nèi)核包含的基本功能有:進(jìn)程管理、低級存儲管理、中斷和陷入處理等,調(diào)度算法、虛擬內(nèi)存的頁面置換算法等都放入外部服務(wù)器中實現(xiàn)。
對于微內(nèi)核操作系統(tǒng)來說,只有內(nèi)核能訪問硬件,服務(wù)器在用戶態(tài)出錯時絕不會導(dǎo)致系統(tǒng)癱瘓,同時其可移植性強,尤適用于分布式系統(tǒng)。
總結(jié)
以上是生活随笔為你收集整理的操作系统--第一章 绪论(408计算机考研)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql怎么显示当前数据库名称
- 下一篇: 『操作系统』 进程的描述与控制 Par