版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、操作系統(tǒng)的功能處理機管理 存儲管理 設備管理 文件管理(無大題) 用戶接口(無大題)功能一、處理機管理完成處理機資源的分配調(diào)度等功能,單位可為進程。進程控制:創(chuàng)建、撤銷、改變進程的狀態(tài)進程調(diào)度:作業(yè)和進程的運行切換,以充分利用處理機資源和提高系統(tǒng)性能;(未必是進程控制操作所引起,例如時間片輪轉(zhuǎn)、I/O操作)進程同步:協(xié)調(diào)并發(fā)進程之間的推進步驟,以協(xié)調(diào)資源共享;(交換信息能力弱)進程通信:進程之間傳送數(shù)據(jù),以協(xié)調(diào)進程間的協(xié)作;(交換信息能力強,也可以用來協(xié)調(diào)進程之間的推進)并發(fā)與并行概念并發(fā):兩個或多個事件在同一時間間隔內(nèi)發(fā)生;并行:兩個或多個事件在同一時刻內(nèi)發(fā)生處理機管理單道與多道資源利用率進
2、程與程序的區(qū)別進程-動態(tài),程序-靜態(tài):作為程序的執(zhí)行,進程通常不可在計算機之間遷移;作為有序代碼集合,程序?qū)奈募庆o態(tài)的和可復制的。進程與程序的組成不同:進程的組成包括程序、數(shù)據(jù)和進程控制塊(即進程狀態(tài)信息)。進程能真實描述并發(fā)執(zhí)行,程序不能:進程是獨立調(diào)度并能和其他進程并行執(zhí)行的單位進程可以創(chuàng)建其它進程,而程序不能;進程是暫時的,程序是永久的:進程是一個狀態(tài)變化的過程,程序可長久保存。進程與程序的對應關(guān)系:通過多次執(zhí)行,一個程序可對應多個進程;通過調(diào)用關(guān)系,一個進程可包括多個程序。進程的組成,基本狀態(tài),三狀態(tài)模型,五狀態(tài)模型進程的組成(代碼+PCB+數(shù)據(jù))狀態(tài)運行狀態(tài)(Running):
3、占用處理機資源;暫停狀態(tài)(Not-Running):等待進程調(diào)度分配處理機資源;轉(zhuǎn)換進程創(chuàng)建(Enter):系統(tǒng)創(chuàng)建進程,形成PCB,分配所需資源,排入暫停進程表(可為一個隊列);調(diào)度運行(Dispatch):從暫停進程表中選擇一個進程(要求已完成I/O操作),進入運行狀態(tài);暫停運行(Pause):用完時間片或啟動I/O操作后,放棄處理機,進入暫停進程表;進程結(jié)束(Exit):進程運行中止;三狀態(tài)模型運行和暫停對應的兩狀態(tài)模型無法區(qū)分暫停進程表中的就緒和阻塞,運行、就緒和阻塞三狀態(tài)模型就是對暫停狀態(tài)的細化。就緒態(tài)(Ready): 一個進程已經(jīng)具備運行條件,但由于無CPU暫時不能運行的狀態(tài)(當調(diào)
4、度給其CPU時,立即可以運行)運行態(tài)(Running)-執(zhí)行: 當進程已分配到除CPU以外的所有必要資源時,它便處于就緒狀態(tài),一旦獲得CPU,便立即執(zhí)行。阻塞態(tài)(Blocked): 指進程因等待某種事件的發(fā)生而暫時不能運行的狀態(tài)。五狀態(tài)模型-掛起狀態(tài)的加入單純的阻塞狀態(tài)和就緒狀態(tài)在實際系統(tǒng)當中并不是很符合需求。原因如下: (1) 終端用戶的請求:比如,用戶希望進程等待一定時間在執(zhí)行。 (2) 父進程請求:比如,程序的設計要求父進程能決定子進程的執(zhí)行狀態(tài)。 (3) 負荷調(diào)節(jié)的需要:比如,進程需要長時間等待,那操作系統(tǒng)就不希望在進程調(diào)度時被干擾。 (4) 操作系統(tǒng)的需要:比如,某些設備在相當長的時
5、間內(nèi)不能被用戶進程使用。進程控制塊和進程控制塊的組織方式進程控制塊(PCB)一個專門的數(shù)據(jù)結(jié)構(gòu)目的:系統(tǒng)管理和設置進程。內(nèi)容:描述該進程情況和控制進程運行所需的全部信息。特征:進程與PCB是一一對應的特征:OS中存在PCB表,其能存放PCB總數(shù)受到限制。特征:P處于OS核心中,程序不能直接操作,一般需要利用系統(tǒng)調(diào)用來操作。目前常用的組織方式有以下兩種: 按鏈接方式組織PCB (隊列) 不同狀態(tài)進程分別組成隊列:運行隊列、就緒隊列、等待隊列 具有相同狀態(tài)的PCB用其中的鏈接字,鏈接成一個隊列。按索引方式組織PCB (表) 對具有相同狀態(tài)的進程,分別設置各自的PCB索引表,表明PCB在PCB表中的
6、地址其他方式:線性表或鏈表原語在操作系統(tǒng)中,某些調(diào)用操作具有不可中斷的需要,否則就會引發(fā)操作錯誤,并造成系統(tǒng)混亂。原語:是由若干條機器指令構(gòu)成的用于完成特定功能的一段程序。不可分割或不可中斷(斷電等高級中斷例外)是原語的根本屬性,即原子操作。實現(xiàn)某個特定功能是原語的需求,例如建立和撤消原語、改變進程狀態(tài)原語、實現(xiàn)進程同步和通信的原語等。線程的概念以及和進程的區(qū)別線程的基本概念:線程是進程的一個實體,是CPU調(diào)度的基本單位。線程自己基本上不擁有系統(tǒng)資源,只留有幾個寄存器,但它可以與同屬同一個進程的其他線程共享進程所擁有的全部資源。線程又被稱為輕權(quán)進程(Light weight process:L
7、WP)。進程和線程的比較1、進程是資源分配的基本單位。線程與資源分配無關(guān),它只屬于某一個進程,并與進程內(nèi)其他線程一起共享進程的資源。2、進程發(fā)生調(diào)度時,不同的進程擁有不同的虛擬地址空間,而同一進程內(nèi)的不同線程共享同一地址空間。3、進程包含了PCB,用戶地址空間和堆棧。線程只由相關(guān)的堆棧(用戶棧和系統(tǒng)棧)、寄存器和線程控制表TCB組成。4、進程切換時將涉及到有關(guān)資源指針的保存以及地址空間的變化等問題。線程切換時,由于同一進程內(nèi)的線程共享資源和地址空間,將不涉及上述內(nèi)容的保存,故減少了操作系統(tǒng)的開銷時間。5、進程的調(diào)度與切換都是由操作系統(tǒng)內(nèi)核完成,而線程則既可由操作系統(tǒng)內(nèi)核完成,也可由用戶程序進行
8、。進程調(diào)度:分配處理機是由進程調(diào)度程序完成的。它是操作系統(tǒng)設計的中心問題之一高中低三級調(diào)度高級調(diào)度:對于分時操作系統(tǒng)來說,高級調(diào)度決定:是否接受一個終端用戶的連接;一個程序能否被計算機系統(tǒng)接納并構(gòu)成進程;一個新建態(tài)的進程是否能夠加入就緒進程隊列。有的分時操作系統(tǒng)雖沒有配置高級調(diào)度程序,但上述的調(diào)度功能是必須提供的。中級調(diào)度:引進目的:提高內(nèi)存利用率和作業(yè)吞吐量功能:決定那些進程被允許參與競爭處理器資源,起到短期調(diào)整系統(tǒng)負荷的作用。使用方法:通過把一些進程換出主存,從而使之進入“掛起”狀態(tài),不參與進程調(diào)度,起到滑系統(tǒng)的作用低級調(diào)度:又稱進程調(diào)度、短程調(diào)度。低級調(diào)度主要功能是按照某種原則把處理器分
9、配給就緒進程或內(nèi)核級線程。進程調(diào)度程序是操作系統(tǒng)最為核心的部分,進程調(diào)度策略的優(yōu)劣直接影響到整個系統(tǒng)的性能。五種調(diào)度算法:FIFO、最短CPU運行期、優(yōu)先權(quán)調(diào)度、時間片輪轉(zhuǎn)法 、多級反饋隊列 先進先出(FIFO)算法先來先服務算法是按照進程進入就緒隊列的先后次序來分配處理器。先進入就緒隊列的進程優(yōu)先被挑選,運行進程一旦占有處理器將一直運行下去直到運行結(jié)束或阻塞。這種算法容易實現(xiàn),但效率不高,顯然不利于I/O頻繁的進程。優(yōu)點:實現(xiàn)簡單缺點:沒考慮進程的優(yōu)先級最短CPU運行期優(yōu)先調(diào)度算法該算法從就緒隊列中選出“下一個CPU執(zhí)行期”最短的進程,為之分配處理機。該算法雖可獲得較好的調(diào)度性能,但難以準確
10、地知道下一個CPU執(zhí)行期,而只能根據(jù)每一個進行的執(zhí)行歷史來預測。最高優(yōu)先權(quán)優(yōu)先調(diào)度算法該算法總是把處理機分配給就緒隊列中具有最高優(yōu)先權(quán)的進程。常用以下兩種方法來確定進程的優(yōu)先權(quán)(優(yōu)先級根據(jù)優(yōu)先數(shù)來決定):1、靜態(tài)優(yōu)先數(shù)法靜態(tài)優(yōu)先數(shù)法:靜態(tài)優(yōu)先權(quán)是在創(chuàng)建進程時確定的,在整個運行期間不再改變。依據(jù)有:2、動態(tài)優(yōu)先數(shù)法動態(tài)優(yōu)先數(shù)法:在進程創(chuàng)建時創(chuàng)立一個優(yōu)先數(shù),但在其生命周期內(nèi)優(yōu)先數(shù)可以動態(tài)變化。(如等待時間長優(yōu)先數(shù)可改變)時間片輪轉(zhuǎn)法把CPU劃分成若干時間片,并且按順序賦給就緒隊列中的每一個進程,進程輪流占有CPU,當時間片用完時,即使進程未執(zhí)行完畢,系統(tǒng)也剝奪該進程的CPU,將該進程排在就緒隊列末
11、尾,同時系統(tǒng)選擇另一個進程運行。臨界資源、臨界區(qū)、臨界區(qū)訪問臨界資源(critical resource ):一次僅供一個進程使用的資源。在進程中涉及到臨界資源的程序段叫臨界區(qū)臨界區(qū)的訪問過程進入?yún)^(qū)(entry section):在進入臨界區(qū)之前,檢查可否進入臨界區(qū)的一段代碼。如果可以進入臨界區(qū),通常設置相應“正在訪問臨界區(qū)”標志臨界區(qū)(critical section):進程中訪問臨界資源的一段代碼。退出區(qū)(exit section):用于將"正在訪問臨界區(qū)"標志清除。剩余區(qū)(remainder section):代碼中的其余部分。使用臨界區(qū)的原則空閑讓進:當無進程在臨界
12、區(qū)時,任何有權(quán)使用臨界區(qū)的進程可進入忙則等待:不允許兩個以上的進程同時進入臨界區(qū)多中擇一:當沒有進程在臨界區(qū),而同時有多個進程要求進入臨界區(qū),只能讓其中之一進入臨界區(qū),其他進程必須等待有限等待:任何進入臨界區(qū)的要求應在有限的時間內(nèi)得到滿足讓權(quán)等待:處于等待狀態(tài)的進程應放棄占用CPU,以使其他進程有機會得到CPU的使用權(quán)同步與互斥同步進程之間的一種通信方式,有時序上的制約關(guān)系,或者說是進程之間為了協(xié)同工作而存在的一種等待關(guān)系。互斥進程之間對臨界資源的一種競爭關(guān)系,排他性地對資源的訪問方式。鎖同步工具鎖操作法實現(xiàn)互斥的一種軟件方法是采用鎖機制,即提供一對上鎖(Lock)和開鎖(UnLock)原語,
13、以及一個鎖變量X。鎖有兩種狀態(tài): X =0 表示鎖已打開; X =1 表示鎖被關(guān)閉。 P/V:s值的含義,信號量代表可用資源實體的數(shù)量。信號量:semaphore是一個數(shù)據(jù)結(jié)構(gòu)定義如下: struc semaphore int value; pointer_PCB queue; ;信號量說明: s:semaphore;P、V操作為原語操作 執(zhí)行必須是連續(xù)的,在執(zhí)行過程中不允許被中斷 實現(xiàn):開關(guān)中斷信號量的使用: 必須置一次且只能置一次初值;初值不能為負數(shù);只能執(zhí)行P、V操作設s(semaphore)代表一個可共享的存儲單元,s的初始值為1S=-3,為等待3次信號量的物理含義:S>0表示有
14、S個資源可用S=0表示無資源可用S<0則| S |表示S等待隊列中的進程個數(shù)信號量的初值應該大于等于0當為互斥操作時,同處于同一進程當為同步操作時,不在同一進程中出現(xiàn)P.V操作必須成對出現(xiàn),有一個P操作就一定有一個V操作當為互斥操作時,它們同處于同一進程當為同步操作時,則不在同一進程中出現(xiàn)如果P(S1)和P(S2)兩個操作在一起,那么P操作的順序至關(guān)重要,一個同步P操作與一個互斥P操作在一起時同步P操作在互斥P操作前而兩個V操作無關(guān)緊要管道管程的組成局部于該管程的共享數(shù)據(jù),數(shù)據(jù)表示相應資源的狀態(tài);局部于該管程的若干過程,每個過程完成關(guān)于上述數(shù)據(jù)的某種規(guī)定操作。條件變量:每個獨立的條件變量
15、是和進程需要等待的某種原因(或說條件)相聯(lián)系的,當定義一個條件變量時,系統(tǒng)就建立一個相應的等待隊列。兩種操作:wait(x)和signal(x),其中x為條件變量。wait把調(diào)用者進程掛在與x相應的等待隊列上,signal喚醒相應等待隊列上的一個進程。消息緩沖消息緩沖通訊技術(shù)是由Hansen首先提出的,其基本思想是:根據(jù)“生產(chǎn)者-消費者”原理,利用內(nèi)存中公用消息緩沖區(qū)實現(xiàn)進程的信息交換。系統(tǒng)負責管理公用消息緩沖區(qū)以及消息的傳遞。進程使用消息緩沖區(qū)。一個進程可以給若干個進程發(fā)送消息,反之,一個進程可以接收不同進程發(fā)來的消息。進程中關(guān)于消息隊列的操作是臨界區(qū)。死鎖的概念和結(jié)論如果在一個進程集合中的
16、每個進程都在等待只能由該集合中的其他一個進程才能引發(fā)的事件,則稱這一組進程或系統(tǒng)此時發(fā)生了死鎖。一組進程中,每個進程都在無限等待被該組進程中另一個進程所占有的永遠不會釋放的資源,這種現(xiàn)象稱系統(tǒng)處于死鎖狀態(tài),簡稱死鎖。處于死鎖狀態(tài)的進程就稱為死鎖進程.結(jié)論:參與死鎖的進程最少是兩個(或是兩個以上進程)參與死鎖的進程至少有兩個已經(jīng)占有資源參與死鎖的所有進程都在等待資源如果死鎖發(fā)生,會浪費大量系統(tǒng)資源,甚至導致系統(tǒng)崩潰。死鎖的四個必要條件原因:系統(tǒng)資源不足;進程推進順序不合適;必要條件 : 互斥控制(資源獨占) 非剝奪控制(不可剝奪)請求和保持(部分分配,占有申請) 環(huán)路條件(循環(huán)等待)預防死鎖:靜
17、態(tài),資源有序靜態(tài)資源分配(第一個必要條件)解決方法:要求每一個進程在開始執(zhí)行前就申請它所需要的全部資源,僅當系統(tǒng)能滿足進程的資源申請要求且把資源分配給進程后,該進程才能開始執(zhí)行。 進程在執(zhí)行過程中不再申請資源,故不可能出現(xiàn)占有了某些資源再等待其他資源的情況,即能使得“占有并等待”的條件不成立,從而防止死鎖的發(fā)生缺陷:降低資源的利用率。資源有序分配法(第四個必要條件)解決方法:把系統(tǒng)中所有資源排序加以全局編號,進程申請資源時必須嚴格按資源編號的遞增次序進行,否則操作系統(tǒng)不予分配。具體為,低優(yōu)先級的資源申請高于高級資源,釋放資源的順序和申請資源的次序相反。占用高級資源時,若要申請低級資源,則高級資
18、源需要先行釋放。缺陷:進程實際使用資源的順序不一定與資源的編號一致,會造成資源浪費。安全狀態(tài)和不安全狀態(tài)如果系統(tǒng)能按某種順序為每個進程分配其所需的資源,直至所有進程都能運行完成,稱系統(tǒng)處于安全狀態(tài)。若不存在這樣一個安全序列稱系統(tǒng)處于不安全狀態(tài)。銀行家算法功能二、存儲管理目標:提高利用率、方便用戶使用、提供足夠的存儲空間、方便進程并發(fā)運行。存儲分配與存儲無關(guān)性:地址重定位(地址映射)存儲保護:保證進程間互不干擾、相互保密;如:訪問合法性檢查等,必須有硬件提供支持;存儲擴充(覆蓋、交換和虛擬存儲):提高主存利用率、擴大進程的主存空間;存儲機構(gòu)的基本問題:分配、再定位、共享、保護、擴充。存儲分配問題
19、。 重點是研究存儲共享和各種分配算法。地址再定位問題。 研究各種地址變換機構(gòu), 以及靜態(tài)和動態(tài)再定位方法。存儲共享問題。 研究多個進程如何共享內(nèi)存。存儲保護問題。 研究保護各類程序、 數(shù)據(jù)區(qū)的方法。存儲擴充問題。 主要研究虛擬存儲器問題及其各種調(diào)度算法。 分配算法:連續(xù)性-離散性;駐留性-交換性;一次性-多次性連續(xù)性 離散性駐留性 交換性一次性 多次性防止地址越界:兩個寄存器地址再定位:靜態(tài)、動態(tài)靜態(tài)分配和靜態(tài)再定位程序中列出各個需要重定位的地址單元和相對地址值。當用戶程序被裝入內(nèi)存時,一次性實現(xiàn)邏輯地址到物理地址的轉(zhuǎn)換,以后不再轉(zhuǎn)換(一般在裝入內(nèi)存時由軟件完成)。即:裝入時根據(jù)所定位的內(nèi)存地
20、址去修改每個重定位地址項,添加相應偏移量。動態(tài)分配和動態(tài)再定位在程序執(zhí)行過程中,占用的存儲空間大小與位置均是可變的。程序中虛擬內(nèi)存地址,裝入和執(zhí)行時通過硬件地址變換機構(gòu),完成虛擬地址到實際內(nèi)存地址的變換。虛擬存儲的概念虛擬存儲器的基本思想是把作業(yè)地址空間和實際主存的存儲空間,視為兩個不同的概念。一個計算機系統(tǒng)采用一定技術(shù)為程序員提供了一個足夠大的地址空間,而完全不必考慮實際主存的大小。根據(jù)地址空間結(jié)構(gòu)不同, 虛擬存儲器有兩種形式。 單段式虛存多段式虛存五種存儲方式單一連續(xù) 分區(qū):固定,變動,再定位,多重分頁 分段 段頁式工作原理和差異性分配算法首次適應算法(First Fit: FF)-簡單將
21、自由區(qū)按存貯順序鏈成一個隊列,用一指針指向隊首,分配時將找到的第一個滿足要求的空白區(qū)分配給它。循環(huán)首次適應(Next fit: NF)將自由區(qū)組成環(huán)狀隊列,按循環(huán)順序?qū)ふ易杂蓞^(qū)。(與FF區(qū)別,頭指針從低地址開始向高地址循環(huán)移動)NF特點:使得小的自由區(qū)均勻分布,易于與其它自由區(qū)合并。最佳適應算法(Best fit: BF)將自由區(qū)按大小排成隊列,尋找時總是以最小的自由區(qū)開始,找到第一個合適的分區(qū)。特點:最佳地利用分區(qū),查找效率低,碎片多而小。要求:有四塊自由區(qū),為一程序分配19k內(nèi)存。最壞適應算法(Worst fit: WF)將自由區(qū)排序(按從大到小),并尋找最大自由區(qū)域進行分配。BF特點:不
22、會出現(xiàn)小的自由區(qū)。名空間 邏輯空間 存儲空間程序 邏輯地址(相對地址,虛地址) 物理地址(絕對地址,實地址)地址映射將用戶程序中的邏輯地址轉(zhuǎn)換為運行時由機器直接尋址的物理地址。當程序裝入內(nèi)存時, 操作系統(tǒng)要為該程序分配一個合適的內(nèi)存空間,由于程序的邏輯地址與分配到內(nèi)存物理地址不一致, 而CPU執(zhí)行指令時,是按物理地址進行的,所以要進行地址轉(zhuǎn)換。內(nèi)存緊縮將各個占用分區(qū)向內(nèi)存一端移動。使各個空閑分區(qū)聚集在另一端,然后將各個空閑分區(qū)合并成為一個空閑分區(qū)。對占用分區(qū)進行內(nèi)存數(shù)據(jù)搬移占用CPU時間如果對占用分區(qū)中的程序進行"浮動",則其重定位需要硬件支持。緊縮時機:每個分區(qū)釋放后,或
23、內(nèi)存分配找不到滿足條件的空閑分區(qū)時覆蓋引入:其目標是在較小的可用內(nèi)存中運行較大的程序。常用于多道程序系統(tǒng),與分區(qū)存儲管理配合使用。原理:一個程序的幾個代碼段或數(shù)據(jù)段,按照時間先后來占用公共的內(nèi)存空間。將程序必要部分(常用功能)的代碼和數(shù)據(jù)常駐內(nèi)存;可選部分(不常用功能)在其他程序模塊中實現(xiàn),平時存放在外存中(覆蓋文件),在需要時才裝入到內(nèi)存;不存在調(diào)用關(guān)系的模塊不必同時裝入到內(nèi)存,從而可以相互覆蓋。(即不同時用的模塊可共用一個分區(qū))缺點:編程時必須劃分程序模塊和確定程序模塊之間的覆蓋關(guān)系,增加編程復雜度。從外存裝入覆蓋文件,以時間延長來換取空間節(jié)省。交換引入:多個程序并發(fā)執(zhí)行,可以將暫時不能執(zhí)
24、行的程序送到外存中,從而獲得空閑內(nèi)存空間來裝入新程序,或讀入保存在外存中而目前到達就緒狀態(tài)的進程。交換單位為整個進程的地址空間。原理:暫停執(zhí)行內(nèi)存中的進程,將整個進程的地址空間保存到外存的交換區(qū)中,而將外存中由阻塞變?yōu)榫途w的進程的地址空間讀入到內(nèi)存中,并將該進程送到就緒隊列。優(yōu)點:增加并發(fā)運行的程序數(shù)目,并且給用戶提供適當?shù)捻憫獣r間;編寫程序時不影響程序結(jié)構(gòu);缺點:對換入和換出的控制增加處理機開銷;程序整個地址空間都進行傳送,沒有考慮執(zhí)行過程中地址訪問的統(tǒng)計特性。與覆蓋技術(shù)相比,交換技術(shù)不要求用戶給出程序段之間的邏輯覆蓋結(jié)構(gòu);而且,交換發(fā)生在進程或作業(yè)之間,而覆蓋發(fā)生在同一進程或作業(yè)內(nèi)。此外,
25、覆蓋只能覆蓋那些與覆蓋段無關(guān)的程序段。頁面變換表列出了作業(yè)的邏輯地址與其在主存中的物理地址間的對應關(guān)系快表訪問主存,首先必須訪問頁表,讀出表目,之后根據(jù)形成的實際地址再訪問主存。提高效率,加快速度-一組硬件寄存器,塊表(相聯(lián)存儲器)目的:存放當前訪問過的頁的表目,保存正在運行進程的頁表的子集(部分表項)。每次訪問主存時,首先查找快表,若找到所需的表目,則快速形成物理地址。否則從頁表中查找后形成物理地址,同時把頁描述子寫入快表。如果設計得當,快表的命中率可以很高置換算法當要放一頁面到全滿的主存塊時,系統(tǒng)需淘汰一頁。用來選取淘汰哪一頁的規(guī)則,叫置換算法。先進先出置換算法 最近最久未用置換算法(LR
26、U) 近似的LRU算法(NRU算法)顛簸(抖動) 在虛存中,頁面在內(nèi)存與外存之間頻繁調(diào)度,以至于調(diào)度頁面所需時間比進程實際運行的時間還多,此時系統(tǒng)效率急劇下降,甚至導致系統(tǒng)崩潰。這種現(xiàn)象稱為顛簸或抖動原因:頁面淘汰算法不合理分配給進程的物理頁面數(shù)太少功能三、設備管理目標:方便設備使用、提高CPU與I/O設備利用率;設備無關(guān)性:提供統(tǒng)一的I/O設備接口,使應用程序獨立于物理設備,提高可適應性;設備分配與回收:在多用戶間共享I/O設備資源。設備分配的三種方式:獨享、共享、虛擬技術(shù)。虛擬設備:設備由多個進程共享,每個進程如同獨占。設備的傳輸控制:利用設備驅(qū)動程序(通常在內(nèi)核中)完成對設備的操作。緩沖
27、區(qū)管理:匹配CPU和外設的速度,提高兩者的利用率。(SPOOLING技術(shù))I/O性能經(jīng)常成為系統(tǒng)性能的瓶頸CPU性能不等于系統(tǒng)性能:響應時間也是一個重要因素CPU性能越高,與I/O差距越大 彌補:更多的進程進程切換多,系統(tǒng)開銷大操作系統(tǒng)龐大復雜的原因操作系統(tǒng)龐大復雜的原因之一:資源多、雜,并發(fā),均來自I/O外設種類繁多,結(jié)構(gòu)各異輸入輸出數(shù)據(jù)信號類型不同速度差異很大設備管理的主要任務1) 選擇和分配設備以便進行數(shù)據(jù)傳輸操作;2) 控制設備和CPU(或內(nèi)存)之間交換數(shù)據(jù);3) 為用戶提供一個友好的透明接口;4) 提高設備和設備之間、CPU和設備之間以及進程和進程之間的并行操作度,以使操作系統(tǒng)獲得最
28、佳效率。設備的分類:分類的方式,虛設備(3)按資源分配角度分 獨占設備 在一段時間內(nèi)只能有一個進程使用的設備,一般為低速I/O設備(如打印機,磁帶等) 共享設備 在一段時間內(nèi)可有多個進程共同使用的設備,多個進程以交叉的方式來使用設備,其資源利用率高(如硬盤) 虛設備 在一類設備上模擬另一類設備,常用共享設備模擬獨占設備,用高速設備模擬低速設備,被模擬的設備稱為虛設備 目的:將慢速的獨占設備改造成多個用戶可共享的設備,提高設備的利用率(實例:SPOOLing技術(shù),利用虛設備技術(shù) 用硬盤模擬輸入輸出設備)設備控制器的組成:I/O邏輯(4)從數(shù)據(jù)傳輸率角度分 低速設備 指其傳輸速率僅為每秒鐘幾個字節(jié)
29、至數(shù)百個字節(jié)的一類設備。如鍵盤、 鼠標器、語音的輸入和輸出等設備。中速設備 指其傳輸速率在每秒鐘數(shù)千個字節(jié)至數(shù)萬個字節(jié)的一類設備。如行式打印機、激光打印機等。高速設備 指其傳輸速率在數(shù)百萬個字節(jié)至數(shù)十兆字節(jié)的一類設備。如磁帶機、 磁盤機、 光盤機等。通道獨立于中央處理器,專門負責數(shù)據(jù)I/O傳輸?shù)奶幚頇C它對外設實現(xiàn)統(tǒng)一代替CPU對I/O操作進行控制使CPU和外設可以并行工作通道又稱為I/O處理機引入通道的目的:為了使CPU從I/O事務中解脫出來同時為了提高CPU與設備、設備與設備之間的并行度DMA輸入/輸出軟件的層次結(jié)構(gòu):中斷處理程序設備驅(qū)動程序與設備無關(guān)的I/O軟件用戶層的輸入/輸出軟件數(shù)據(jù)傳
30、送控制方式:程序直接控制方式中斷方式DMA方式通道控制方式程序直接控制方式由處理器提供I/O相關(guān)指令來實現(xiàn)I/O處理單元處理請求并設置I/O狀態(tài)寄存器相關(guān)位不中斷處理器,也不給處理器警告信息處理器定期輪詢I/O單元的狀態(tài),直到處理完畢I/O軟件包含直接操縱I/O的指令控制指令: 用于激活外設,并告訴它做什么狀態(tài)指令: 用于測試I/O控制中的各種狀態(tài)和條件數(shù)據(jù)傳送指令: 用于設備和主存之間來回傳送數(shù)據(jù)主要缺陷:處理器必須關(guān)注I/O處理單元的狀態(tài),因而耗費大量時間輪詢信息,嚴重地降低了系統(tǒng)性能中斷方式為了解決程序控制I/O方法的主要問題,應該讓處理器從輪詢?nèi)蝿罩薪夥懦鰜?,使I/O操作和指令執(zhí)行并行
31、起來。 具體作法:當I/O處理單元準備好與設備交互的時候,通過物理信號通知處理器,即中斷處理器。DMA方式通道控制方式通道相當于一個功能簡單的處理機,包含通道指令(空操作,讀操作,寫操作,控制,轉(zhuǎn)移操作),并可執(zhí)行用這些指令編寫的通道程序控制方式的工作流程和差異設備驅(qū)動程序:地位設備密切相關(guān)的代碼放在設備驅(qū)動程序中,每個設備驅(qū)動程序處理一種設備類型每一個控制器都設有一個或多個設備寄存器,用來存放向設備發(fā)送的命令和參數(shù)。設備驅(qū)動程序負責釋放這些命令,并監(jiān)督它們正確執(zhí)行設備驅(qū)動程序的任務是接收來自與設備無關(guān)的上層軟件的抽象請求,并執(zhí)行這個請求。在設備驅(qū)動程序的進程釋放一條或多條命令后,系統(tǒng)有兩種處
32、理方式,多數(shù)情況下,執(zhí)行設備驅(qū)動程序的進程必須等待命令完成,這樣,在命令開始執(zhí)行后,它阻塞自已,直到中斷處理時將它解除阻塞為止。而在其它情況下,命令執(zhí)行不必延遲就很快完成設備獨立的軟件:范圍,功能,接口沒有標準的和有標準的驅(qū)動程序接口應用:1.獨立于設備的軟件的基本任務是實現(xiàn)所有設備都需要的功能,并且向用戶級軟件提供一個統(tǒng)一的接口2.如何給文件和設備這樣的對象命名是操作系統(tǒng)中的一個主要課題。獨立于設備的軟件負責把設備的符號名映射到正確的設備驅(qū)動上(linux上文件映射)3.設備保護:系統(tǒng)防止無權(quán)存取設備的用戶存取設備4.不同的磁盤可以采用不同的扇區(qū)尺寸。設備獨立軟件向較高層軟件掩蓋這一事實并提
33、供大小統(tǒng)一的塊尺寸。它可將若干扇區(qū)合成一個邏輯塊。較高層的軟件只與抽象設備打交道,獨立于物理扇區(qū)的尺寸而使用等長的邏輯塊5.緩沖技術(shù) 6.設備分配 7.出錯處理用戶層的IO軟件盡管大部分IO軟件都包含在操作系統(tǒng)中,但仍有一小部分是由與用戶程序連接在一起的庫過程,甚至完全由運行于核外的程序構(gòu)成。系統(tǒng)調(diào)用,包括IO系統(tǒng)調(diào)用,通常由庫過程實現(xiàn)這些過程所做的工作只是將系統(tǒng)調(diào)用時所用的參數(shù)放在合適的位置,由其它的IO過程實際實現(xiàn)真正的操作設備分配:設備分配與回收 當某進程向系統(tǒng)提出I/O請求時,設備分配程序按一定策略分配設備、控制器和通道,形成一條數(shù)據(jù)傳輸通路,以供主機和設備間信息交換強調(diào) 設備獨立性
34、即:不能因為設備的忙碌、故障或更換而影響程序的運行, 向用戶屏蔽物理設備, 呈現(xiàn)給用戶一個操作簡單的邏輯設備強調(diào) 抽象的I/O 操作 即:設計一類通用的I/O指令,它們的含義對不同類型設備作不同解釋,而且,在操作系統(tǒng)中,提供了若干I/O系統(tǒng)調(diào)用,由系統(tǒng)將抽象的I/O 操作映射到專門的設備驅(qū)動程序流程:設備控制表DCT、系統(tǒng)設備表SDT、控制器表COCT、通道控制表CHCTI/O控制和緩沖技術(shù):速度不匹配I/O控制過程在系統(tǒng)中可以按三種方式實現(xiàn)作為請求I/O操作的進程的一部分實現(xiàn)作為當前進程的一部分實現(xiàn)I/O控制由專門的系統(tǒng)進程 I/O進程完成:每類(個)設備設一專門的I/O進程,且該進程只能在
35、系統(tǒng)態(tài)下執(zhí)行整個系統(tǒng)設一I/O進程,全面負責系統(tǒng)的數(shù)據(jù)傳送工作每類(個)設備設一個專門的I/O進程,但該進程既可在用戶態(tài)也可在系統(tǒng)態(tài)下執(zhí)行(1) 緩沖技術(shù)的引入: 凡是數(shù)據(jù)到達和離去速度不匹配的地方均可采用緩沖技術(shù)在操作系統(tǒng)中采用緩沖是為了實現(xiàn)數(shù)據(jù)的I/O操作,以緩解CPU與外部設備之間速度不匹配的矛盾,提高資源利用率減少了I/O設備對處理器的中斷請求次數(shù)簡化了中斷機制節(jié)省了系統(tǒng)開銷(2)緩沖的種類 單緩沖 當用戶進程發(fā)出I/O請求時,操作系統(tǒng)在主存的系統(tǒng)空間為該操作分配一個緩沖區(qū),可以實現(xiàn)預讀和滯后寫 雙緩沖 可以實現(xiàn)用戶數(shù)據(jù)區(qū)緩沖區(qū)之間交換數(shù)據(jù)和緩沖區(qū)外設之間交換數(shù)據(jù)的并行 多緩沖: 多個
36、緩沖區(qū)連接起來組成兩部分(輸入和輸出) 緩沖池: (又稱循環(huán)緩沖) 多個緩沖區(qū)連接起來統(tǒng)一管理,既可輸入,也可輸出功能四、文件管理目標:解決軟件資源的存儲、共享、保密和保護。文件存儲空間管理:解決如何存放信息,以提高空間利用率和讀寫性能。目錄管理:解決信息檢索問題,方便用戶按名存取。文件的讀寫管理和存取控制:解決信息安全問題。系統(tǒng)設口令"哪個用戶"、用戶分類"哪個用戶組"、文件權(quán)限"針對用戶或用戶組的讀寫權(quán)"軟件管理:軟件的版本、相互依賴關(guān)系、安裝和拆除等文件和目錄:文件是指具有符號名的數(shù)據(jù)信息的集合結(jié)構(gòu):字節(jié)序列,記錄序列,樹類型:
37、可執(zhí)行文件,存檔文件存儲:順序存?。╯equential access):不允許跳過一部分內(nèi)容,也不能不順序存取。例如,磁帶。隨機存?。╮andom access):可直接訪問文件任意位置,read給出具體位置,seek操作設定當前位置。例如,數(shù)據(jù)庫操作:文件系統(tǒng)不應要求用戶必須了解文件的物理組織才能使用文件,而應方便用戶,提供給用戶按其邏輯組織形式來使用文件。分類:按文件用途分類系統(tǒng)文件、庫文件、用戶文件按文件中數(shù)據(jù)分類源文件、目標文件、可執(zhí)行文件按文件保護方式分類只讀文件、讀寫文件、不保護文件按文件保存時間分類臨時文件、永久文件文件的轉(zhuǎn)儲和恢復文件系統(tǒng)中不論是硬件還是軟件都會發(fā)生損壞和錯誤
38、,為使至關(guān)重要的系統(tǒng)文件萬無一失,應對保存在外存中的系統(tǒng)文件采取一些保護措施,如: “定期轉(zhuǎn)儲”。全量轉(zhuǎn)儲(backup)增量轉(zhuǎn)儲文件的恢復利用轉(zhuǎn)儲的文件進行恢復。(restore)物理轉(zhuǎn)儲:從磁盤的第0塊開始,將全部磁盤塊按順序輸出到存儲設備上,直到最后一塊復制完畢。邏輯轉(zhuǎn)儲:從一個或幾個指定的目錄開始,并遞歸的轉(zhuǎn)儲其自給定基準日期后,有所更改的全部文件和目錄。目錄的分級:一級,二級,多級,目的。(1)一級目錄結(jié)構(gòu) 為所有文件建立一個目錄文件(組成一線性表)優(yōu)點:簡單,易實現(xiàn)缺點:限制了用戶對文件的命名文件平均檢索時間長限制了對文件的共享(2)二級目錄結(jié)構(gòu) 為改變一級目錄文件目錄命名沖突,并
39、提高對目錄文件檢索速度而改進 目錄分為兩級:一級稱為主文件目錄,給出用戶名,用戶子目錄所在的物理位置;二級稱為用戶文件目錄(又稱用戶子目錄),給出該用戶所有文件的FCB文件的結(jié)構(gòu):物理結(jié)構(gòu),邏輯結(jié)構(gòu)優(yōu)點:解決了文件的重名問題和文件共享問題 用戶名|文件名 查找時間降低缺點:增加了系統(tǒng)開銷(3)多級目錄結(jié)構(gòu)(樹型目錄)優(yōu)點: 層次結(jié)構(gòu)清晰,便于管理和保護;有利于文件分類;解決重名問題;提高文件檢索速度;能進行存取權(quán)限的控制 缺點:查找一個文件按路徑名逐層檢查,由于每個文件都放在外存,多次訪盤影響速度連續(xù)、隨機、串聯(lián)的保存方式從系統(tǒng)的角度來看文件,從文件在物理介質(zhì)上的存放方式來研究文件(1)連續(xù)文
40、件(順序結(jié)構(gòu)) 文件的信息存放在若干連續(xù)的物理塊中 優(yōu)點: 簡單 支持順序存取和隨機存取 順序存取速度快 所需的磁盤尋道次數(shù)和尋道時間最少缺點: 文件不能動態(tài)增長 預留空間:浪費 重新分配和移動不利于文件插入和刪除外部碎片問題 存儲壓縮技術(shù)(2)串聯(lián)文件(鏈接結(jié)構(gòu)) 一個文件的信息存放在若干不連續(xù)的物理塊中,各塊之間通過指針連接,前一個物理塊指向下一個物理塊 優(yōu)點:提高了磁盤空間利用率,不存在外部碎片問題 有利于文件插入和刪除 有利于文件動態(tài)擴充缺點:存取速度慢,不適于隨機存取 可靠性問題,如指針出錯 更多的尋道次數(shù)和尋道時間 鏈接指針占用一定的空間鏈接結(jié)構(gòu)的一個變形:文件分配表FAT(3)隨
41、機文件(索引結(jié)構(gòu)) 直接地址結(jié)構(gòu)、索引地址結(jié)構(gòu)、計算尋址結(jié)構(gòu) 一個文件的信息存放在若干不連續(xù)物理塊中,系統(tǒng)為每個文件建立一個專用數(shù)據(jù)結(jié)構(gòu)-索引表,并將這些塊的塊號存放在一個索引表中 一個索引表就是磁盤塊地址數(shù)組,其中第i個條目指向文件的第i塊優(yōu)點: 保持了鏈接結(jié)構(gòu)的優(yōu)點,又解決了其缺點即能順序存取,又能隨機存取滿足了文件動態(tài)增長、插入刪除的要求能充分利用外存空間缺點:較多的尋道次數(shù)和尋道時間索引表本身帶來了系統(tǒng)開銷,如內(nèi)外存空間,存取時間FCB,磁盤空間管理管理手段:空白盤區(qū)鏈 ,空白盤區(qū)目錄 ,位示圖安全性和保護機制文件存取控制矩陣 ,文件存取控制表,用戶權(quán)限表 ,文件口令 ,文件加密磁盤存
42、儲器管理:主要任務分配空間提高磁盤儲存空間的利用率提高I/O速度保證文件系統(tǒng)的可靠性磁盤調(diào)度算法:先來先服務思想:根據(jù)進程請求訪問磁盤的先后次序進行調(diào)度。優(yōu)點:簡單,公平,不會出現(xiàn)長期得不到滿足的情況。缺點:平均尋道距離較大。效率不高,相臨兩次請求可能會造成最內(nèi)到最外的柱面尋道,使磁頭反復移動,增加了服務時間,對機械也不利。最短尋道時間優(yōu)先思想:優(yōu)先選擇距當前磁頭最近的訪問請求進行服務,主要考慮尋道優(yōu)先。優(yōu)點:每次尋道時間最短,改善了磁盤平均服務時間。缺點:饑餓現(xiàn)象,造成某些訪問請求長期等待得不到服務掃描算法思想:當設備無訪問請求時,磁頭不動;當有訪問請求時,磁頭按一個方向移動,在移動過程中對
43、遇到的訪問請求進行服務,然后判斷該方向上是否還有訪問請求,如果有則繼續(xù)掃描;否則改變移動方向,并為經(jīng)過的訪問請求服務,如此反復。優(yōu)點:克服了最短尋道優(yōu)先的缺點,既考慮了距離,同時又考慮了方向。循環(huán)掃描算法思想:總是從0號柱面開始向里掃描按照各自所要訪問的柱面位置的次序去選擇訪問者移動臂到達最后個一個柱面后,立即帶動讀寫磁頭快速返回到0號柱面返回時不為任何的等待訪問者服務返回后可再次進行掃描廉價冗余磁盤陣列:五種,使用的技術(shù)RAID0 數(shù)據(jù)分條技術(shù) 整個邏輯盤的數(shù)據(jù)被分散分布在多個物理盤上,并行讀寫。(沒有冗余能力) 至少兩個盤RAID1把一個磁盤的數(shù)據(jù)鏡像到另一個磁盤上。(兩個盤上實施,數(shù)據(jù)冗余)50%RAID0+1 4個盤 RAID3 3個盤(一個專為校驗盤) RAID5 無專門校驗盤,校驗數(shù)據(jù)分布在多個盤上 至少3個盤,(N-1)/N 一個磁盤故障時,控制器可從其他尚存的磁盤上重新恢復/生成丟失的數(shù)據(jù)而不影響數(shù)據(jù)的可用性功能五、用戶接口目標:提供一個友好的用戶訪問操作系統(tǒng)的接口。系統(tǒng)命令:供用戶用于
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 5G通信基站建設
- 交通運輸補充協(xié)議
- 實驗室隔音墻建設協(xié)議
- 體育館建設項目招投標檔案
- 電動汽車充電樁招投標文件
- 水上樂園租賃經(jīng)營合同
- 城市供電項目管理指南
- 律師事務所水電安裝施工合同
- 電纜材料廠道路安全管理
- 電影院欄桿裝修項目協(xié)議
- 2024年國家公務員考試行測(副省級)真題及答案解析
- 2023年中央機關(guān)遴選筆試真題及解析(B卷)
- 手機攝影PPT學習課件(攝影的七大要素)
- 多品種共線生產(chǎn)質(zhì)量風險評價
- 【MBA教學案例】從“蝦國”到“國蝦”:國聯(lián)水產(chǎn)的戰(zhàn)略轉(zhuǎn)型
- Unit-1--College-Life
- 醫(yī)院車輛加油卡管理制度
- 平面四桿機構(gòu)急回特性說課課件
- 安徽職業(yè)技術(shù)學院實驗實訓室建設管理辦法(試行)
- 崗位價值評估表(共4頁)
- 娃哈哈晶鉆水營銷策劃方案
評論
0/150
提交評論