第二章 操作系統(tǒng)
軟件是為了使用戶使用并充分發(fā)揮計算機性能和效率的各種程序和數(shù)據(jù)的統(tǒng)稱。 軟件又分為系統(tǒng)軟件和應(yīng)用軟件。系統(tǒng)軟件是所有用戶使用的為了解決用戶使用計算機而編制的程序。 應(yīng)用軟件是為解決某特定的問題而編制的程序。 操作系統(tǒng)是硬件與所有其他軟件之間的接口,而且是整個計算機系統(tǒng)的控制和管理中心。
操作系統(tǒng)兩個重要作用:
1 管理系統(tǒng)中各種資源。所有硬件部分稱為硬件資源。而程序和數(shù)據(jù)等信息成為軟件資源。
2 為用戶提供良好的界面。
操作系統(tǒng)的特征:1 并發(fā)性。是在計算機系統(tǒng)中同時存在多個程序,宏觀上看,這些程序是同時向前推進的。在單CPU上,這些并發(fā)執(zhí)行的程序是交替在CPU上運行的。 程序并發(fā)性體現(xiàn)在兩個方面:①用戶程序與用戶程序之間的并發(fā)執(zhí)行。②用戶程序與操作系統(tǒng)程序之間的并發(fā)。 2 共享性。資源共享是操作系統(tǒng)程序和多個用戶程序共用系統(tǒng)中的資源。 3 隨機性。隨機性指:操作系統(tǒng)的運行是在一個隨機的環(huán)境中,一個設(shè)備可能在任何時間向處理機發(fā)出中斷請求,系統(tǒng)無法知道運行著的程序會在什么時候做什么事情。 沒有任何軟件支持的計算機稱為裸機。 操作系統(tǒng)是硬件的第一層軟件擴充。
操作系統(tǒng)的功能:
1 進程管理:主要是對處理機進行處理。隨著系統(tǒng)對處理機管理方法不同,其提供的作業(yè)處理方式也不同,例如有批處理方式,分時方式和實時方式。 2 存儲管理:主要是管理內(nèi)存資源。當(dāng)內(nèi)存不夠的時候,解決內(nèi)存擴充問題,就是內(nèi)存和外存結(jié)合起來的管理,為用戶提供一個容量比實際內(nèi)存大的多的虛擬存儲器,這是操作系統(tǒng)的存儲功能的重要任務(wù)。 3 文件管理。系統(tǒng)中的信息資源是以文件的形式存放在外存儲器上的。 4 設(shè)備管理。設(shè)備管理是計算機系統(tǒng)中除了CPU和內(nèi)存外的所有輸入,輸出設(shè)備的管理。 5 用戶和操作系統(tǒng)的接口。
操作系統(tǒng)的分類: 1 批處理操作系統(tǒng)。 兩個特點:一是多道,一是成批。多道是系統(tǒng)內(nèi)同時容納多個作業(yè),這些作業(yè)存放在外存中 ,組成一個后備作業(yè)序列,系統(tǒng)按一定的調(diào)度原則每次從后備作業(yè)中選取一個或多個作業(yè)放入內(nèi)存中運行,運行作業(yè)結(jié)束并退出運行和后備作業(yè)進行運行均由系統(tǒng)自動實現(xiàn),從而在系統(tǒng)中形成一個自動轉(zhuǎn)接的連續(xù)的作業(yè)流。而成批是系統(tǒng)運行中不允許用戶和他的作業(yè)發(fā)生交互關(guān)系。 批處理系統(tǒng)追求的目標(biāo)是提高系統(tǒng)資源利用率和大作業(yè)吞吐量以及作業(yè)流程的自動化。
2 分時系統(tǒng)。 分時系統(tǒng)允許多個用戶同時連機使用計算機。
操作系統(tǒng)采用時間片輪轉(zhuǎn)的方式處理每個用戶的服務(wù)請求。
特點:①多路性。②交互性。又叫交互操作系統(tǒng)。③獨立性。④及時性。分時系統(tǒng)性能的主要指標(biāo)之一的是響應(yīng)時間,是從終端發(fā)出命令到系統(tǒng)與應(yīng)答的時間。 通常計算機系統(tǒng)采用批處理和分時處理方式來為用戶服務(wù)。時間要求不強的作業(yè)放入后臺批處理處理,需要頻繁交互的作業(yè)在前臺分時處理。
3 實時系統(tǒng)。 系統(tǒng)能夠及時響應(yīng)隨機發(fā)生的外部事件,并在嚴(yán)格的時間范圍內(nèi)完成對該事件的處理。實時系統(tǒng)作為一個特定應(yīng)用中的控制設(shè)備來使用。 分為兩類:①實時控制系統(tǒng)。②時信息處理系統(tǒng)。特點:及時響應(yīng)和高可靠性。
4 個人計算機操作系統(tǒng)。個人計算機操作系統(tǒng)是一個聯(lián)機交互的單用戶操作系統(tǒng),它提供的聯(lián)機交互功能與分時系統(tǒng)所提供的功能很相似。 5 網(wǎng)絡(luò)操作系統(tǒng)。 計算機網(wǎng)絡(luò)是通過通信設(shè)施將地理上分散的具有自治功能的多個計算機系統(tǒng)互連起來,實現(xiàn)信息交換,資源共享,互操作和協(xié)作處理的系統(tǒng)。網(wǎng)絡(luò)操作系統(tǒng)就是在原來的各自計算機系統(tǒng)操作上,按照網(wǎng)絡(luò)體系結(jié)構(gòu)的各個協(xié)議標(biāo)準(zhǔn)進行開發(fā),使之包括網(wǎng)絡(luò)管理,通信,資源共享,系統(tǒng)安全和多種網(wǎng)絡(luò)應(yīng)用服務(wù)的操作系統(tǒng)。 6 分布式操作系統(tǒng)。
研究操作系統(tǒng)的幾種觀點:1 從資源管理觀點:把操作系統(tǒng)分為處理機管理,存儲管理,設(shè)備管理,文件管理,用戶與操作系統(tǒng)的接口等5個主要部分。2 虛機器觀點:用戶不再直接使用硬件機器,而是通過操作系統(tǒng)來控制和使用計算機,從而把計算機擴充為功能更強,使用更加方便的計算機系統(tǒng)。操作系統(tǒng)的全部功能,稱為操作系統(tǒng)虛機器。
操作系統(tǒng)所涉及的硬件環(huán)境:1 特權(quán)指令與處理機狀態(tài)。特權(quán)指令和非特權(quán)指令。特權(quán)指令是只允許操作系統(tǒng)使用,而不允許一般用戶使用的指令。非特權(quán)指令之處的指令稱為非特權(quán)指令,非特權(quán)指令的執(zhí)行不影響其他用戶以及系統(tǒng)。 2 CPU狀態(tài)。 CPU交替執(zhí)行操作系統(tǒng)程序和用戶程序。 CPU的狀態(tài)屬于程序狀態(tài)字PSW的一位。大多數(shù)計算機系統(tǒng)將CPU執(zhí)行狀態(tài)分為管態(tài)和目態(tài)。 管態(tài)又叫特權(quán)態(tài),系統(tǒng)態(tài)或核心態(tài)。CPU在管態(tài)下可以執(zhí)行指令系統(tǒng)的全集。通常,操作系統(tǒng)在管態(tài)下運行。 目態(tài)又叫常態(tài)或用戶態(tài)。機器處于目態(tài)時,程序只能執(zhí)行非特權(quán)指令。用戶程序只能在目態(tài)下運行,如果用戶程序在目態(tài)下執(zhí)行特權(quán)指令,硬件將發(fā)生中斷,由操作系統(tǒng)獲得控制,特權(quán)指令執(zhí)行被禁止,這樣可以防止用戶程序有意或無意的破壞系統(tǒng)。從目態(tài)轉(zhuǎn)換為管態(tài)的唯一途徑是中斷。從管態(tài)到目態(tài)可以通過修改程序狀態(tài)字來實現(xiàn),這將伴隨這由操作系統(tǒng)程序到用戶程序的轉(zhuǎn)換。
中斷機制:中斷機制是現(xiàn)代計算機系統(tǒng)中的基礎(chǔ)設(shè)施之一,它在系統(tǒng)中起著通信網(wǎng)絡(luò)作用,以協(xié)調(diào)系統(tǒng)對各種外部事件的響應(yīng)和處理。 中斷是實現(xiàn)多道程序設(shè)計的必要條件。 中斷是CPU對系統(tǒng)發(fā)生的某個事件作出的一種反應(yīng)。 引起中斷的事件稱為中斷源。中斷源向CPU提出處理的請求稱為中斷請求。發(fā)生中斷時被打斷程序的暫停點成為斷點。CPU暫,F(xiàn)行程序而轉(zhuǎn)為響應(yīng)中斷請求的過程稱為中斷響應(yīng)。處理中斷源的程序稱為中斷處理程序。CPU執(zhí)行有關(guān)的中斷處理程序稱為中斷處理。而返回斷點的過程稱為中斷返回。 中斷的實現(xiàn)實行軟件和硬件綜合完成,硬件部分叫做硬件裝置,軟件部分成為軟件處理程序。
中斷裝置和中斷處理程序統(tǒng)稱為中斷系統(tǒng)。
一般將中斷源分為兩大類:強迫性中斷和自愿性中斷。
強迫性中斷是正在運行的程序所不期望的,它們是或發(fā)生,何時發(fā)生事先無法預(yù)料,因而運行程序可以在任意位置處被打斷。
中斷類型:1 輸入輸出中斷:這是來自通道或外部設(shè)備的中斷。2 硬件故障中斷 3 時鐘中斷,如硬件時鐘到時。 4 控制臺中斷,如系統(tǒng)控制員通過控制臺發(fā)出命令。 5 程序性中斷
自愿性中斷是正在運行的程序有意識安排的,通常是由于程序員在編制程序時,因要求操作系統(tǒng)提供服務(wù)而有意使用訪管指令或系統(tǒng)調(diào)用,從而導(dǎo)致中斷的,所以又稱其為訪管中斷。 系統(tǒng)為每類中斷設(shè)置一個中斷處理程序。每個中斷處理程序都有一個入口地址PC及其運行環(huán)境PSW,它們被稱為中斷向量,保存在內(nèi)存中固定的單元。 中斷響應(yīng)是解決中斷的發(fā)現(xiàn)和接受問題,是由中斷裝置完成的。中斷響應(yīng)是硬件對中斷請求作出響應(yīng)的過程,包括識別中斷源,保留現(xiàn)場,引出中斷處理程序等過程。 CPU每執(zhí)行完一條指令,便去掃描中斷寄存器,查詢有無中斷請求。若有中斷請求,則通過交換中斷向量進入中斷處理程序,這就是中斷響應(yīng)。
系統(tǒng)根據(jù)引起中斷事件的重要性和緊迫程度,由硬件將中斷源分為若干個級別,稱為中斷優(yōu)先級。
中斷屏蔽是指在提出中斷請求之后,CPU不予響應(yīng)的狀態(tài)。它常常用來在處理某一中斷時防止同級中斷的干擾或在處理一段不可分割,必須連續(xù)執(zhí)行的程序時防止任何中斷事件的干擾。
CPU是否允許某類中斷,由當(dāng)前程序狀態(tài)字中的中斷屏蔽位決定。
屏蔽中斷源相當(dāng)于關(guān)中斷,處于關(guān)中斷狀態(tài)下執(zhí)行的程序段因盡量短,否則可能會丟失信息,也會影響系統(tǒng)的并發(fā)性。
中斷處理過程:1保存被中斷程序的現(xiàn)場。2分析中斷源,確定中斷原因。3轉(zhuǎn)去執(zhí)行相應(yīng)的處理程序。4恢復(fù)被中斷程序現(xiàn)場,繼續(xù)執(zhí)行被中斷程序。
操作系統(tǒng)向用戶提供兩類接口:一類是用于程序級的,另一類是用于作業(yè)控制一級的。1 程序級接口。 它由一組系統(tǒng)調(diào)用命令組成。與機器指令不同之處在于系統(tǒng)調(diào)用命令由操作系統(tǒng)核心解釋執(zhí)行。
系統(tǒng)調(diào)用是操作系統(tǒng)向用戶提供的程序一級的服務(wù),用戶程序借助與系統(tǒng)調(diào)用命令來向操作系統(tǒng)提出各種資源要求和服務(wù)請求。
一般系統(tǒng)調(diào)用可分為幾類:設(shè)備管理類,文件管理類,進程控制類,進程通信類,存儲管理類。 2 作業(yè)級接口。這類接口是系統(tǒng)為用戶在作業(yè)一級請求系統(tǒng)服務(wù)而設(shè)置的,用戶可利用這組接口組織作業(yè)的工作流程和控制作業(yè)的運行。作業(yè)級接口分為聯(lián)機接口和脫機接口:①聯(lián)機接口。聯(lián)機接口由一組鍵盤操作命令組成,是用戶以交互方式請求操作系統(tǒng)服務(wù)的手段。鍵盤操作命令的作業(yè)控制方式靈活方便,用戶可以根據(jù)運行情況隨時干預(yù)自己的作業(yè),但是系統(tǒng)利用率不高 ②脫機接口。由一組作業(yè)控制命令組成,供脫機用戶使用。 這種接口主要是用于批處理方式操作系統(tǒng),其優(yōu)點是作業(yè)的操作過程由系統(tǒng)自動調(diào)度或系統(tǒng)操作員干預(yù),因而系統(tǒng)利用率高。 處理機是計算機系統(tǒng)中最重要的資源。
多道程序設(shè)計是操作系統(tǒng)所采用的最基本,最重要的技術(shù)。其根本目的是提高整個系統(tǒng)的效率。 衡量系統(tǒng)效率的尺度是系統(tǒng)吞吐量。所謂吞吐量是單位時間內(nèi)系統(tǒng)所處理作業(yè)的道數(shù)。 進程是具有一定獨立功能的程序關(guān)于某個數(shù)據(jù)集合上的一次運行運動,進程是系統(tǒng)核心資源分配和調(diào)度的一個獨立單位。 進程可以分為系統(tǒng)進程和用戶進程兩類。 系統(tǒng)進程的優(yōu)先級通常高與一般用戶進程的優(yōu)先級。 從靜態(tài)的角度看,進程是程序,數(shù)據(jù)和進程控制塊PCB三部分組成。
進程和程序的區(qū)別是程序是靜態(tài)的,而進程是動態(tài)的。 一個進程可以執(zhí)行一個或幾個程序,一個程序也可以構(gòu)成多個進程。
被創(chuàng)建的進程成為子進程,創(chuàng)建者稱為父進程,從而構(gòu)成進程家族。 操作系統(tǒng)的并發(fā)性和共享性正是通過進程的活動體現(xiàn)出來的。
(進程特征)1 并發(fā)性。2 動態(tài)性。3 獨立性。4 交往性。5 異步性。
進行中的進程可以處于以下三種之一:運行,就緒,等待。
運行狀態(tài)是進程已經(jīng)獲得CPU,并且在CPU上執(zhí)行的狀態(tài)。顯然,在一個單CPU系統(tǒng)上,最多只有一個進程處于運行狀態(tài)。
就緒狀態(tài),是一個進程已經(jīng)具備運行條件,但是由于沒有獲得CPU而不能運行所處的狀態(tài)。 等待狀態(tài),也叫阻塞狀態(tài)或封鎖狀態(tài)。是進程因等待某種事件發(fā)生而暫時不能運行的狀態(tài)。
在任何時刻,任何進程都處于且僅處于以上3種狀態(tài)之一。
為了便于系統(tǒng)控制和描述進程的活動進程,在操作系統(tǒng)核心中為進程定義為一個專門的數(shù)據(jù)結(jié)構(gòu),成為進程控制塊PCB。
PCB信息可以分成為調(diào)度信息和現(xiàn)場信息兩部分。
每個進程都有自己專用的工作存儲區(qū),其他進程運行時不會改變它的內(nèi)容。 進程是程序,數(shù)據(jù)和進程控制塊PCB三部分組成。
系統(tǒng)中進程隊列分為3類:
、倬途w隊列。②等待隊列。③運行隊列。在單機系統(tǒng)中整個系統(tǒng)只有一個。實際上,一個運行隊列中只有一個進程。
進程同步是進程之間一種直接的協(xié)同工作關(guān)系,是一些進程相互合作,共同完成一項任務(wù)。進程之間間接相互作用構(gòu)成進程同步。
各個進程互相排斥使用這些資源,進程之間的這種關(guān)系是進程的互斥。 進程之間的間接相互作用叫做進程的互斥。
系統(tǒng)中一些資源一次只允許一個進程使用,這個資源稱為臨界資源。而在進程中訪問臨界資源的那一段程序稱為臨界區(qū)。
系統(tǒng)對臨界區(qū)的調(diào)度原則歸納為:當(dāng)沒有進程在臨界區(qū)時,允許一個進程立即進入臨界區(qū);若有一個進程已經(jīng)在臨界區(qū),其他要求進入臨界區(qū)的進程必須等待,進程進入臨界區(qū)的要求必須在有限時間里得到滿足。 信號量。被P和V操作使用。 原語是由若干條機器指令構(gòu)成的一段程序,用以完成特定功能。 原語在執(zhí)行過程中不可分割。高級通信原語,解決大量信息交換問題。
相關(guān)推薦:北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |