版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
操作系統(tǒng)原理武漢大學(xué)計(jì)算機(jī)多媒體課程1、《操作系統(tǒng)原理》教材2、《操作系統(tǒng)原理實(shí)驗(yàn)大綱》指導(dǎo)教材3、《操作系統(tǒng)課件》多媒體教案
課程使用的媒體一、操作系統(tǒng)的有關(guān)概念二、進(jìn)程管理三、存儲(chǔ)器管理計(jì)算機(jī)發(fā)展簡史操作系統(tǒng)的發(fā)展過程計(jì)算機(jī)發(fā)展簡史
按硬件發(fā)展劃分為四代。對計(jì)算規(guī)律的模擬存儲(chǔ)程序式計(jì)算機(jī)存儲(chǔ)程序式計(jì)算機(jī)模型存儲(chǔ)程序式計(jì)算機(jī)模型的基本方案是,如要使計(jì)算機(jī)能夠自動(dòng)地計(jì)算,必須有一個(gè)存儲(chǔ)器用來存儲(chǔ)程序和數(shù)據(jù);同時(shí)要有一個(gè)運(yùn)算器,用以執(zhí)行指定的操作;有一個(gè)控制器,以便實(shí)現(xiàn)自動(dòng)操作;另外,輔以輸入/輸出部件,以便輸入原始數(shù)據(jù)和輸出計(jì)算結(jié)果。于是形成了現(xiàn)代計(jì)算機(jī)的基本組成形式。如圖1.1所示。圖1.1存儲(chǔ)程序計(jì)算機(jī)的組成操作系統(tǒng)的發(fā)展過程
按技術(shù)發(fā)展與分支劃分類別操作系統(tǒng)的類型
早期批處理 執(zhí)行系統(tǒng) 多道成批系統(tǒng) 分時(shí)、實(shí)時(shí)系統(tǒng)、個(gè)人機(jī)系統(tǒng) 多處理機(jī)、分布式系統(tǒng)無操作系統(tǒng)的計(jì)算機(jī)從第一代計(jì)算機(jī)誕生到20世紀(jì)50年代中期還未出現(xiàn)操作系統(tǒng),這時(shí)的計(jì)算機(jī)采用人工操作方式。其過程是:
圖1.2手工操作計(jì)算機(jī)單道批處理系統(tǒng)與多道批處理系統(tǒng)及執(zhí)行系統(tǒng)所謂批處理系統(tǒng)是指加載在計(jì)算機(jī)上的一個(gè)系統(tǒng)軟件,在它的控制下,計(jì)算機(jī)能夠自動(dòng)地成批地處理一個(gè)或多個(gè)用戶的作業(yè)。首先出現(xiàn)的是聯(lián)機(jī)批處理系統(tǒng)。如下圖所示。脫離主機(jī)控制的輸入/輸出批處理系統(tǒng)
在外設(shè)處理數(shù)據(jù)時(shí),主機(jī)處理“忙等”狀態(tài),這樣高速的主機(jī)與慢速的外設(shè)矛盾就顯現(xiàn)出來。為了克服與緩解主機(jī)與外設(shè)的矛盾。我們引入脫機(jī)批處理系統(tǒng),即脫離主機(jī)控制的輸入/輸出批處理系統(tǒng)。如圖1.4所示。圖1.4脫機(jī)批處理系統(tǒng)在單道批處理系統(tǒng)中,內(nèi)存中僅有一道作業(yè),中斷和通道技術(shù)出現(xiàn)以后,雖然可以實(shí)現(xiàn)輸入/輸出設(shè)備與中央處理機(jī)并行操作,但由于屬于同一道作業(yè)的可并發(fā)執(zhí)行的進(jìn)程不多,大多數(shù)進(jìn)程是有同步關(guān)系的,這使系統(tǒng)中仍有較多的空閑資源,致使系統(tǒng)的性能較差。為了進(jìn)一步提高資源的利用率和系統(tǒng)對作業(yè)的吞吐量,在60年代中期,引入了多道程序設(shè)計(jì)技術(shù),由此而形成了多道批處理系統(tǒng)。單道程序與多道程序的執(zhí)行過程如圖1.5和圖1.6所示。
在操作系統(tǒng)中引入多道程序設(shè)計(jì)技術(shù)以后,會(huì)使系統(tǒng)具有以下特征。(1)多道性
(2)無序性
(3)宏觀上并行、微觀上串行
(4)調(diào)度性
分時(shí)系統(tǒng)分時(shí)技術(shù)是把處理機(jī)的時(shí)間分成很短的時(shí)間片,這些時(shí)間片輪流地分配給各個(gè)聯(lián)機(jī)的各作業(yè)使用。如果某作業(yè)在分配給它的時(shí)間片用完時(shí)仍未完成,則該作業(yè)就暫時(shí)中斷,等待下一輪運(yùn)行,并把處理機(jī)的控制權(quán)讓給另一個(gè)作業(yè)使用。這樣在一個(gè)相對較短的時(shí)間間隔內(nèi),每個(gè)用戶作業(yè)都能得到快速響應(yīng),以實(shí)現(xiàn)人機(jī)交互。分時(shí)系統(tǒng)與多道批處理系統(tǒng)相比,具有完全不同的特征,由上所述可以歸納成以下幾點(diǎn):(1)多路性
(2)獨(dú)立性
(3)及時(shí)性
(4)交互性
什么是操作系統(tǒng)操作系統(tǒng)的性質(zhì)
操作系統(tǒng)是控制和管理計(jì)算機(jī)系統(tǒng)內(nèi)各種硬件和軟件資源、有效地組織多道程序運(yùn)行的系統(tǒng)軟件(或程序集合),是用戶與計(jì)算機(jī)之間的接口。以下軟件哪些是操作系統(tǒng)?UNIXWordDOSVBOfficeFoxProWindows98WindowsNTLinuxPowerPoint以下軟件是操作系統(tǒng):
UNIXDOSLinuxWindows98WindowsNT設(shè)置OS的目的擴(kuò)充機(jī)器功能,方便用戶使用。提高系統(tǒng)效率。操作系統(tǒng)的共同性質(zhì)1、從功能上看具有五大功能----存儲(chǔ)器管理、處理機(jī)管理、設(shè)備管理、文件管理、用戶接口2、從層次上看是裸機(jī)之上的第一層軟件,為其他軟件的建立和運(yùn)行提供基礎(chǔ)。
裸機(jī)操作系統(tǒng)其他軟件...用戶1。4節(jié)3、從服務(wù)上看提供眾多基礎(chǔ)服務(wù),方便用戶使用,構(gòu)成軟件平臺(tái)。4、從內(nèi)部特征上看---支持并發(fā)性---實(shí)現(xiàn)資源共享---完成進(jìn)程的異步前進(jìn)以多道成批系統(tǒng)為例并發(fā)共享不確定性1.3OS的服務(wù)功能程序執(zhí)行I/O操作文件系統(tǒng)管理出錯(cuò)檢測資源分配統(tǒng)計(jì)保護(hù)一系統(tǒng)調(diào)用是應(yīng)用程序與OS的接口進(jìn)程或作業(yè)控制:實(shí)現(xiàn)進(jìn)程或作業(yè)的所有活動(dòng)文件管理和設(shè)備管理信息維護(hù):用戶與系統(tǒng)交互信息二系統(tǒng)程序文件管理狀態(tài)信息文件修改程序設(shè)計(jì)語言支持程序裝入與執(zhí)行工具性軟件命令解釋程序的實(shí)現(xiàn)方法1.5操作系統(tǒng)邏輯結(jié)構(gòu)設(shè)計(jì)
分層實(shí)現(xiàn)的軟件設(shè)計(jì)方法1.5操作系統(tǒng)邏輯結(jié)構(gòu)設(shè)計(jì)單塊結(jié)構(gòu)層次結(jié)構(gòu):分層實(shí)現(xiàn)的軟件設(shè)計(jì)方法.虛擬機(jī)客戶/服務(wù)器模型:再用戶進(jìn)程方式下實(shí)現(xiàn)系統(tǒng)的多數(shù)功能;核心只負(fù)責(zé)客戶與服務(wù)器的通信;適用于分布式系統(tǒng);注意對關(guān)鍵基礎(chǔ)服務(wù)的處理.1。8UNIX系統(tǒng)的特點(diǎn)和結(jié)構(gòu)UNIX的主要特點(diǎn)UNIX系統(tǒng)結(jié)構(gòu)UNIX系統(tǒng)核心結(jié)構(gòu)一、操作系統(tǒng)的有關(guān)概念二、進(jìn)程管理三、存儲(chǔ)器管理進(jìn)程概念程序的順序執(zhí)行
與并發(fā)執(zhí)行
程序的順序執(zhí)行 概念 一個(gè)程序由若干個(gè)程序段組成,而這些程序段的執(zhí)行必須是順序的,這種程序執(zhí)行的方式就稱為程序的順序執(zhí)行。 例如:程序順序執(zhí)行的特點(diǎn)1順序性
處理機(jī)嚴(yán)格按照程序所規(guī)定的順序執(zhí)行,即每個(gè)操作必須在下一個(gè)操作開始之前結(jié)束。2封閉性 程序一旦開始執(zhí)行,其計(jì)算結(jié)果不受外界的影響,當(dāng)程序的初始條件給定之后,其后的狀態(tài)只能由程序本身確定,即只有本程序才能改變它。
程序順序執(zhí)行的特點(diǎn)(續(xù))3可再現(xiàn)性 程序執(zhí)行的結(jié)果與初始條件有關(guān),而與執(zhí)行時(shí)間無關(guān)。即只要程序的初始條件相同,它的執(zhí)行結(jié)果是相同的,不論它在什么時(shí)間執(zhí)行,也不管計(jì)算機(jī)的運(yùn)行速度。O=f(I),f是與時(shí)間無關(guān)的函數(shù)
程序的并發(fā)執(zhí)行例: 在系統(tǒng)中有n個(gè)作業(yè),每個(gè)作業(yè)都有三個(gè)處理步驟,輸入數(shù)據(jù)、處理、輸出,即Ii,Ci,Pi(i=1,2,3,...,n)。 這些作業(yè)系統(tǒng)中執(zhí)行時(shí)是對時(shí)間的偏序,有些操作必須在其它操作之前執(zhí)行,這是有序的,但有些操作是可以同時(shí)執(zhí)行的。
程序的并發(fā)執(zhí)行 例如:P1與I2,C1與I2,I3與P1是可以同時(shí)執(zhí)行的。 I1、C1、P1的執(zhí)行必須嚴(yán)格按照I1,C1,P1的順序。 I1、I2、I3、I4輪流使用同一輸入設(shè)備。時(shí)間資源程序的并發(fā)執(zhí)行定義
若干個(gè)程序段同時(shí)在系統(tǒng)中運(yùn)行,這些程序的執(zhí)行在時(shí)間上是重迭的,一個(gè)程序段的執(zhí)行尚未結(jié)束,另一個(gè)程序段的執(zhí)行已經(jīng)開始,即使這種重迭是很小的,也稱這幾個(gè)程序段是并發(fā)執(zhí)行的。
程序的并發(fā)執(zhí)行分析
優(yōu)點(diǎn):程序的并發(fā)執(zhí)行提高了資源的利用率。
注意有限制規(guī)則: 同一作業(yè)的處理步驟的執(zhí)行必須嚴(yán)格按照規(guī)定的順序; 同一獨(dú)占資源上的不同作業(yè)的處理步驟不能同時(shí)執(zhí)行。程序的順序執(zhí)行與并發(fā)執(zhí)行
假設(shè)有一個(gè)程序由S0~Sn+1個(gè)語句,先順序執(zhí)行S0,然后并發(fā)執(zhí)行S1~Sn語句,最后順序執(zhí)行Sn+1。程序并發(fā)執(zhí)行的特點(diǎn)一、失去了程序的封閉性 程序A程序Bn:=0;……………打印nn:=n+1;K1K2S 如果程序執(zhí)行的結(jié)果是一個(gè)與時(shí)間無關(guān)的函數(shù),即具有封閉性。程序B打印0程序B打印1
程序并發(fā)執(zhí)行的特點(diǎn)二、程序與計(jì)算不再一一對應(yīng)
在程序順序執(zhí)行時(shí),一個(gè)程序總是對應(yīng)一個(gè)具體的計(jì)算,但在程序的并發(fā)執(zhí)行時(shí),可能有多用戶共享使用同一個(gè)程序,但處理(計(jì)算)的對象卻是不同的,例如,在多用戶環(huán)境下,可能同時(shí)有多個(gè)用戶調(diào)用C語言的編譯程序,這就是典型的一個(gè)程序?qū)?yīng)多個(gè)用戶源程序的情況。
程序并發(fā)執(zhí)行的特點(diǎn)程序與計(jì)算不再一一對應(yīng)示例
程序A程序B……CallC……CallC程序C…程序A和B在執(zhí)行過程中都調(diào)用了程序C
程序并發(fā)執(zhí)行的特點(diǎn)三、程序并發(fā)執(zhí)行可以相互制約
在多道程序設(shè)計(jì)的環(huán)境下,程序是并發(fā)執(zhí)行的。即系統(tǒng)中有多道程序在“同時(shí)”執(zhí)行,這些程序之間要共享系統(tǒng)的資源,程序之間有合作(通信)的關(guān)系。合作與競爭產(chǎn)生一系列的矛盾,這些矛盾實(shí)際上是一種相互制約,有直接的,也有間接。 注意區(qū)別不能同時(shí)與有先后次序兩種制約。
程序并發(fā)執(zhí)行的特點(diǎn)程序并發(fā)執(zhí)行的相互制約示例
并發(fā)活動(dòng)——進(jìn)程的引人操作系統(tǒng)的特性之一是并發(fā)與共享,即在系統(tǒng)中(內(nèi)存)同時(shí)存在幾個(gè)相互獨(dú)立的程序,這些程序在系統(tǒng)中既交叉地運(yùn)行,又要共享系統(tǒng)中的資源,這就會(huì)引起一系列的問題,包括:對資源的競爭、運(yùn)行程序之間的通信、程序之間的合作與協(xié)同等符。要解決這些問題,用程序的概念已經(jīng)不能描述程序在內(nèi)存中運(yùn)行的狀態(tài),必須引人新的概念--進(jìn)程。進(jìn)程的定義行為的一個(gè)規(guī)則叫做程序,程序在處理機(jī)上執(zhí)行時(shí)所發(fā)生的活動(dòng)稱為進(jìn)程(Dijkstra)。進(jìn)程是這樣的計(jì)算部分,它是可以和其它計(jì)算并行的一個(gè)計(jì)算。(Donovan)進(jìn)程(有時(shí)稱為任務(wù))是一個(gè)程序與其數(shù)據(jù)一道通過處理機(jī)的執(zhí)行所發(fā)生的活動(dòng)。(Alan.C.Shaw)進(jìn)程是執(zhí)行中的程序。(KenThompsonandDennisRitchie)進(jìn)程,即是程序在并發(fā)環(huán)境中的執(zhí)行過程。進(jìn)程與程序的區(qū)別(1)進(jìn)程是動(dòng)態(tài)概念;程序是靜態(tài)概念進(jìn)程具有并發(fā)性,宏觀上同時(shí)運(yùn)行;程序本身具有順序性,程序的并發(fā)執(zhí)行是通過進(jìn)程實(shí)現(xiàn)的進(jìn)程具有獨(dú)立性,是一個(gè)能獨(dú)立運(yùn)行的單位,是系統(tǒng)資源分配的基本單位,是運(yùn)行調(diào)度的基本單位;程序本身沒有此特性進(jìn)程與程序的區(qū)別(2)進(jìn)程和程序無一一對應(yīng)關(guān)系,一個(gè)進(jìn)程可順序執(zhí)行多個(gè)程序;一個(gè)程序可由多個(gè)進(jìn)程共用進(jìn)程異步前進(jìn),會(huì)相互制約;程序不具備此特性進(jìn)程實(shí)體具有一定結(jié)構(gòu),組成進(jìn)程映象;程序沒有這種結(jié)構(gòu)進(jìn)程與程序的區(qū)別示例例子: 光盤(CD、VCD、DVD)光盤(程序)-放光盤的活動(dòng)(進(jìn)程)理解進(jìn)程概念進(jìn)程的運(yùn)行狀態(tài)及其變遷進(jìn)程的組成進(jìn)程映像進(jìn)程環(huán)境進(jìn)程的運(yùn)行狀態(tài)及其變遷進(jìn)程在系統(tǒng)中的活動(dòng)規(guī)律是: 執(zhí)行-暫停-執(zhí)行進(jìn)程的運(yùn)行狀態(tài)反映進(jìn)程的動(dòng)態(tài)性。進(jìn)程的三種基本狀態(tài):運(yùn)行狀態(tài)就緒狀態(tài)封鎖狀態(tài)(又稱不可運(yùn)行、掛起)進(jìn)程的三種基本狀態(tài)運(yùn)行狀態(tài):進(jìn)程得到CPU控制權(quán),它的程序正在運(yùn)行。(在系統(tǒng)中,總只有一個(gè)進(jìn)程處于此狀態(tài))就緒狀態(tài):已經(jīng)準(zhǔn)備就緒,一旦得到CPU,就立即可以運(yùn)行。(有多個(gè)進(jìn)程處于此狀態(tài))封鎖狀態(tài):正在等待某個(gè)事件的發(fā)生(如等待I/O的完成),而暫停執(zhí)行,這時(shí),即使給它CPU時(shí)間,它也無法執(zhí)行。進(jìn)程的狀態(tài)變化就緒運(yùn)行掛起??PCB程序數(shù)據(jù)集合進(jìn)程的組成基本內(nèi)容的確定?進(jìn)程與PCB的關(guān)系每個(gè)進(jìn)程有唯一的PCB系統(tǒng)中所有進(jìn)程都有自己的PCB操作系統(tǒng)依據(jù)PCB管理進(jìn)程進(jìn)程與PCB的關(guān)系操作系統(tǒng)利用PCB實(shí)現(xiàn)進(jìn)程的動(dòng)態(tài)和并發(fā)PCB是進(jìn)程存在的唯一標(biāo)志Pcb表組織a…b…-1…pcb1N個(gè)pcb2…………pcbiPcb-addr?空間大小??UNIX的進(jìn)程映像進(jìn)程狀態(tài)變遷關(guān)系進(jìn)程映像:PCB的實(shí)現(xiàn)、核心棧與用戶棧(圖2-10UNIX進(jìn)程映像結(jié)構(gòu))進(jìn)程環(huán)境用戶級環(huán)境寄存器環(huán)境系統(tǒng)級環(huán)境1、進(jìn)程與程序的區(qū)別2、進(jìn)程的組成3、進(jìn)程的同步與互斥進(jìn)程控制原語Fork()Wait(stat_addr)Exitexec進(jìn)程在活動(dòng)中會(huì)相互制約所有進(jìn)程都是相互獨(dú)立的進(jìn)程以異步方式并發(fā)執(zhí)行同步同步是進(jìn)程間共同完成一項(xiàng)任務(wù)時(shí)直接發(fā)生相互作用的關(guān)系——同步進(jìn)程間具有合作關(guān)系——在執(zhí)行時(shí)間上必須按一定的順序協(xié)調(diào)進(jìn)行互斥互斥是并發(fā)執(zhí)行的多個(gè)進(jìn)程由于競爭同一資源而產(chǎn)生的相互排斥的關(guān)系——互斥進(jìn)程彼此在邏輯上是完全無關(guān)的
——它們的運(yùn)行不具有時(shí)間 次序的特征——臨界資源和臨界區(qū)——信號量——P、V操作臨界資源一次僅允許一個(gè)進(jìn)程使用的共享資源如:打印機(jī)、內(nèi)存單元、表格臨界區(qū)在每個(gè)進(jìn)程中訪問臨界資源的那段程序有限進(jìn)入原則唯一原則有限離開原則進(jìn)程間的通信——臨界資源和臨界區(qū)——信號量——P、V操作信號量信號量是一種數(shù)據(jù)結(jié)構(gòu)一般由兩個(gè)成員組成:數(shù)值指針?信號量一般說來,信號量的值與相應(yīng)資源的使用情況有關(guān)信號量的值僅由P、V操作改變進(jìn)程間的通信——臨界資源和臨界區(qū)——信號量——P、V操作P、V操作都是原語P:申請一個(gè)單位資源(P47)V:釋放一個(gè)單位資源(P47)P操作P(s):若S<0,入等待隊(duì)列若S>=0,繼續(xù)取s值減1V操作V(s):若S<=0,喚醒一等待隊(duì)列進(jìn)程若S>0,繼續(xù)取s值加1用P、V原語實(shí)現(xiàn)互斥例:打印機(jī)分配互斥信號量mutex(初值為1)Pa為分配進(jìn)程Pb為釋放進(jìn)程Pa:...P(mutex)分配打印機(jī)(讀寫分配表)V(mutex)...Pb:...P(mutex)釋放打印機(jī)(讀寫分配表)V(mutex)...用P、V原語實(shí)現(xiàn)簡單同步例:供者和用者對單緩沖區(qū)的同步信號量:S1——緩沖區(qū)空否(初值為1)S2——緩沖區(qū)滿否(初值為0)供者進(jìn)程L1:P(S1)啟動(dòng)讀卡機(jī)…收到輸入結(jié)束中斷
V(S2)gotoL1用者進(jìn)程L2:P(S2)從緩沖區(qū)取出信息…
V(S1)gotoL2用P、V原語實(shí)現(xiàn)同步設(shè)上例中緩沖區(qū)容量為n,分析信號燈的設(shè)置與狀態(tài)變化范圍(生產(chǎn)者-消費(fèi)者問題P49)
其它進(jìn)程通信方式信號量集方式管程消息緩沖通信UNIX中的進(jìn)程通信Sleep和wakeup進(jìn)程跟蹤S_5的ipc:消息機(jī)制,共享內(nèi)存,信號量。處理機(jī)管理目標(biāo):提高CPU的有效運(yùn)行時(shí)間如何實(shí)現(xiàn)? 根據(jù)CPU的特點(diǎn)和進(jìn)程管理的需要來設(shè)計(jì)管理方法CPU資源的特點(diǎn)是一種時(shí)間資源具有唯一性與獨(dú)占性影響系統(tǒng)效率的關(guān)鍵因素進(jìn)程運(yùn)行的必備資源CPU效率的影響因素并發(fā) 總有請求CPU的進(jìn)程CPU時(shí)間分片 在效率與交互性上權(quán)衡現(xiàn)場交換代價(jià) 只做必須做的工作處理機(jī)的二級調(diào)度宏觀作業(yè)調(diào)度:算法復(fù)雜、間隔長、宏觀環(huán)境微觀進(jìn)程調(diào)度:算法簡單、調(diào)度頻繁、微觀狀態(tài)作業(yè)調(diào)度作業(yè)調(diào)度的主要任務(wù)是完成作業(yè)從后備狀態(tài)到執(zhí)行狀態(tài)和從執(zhí)行狀態(tài)到完成狀態(tài)的轉(zhuǎn)變。作業(yè)調(diào)度功能:記錄已進(jìn)入系統(tǒng)的各作業(yè)的情況(JCB,JobControlBlock);按一定的調(diào)度算法,從后備作業(yè)中選擇一個(gè)或幾個(gè)作業(yè)進(jìn)入系統(tǒng)內(nèi)存;為被選中的作業(yè)創(chuàng)建進(jìn)程,并且為其申請系統(tǒng)資源;作業(yè)加束后作善后處理工作。作業(yè)控制塊(JCB)每個(gè)作業(yè)進(jìn)入系統(tǒng)時(shí)由系統(tǒng)為其建立一個(gè)作業(yè)控制塊JCB(JobControlBlock),它是存放作業(yè)控制和管理信息的數(shù)據(jù)結(jié)構(gòu),主要信息見下圖。調(diào)度性能的衡量作業(yè)調(diào)度算法規(guī)定了從后備作業(yè)中選擇作業(yè)進(jìn)入系統(tǒng)內(nèi)存的原則,這些原則的性能如何,就是本節(jié)所討論的問題。確定調(diào)度算法時(shí)應(yīng)考慮的因素應(yīng)與系統(tǒng)的整體設(shè)計(jì)目標(biāo)一致考慮系統(tǒng)中各種資源的負(fù)載均勻保證作業(yè)的執(zhí)行對一些專用資源的使用特性的考慮調(diào)度性能的衡量調(diào)度性能的衡量通常采用平均周轉(zhuǎn)時(shí)間和帶權(quán)平均周轉(zhuǎn)時(shí)間作業(yè)的周轉(zhuǎn)時(shí)間:ti=tci-tsiti:作業(yè)周轉(zhuǎn)時(shí)間tci:作業(yè)完成時(shí)間tsi:作業(yè)提交時(shí)間調(diào)度性能的衡量先來先服務(wù)調(diào)度
算法和短作業(yè)優(yōu)先調(diào)度算法進(jìn)程調(diào)度調(diào)度與進(jìn)程控制和進(jìn)程通信的功能有密切的聯(lián)系,當(dāng)一個(gè)進(jìn)程阻塞時(shí),這種進(jìn)程將進(jìn)入相應(yīng)的等待隊(duì)列中,并讓出CPU,調(diào)用進(jìn)程分派程序選擇一個(gè)就緒進(jìn)程占用CPU;當(dāng)一進(jìn)程被喚醒時(shí),這種進(jìn)程將插入到就緒進(jìn)程隊(duì)列中。在一般的操作系統(tǒng)教材中把上述功能稱為進(jìn)程調(diào)度。調(diào)度/分派結(jié)構(gòu)處理機(jī)分配由調(diào)度和分派兩個(gè)功能組成。調(diào)度:組織和維護(hù)就緒進(jìn)程隊(duì)列。包括確定調(diào)度算法、按調(diào)度算法組織和維護(hù)就緒進(jìn)程隊(duì)列。分派:是指當(dāng)處理機(jī)空閑時(shí),從就緒隊(duì)列隊(duì)首中移一個(gè)PCB,并將該進(jìn)程投入運(yùn)行。調(diào)度/分派結(jié)構(gòu)pcb1schedulersuspwakeupreceive…pcb2pcb3pcb4…dispatchercpuReady-qpcb5調(diào)度/分派結(jié)構(gòu)pcb2schedulersuspwakeupreceive…pcb5pcb3pcb4…dispatchercpu分開Ready-qpcb1進(jìn)程調(diào)度功能保護(hù)現(xiàn)場入就緒隊(duì)列算法實(shí)現(xiàn)處理機(jī)分派恢復(fù)現(xiàn)場進(jìn)程調(diào)度的功能記錄和保持系統(tǒng)中所有進(jìn)程的有關(guān)情況和狀態(tài)特征
有關(guān)進(jìn)程調(diào)度的信息是記錄在PCB中的,在進(jìn)程調(diào)度中用到的主要是進(jìn)程的狀態(tài)、調(diào)度優(yōu)先級(優(yōu)先數(shù))、就緒進(jìn)程隊(duì)列等。進(jìn)程調(diào)度的功能決定分配(處理機(jī))策略確定進(jìn)程調(diào)度的策略,例如,先來先服務(wù)、優(yōu)先數(shù)調(diào)度策略,調(diào)度策略的不同,組織就緒進(jìn)程隊(duì)列的方式也不同。先來先服務(wù)調(diào)度策略,就緒隊(duì)列要按等待時(shí)間大到小的順序排隊(duì);優(yōu)先數(shù)調(diào)度,則就緒進(jìn)程隊(duì)列要按優(yōu)先數(shù)的升療(或降序)的方式排隊(duì)。等等。進(jìn)程調(diào)度的功能實(shí)施處理機(jī)的分配總而言之,進(jìn)程調(diào)度包括:調(diào)度算法的選擇(調(diào)度算法)調(diào)度時(shí)機(jī)的選擇(調(diào)度時(shí)機(jī))實(shí)施進(jìn)程調(diào)度(調(diào)度程序)進(jìn)程調(diào)度的功能調(diào)度時(shí)機(jī)(UNIX系統(tǒng)中):(1)進(jìn)程自動(dòng)放棄處理機(jī):當(dāng)進(jìn)程進(jìn)入高低優(yōu)先級睡眠狀態(tài)時(shí)
(在sleep()程序中);在進(jìn)程進(jìn)入暫停狀態(tài)時(shí)(在stop()程序中);進(jìn)程進(jìn)入僵死狀態(tài)時(shí)(在exit()程序中);進(jìn)程調(diào)度的功能在中斷自陷總控程序中,當(dāng)先前態(tài)是用戶態(tài),且runrun標(biāo)志大于0,則進(jìn)行強(qiáng)迫調(diào)度,強(qiáng)行剝奪現(xiàn)運(yùn)行進(jìn)程的處理機(jī),轉(zhuǎn)進(jìn)程調(diào)度程序。runrun標(biāo)志大于0是說明系統(tǒng)中處于就緒狀態(tài)的進(jìn)程的優(yōu)先級高于現(xiàn)運(yùn)行進(jìn)程的優(yōu)先級,這時(shí)要進(jìn)行強(qiáng)迫調(diào)度,出現(xiàn)這種情況有兩種可能:高低優(yōu)先級睡眠進(jìn)程被喚醒后其優(yōu)先級高于現(xiàn)運(yùn)行進(jìn)程;當(dāng)一個(gè)進(jìn)程占用一段時(shí)間的CPU后,它的優(yōu)先級要降低,造成現(xiàn)運(yùn)行進(jìn)程的優(yōu)先級低于系統(tǒng)中的其它就緒進(jìn)程(時(shí)間片到是其中的一種情況)。(2)強(qiáng)迫調(diào)度調(diào)度方式優(yōu)先數(shù)高者進(jìn)程是否搶占正在運(yùn)行進(jìn)程資源非剝奪方式剝奪方式選擇可搶占策略:優(yōu)先數(shù)+搶占標(biāo)志(u,v)進(jìn)程調(diào)度的功能實(shí)施進(jìn)程調(diào)度的程序稱為進(jìn)程調(diào)度程序(或稱調(diào)度程序),在通常的操作系統(tǒng)原理中,該程序?qū)儆谙到y(tǒng)進(jìn)程的執(zhí)行程序,有的操作系統(tǒng)是把進(jìn)程調(diào)度程序作一個(gè)特別的處理,如早期的操作系統(tǒng)中把進(jìn)程調(diào)度程序稱為交通控制程序,不屬于系統(tǒng)中的任何進(jìn)程。在UNIX系統(tǒng)中,進(jìn)程調(diào)度程序swtch()分屬個(gè)不同的進(jìn)程,即調(diào)用swtch()的進(jìn)程、讓出處理機(jī)的進(jìn)程、0進(jìn)程、被調(diào)度到的進(jìn)程。調(diào)度性能的衡量選擇策略時(shí)考慮因素整體目標(biāo)、負(fù)載均衡、資源特性、用戶滿意調(diào)度性能指標(biāo)平均周轉(zhuǎn)時(shí)間,平均帶權(quán)周轉(zhuǎn)時(shí)間CPU利用率吞吐量就緒等待時(shí)間響應(yīng)時(shí)間調(diào)度策略先來先服務(wù)調(diào)度短作業(yè)優(yōu)先調(diào)度響應(yīng)比高者優(yōu)先調(diào)度優(yōu)先數(shù)調(diào)度均衡調(diào)度多級隊(duì)列法多級反饋隊(duì)列法進(jìn)程優(yōu)先數(shù)調(diào)度算法優(yōu)先數(shù)調(diào)度算法是目前操作系統(tǒng)廣泛采用的一種進(jìn)程調(diào)度算法,這種算法按照某種原則由系統(tǒng)(或用戶、或系統(tǒng)與用戶結(jié)合)賦予每個(gè)進(jìn)程一個(gè)優(yōu)先數(shù),在處理機(jī)空閑時(shí),進(jìn)程調(diào)度程序就從就緒進(jìn)程中選擇一個(gè)優(yōu)先數(shù)最大(或者最?。┑倪M(jìn)程占用CPU(該進(jìn)程就從就緒狀態(tài)轉(zhuǎn)換成運(yùn)行狀態(tài))。采用這種調(diào)度算法的關(guān)鍵是如何確定進(jìn)程的優(yōu)先數(shù)、一個(gè)進(jìn)程的優(yōu)先數(shù)確定之后是固定的,還是隨著該進(jìn)程運(yùn)行的情況的變化而變化。進(jìn)程優(yōu)先數(shù)調(diào)度算法靜態(tài):進(jìn)程的優(yōu)先數(shù)在進(jìn)程創(chuàng)建時(shí)確定后就不再變化確定進(jìn)程優(yōu)先數(shù):系統(tǒng)確定:(運(yùn)行時(shí)間、使用資源,進(jìn)程的類型)用戶確定:(緊迫程度,計(jì)費(fèi)與進(jìn)程優(yōu)先數(shù)有關(guān))系統(tǒng)與用戶結(jié)合(用戶可以為本用戶的進(jìn)程設(shè)置優(yōu)先數(shù),但不是作調(diào)度用,系統(tǒng)還要根據(jù)系統(tǒng)情況把用戶設(shè)置的進(jìn)程優(yōu)先數(shù)作為確定進(jìn)程優(yōu)先數(shù)的一個(gè)參數(shù))進(jìn)程優(yōu)先數(shù)調(diào)度算法動(dòng)態(tài)進(jìn)程優(yōu)先數(shù):
系統(tǒng)在運(yùn)行的過程中,根據(jù)系統(tǒng)的設(shè)計(jì)目標(biāo),不斷地調(diào)整進(jìn)程的優(yōu)先數(shù),這種方法的優(yōu)點(diǎn)是能比較客觀地反映進(jìn)程的實(shí)際情況和保證達(dá)到系統(tǒng)設(shè)計(jì)目標(biāo)。循環(huán)輪轉(zhuǎn)調(diào)度算法時(shí)間片完,入隊(duì)列末端;q=t/n簡單循環(huán)輪轉(zhuǎn)調(diào)度可變時(shí)間片輪轉(zhuǎn)調(diào)度多重時(shí)間片循環(huán)調(diào)度循環(huán)輪轉(zhuǎn)調(diào)度循環(huán)輪轉(zhuǎn)調(diào)度實(shí)際上是一種先來先服務(wù)算法的調(diào)度算法,它把系統(tǒng)的響應(yīng)時(shí)間分成大小相等(或不相等)的時(shí)間單位,稱為時(shí)間片。每個(gè)進(jìn)程被調(diào)度到后,占用一個(gè)時(shí)間片,片用完后,該進(jìn)程讓出CPU,由運(yùn)行狀態(tài)轉(zhuǎn)換成就緒狀態(tài),排在就緒隊(duì)列的隊(duì)尾。多個(gè)進(jìn)程循環(huán)輪轉(zhuǎn)。循環(huán)輪轉(zhuǎn)調(diào)度循環(huán)輪轉(zhuǎn)調(diào)度系統(tǒng)按進(jìn)程轉(zhuǎn)換成就緒狀態(tài)的時(shí)間的降序排隊(duì),調(diào)度程序每次調(diào)度,總是從隊(duì)首移出一程的PCB,然后,將此進(jìn)程投入運(yùn)行(由就緒狀態(tài)轉(zhuǎn)換成運(yùn)行狀態(tài))。一個(gè)運(yùn)行時(shí)間片到的進(jìn)程從運(yùn)行狀態(tài)轉(zhuǎn)換成就緒狀態(tài)后,排在就緒隊(duì)列的隊(duì)尾。評價(jià):優(yōu)點(diǎn)是實(shí)現(xiàn)簡單、系統(tǒng)開銷小缺點(diǎn)是不靈活,當(dāng)系統(tǒng)中進(jìn)程較少時(shí),系統(tǒng)開銷變大。 為什么?由于該算法簡單易于實(shí)現(xiàn),且系統(tǒng)開銷較小,早期的分時(shí)操作系統(tǒng)和目前一些應(yīng)用系統(tǒng)中廣泛采用了這種調(diào)度算法。循環(huán)輪轉(zhuǎn)調(diào)度可變時(shí)間片輪轉(zhuǎn)調(diào)度為了克服前種調(diào)度算法的缺點(diǎn),人們設(shè)計(jì)出一種可變時(shí)間片的調(diào)度算法,其思想是:時(shí)間片的大小是可變的,系統(tǒng)可根據(jù)系統(tǒng)中當(dāng)前的進(jìn)程數(shù)來確定時(shí)間片的大小。這種算法從理論上克服了系統(tǒng)中進(jìn)程數(shù)很少時(shí)系統(tǒng)開銷大的缺點(diǎn),但修改時(shí)間片的大小,統(tǒng)計(jì)系統(tǒng)進(jìn)程的數(shù)量也需要消耗系統(tǒng)時(shí)間,還有一個(gè)調(diào)整時(shí)間片大小的周期,太大,等于是固定時(shí)間片,太小,系統(tǒng)開銷很大,得不嘗失。調(diào)度用的進(jìn)程狀態(tài)變遷圖在這個(gè)圖中新創(chuàng)建的進(jìn)程進(jìn)入低優(yōu)就緒狀態(tài),一個(gè)運(yùn)行進(jìn)程因時(shí)間片到(實(shí)際上是計(jì)算量大的進(jìn)程)而轉(zhuǎn)換成低優(yōu)就緒;進(jìn)程因等待I/O完成而轉(zhuǎn)換高優(yōu)就緒.調(diào)度用的進(jìn)程狀態(tài)變遷圖調(diào)度程序首先看高優(yōu)就緒進(jìn)程隊(duì)列是否為空,若不為空,則從高優(yōu)就緒進(jìn)程中選擇一個(gè)進(jìn)程占用CPU,否則,從低優(yōu)就緒隊(duì)列中選擇。這種調(diào)度效果能充分地利用系統(tǒng)資源。為什么?UNIX系統(tǒng)的進(jìn)程調(diào)度狀態(tài)變遷圖,與前一種調(diào)度變遷圖有著異曲同功的效果。調(diào)度用進(jìn)程狀態(tài)變遷圖中就緒運(yùn)行等待1低就緒高就緒等待2UNIX中的進(jìn)程調(diào)度進(jìn)程調(diào)度:調(diào)度時(shí)機(jī),調(diào)度算法Shell工作原理系統(tǒng)初啟UNIX系統(tǒng)的進(jìn)程調(diào)度UNIX調(diào)度算法我們從調(diào)度算法、調(diào)度時(shí)機(jī)、調(diào)度程序三個(gè)方面來分析UNIX系統(tǒng)的進(jìn)程調(diào)度。調(diào)度算法
UNIX系統(tǒng)采用優(yōu)先數(shù)調(diào)度算法,每個(gè)進(jìn)程有一個(gè)進(jìn)程優(yōu)先數(shù),p_pri是proc結(jié)構(gòu)中的一個(gè)變量,其取值范圍是-127~127,其值越小,進(jìn)程的優(yōu)先級越高(即,調(diào)度程序總是從就緒狀態(tài)的進(jìn)程中選擇一個(gè)優(yōu)先數(shù)最小的進(jìn)程占用CPU)。UNIX調(diào)度算法優(yōu)先數(shù)的確定:系統(tǒng)設(shè)置在進(jìn)程進(jìn)入睡眠狀態(tài)時(shí),在SLEEP()中設(shè)置將要進(jìn)入睡眠狀態(tài)進(jìn)程的優(yōu)先數(shù),當(dāng)該進(jìn)程被喚醒后,就以系統(tǒng)給它設(shè)置的優(yōu)先數(shù)去參與處理機(jī)的竟?fàn)?。UNIX調(diào)度算法進(jìn)程進(jìn)入高優(yōu)先級睡眠的原因:(1)0#進(jìn)程(-100優(yōu)先數(shù));(2)因資源請求得不到滿足的進(jìn)程,磁盤(-80),打印機(jī)(-20),…;(3)等待塊設(shè)備I/O完成的進(jìn)程,(-50)。進(jìn)程進(jìn)入低優(yōu)先級睡眠的原因:(1)因等待字符設(shè)備I/O完成的進(jìn)程,(0~20的優(yōu)先數(shù));(2)所有處于用戶態(tài)運(yùn)行進(jìn)程,優(yōu)先數(shù)一般情況下為大于100。這樣做的目的是為什么?為使系統(tǒng)資源得到充分的利用,換句話說,是為了提高系統(tǒng)資源的使用效率。UNIX調(diào)度算法優(yōu)先數(shù)的計(jì)算計(jì)算公式:p_pri={127,(p_cpu/16+p_nice+PUSER)其中:
p_cpu進(jìn)程占用CPU的程度p_nice用戶通過系統(tǒng)調(diào)用nice(priority)設(shè)置的進(jìn)程優(yōu)先數(shù)。PUSER常數(shù),其值為100UNIX調(diào)度算法UNIX調(diào)度算法UNIX系統(tǒng)的設(shè)計(jì)者采用了一個(gè)巧妙的方法,既避免了繁雜的統(tǒng)計(jì)工作,也不需做浮點(diǎn)運(yùn)行算。(這就是我們要學(xué)習(xí)的工程能力,或稱分析問題和解決問題的能力,學(xué)會(huì)和記往一兩個(gè)科學(xué)的定理和公式并不難,難的是怎樣將這些普遍的理論用于實(shí)際的工程之中,UNIX系統(tǒng)中有很多值得我們學(xué)習(xí)的地方,對p_cpu的處理就是其中之一,這里并不要求把UNIX中的p_cpu的處理完全記住,而是要通過對它的了解,學(xué)會(huì)處理實(shí)際工程問題的方法。)UNIX調(diào)度算法UINX系統(tǒng)中對p_cpu的處理:
每個(gè)時(shí)鐘中斷:p_cpu++;每秒鐘(時(shí)鐘中斷):if(p_cpu-SCHMAG<0)p_cpu=0;其中:SCHMAG調(diào)度魔數(shù)10在計(jì)算p_pri的公式中,PUSER是個(gè)常數(shù),由于用戶不可能頻繁地設(shè)置進(jìn)程的優(yōu)先數(shù),所以p_nice實(shí)際上也是個(gè)常數(shù),那么決定p_pri的實(shí)際上就是p_cpu。根據(jù)UNIX系統(tǒng)與調(diào)度算法可得出如下的一個(gè)負(fù)反饋的過程,從這個(gè)過程中可看出什么?UNIX調(diào)度算法這種負(fù)反饋的效果使得系統(tǒng)中在用戶態(tài)下運(yùn)行的進(jìn)程能均衡地得到處理機(jī),達(dá)到UNIX系統(tǒng)的設(shè)計(jì)目標(biāo)。(UNIX系統(tǒng)什么設(shè)計(jì)目標(biāo)?)UNIX調(diào)度算法計(jì)算優(yōu)先數(shù)的時(shí)機(jī)在UNIX系統(tǒng)中什么時(shí)候計(jì)算進(jìn)程的優(yōu)先數(shù)?計(jì)算哪些進(jìn)程的優(yōu)先數(shù)?會(huì)不會(huì)改變系統(tǒng)設(shè)置的進(jìn)程的優(yōu)先數(shù)?UNIX調(diào)度算法計(jì)算進(jìn)程優(yōu)先數(shù)的時(shí)機(jī):在時(shí)鐘中斷處理程序中,每秒末計(jì)算滿足下面條件進(jìn)程的優(yōu)先數(shù):p_pri>PUSER現(xiàn)運(yùn)行進(jìn)程在自陷處理程序trap()末尾重新計(jì)算本進(jìn)程的優(yōu)先數(shù).目的:調(diào)用nice()設(shè)置的本進(jìn)程的優(yōu)先數(shù)p_nice的改變反映到p_pri中去;現(xiàn)運(yùn)行進(jìn)程在執(zhí)行時(shí)鐘中斷處理程序時(shí),若發(fā)現(xiàn)中斷前為用戶態(tài),則每隔1秒鐘重新計(jì)算本進(jìn)程的優(yōu)先數(shù)。因?yàn)楝F(xiàn)運(yùn)行進(jìn)程已經(jīng)占用了一些CPU的時(shí)間,要反映到p_pri中去。UNIX調(diào)度算法這三種重新計(jì)算(調(diào)整)進(jìn)程優(yōu)先數(shù)都沒有修改由系統(tǒng)設(shè)置的進(jìn)程優(yōu)先數(shù),從而保證了處于核心態(tài)的進(jìn)程能盡快地得到CPU,使得系統(tǒng)資源(設(shè)備)能得到充分地利用,提高了系統(tǒng)資源的使用效率,而計(jì)算進(jìn)程的優(yōu)先數(shù)又使得系統(tǒng)中所有處于用戶態(tài)的進(jìn)程能較均衡地占用CPU,保證了各用戶終端的響應(yīng)時(shí)間,實(shí)現(xiàn)了分時(shí)操作系統(tǒng)的特性。UNIX調(diào)度時(shí)機(jī)調(diào)度時(shí)機(jī)(UNIX系統(tǒng)中):1)進(jìn)程自動(dòng)放棄處理機(jī)在進(jìn)程進(jìn)入高低優(yōu)先級睡眠狀態(tài)時(shí)(在sleep()程序中);在進(jìn)程進(jìn)入暫停狀態(tài)時(shí)(在stop()程序中);進(jìn)程進(jìn)入僵死狀態(tài)時(shí)(在exit()程序中);2)強(qiáng)迫調(diào)度在中斷自陷總控程序中,當(dāng)先前態(tài)是用戶態(tài),且runrun標(biāo)志大于0,則進(jìn)行強(qiáng)迫調(diào)度,強(qiáng)行剝奪現(xiàn)運(yùn)行進(jìn)程的處理機(jī),轉(zhuǎn)進(jìn)程調(diào)度程序。UNIX調(diào)度時(shí)機(jī)Runrun標(biāo)志大于0是說明系統(tǒng)中處于就緒狀態(tài)的進(jìn)程的優(yōu)先級高于現(xiàn)運(yùn)行進(jìn)程的優(yōu)先級,這時(shí)要進(jìn)行強(qiáng)迫調(diào)度,出現(xiàn)這種情況有兩種可能:高低優(yōu)先級睡眠進(jìn)程被喚醒后其優(yōu)先級高于現(xiàn)運(yùn)行進(jìn)程;當(dāng)一個(gè)進(jìn)程占用一段時(shí)間的CPU后,它的優(yōu)先級要降低,造成現(xiàn)運(yùn)行進(jìn)程的優(yōu)先級低于系統(tǒng)中的其它就緒進(jìn)程(時(shí)間片到是其中的一種情況)。UNIX系統(tǒng)調(diào)度程序UNIX系統(tǒng)中的進(jìn)程調(diào)度程序是swtch,所以,在絕大多數(shù)關(guān)于UNIX系統(tǒng)的文獻(xiàn)中稱為進(jìn)程切換程序。UNIX調(diào)度程序UNIX調(diào)度程序UNIX系統(tǒng)的進(jìn)程調(diào)度程序有以下特點(diǎn):1.swtch()程序分屬三個(gè)不同的進(jìn)程:調(diào)用它的程序(即將讓出處理機(jī)的進(jìn)程)0號進(jìn)程被選中的進(jìn)程2.調(diào)度程序中屬于0號進(jìn)程的那段程序是在0號進(jìn)程處于睡眠狀態(tài)下執(zhí)行的,這一點(diǎn)非常特別,在操作系統(tǒng)中,僅此一例。
資源分配與調(diào)度資源管理概述資源分配機(jī)構(gòu)資源分配策略死鎖問題資源管理概述簡便、有效的使用資源資源管理任務(wù)資源分類統(tǒng)一的實(shí)現(xiàn)機(jī)制——機(jī)構(gòu)和策 略 資源分類物理資源與程序資源單入口資源與多入口資源等同資源虛擬資源 資源分配機(jī)構(gòu)資源描述器rd(P103)資源信息塊等待隊(duì)列頭指針可利用資源隊(duì)列頭指針資源分配程序入口地址ribpcb1rd1…………所有rd在同一隊(duì)列?資源信息塊資源分配策略觸發(fā)時(shí)機(jī)分配策略實(shí)質(zhì)排對站管理等同資源選取一、先請求先服務(wù)按請求發(fā)生的先后次序排隊(duì)總能調(diào)度簡單迅速短作業(yè)響應(yīng)比問題二、優(yōu)先調(diào)度按優(yōu)先數(shù)的大小次序排隊(duì)靈活設(shè)計(jì)多排隊(duì)站優(yōu)先數(shù)設(shè)計(jì)問題三、適應(yīng)調(diào)度按工作集的大小次序排隊(duì)主存與CPU合作效率最大工作集的動(dòng)態(tài)計(jì)算問題實(shí)現(xiàn)的復(fù)雜度四、均衡調(diào)度按系統(tǒng)資源空閑的大小次序動(dòng)態(tài)調(diào)度系統(tǒng)效率最大負(fù)載均衡不適合細(xì)化處理五、針對設(shè)備特性的調(diào)度按設(shè)備特性次序排隊(duì)(P107)服務(wù)時(shí)間最短旋轉(zhuǎn)排序死鎖問題
概念起因分析解決方法預(yù)防死鎖概念并發(fā)與競爭部分滿足死鎖(P109)死鎖起因分析資源稀缺、鼓勵(lì)競爭聯(lián)合推進(jìn)路線(P110)進(jìn)程-資源有向圖(P111)死鎖起因死鎖必要條件死鎖起因資源不足進(jìn)程推進(jìn)順序非法死鎖必要條件
資源互斥使用不剝奪條件部分分配環(huán)路條件死鎖解決方法假脫機(jī)技術(shù)可搶占的進(jìn)程調(diào)度策略靜態(tài)分配資源動(dòng)態(tài)有控分配檢測并修復(fù)死鎖預(yù)防有序資源分配法(P118題)銀行算法(P115)預(yù)先分配資源一、操作系統(tǒng)的有關(guān)概念二、進(jìn)程管理三、存儲(chǔ)器管理
Cpu與主存
獨(dú)占微觀獨(dú)占,宏觀共享概念存儲(chǔ)器storage,memory能接收數(shù)據(jù)和保存數(shù)據(jù)、而且能根據(jù)命令提供這些數(shù)據(jù)的裝置。概念存儲(chǔ)器分成兩類:內(nèi)存儲(chǔ)器(簡稱內(nèi)存、主存、物理存儲(chǔ)器)處理機(jī)能直接訪問的存儲(chǔ)器。用來存放系統(tǒng)和用戶的程序和數(shù)據(jù),其特點(diǎn)是存取速度快,存儲(chǔ)方式是以新?lián)Q舊,斷電信息丟失。存儲(chǔ)器的層次結(jié)構(gòu)存儲(chǔ)系統(tǒng)設(shè)計(jì)三個(gè)問題:容量、速度和成本容量:需求無止境速度:能匹配處理器的速度成本問題:成本和其它部件相比應(yīng)在合適范圍之內(nèi)容量、速度和成本三個(gè)目標(biāo)不可能同時(shí)達(dá)到最優(yōu),要作權(quán)衡存取速度快,每比特價(jià)格高容量大,每比特價(jià)格越低,同時(shí)存取速度也越慢解決方案:采用層次化的存儲(chǔ)體系結(jié)構(gòu)當(dāng)沿著層次下降時(shí)每比特的價(jià)格將下降,容量將增大速度將變慢,處理器的訪問頻率也將下降層次化的存儲(chǔ)體系結(jié)構(gòu)存儲(chǔ)訪問局部性原理提高存儲(chǔ)系統(tǒng)效能關(guān)鍵點(diǎn):程序存儲(chǔ)訪問局部性原理程序執(zhí)行時(shí),有很多的循環(huán)和子程序調(diào)用,一旦進(jìn)入這樣的程序段,就會(huì)重復(fù)存取相同的指令集合對數(shù)據(jù)存取也有局部性,在較短的時(shí)間內(nèi),穩(wěn)定地保持在一個(gè)存儲(chǔ)器的局部區(qū)域處理器主要和存儲(chǔ)器的局部打交道,在經(jīng)過一段時(shí)間以后,使用的代碼和數(shù)據(jù)集合會(huì)改變概念程序的邏輯結(jié)構(gòu)程序地址:用戶編程序時(shí)所用的地址(或稱邏輯地址、虛地址),基本單位可與內(nèi)存的基本單位相同,也可以不相同。程序地址空間(邏輯地址空間、虛地址空間):用戶的程序地址的集合稱為邏輯地址空間,它的編址總是從0開始的,可以是一維線性空間,也可以是多維空間。程序的邏輯組織內(nèi)存組織方式:一維線性 程序組織方式:一維線性二維段式(模塊化、分級保護(hù)、動(dòng)態(tài)連接)codedataheapstack程序2虛地址空間data2stack1code1heap1code2stack2data1heap2OScodeOSdataOSheap&stacks程序1虛地址空間codedataheapstack內(nèi)存地址轉(zhuǎn)換
重定位把邏輯地址轉(zhuǎn)變?yōu)閮?nèi)存的物理地址的過程
物理主存與邏輯主存用戶程序默認(rèn)主存地址0--k-1,實(shí)際對應(yīng)n--n+k-1
相對地址(或邏輯地址)用戶程序經(jīng)編譯之后的每個(gè)目標(biāo)模塊都以0為基地址順序編址,這種地址稱為相對地址LOAD1,50012345LOAD1,5001234501005007005000510055005700程序A的地址空間程序A的內(nèi)存空間..................
絕對地址(或物理地址)內(nèi)存中各物理存儲(chǔ)單元的地址是從統(tǒng)一的基地址順序編址,這種地址稱為絕對地址主存映射方式建立虛-實(shí)地址間的對應(yīng)關(guān)系編程或編譯時(shí)確定地址映射關(guān)系(不能浮動(dòng))靜態(tài)地址映射(一次浮動(dòng))動(dòng)態(tài)地址映射靜態(tài)地址映射靜態(tài)地址映射是在程序裝入內(nèi)存時(shí)完成從邏輯地址到物理地址的轉(zhuǎn)換的。在一些早期的系統(tǒng)中都有一個(gè)裝入程序(加載程序),它負(fù)責(zé)將用戶程序裝入系統(tǒng),并將用戶程序中使用的訪問內(nèi)存的邏輯地址轉(zhuǎn)換成物理地址。如左圖所示。評價(jià):優(yōu)點(diǎn)是實(shí)現(xiàn)簡單,不要硬件的支持。缺點(diǎn)是程序一旦裝入內(nèi)存,移動(dòng)就比較困難。有時(shí)間上的浪費(fèi)。在程序裝入內(nèi)存時(shí)要將所有訪問內(nèi)存的地址轉(zhuǎn)換成物理地址。靜態(tài)地址映射動(dòng)態(tài)地址映射動(dòng)態(tài)地址映射是由硬件地執(zhí)行時(shí)完成的,程序中不執(zhí)行的程序就不做地址映射的工作,這樣節(jié)省了CPU的時(shí)間。重定位寄存器的內(nèi)容由操作系統(tǒng)用特權(quán)指令來設(shè)置,比較靈活。實(shí)現(xiàn)動(dòng)態(tài)地址映射必須有硬件的支持,并有一定的執(zhí)行時(shí)間延遲?,F(xiàn)代計(jì)算機(jī)系統(tǒng)中都采用動(dòng)態(tài)地址映射技術(shù)。動(dòng)態(tài)地址映射動(dòng)態(tài)地址映射是在程序執(zhí)行時(shí)由系統(tǒng)硬件完成從邏輯地址到物理地址的轉(zhuǎn)換的。系統(tǒng)中設(shè)置了重定位寄存器。存儲(chǔ)管理的功能(1)內(nèi)存分配——為每個(gè)進(jìn)程分配一定的內(nèi)存空間(2)地址映射——把程序中所用的相對地址轉(zhuǎn)換成內(nèi)存的物理地址存儲(chǔ)管理的功能(3)內(nèi)存保護(hù)——檢查地址的合法性,防止越界訪問(4)內(nèi)存擴(kuò)充——解決“求大于供”的問題,采用虛擬存儲(chǔ)技術(shù)主存共享方式按區(qū)分配——按邏輯分頁分配——按物理內(nèi)存分配在多道程序設(shè)計(jì)的環(huán)境中,內(nèi)存分配的功能包括:制定分配策略、構(gòu)造分配用的數(shù)據(jù)結(jié)構(gòu)、響應(yīng)系統(tǒng)的內(nèi)存分配的請求和回收系統(tǒng)釋放的內(nèi)存區(qū)。內(nèi)存管理策略有三種:放置策略決定內(nèi)存中放置信息的區(qū)域(或位置),即如何在若干個(gè)空閑區(qū)中選擇一個(gè)或幾個(gè)空閑區(qū)的原則;調(diào)入策略決定信息裝入內(nèi)存的時(shí)機(jī),有兩種:在用戶請求時(shí)調(diào)入,稱為請調(diào);根據(jù)某種算法,確定系統(tǒng)將要使用的信息,并在執(zhí)行前預(yù)先調(diào)入內(nèi)存,稱為預(yù)調(diào);淘汰策略當(dāng)內(nèi)存不足時(shí),決定將某些信息調(diào)出內(nèi)存的策略。分區(qū)存貯管理固定分區(qū)分配動(dòng)態(tài)分區(qū)分配(p96)分區(qū)分配放置策略合適的概念首次適應(yīng)算法最佳適應(yīng)算法最壞適應(yīng)算法
碎片問題(緊縮)存儲(chǔ)保護(hù)方法上下界防護(hù)基址、限長寄存器保護(hù)存儲(chǔ)保護(hù)兩種存儲(chǔ)保護(hù)技術(shù)的區(qū)別1、寄存器的設(shè)置不同;2、判別式中用的判別條件不同上下界寄存器保護(hù)法用的是物理地址基址、限長寄存器保護(hù)法用的是程序的邏輯地址對于合法的訪問地址這兩者的效率是相同的,對不合法的訪問地址來說,上下界存儲(chǔ)保護(hù)浪費(fèi)的CPU時(shí)間相對來說要多些。多道程序?qū)Q技術(shù)以用戶為單位獨(dú)占內(nèi)存如何減少對換信息量?部分換出與恢復(fù)提供虛存問題的提出物理存儲(chǔ)器的結(jié)構(gòu)是個(gè)一維的線性空間,容量是有限的。用戶程序結(jié)構(gòu):一維空間一個(gè)用戶程序就是一個(gè)程序,并且程序和數(shù)據(jù)是不分離的;二維空間
程序由主程序和若干個(gè)子程序(或函數(shù))組成,并且程序與數(shù)據(jù)是分離的;n維空間即一個(gè)大型程序,由一個(gè)主模塊和多個(gè)子模塊組成,其中,各子模塊又由主程序和子程序(或函數(shù))組成。用戶程序的大小,可能比內(nèi)存容量小,也可能比內(nèi)存容量大,有時(shí)候要大得多。提供虛存如何將與物理內(nèi)存結(jié)構(gòu)不同,且大于物理內(nèi)存容量的用戶程序裝入運(yùn)行?這就是提出研究虛擬存儲(chǔ)器的原因,或稱為虛擬存儲(chǔ)技術(shù)發(fā)展的原動(dòng)力。提供虛存虛擬存儲(chǔ)器
為用戶提供一種不受物理存儲(chǔ)器結(jié)構(gòu)和容量限制的存儲(chǔ)器的技術(shù)稱為虛擬存儲(chǔ)器,或稱虛擬存儲(chǔ)技術(shù)。它是用戶編程時(shí)所使用的一種用戶思維中的存儲(chǔ)器,它可以是任何結(jié)構(gòu)(一維線性空間、二維空間、乃至n維空間),并沒有容量的限制?,F(xiàn)代計(jì)算機(jī)操作系統(tǒng)都采用了這種技術(shù),使得用戶編程序時(shí)不需要考慮物理內(nèi)存的結(jié)構(gòu)和容量,極大地方便了用戶。虛擬存儲(chǔ)器需要大容量的外存儲(chǔ)器的支持,或稱物資基礎(chǔ)。虛擬存儲(chǔ)器的基本特征(1)虛擬擴(kuò)充——不是物理上,而是邏輯上擴(kuò)充了內(nèi)存容量(2)部分裝入——每個(gè)作業(yè)(進(jìn)程)不是全部一次性地裝入內(nèi)存,而是只裝入其一部分虛擬存儲(chǔ)器的基本特征(3)離散分配——每個(gè)作業(yè)(進(jìn)程)裝入內(nèi)存的那部分不必占用連續(xù)的內(nèi)存空間,而是“見縫插針”虛擬存儲(chǔ)器的基本特征(4)多次對換——在一個(gè)進(jìn)程運(yùn)行期間,它所需的全部程序和數(shù)據(jù)要分成多次調(diào)入內(nèi)存虛擬主存的優(yōu)點(diǎn)透明使用主存方便存儲(chǔ)保護(hù)程序可浮動(dòng)充分利用主存
分頁存貯管理
頁式系統(tǒng)頁式地址變換請調(diào)策略淘汰策略頁式存儲(chǔ)管理頁式系統(tǒng)應(yīng)解決的問題分區(qū)存儲(chǔ)管理的主要問題是碎片問題。在采用分區(qū)存儲(chǔ)管理的系統(tǒng)中,會(huì)形成一些非常小的分區(qū),最終這些非常小的分區(qū)不能被系統(tǒng)中的任何用戶(程序)利用而浪費(fèi)。造成這樣問題的主要原因是用戶程序裝入內(nèi)存時(shí)是整體裝入的,為解決這個(gè)問題,提出了分頁存儲(chǔ)管理技術(shù)。分頁的概念程序地址空間分成大小相等的頁面,同時(shí)把內(nèi)存也分成與頁面大小相等的塊,當(dāng)一個(gè)用戶程序裝入內(nèi)存時(shí),以頁面為單位進(jìn)行分配。頁面的大小是為2n,通常為1KB,2KB,nKB等。頁式地址變換頁表:虛頁-物理塊對照表虛地址結(jié)構(gòu):頁號+偏移頁式地址變換分地址-查頁表-合地址
頁式地址變換虛地址結(jié)構(gòu)(程序字)虛地址是用戶程序中的邏輯地址,它包括頁號和頁內(nèi)地址(頁內(nèi)位移)。區(qū)分頁號和頁內(nèi)地址的依椐是頁的大小,頁內(nèi)地址占虛地址的低位部分,頁號占虛地址的高位部分。假定頁面大小1024字節(jié),虛地址共占用2個(gè)字節(jié)(16位)頁號頁內(nèi)地址(位移量)PW151090頁式地址變換-虛地址結(jié)構(gòu)頁式地址變換頁式地址變換頁式地址映射虛地址(邏輯地址、程序地址)以十六進(jìn)制、八進(jìn)制、二進(jìn)制的形式給出將虛地址轉(zhuǎn)換成二進(jìn)制的數(shù);按頁的大小分離出頁號和位移量(低位部分是位移量,高位部分是頁號);根據(jù)題意產(chǎn)生頁表;將位移量直接復(fù)制到內(nèi)存地址寄存器的低位部分;以頁號查頁表,得到對應(yīng)頁裝入內(nèi)存的塊號,并將塊號轉(zhuǎn)換成二進(jìn)制數(shù)填入地址寄存器的高位部分,從而形成內(nèi)存地址。頁式地址變換頁式地址映射虛地址以十進(jìn)制數(shù)給出頁號=虛地址%頁大小位移量=虛地址mod頁大小根據(jù)題意產(chǎn)生頁表;以頁號查頁表,得到對應(yīng)頁裝入內(nèi)存的塊號內(nèi)存地址=塊號×頁大?。灰屏空堈{(diào)策略問題的提出在頁式存儲(chǔ)管理提高了內(nèi)存的利用效率,但并不為用戶提供虛存,換句話說,當(dāng)一個(gè)用戶程序的頁數(shù)大于當(dāng)前總空閑內(nèi)存塊數(shù)時(shí),系統(tǒng)就不能將該程序裝入運(yùn)行。即用戶程序?qū)⑹艿轿锢韮?nèi)存大小的限制。為了解決這個(gè)問題,人們提出請求分頁存儲(chǔ)管理技術(shù)。請調(diào)策略請求分頁概念請求分頁技術(shù)當(dāng)一個(gè)用戶程序要調(diào)入內(nèi)存時(shí),不是將該程序全部裝入內(nèi)存,而是只裝入部分頁到內(nèi)存,就可啟動(dòng)程序運(yùn)行,在運(yùn)行的過程中,如果發(fā)現(xiàn)要運(yùn)行的程序或要訪問數(shù)據(jù)不在內(nèi)存,則向系統(tǒng)發(fā)出缺頁中斷請求,系統(tǒng)在處理這個(gè)中斷時(shí),將在外存相應(yīng)的頁調(diào)入內(nèi)存,該程序繼續(xù)運(yùn)行。請求分頁的基本思想(1)請求分頁=分頁+請求
邏輯空間分頁物理空間分塊頁與塊同樣大頁連續(xù)塊離散用頁號查頁表硬件做重定位分頁請求分頁的基本思想(2)作業(yè)部分裝入內(nèi)存(3)作業(yè)所占的內(nèi)存塊不連續(xù)(4)硬件通過頁表生成訪問內(nèi)存的地址
請求分頁的基本思想(5)若發(fā)生缺頁,則進(jìn)行缺頁中斷處理,將該頁調(diào)入內(nèi)存(6)利用快表可以加速地址轉(zhuǎn)換
缺頁中斷處理:請調(diào)為了實(shí)現(xiàn)請求分頁技術(shù),頁表應(yīng)增加相應(yīng)的內(nèi)容,反映該頁是否在內(nèi)存,在外存的位置,在內(nèi)存的時(shí)間的長短等。中斷位:0表示該頁在內(nèi)存,1示該頁不在內(nèi)存引用位:0表示最近沒有進(jìn)程訪問,1示最近有進(jìn)程訪問修改位:0該頁調(diào)入內(nèi)存后沒有修改,1頁調(diào)入內(nèi)存后修改過缺頁中斷處理的硬件支持采用相應(yīng)技術(shù)加快頁表的查詢速度在頁式存儲(chǔ)技術(shù)中,我們可看到每訪問一次內(nèi)存,就要做兩次訪問內(nèi)存的工作,即,查頁表時(shí)要作一次訪問內(nèi)存的工作,然后是訪問程序要求訪問的內(nèi)存,這樣,存取速度降低一倍,將會(huì)影響整個(gè)系統(tǒng)的使用效率。在早期的計(jì)算機(jī)系統(tǒng)中有的采用聯(lián)想存儲(chǔ)器的技術(shù)來加快查表的速度,有的采用寄存器做頁表。缺頁中斷處理的硬件支持采用聯(lián)想存儲(chǔ)器加快頁表的查詢速度快表。使用快表的并行查找過程。程序局部化與命中率問題。缺頁中斷處理過程分地址取頁號查頁表缺頁中斷找空閑塊淘汰塊讀入頁面中斷返回硬件軟件請求分頁的性能分析有效存取時(shí)間缺頁中斷處理時(shí)間有效存取時(shí)間正比于缺頁的比率為使速度下降控制在10%以內(nèi),缺頁率不得超過0.00001淘汰策略物理頁分配算法置換算法當(dāng)要索取一頁面并送入到全滿的內(nèi)存中時(shí),必須把已在內(nèi)存中的某一頁淘汰掉。用來選擇淘汰哪一頁的規(guī)則叫做置換算法。顛簸、抖動(dòng)幾種置換算法先進(jìn)先出算法先進(jìn)入內(nèi)存的頁,先退出內(nèi)存。實(shí)質(zhì)上是淘汰在內(nèi)存駐留時(shí)間最長的頁。其理由是:最早調(diào)入內(nèi)存的頁,不再被使用的可能性比近期調(diào)入內(nèi)存的大。這種算法簡單,實(shí)現(xiàn)容易。幾種置換算法最佳算法假定程序p共有n頁,而系統(tǒng)分配給它的內(nèi)存只有m塊(1≤m≤n),并且以作業(yè)在執(zhí)行的過程中頁面置換的頻率的高低來衡量算法的優(yōu)劣。訪問的頁在內(nèi)存,稱訪問成功,否則為失敗。
a=s+fa:訪問的總次數(shù)s:訪問成功的次數(shù)f:訪問失敗的次數(shù)幾種置換算法缺頁中斷率f’=f/a則有:f’
=f(r,m,p)最佳算法是指對于任何m和p,r:調(diào)度算法有f’=f(r,m,p)最小。最佳算法:當(dāng)要調(diào)入一新頁而必須淘汰一舊頁時(shí),所淘汰的頁是以后不再使用的,或者是以后相當(dāng)長的時(shí)間內(nèi)不會(huì)使用的。這種算法是不可能的。幾種置換算法最久未使用淘汰算法(lRU算法)當(dāng)需要淘汰一頁時(shí),選擇最長時(shí)間未使用的頁。如果某頁被訪問,它可能馬上還要被訪問;相反,如果某頁長時(shí)間未被訪問,它可能最近也不可能被訪問。算法的實(shí)現(xiàn)(軟件):設(shè)置一個(gè)活動(dòng)頁面棧,當(dāng)訪問某頁時(shí),將此頁號壓入棧頂,然后,考察棧內(nèi)是否有與此頁面相同的頁號,若有則抽出。淘汰一頁時(shí),總是從棧底抽出一個(gè)頁號,它就是最久未使用的。算法的實(shí)現(xiàn)(硬件):計(jì)數(shù)器近似LRU算法:NUR物理頁分配算法最少塊數(shù)——指令系統(tǒng)設(shè)計(jì)決定最少塊數(shù)全局分配與局部分配等分法與比例分配法工作集模型時(shí)間局部化與空間局部化工作集D>M,將出現(xiàn)抖動(dòng)工作集模型的實(shí)現(xiàn)頁式系統(tǒng)的存儲(chǔ)保護(hù)頁式系統(tǒng)的存儲(chǔ)保護(hù)的方法類似于基址限長存儲(chǔ)保護(hù),當(dāng)?shù)刂酚成錂C(jī)構(gòu)分離出頁號和頁內(nèi)位移后。若0≤頁號<用戶程序的總頁數(shù),則訪問合法,否則訪問越界。頁式系統(tǒng)的存儲(chǔ)保護(hù)還包括存取控制。在頁表中增加存取控制位,表示該頁的存取控制權(quán)限,如r表示可讀,w表示可讀可寫,e表示可執(zhí)行。當(dāng)有一程序訪問該頁時(shí),系統(tǒng)就按存取控制位設(shè)置的權(quán)限實(shí)施存取控制。UNIXS_5的存儲(chǔ)管理采用請求分頁存儲(chǔ)管理和對換技術(shù)對換:map表每次對換盡可能多的數(shù)據(jù),不使用緩沖。請求分頁數(shù)據(jù)結(jié)構(gòu)淘汰進(jìn)程缺頁處理段式系統(tǒng)一個(gè)用戶程序往往由幾個(gè)程序段(主程序、子程序和函數(shù))所組成,當(dāng)一個(gè)程序裝入內(nèi)存時(shí),按段進(jìn)行分配,每個(gè)段的大小是不相等的。程序地址的組成:S:W例:S1:XXXXS2:XXXXS3;XXXX段式系統(tǒng)段式系統(tǒng)以分區(qū)方式使用內(nèi)存空間支持虛擬存儲(chǔ):分段調(diào)入快表的使用動(dòng)態(tài)連接技術(shù)缺段中斷與連接中斷段式保護(hù)與共享段式虛擬存儲(chǔ)的優(yōu)點(diǎn)和缺點(diǎn)段頁式系統(tǒng)在段式系統(tǒng)中,若段內(nèi)分頁,稱為段頁式系統(tǒng)。段頁式地址:spd段頁式地址轉(zhuǎn)換:查段表查頁表合地址快表的使用段頁式系統(tǒng)是目前最好的內(nèi)存管理方法試分析段頁式系統(tǒng)的優(yōu)點(diǎn)與缺點(diǎn)段頁式系統(tǒng) 目前流行的UNIX系統(tǒng)采用這種存儲(chǔ)管理的方式,一個(gè)進(jìn)程的圖象分為U區(qū)、共享正文區(qū)、用戶棧區(qū)和數(shù)據(jù)區(qū),各進(jìn)程的各個(gè)區(qū)的大小是不相等的,只有U區(qū)的大小是相等的。這里的區(qū)類似于段。每個(gè)段又分成大小相等的頁,內(nèi)存的分配是以頁為單位的。因此,在UNIX系統(tǒng)中存儲(chǔ)管理(上下文,context)機(jī)構(gòu)包括區(qū)表和頁表。MagneticResonanceImaging磁共振成像發(fā)生事件作者或公司磁共振發(fā)展史1946發(fā)現(xiàn)磁共振現(xiàn)象BlochPurcell1971發(fā)現(xiàn)腫瘤的T1、T2時(shí)間長Damadian1973做出兩個(gè)充水試管MR圖像Lauterbur1974活鼠的MR圖像Lauterbur等1976人體胸部的MR圖像Damadian1977初期的全身MR圖像
Mallard1980磁共振裝置商品化1989
0.15T永磁商用磁共振設(shè)備中國安科
2003諾貝爾獎(jiǎng)金LauterburMansfierd時(shí)間MR成像基本原理實(shí)現(xiàn)人體磁共振成像的條件:人體內(nèi)氫原子核是人體內(nèi)最多的物質(zhì)。最易受外加磁場的影響而發(fā)生磁共振現(xiàn)象(沒有核輻射)有一個(gè)穩(wěn)定的靜磁場(磁體)梯度場和射頻場:前者用于空間編碼和選層,后者施加特定頻率的射頻脈沖,使之形成磁共振現(xiàn)象信號接收裝置:各種線圈計(jì)算機(jī)系統(tǒng):完成信號采集、傳輸、圖像重建、后處理等
人體內(nèi)的H核子可看作是自旋狀態(tài)下的小星球。自然狀態(tài)下,H核進(jìn)動(dòng)雜亂無章,磁性相互抵消zMyx進(jìn)入靜磁場后,H核磁矩發(fā)生規(guī)律性排列(正負(fù)方向),正負(fù)方向的磁矢量相互抵消后,少數(shù)正向排列(低能態(tài))的H核合成總磁化矢量M,即為MR信號基礎(chǔ)ZZYYXB0XMZMXYA:施加90度RF脈沖前的磁化矢量MzB:施加90度RF脈沖后的磁化矢量Mxy.并以Larmor頻率橫向施進(jìn)C:90度脈沖對磁化矢量的作用。即M以螺旋運(yùn)動(dòng)的形式傾倒到橫向平面ABC在這一過程中,產(chǎn)生能量
三、弛豫(Relaxation)回復(fù)“自由”的過程
1.
縱向弛豫(T1弛豫):
M0(MZ)的恢復(fù),“量變”高能態(tài)1H→低能態(tài)1H自旋—晶格弛豫、熱弛豫
吸收RF光子能量(共振)低能態(tài)1H高能態(tài)1H
放出能量(光子,MRS)T1弛豫時(shí)間:
MZ恢復(fù)到M0的2/3所需的時(shí)間
T1愈小、M0恢復(fù)愈快T2弛豫時(shí)間:MXY喪失2/3所需的時(shí)間;T2愈大、同相位時(shí)間長MXY持續(xù)時(shí)間愈長MXY與ST1加權(quán)成像、T2加權(quán)成像
所謂的加權(quán)就是“突出”的意思
T1加權(quán)成像(T1WI)----突出組織T1弛豫(縱向弛豫)差別
T2加權(quán)成像(T2WI)----突出組織T2弛豫(橫向弛豫)差別。
磁共振診斷基于此兩種標(biāo)準(zhǔn)圖像磁共振常規(guī)h檢查必掃這兩種標(biāo)準(zhǔn)圖像.T1的長度在數(shù)百至數(shù)千毫秒(ms)范圍T2值的長度在數(shù)十至數(shù)千毫秒(ms)范圍
在同一個(gè)馳豫過程中,T2比T1短得多
如何觀看MR圖像:首先我們要分清圖像上的各種標(biāo)示。分清掃描序列、掃描部位、掃描層面。正?;虍惓5乃诓课?--即在同一層面觀察、分析T1、T2加權(quán)像上信號改變。絕大部分病變T1WI是低信號、T2WI是高信號改變。只要熟悉掃描部位正常組織結(jié)構(gòu)的信號表現(xiàn),通常病變與正常組織不會(huì)混淆。一般的規(guī)律是T1WI看解剖,T2WI看病變。磁共振成像技術(shù)--圖像空間分辨力,對比分辨力一、如何確定MRI的來源(一)層面的選擇1.MXY產(chǎn)生(1H共振)條件
RF=ω=γB02.梯度磁場Z(GZ)
GZ→B0→ω
不同頻率的RF
特定層面1H激勵(lì)、共振
3.層厚的影響因素
RF的帶寬↓
GZ的強(qiáng)度↑層厚↓〈二〉體素信號的確定1、頻率編碼2、相位編碼
M0↑--GZ、RF→相應(yīng)層面MXY----------GY→沿Y方向1H有不同ω
各1H同相位MXY旋進(jìn)速度不同同頻率一定時(shí)間后→→GX→沿X方向1H有不同ω沿Y方向不同1H的MXYMXY旋進(jìn)頻率不同位置不同(相位不同)〈三〉空間定位及傅立葉轉(zhuǎn)換
GZ----某一層面產(chǎn)生MXYGX----MXY旋進(jìn)頻率不同
GY----MXY旋進(jìn)相位不同(不影響MXY大小)
↓某一層面不同的體素,有不同頻率、相位
MRS(FID)第三節(jié)、磁共振檢查技術(shù)檢查技術(shù)產(chǎn)生圖像的序列名產(chǎn)生圖像的脈沖序列技術(shù)名TRA、COR、SAGT1WT2WSETR、TE…….梯度回波FFE快速自旋回波FSE壓脂壓水MRA短TR短TE--T1W長TR長TE--T2W增強(qiáng)MR最常用的技術(shù)是:多層、多回波的SE(spinecho,自旋回波)技術(shù)磁共振掃描時(shí)間參數(shù):TR、TE磁共振掃描還有許多其他參數(shù):層厚、層距、層數(shù)、矩陣等序列常規(guī)序列自旋回波(SE),快速自旋回波(FSE)梯度回波(FE)反轉(zhuǎn)恢復(fù)(IR),脂肪抑制(STIR)、水抑制(FLAIR)高級序列水成像(MRCP,MRU,MRM)血管造影(MRA,TOF2D/3D)三維成像(SPGR)彌散成像(DWI)關(guān)節(jié)運(yùn)動(dòng)分析是一種成像技術(shù)而非掃描序列自旋回波(SE)必掃序列圖像清晰顯示解剖結(jié)構(gòu)目前只用于T1加權(quán)像快速自旋回波(FSE)必掃序列成像速度快多用于T2加權(quán)像梯度回波(GE)成像速度快對出血敏感T2加權(quán)像水抑制反轉(zhuǎn)恢復(fù)(IR)水抑制(FLAIR)抑制自由水梗塞灶顯示清晰判斷病灶成份脂肪抑制反轉(zhuǎn)恢復(fù)(IR)脂肪抑制(STIR)抑制脂肪信號判斷病灶成分其它組織顯示更清晰血管造影(MRA)無需造影劑TOF法PC法MIP投影動(dòng)靜脈分開顯示水成像(MRCP,MRU,MRM)含水管道系統(tǒng)成像膽道MRCP泌尿路MRU椎管MRM主要用于診斷梗阻擴(kuò)張超高空間分辨率掃描任意方位重建窄間距重建技術(shù)大大提高對小器官、小病灶的診斷能力三維梯度回波(SPGR) 早期診斷腦梗塞
彌散成像MRI的設(shè)備一、信號的產(chǎn)生、探測接受1.磁體(Magnet):靜磁場B0(Tesla,T)→組織凈磁矩M0
永磁型(permanentmagnet)常導(dǎo)型(resistivemagnet)超導(dǎo)型(superconductingmagnet)磁體屏蔽(magnetshielding)2.梯度線圈(gradientcoil):
形成X、Y、Z軸的磁場梯度功率、切換率3.射頻系統(tǒng)(radio-frequencesystem,RF)
MR信號接收二、信號的處理和圖象顯示數(shù)模轉(zhuǎn)換、計(jì)算機(jī),等等;MRI技術(shù)的優(yōu)勢1、軟組織分辨力強(qiáng)(判斷組織特性)2、多方位成像3、流空效應(yīng)(顯示血管)4、無骨骼偽影5、無電離輻射,無碘過敏6、不斷有新的成像技術(shù)MRI技術(shù)的禁忌證和限度1.禁忌證
體內(nèi)彈片、金屬異物各種金屬置入:固定假牙、起搏器、血管夾、人造關(guān)節(jié)、支架等危重病人的生命監(jiān)護(hù)系統(tǒng)、維持系統(tǒng)不能合作病人,早期妊娠,高熱及散熱障礙2.其他鈣化顯示相對較差空間分辨較差(體部,較同等CT)費(fèi)用昂貴多數(shù)MR機(jī)檢查時(shí)間較長1.病人必須去除一切金屬物品,最好更衣,以免金屬物被吸入磁體而影響磁場均勻度,甚或傷及病人。2.掃描過程中病人身體(皮膚)不要直接觸碰磁體內(nèi)壁及各種導(dǎo)線,防止病人灼傷。3.紋身(紋眉)、化妝品、染發(fā)等應(yīng)事先去掉,因其可能會(huì)引起灼傷。4.病人應(yīng)帶耳塞,以防聽力損傷。掃描注意事項(xiàng)顱腦MRI適應(yīng)癥顱內(nèi)良惡性占位病變腦血管性疾病梗死、出血、動(dòng)脈瘤、動(dòng)靜脈畸形(AVM)等顱腦外傷性疾病腦挫裂傷、外傷性顱內(nèi)血腫等感染性疾病腦膿腫、化膿性腦膜炎、病毒性腦炎、結(jié)核等脫髓鞘性或變性類疾病多發(fā)性硬化(MS)等先天性畸形胼胝體發(fā)育不良、小腦扁桃體下疝畸形等脊柱和脊髓MRI適應(yīng)證1.腫瘤性病變椎管類腫瘤(髓內(nèi)、髓外硬膜內(nèi)、硬膜外),椎骨腫瘤(轉(zhuǎn)移性、原發(fā)性)2.炎癥性疾病脊椎結(jié)核、骨髓炎、椎間盤感染、硬膜外膿腫、蛛網(wǎng)膜炎、脊髓炎等3.外傷骨折、脫位、椎間盤突出、椎管內(nèi)血腫、脊髓損傷等4.脊柱退行性變和椎管狹窄癥椎間盤變性、膨隆、突出、游離,各種原因椎管狹窄,術(shù)后改變,5.脊髓血管畸形和血管瘤6.脊髓脫髓鞘疾?。ㄈ鏜S),脊髓萎縮7.先天性畸形胸部MRI適應(yīng)證呼吸系統(tǒng)對縱隔及肺門區(qū)病變顯示良好,對肺部結(jié)構(gòu)顯示不如CT。胸廓入口病變及其上下比鄰關(guān)系縱隔腫瘤和囊腫及其與大血管的關(guān)系其他較CT無明顯優(yōu)越性心臟及大血管大血管病變各類動(dòng)脈瘤、腔靜脈血栓等心臟及心包腫瘤,心包其他病變其他(如先心、各種心肌病等)較超聲心動(dòng)圖無優(yōu)勢,應(yīng)用不廣腹部MRI適應(yīng)證主要用于部分實(shí)質(zhì)性器官的腫瘤性病變肝腫瘤性病變,提供鑒別信息胰腺腫瘤,有利小胰癌、胰島細(xì)胞癌顯示宮頸、宮體良惡性腫瘤及分期等,先天畸形腫瘤的定位(臟器上下緣附近)、分期膽道、尿路梗阻和腫瘤,MRCP,MRU直腸腫瘤骨與關(guān)節(jié)MRI適應(yīng)證X線及CT的后續(xù)檢查手段--鈣質(zhì)顯示差和空間分辨力部分情況可作首選:1.累及骨髓改變的骨?。ㄔ缙诠侨毖詨乃?,早期骨髓炎、骨髓腫瘤或侵犯骨髓的腫瘤)2.結(jié)構(gòu)復(fù)雜關(guān)節(jié)的損傷(膝、髖關(guān)節(jié))3.形狀復(fù)雜部位的檢查(脊柱、骨盆等)軟件登錄界面軟件掃描界面圖像瀏覽界面膠片打印界面報(bào)告界面報(bào)告界面2合理應(yīng)用抗菌藥物預(yù)防手術(shù)部位感染概述外科手術(shù)部位感染的2/3發(fā)生在切口醫(yī)療費(fèi)用的增加病人滿意度下降導(dǎo)致感染、止血和疼痛一直是外科的三大挑戰(zhàn),止血和疼痛目前已較好解決感染仍是外科醫(yī)生面臨的重大問題,處理不當(dāng),將產(chǎn)生嚴(yán)重后果外科手術(shù)部位感染占院內(nèi)感染的14%~16%,僅次于呼吸道感染和泌尿道感染,居院內(nèi)感染第3位嚴(yán)重手術(shù)部位的感染——病人的災(zāi)難,醫(yī)生的夢魘
預(yù)防手術(shù)部位感染(surgicalsiteinfection,SSI)
手術(shù)部位感染的40%–60%可以預(yù)防圍手術(shù)期使用抗菌藥物的目的外科醫(yī)生的困惑★圍手術(shù)期應(yīng)用抗生素是預(yù)防什么感染?★哪些情況需要抗生素預(yù)防?★怎樣選擇抗生素?★什么時(shí)候開始用藥?★抗生素要用多長時(shí)間?定義:指發(fā)生在切口或手術(shù)深部器官或腔隙的感染分類:切口淺部感染切口深部感染器官/腔隙感染一、SSI定義和分類二、SSI診斷標(biāo)準(zhǔn)——切口淺部感染
指術(shù)后30天內(nèi)發(fā)生、僅累及皮膚及皮下組織的感染,并至少具備下述情況之一者:
1.切口淺層有膿性分泌物
2.切口淺層分泌物培養(yǎng)出細(xì)菌
3.具有下列癥狀體征之一:紅熱,腫脹,疼痛或壓痛,因而醫(yī)師將切口開放者(如培養(yǎng)陰性則不算感染)
4.由外科醫(yī)師診斷為切口淺部SSI
注意:縫線膿點(diǎn)及戳孔周圍感染不列為手術(shù)部位感染二、SSI診斷標(biāo)準(zhǔn)——切口深部感染
指術(shù)后30天內(nèi)(如有人工植入物則為術(shù)后1年內(nèi))發(fā)生、累及切口深部筋膜及肌層的感染,并至少具備下述情況之一者:
1.切口深部流出膿液
2.切口深部自行裂開或由醫(yī)師主動(dòng)打開,且具備下列癥狀體征之一:①體溫>38℃;②局部疼痛或壓痛
3.臨床或經(jīng)手術(shù)或病理組織學(xué)或影像學(xué)診斷,發(fā)現(xiàn)切口深部有膿腫
4.外科醫(yī)師診斷為切口深部感染
注意:感染同時(shí)累及切口淺部及深部者,應(yīng)列為深部感染
二、SSI診斷標(biāo)準(zhǔn)—器官/腔隙感染
指術(shù)后30天內(nèi)(如有人工植入物★則術(shù)后1年內(nèi))、發(fā)生在手術(shù)曾涉及部位的器官或腔隙的感染,通過手術(shù)打開或其他手術(shù)處理,并至少具備以下情況之一者:
1.放置于器官/腔隙的引流管有膿性引流物
2.器官/腔隙的液體或組織培養(yǎng)有致病菌
3.經(jīng)手術(shù)或病理組織學(xué)或影像學(xué)診斷器官/腔隙有膿腫
4.外科醫(yī)師診斷為器官/腔隙感染
★人工植入物:指人工心臟瓣膜、人工血管、人工關(guān)節(jié)等二、SSI診斷標(biāo)準(zhǔn)—器官/腔隙感染
不同種類手術(shù)部位的器官/腔隙感染有:
腹部:腹腔內(nèi)感染(腹膜炎,腹腔膿腫)生殖道:子宮內(nèi)膜炎、盆腔炎、盆腔膿腫血管:靜脈或動(dòng)脈感染三、SSI的發(fā)生率美國1986年~1996年593344例手術(shù)中,發(fā)生SSI15523次,占2.62%英國1997年~2001年152所醫(yī)院報(bào)告在74734例手術(shù)中,發(fā)生SSI3151例,占4.22%中國?SSI占院內(nèi)感染的14~16%,僅次于呼吸道感染和泌尿道感染三、SSI的發(fā)生率SSI與部位:非腹部手術(shù)為2%~5%腹部手術(shù)可高達(dá)20%SSI與病人:入住ICU的機(jī)會(huì)增加60%再次入院的機(jī)會(huì)是未感染者的5倍SSI與切口類型:清潔傷口 1%~2%清潔有植入物 <5%可染傷口<10%手術(shù)類別手術(shù)數(shù)SSI數(shù)感染率(%)小腸手術(shù)6466610.2大腸手術(shù)7116919.7子宮切除術(shù)71271722.4肝、膽管、胰手術(shù)1201512.5膽囊切除術(shù)8222.4不同種類手術(shù)的SSI發(fā)生率:三、SSI的發(fā)生率手術(shù)類別SSI數(shù)SSI類別(%)切口淺部切口深部器官/腔隙小腸手術(shù)6652.335.412.3大腸手術(shù)69158.426.315.3子宮切除術(shù)17278.813.57.6骨折開放復(fù)位12379.712.28.1不同種類手術(shù)的SSI類別:三、SSI的發(fā)生率延遲愈合疝內(nèi)臟膨出膿腫,瘺形成。需要進(jìn)一步處理這里感染將導(dǎo)致:延遲愈合疝內(nèi)臟膨出膿腫、瘺形成需進(jìn)一步處理四、SSI的后果四、SSI的后果在一些重大手術(shù),器官/腔隙感染可占到1/3。SSI病人死亡的77%與感染有關(guān),其中90%是器官/腔隙嚴(yán)重感染
——InfectControlandHospEpidemiol,1999,20(40:247-280SSI的死亡率是未感染者的2倍五、導(dǎo)致SSI的危險(xiǎn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 住宅小區(qū)鉆孔樁施工協(xié)議
- 水庫水質(zhì)凈化施工合同
- 物流行業(yè)工作與休息安排
- 廈門市民宿衛(wèi)生防疫措施
- 學(xué)?;顒?dòng)巴士租賃服務(wù)合同
- 影視作品授權(quán)合同
- 互聯(lián)網(wǎng)行業(yè)產(chǎn)品經(jīng)理培訓(xùn)大綱
- 住宅小區(qū)配電房施工協(xié)議
- 運(yùn)動(dòng)器材公司著作權(quán)保護(hù)
- 2025年安防設(shè)備進(jìn)出口貿(mào)易合同范本6篇
- 2024年安徽省公務(wù)員錄用考試《行測》試題及答案解析
- 2024年度危廢培訓(xùn)完整課件
- 英語漫談今日中國學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 福建師范大學(xué)《教育學(xué)(含教師職業(yè)道德)》2023-2024學(xué)年第一學(xué)期期末試卷
- 蘋果三星專利之爭
- 下肢康復(fù)機(jī)器人課件
- 《Java程序設(shè)計(jì)應(yīng)用開發(fā)》全套教學(xué)課件
- 必背知識點(diǎn)梳理-2024-2025學(xué)年人教版生物七年級上冊
- 2024-2030年全球及中國數(shù)據(jù)科學(xué)平臺(tái)行業(yè)市場現(xiàn)狀供需分析及市場深度研究發(fā)展前景及規(guī)劃可行性分析研究報(bào)告
- 2024-2030年中國非物質(zhì)文化遺產(chǎn)行業(yè)市場深度分析及競爭格局與投資策略研究報(bào)告
- 2023-2024學(xué)年部編版道德與法治三年級上冊期末檢測題及答案(共3套)
評論
0/150
提交評論