![進(jìn)程描述和控制綜述_第1頁](http://file4.renrendoc.com/view/ebe7b5300e4cd4881685c5fc734ecdcf/ebe7b5300e4cd4881685c5fc734ecdcf1.gif)
![進(jìn)程描述和控制綜述_第2頁](http://file4.renrendoc.com/view/ebe7b5300e4cd4881685c5fc734ecdcf/ebe7b5300e4cd4881685c5fc734ecdcf2.gif)
![進(jìn)程描述和控制綜述_第3頁](http://file4.renrendoc.com/view/ebe7b5300e4cd4881685c5fc734ecdcf/ebe7b5300e4cd4881685c5fc734ecdcf3.gif)
![進(jìn)程描述和控制綜述_第4頁](http://file4.renrendoc.com/view/ebe7b5300e4cd4881685c5fc734ecdcf/ebe7b5300e4cd4881685c5fc734ecdcf4.gif)
![進(jìn)程描述和控制綜述_第5頁](http://file4.renrendoc.com/view/ebe7b5300e4cd4881685c5fc734ecdcf/ebe7b5300e4cd4881685c5fc734ecdcf5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1第二部分進(jìn)程操作系統(tǒng)的主要任務(wù)是運(yùn)行程序——進(jìn)程管理為進(jìn)程分配資源讓進(jìn)程間交換信息保護(hù)進(jìn)程的資源不被其他進(jìn)程占用使多個進(jìn)程可以同步單/多[核]處理器的多道程序系統(tǒng)中,多個進(jìn)程可以同時交叉/同步執(zhí)行——并發(fā),它是應(yīng)用程序編寫和操作系統(tǒng)設(shè)計中的難題在一個進(jìn)程中引入(共享進(jìn)程資源的)多個線程,在提高系統(tǒng)的運(yùn)行效率的同時,也增加了進(jìn)程管理的難度2第二部分導(dǎo)讀第3章進(jìn)程描述和控制操作系統(tǒng)的主要任務(wù)是進(jìn)程管理進(jìn)程在3種狀態(tài)間轉(zhuǎn)換——就緒、運(yùn)行、阻塞描述進(jìn)程的數(shù)據(jù)結(jié)構(gòu)——進(jìn)程控制塊(進(jìn)程表)進(jìn)程調(diào)度、進(jìn)程間的共享和同步本章介紹用于進(jìn)程管理的數(shù)據(jù)結(jié)構(gòu)和技術(shù)第4章線程進(jìn)程負(fù)責(zé)管理資源的所有權(quán)、線程負(fù)責(zé)指令流的執(zhí)行一個進(jìn)程可含多個線程,多線程技術(shù)可優(yōu)化程序結(jié)構(gòu)、提高系統(tǒng)性能第5/6章并發(fā):互斥與同步/死鎖與饑餓并發(fā)是多道程序操作系統(tǒng)的設(shè)計基礎(chǔ)支持并發(fā)的重要機(jī)制——信號量、管程和消息傳遞多進(jìn)程/線程共享資源——代碼、數(shù)據(jù)、物理資源(處理器、存儲器、I/O設(shè)備等)互斥——在一個時間內(nèi)只允許一個進(jìn)程/線程訪問共享資源同步——進(jìn)程/線程間交換信息協(xié)調(diào)動作死鎖——多個進(jìn)程相互等待其他進(jìn)程的操作完成。死鎖難預(yù)測、無通用解決方法。處理死鎖問題的3個主要手段——預(yù)防、避免和檢測饑餓——一個就緒的進(jìn)程一直不能運(yùn)行(進(jìn)程調(diào)度問題)3第3章
進(jìn)程描述和控制內(nèi)容提要進(jìn)程的概念進(jìn)程的狀態(tài)進(jìn)程的描述進(jìn)程的控制操作系統(tǒng)的執(zhí)行安全問題(進(jìn)程的訪問權(quán)限)Unix的進(jìn)程管理
43.1
進(jìn)程概念順序與并發(fā)程序的順序執(zhí)行(單道單線程批處理)一個具有獨(dú)立功能的程序獨(dú)占處理機(jī)直至最終結(jié)束的過程順序執(zhí)行的特征順序性:只有前一個操作結(jié)束,才能執(zhí)行后續(xù)操作封閉性:程序運(yùn)行時獨(dú)占全機(jī)資源,執(zhí)行過程不受外界影響可再現(xiàn)性:結(jié)果與執(zhí)行速度無關(guān)符合現(xiàn)代計算機(jī)的馮諾依曼體系結(jié)構(gòu)的要求(程序的代碼和數(shù)據(jù)存儲在內(nèi)存,指令按順序執(zhí)行)程序的并發(fā)執(zhí)行(多道批處理,單道多線程批處理)指一組在邏輯上互相獨(dú)立的程序或程序段在執(zhí)行過程中,其執(zhí)行時間在宏觀上互相重疊,一個程序段的執(zhí)行尚未結(jié)束,另一個程序段的執(zhí)行已經(jīng)開始的這種執(zhí)行方式與計算機(jī)的馮諾依曼體系結(jié)構(gòu)的要求相悖5程序的并發(fā)執(zhí)行程序并發(fā)執(zhí)行的兩種情形多道程序系統(tǒng):多道程序的并發(fā)執(zhí)行單道程序也可包含若干能并發(fā)執(zhí)行的程序段,如:Read(a);Read(b);程序并發(fā)執(zhí)行的特征間斷性:共享資源→相互制約→執(zhí)行-暫停-執(zhí)行失去封閉性:一個程序的執(zhí)行受到其他程序的影響不可再現(xiàn)性:程序執(zhí)行的結(jié)果與其執(zhí)行的相對速度有關(guān),是不確定的好處——充分利用系統(tǒng)資源,提高系統(tǒng)處理能力壞處——破壞了計算機(jī)馮·諾依曼體系結(jié)構(gòu)的順序執(zhí)行特性,引起一系列難解決的問題(如互斥、同步、死鎖、饑餓)6進(jìn)程的定義進(jìn)程(process,n.過程/工序、vt.處理/加工、vi.列隊行進(jìn))進(jìn)程是程序的一次執(zhí)行進(jìn)程是正在運(yùn)行的一個程序?qū)嵗M(jìn)程是分配給處理器并由處理器執(zhí)行的實體(由兩個基本元素——程序代碼和相關(guān)數(shù)據(jù)集組成)進(jìn)程是可以和別的計算并發(fā)執(zhí)行的計算進(jìn)程是一個數(shù)據(jù)結(jié)構(gòu)及能在其上進(jìn)行操作的一個程序進(jìn)程是一個程序及其數(shù)據(jù)在處理機(jī)上順序執(zhí)行時所發(fā)生的活動進(jìn)程是程序在一個數(shù)據(jù)集上的運(yùn)行過程,是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個獨(dú)立單位7進(jìn)程的特征動態(tài)性:有一定的生命周期并發(fā)性:多個進(jìn)程實體,同時存在于內(nèi)存中,能在一段時間內(nèi)(不一定是同一時刻)同時運(yùn)行獨(dú)立性:進(jìn)程實體是一個能獨(dú)立運(yùn)行的基本單位,同時也是系統(tǒng)中獨(dú)立獲得資源和獨(dú)立調(diào)度的基本單位異步性:進(jìn)程按各自獨(dú)立的、不可預(yù)知的速度向前推進(jìn),即多個進(jìn)程按異步方式運(yùn)行結(jié)構(gòu)特征:進(jìn)程實體是由程序段、數(shù)據(jù)段及進(jìn)程控制塊等部分組成——進(jìn)程映像(processimage)8進(jìn)程控制塊用來描述進(jìn)程用于進(jìn)程的管理與調(diào)度進(jìn)程控制塊(PCB=ProcessControlBlock)為下述信息的列表:標(biāo)識符(identifier)——唯一標(biāo)識進(jìn)程狀態(tài)(state)——進(jìn)程的當(dāng)前狀態(tài)(運(yùn)行/就緒/等待)優(yōu)先級(priority)——相對于其他進(jìn)程的優(yōu)先級別程序計數(shù)器(PC=ProgramCounter)——即將被執(zhí)行的下一條程序指令的地址內(nèi)存指針(memorypointers)——包括指向程序代碼、相關(guān)數(shù)據(jù)和共享內(nèi)存的指針上下文數(shù)據(jù)(contextdata)——進(jìn)程被中斷時處理器寄存器中的數(shù)據(jù)I/O狀態(tài)信息(I/Ostatusinformation)——包括顯式I/O請求、分配給進(jìn)程的I/O設(shè)備、被解除使用的文件列表等記帳信息(accountinginformation)——包括占用處理器時間、時鐘數(shù)總和、時間限制、賬號等93.2進(jìn)程狀態(tài)進(jìn)程并發(fā)執(zhí)行中會有哪些不同行為?軌跡(trace)——進(jìn)程執(zhí)行的指令序列分派程序(dispatcher)——讓處理器從一個進(jìn)程切換到另一個進(jìn)程,即進(jìn)程調(diào)度程序分派(CPU)程序10各進(jìn)程獨(dú)立運(yùn)行的軌跡11三個進(jìn)程并發(fā)執(zhí)行時的軌跡12進(jìn)程的狀態(tài)如何描述進(jìn)程在執(zhí)行過程中的不同行為及其變化?——建立進(jìn)程狀態(tài)模型(processstate
model)兩狀態(tài)模型——運(yùn)行態(tài)(running)、未運(yùn)行態(tài)(notrunning)三狀態(tài)模型——運(yùn)行態(tài)、就緒態(tài)(ready)、等待態(tài)/阻塞態(tài)(waiting/blocked),相當(dāng)于將兩狀態(tài)模型中的“未運(yùn)行態(tài)”進(jìn)一步劃分為“就緒態(tài)”和“阻塞態(tài)”。是進(jìn)程的三個基本狀態(tài)五狀態(tài)模型——運(yùn)行態(tài)、就緒態(tài)、等待態(tài)/阻塞態(tài)、新建態(tài)(new)、退出態(tài)(exit),相當(dāng)于在三狀態(tài)模型之上又增加了“新建”和“退出”兩個狀態(tài)六/七狀態(tài)模型——一種有掛起態(tài)的進(jìn)程模型。為節(jié)省內(nèi)存,可將部分處于阻塞態(tài)(和就緒態(tài))的進(jìn)程,從內(nèi)存中換出到(作為虛擬內(nèi)存一部分的)磁盤的掛起隊列中。為此,增加進(jìn)程的一個/兩個掛起態(tài)(suspendstate):(阻塞)掛起態(tài)/就緒掛起態(tài)和阻塞掛起態(tài)133.2.1
兩狀態(tài)進(jìn)程模型143.2.2
進(jìn)程的創(chuàng)建與終止OS創(chuàng)建一個進(jìn)程的工作建立管理進(jìn)程的數(shù)據(jù)結(jié)構(gòu)為進(jìn)程分配內(nèi)存空間創(chuàng)建進(jìn)程映像導(dǎo)致進(jìn)程創(chuàng)建的原因(P83表3.1)新的批處理作業(yè)——運(yùn)行新程序交互登錄——終端用戶登錄到系統(tǒng)(多用戶操作系統(tǒng))OS提供服務(wù)——操作系統(tǒng)為用戶創(chuàng)建進(jìn)程以提供服務(wù)(如控制打印機(jī))進(jìn)程派生——由現(xiàn)有進(jìn)程創(chuàng)建若干新進(jìn)程(可提高模塊化和開發(fā)并發(fā)性)15進(jìn)程的創(chuàng)建相關(guān)概念進(jìn)程派生(processspawning,產(chǎn)卵/大量生產(chǎn))——指OS為一進(jìn)程的顯式請求創(chuàng)建新進(jìn)程。如打印服務(wù)器進(jìn)程為每一個打印請求產(chǎn)生一個新進(jìn)程父進(jìn)程(parentprocess)——派生另一進(jìn)程的進(jìn)程子進(jìn)程(childprocess)——被派生的進(jìn)程進(jìn)程樹(processtree)——多級父子進(jìn)程構(gòu)成的樹狀結(jié)構(gòu)16進(jìn)程的終止原因(P84表3.2)批作業(yè)Halt指令或調(diào)用終止服務(wù)交互式用戶退出系統(tǒng),關(guān)閉終端用戶結(jié)束一個應(yīng)用程序錯誤和故障:(運(yùn)行/等待)超時、內(nèi)存不足、越界、保護(hù)錯誤、算術(shù)錯誤、I/O失敗、無效指令、特權(quán)指令、數(shù)據(jù)誤用有的OS允許:由父進(jìn)程終止子進(jìn)程
當(dāng)父進(jìn)程終止時自動終止其所有子進(jìn)程173.2.3五狀態(tài)模型圖3.618五狀態(tài)的排隊模型193.2.4
進(jìn)程的掛起狀態(tài)交換進(jìn)程映像整體地或部分地從主存轉(zhuǎn)移到輔存中(換出),或從輔存轉(zhuǎn)移到主存中(換入)。引入原因:實存不足:沒有使用虛存的系統(tǒng)中,多個進(jìn)程完全進(jìn)入主存CPU時間浪費(fèi):I/O速度比計算速度慢很多=>可能出現(xiàn)主存中的多個進(jìn)程全部阻塞等待I/O調(diào)度策略:其他作業(yè)因沒有主存空間不能投入運(yùn)行20進(jìn)程的掛起狀態(tài)(續(xù))交換(swapping):主存中沒有處于就緒態(tài)的進(jìn)程把主存中某個進(jìn)程的部分或全部移到(swapout)磁盤/固態(tài)硬盤——掛起(進(jìn)入掛起隊列)將掛起隊列中的一個進(jìn)程或新進(jìn)程移入(swapin)主存交換是一種I/O操作。過于頻繁的交換,可能導(dǎo)致系統(tǒng)整體性能的惡化21有掛起態(tài)的
進(jìn)程狀態(tài)
轉(zhuǎn)換圖6態(tài)模型7態(tài)模型22有掛起狀態(tài)的新轉(zhuǎn)換阻塞阻塞/掛起阻塞/掛起就緒/掛起就緒/掛起就緒就緒就緒/掛起還需考慮下列新轉(zhuǎn)換新建就緒/掛起阻塞/掛起阻塞運(yùn)行就緒/掛起各種狀態(tài)退出23掛起狀態(tài)的特點(diǎn)處于掛起態(tài)的進(jìn)程不能立即執(zhí)行被掛起的進(jìn)程可能正在等待一個事件可通過代理來掛起進(jìn)程(以阻止進(jìn)程執(zhí)行)被代理掛起的進(jìn)程,只能通過代理顯式地命令操作系統(tǒng),才能進(jìn)行狀態(tài)轉(zhuǎn)換24導(dǎo)致進(jìn)程掛起的原因(P90表3.3)交換(釋放內(nèi)存空間)交互式用戶請求(為了調(diào)試等)定時(如周期性執(zhí)行的進(jìn)程)父進(jìn)程請求(為檢查、修改、協(xié)調(diào)等)其他OS原因(如后臺進(jìn)程、問題進(jìn)程)253.3進(jìn)程描述操作系統(tǒng)是資源管理者進(jìn)程是資源分配的對象處理器I/OI/O主存P1P2PnI/O虛擬內(nèi)存計算機(jī)資源進(jìn)程與資源P1正在運(yùn)行(在內(nèi)存并占用CPU)P2就緒(在內(nèi)存等待)Pn被掛起(在外存等待調(diào)入內(nèi)存)263.3.1OS的控制結(jié)構(gòu)OS把進(jìn)程和系統(tǒng)資源當(dāng)作實體OS構(gòu)造、維護(hù)每個被管理實體的信息表273.3.2進(jìn)程控制結(jié)構(gòu)進(jìn)程的物理表示:進(jìn)程映像(ProcessImage)用戶程序用戶數(shù)據(jù)系統(tǒng)棧(跟蹤過程調(diào)用和過程間參數(shù)傳遞)進(jìn)程控制塊(ProcessControlBlock,PCB)——由OS維護(hù)的用于記錄和控制進(jìn)程屬性的集合進(jìn)程映像的位置:取決于OS采用的存儲管理方案整體在連續(xù)或不連續(xù)的主存區(qū)域中部分在主存中,主體在連續(xù)的輔存區(qū)域中28進(jìn)程屬性進(jìn)程標(biāo)識信息進(jìn)程標(biāo)識符(processID)父進(jìn)程標(biāo)識符用戶標(biāo)識符(userID)處理器狀態(tài)信息用戶可見寄存器控制和狀態(tài)寄存器棧指針(指向棧頂)29進(jìn)程屬性(續(xù))進(jìn)程控制信息調(diào)度和狀態(tài)信息(進(jìn)程狀態(tài),優(yōu)先級,相關(guān)調(diào)度信息,等待的事件)數(shù)據(jù)結(jié)構(gòu)(鏈接到隊列、環(huán)或其他結(jié)構(gòu)的信息)進(jìn)程間通信進(jìn)程特權(quán)存儲管理(該進(jìn)程虛存空間的指針)資源所有權(quán)和使用情況30進(jìn)程控制塊的組織鏈表同一狀態(tài)的進(jìn)程其PCB成一鏈表,多個狀態(tài)對應(yīng)多個不同的鏈表各狀態(tài)的進(jìn)程形成不同的鏈表:就緒鏈表、阻塞鏈表31進(jìn)程鏈表結(jié)構(gòu)進(jìn)程調(diào)度中的排隊結(jié)構(gòu)可用鏈表方式實現(xiàn)32進(jìn)程控制塊的組織(續(xù))
索引(index)表同一狀態(tài)的進(jìn)程歸入一個索引表(由index指向PCB),多個狀態(tài)對應(yīng)多個不同的索引表各狀態(tài)的進(jìn)程形成不同的索引表:如就緒索引表、阻塞索引表等33虛存中的用戶進(jìn)程示意圖34進(jìn)程控制塊PCB的作用PCB=ProcessControlBlock(進(jìn)程控制塊)PCB是OS中最重要的數(shù)據(jù)結(jié)構(gòu),涉及進(jìn)程調(diào)度、資源分配、中斷處理、性能監(jiān)控和分析等PCB的訪問與保護(hù):通過專門的例程訪問PCB353.4進(jìn)程控制進(jìn)程控制的功能:完成進(jìn)程的創(chuàng)建、撤銷以及進(jìn)程的狀態(tài)轉(zhuǎn)換(進(jìn)程切換/調(diào)度)進(jìn)程控制由原語(primitive)完成
36原語內(nèi)核在執(zhí)行某些基本操作時,往往利用原語操作實現(xiàn)原語(primitive):由若干條指令構(gòu)成、在系統(tǒng)模式下執(zhí)行,用于完成一定功能的一個過程原語是一種廣義指令,相當(dāng)于擴(kuò)充了的機(jī)器指令集原語是原子操作(atomicoperation),即一個操作中的所有動作,要么全做,要么全不做原子操作是一個不可分割的操作!373.4.1執(zhí)行模式兩類指令特權(quán)指令(privilegedinstruction)
:允許操作系統(tǒng)使用,不允許一般用戶使用非特權(quán)指令(nonprivilegedinstruction)
:操作系統(tǒng)和用戶均可使用
兩種執(zhí)行模式(CPU狀態(tài))用戶模式(usermode)/用戶態(tài)(userstate)/目態(tài)(targetstate,目標(biāo)狀態(tài)):只能執(zhí)行非特權(quán)指令;用戶程序在用戶模式下運(yùn)行(在Intelx86CPU中對應(yīng)于保護(hù)模式下的特權(quán)級[PrivilegeLevel][1~]3)系統(tǒng)模式(systemmode)/系統(tǒng)態(tài)(systemstate)/內(nèi)核模式(kernelmode)/內(nèi)核態(tài)(kernelstate)/特權(quán)模式(privilegedmode)/管態(tài)(supervisorystate,監(jiān)管狀態(tài)):能執(zhí)行指令全集,具有改變CPU執(zhí)行狀態(tài)的能力;操作系統(tǒng)(內(nèi)核)在系統(tǒng)模式下運(yùn)行(在Intelx86CPU中對應(yīng)于保護(hù)模式下的特權(quán)級0)WindowsNT的系統(tǒng)結(jié)構(gòu)用戶模式對應(yīng)于IntelCPU保護(hù)模式下的特權(quán)級ring3內(nèi)核模式對應(yīng)于IntelCPU保護(hù)模式下的特權(quán)級ring0IRP=I/OReqestPacket,I/O請求包HAL=HardwareAbstractionLayer,硬件抽象層39執(zhí)行模式與內(nèi)核內(nèi)核(kernel)OS中包含重要系統(tǒng)功能的部分,通常駐留主存,在系統(tǒng)模式下運(yùn)行,響應(yīng)來自進(jìn)程的調(diào)用(系統(tǒng)功能調(diào)用)和來自設(shè)備的中斷內(nèi)核的典型功能進(jìn)程管理:進(jìn)程的創(chuàng)建、撤銷、調(diào)度、切換、同步和通信以及PCB的管理等存儲管理:給進(jìn)程分配空間、交換、管理頁和段I/O管理:緩沖區(qū)管理、給進(jìn)程分配I/O通道和設(shè)備支持功能:中斷處理、審計、監(jiān)視40程序狀態(tài)字執(zhí)行模式的標(biāo)識:PSW(ProgramStatusWord,程序狀態(tài)字)中專設(shè)“模式標(biāo)識位”。x86中的PSW叫EFLAGS(擴(kuò)展標(biāo)志)寄存器(其中的NT、VM、VIP、VIF屬于操作模式位)80286新增加了16位寄存器MSW(MachineStatusWord,機(jī)器狀態(tài)字)位0為PE(ProtectionEnable,啟用保護(hù)[模式])標(biāo)志,當(dāng)置該位(=1)時開啟保護(hù)模式;清零時進(jìn)入實模式位3是TS(TaskSwitch,任務(wù)切換)標(biāo)志MSW在80386中被擴(kuò)展為32位的CR0,80386另外還增加了CR2和CR3,它們用于控制頁存儲器管理(虛擬內(nèi)存)、高速緩存的啟用/禁止/操作、保護(hù)模式操作等功能執(zhí)行模式的切換兩種模式的相互轉(zhuǎn)換用戶模式→系統(tǒng)模式:唯一途徑是通過中斷機(jī)制(在x86CPU中,具體可通過使用調(diào)用門指令CALL進(jìn)行代碼轉(zhuǎn)移來實現(xiàn))系統(tǒng)模式→用戶模式:可通過修改PSW實現(xiàn),如指令CHM(x86CPU中沒有此指令,但可通過遠(yuǎn)程返回指令RETF進(jìn)行代碼轉(zhuǎn)移來實現(xiàn))423.4.2
進(jìn)程創(chuàng)建與撤銷用原語操作實現(xiàn)創(chuàng)建原語的主要操作給新進(jìn)程分配一個唯一的進(jìn)程標(biāo)識號給進(jìn)程分配空間(進(jìn)程映像)初始化進(jìn)程控制塊設(shè)置正確的鏈接創(chuàng)建或擴(kuò)充其他數(shù)據(jù)結(jié)構(gòu)(如審計文件)進(jìn)程的撤銷原語撤銷該進(jìn)程的所有子進(jìn)程收回進(jìn)程所占用的資源撤銷該進(jìn)程的PCB433.4.3
進(jìn)程切換進(jìn)程切換操作系統(tǒng)指定一個進(jìn)程為運(yùn)行態(tài),并將CPU控制權(quán)交給該進(jìn)程進(jìn)程切換的時機(jī)當(dāng)OS從正在運(yùn)行的進(jìn)程那里獲得控制權(quán)時,可能進(jìn)行進(jìn)程切換44導(dǎo)致OS獲得控制權(quán)的事件中斷時鐘中斷:時間片到I/O中斷:I/O完成,高優(yōu)先級進(jìn)程就緒內(nèi)存失效:調(diào)頁時阻塞(所需內(nèi)存地址不在主存)陷阱(trap)/異常(exception):當(dāng)前執(zhí)行的指令出現(xiàn)錯誤(主要指在處理器和內(nèi)存內(nèi)部產(chǎn)生的軟中斷,一般稱為內(nèi)中斷)系統(tǒng)調(diào)用(如申請I/O操作):用戶進(jìn)程會被置為阻塞態(tài)(系統(tǒng)調(diào)用一般是通過[由操作系統(tǒng)規(guī)定的]特定中斷來實現(xiàn),如DOS的21h號中斷、Linux的80h號中斷)總之,只有通過[軟/硬或內(nèi)/外]中斷,操作系統(tǒng)才能獲得控制權(quán)45進(jìn)程切換與執(zhí)行模式切換CPU響應(yīng)系統(tǒng)中斷時所做工作:(硬件)保存當(dāng)前正在執(zhí)行的程序的上下文環(huán)境把程序計數(shù)器置成中斷處理程序的開始地址從用戶模式切換到內(nèi)核模式,使得中斷處理代碼可以執(zhí)行特權(quán)指令中斷引發(fā)模式切換中斷并不一定引發(fā)進(jìn)程切換46進(jìn)程狀態(tài)的變化進(jìn)程切換的步驟保護(hù)處理器上下文環(huán)境(到哪里去?)更新當(dāng)前處于運(yùn)行態(tài)進(jìn)程PCB的控制信息(修改狀態(tài))該進(jìn)程PCB掛入相應(yīng)隊列(會是哪個隊列?)選擇一個就緒進(jìn)程(涉及多種不同算法)更新所選進(jìn)程的PCB(包括狀態(tài))更新存儲管理數(shù)據(jù)結(jié)構(gòu)(涉及地址轉(zhuǎn)換)恢復(fù)被選中進(jìn)程的處理器上下文環(huán)境(從哪里來?)473.5
OS的執(zhí)行非進(jìn)程內(nèi)核(Non-processkernel)——傳統(tǒng)方法進(jìn)程概念僅適用于用戶程序OS代碼是在特權(quán)模式下工作的獨(dú)立實體48OS的執(zhí)行(續(xù))在用戶進(jìn)程中執(zhí)行(ExecutionWithinUserProcesses)OS是用戶進(jìn)程調(diào)用的一組例程,OS代碼為所有進(jìn)程映像共享執(zhí)行OS代碼時切換到系統(tǒng)模式(不需進(jìn)程切換)49OS的執(zhí)行(續(xù))基于進(jìn)程的OS(Process-BasedOperatingSystem)主要內(nèi)核功能被組織成獨(dú)立進(jìn)程適合多處理器和多機(jī)環(huán)境503.6安全問題進(jìn)程權(quán)限最高權(quán)限——(系統(tǒng))管理員、超級用戶、根用戶關(guān)鍵問題——阻止/探測用戶或惡意程序獲取系統(tǒng)權(quán)限的企圖513.6.1系統(tǒng)訪問威脅分類:入侵者、惡意軟件入侵者——通常指黑客和解密高手冒充者——穿透系統(tǒng)的訪問控制,冒用合法賬戶的帳號濫用職權(quán)者——合法用戶濫用權(quán)限或訪問未授權(quán)的數(shù)據(jù)秘密用戶——利用系統(tǒng)的管理控制來逃避審計和訪問限制惡意軟件——利用計算機(jī)系統(tǒng)漏洞的程序分類:寄生、獨(dú)立;能進(jìn)行復(fù)制(如病毒、蠕蟲)、不能自我復(fù)制(如邏輯炸彈、后門、僵尸)寄生——需要宿主程序,為程序片斷。如病毒、邏輯炸彈、后門獨(dú)立——可被操作系統(tǒng)調(diào)度運(yùn)行的獨(dú)立程序,如蠕蟲、僵尸523.6.2對抗措施入侵檢測——IDS(Intrusiondetectionsystems,入侵檢測系統(tǒng))組成——感應(yīng)器(收集數(shù)據(jù))、分析器(判斷入侵是否發(fā)生)、用戶界面(用于查看和控制)分類——基于宿主、基于網(wǎng)絡(luò)用戶認(rèn)證(authentication)——安全的基礎(chǔ)和主體。方法:知道——密碼、身份證號碼、預(yù)知的問題答案擁有——通行卡、智能卡、物理鑰匙自身(靜態(tài)生物識別)——指紋、虹膜、人臉行為(動態(tài)生物識別)——語音模式、筆跡特征、輸入節(jié)奏訪問控制——通過對用戶授權(quán),調(diào)節(jié)用戶與系統(tǒng)資源之間的關(guān)系防火墻——保護(hù)本地系統(tǒng)和網(wǎng)絡(luò)不受外部網(wǎng)絡(luò)的安全威脅。傳統(tǒng)的防火墻是一種專用計算機(jī),是本地系統(tǒng)與外部網(wǎng)絡(luò)的接口(世界最大的防火墻在中國的國安部)533.7UnixSVR4進(jìn)程管理操作系統(tǒng)的大部分在用戶進(jìn)程環(huán)境中執(zhí)行543.7.1Unix進(jìn)程狀態(tài)及轉(zhuǎn)換9態(tài)模型——7態(tài)模型的變形兩個運(yùn)行態(tài)——內(nèi)核&用戶兩個就緒態(tài)——內(nèi)存&搶占553.7.2UnixSVR4進(jìn)程描述進(jìn)程映像由三部分組成用戶級上下文:進(jìn)程正文(代碼)、進(jìn)程數(shù)據(jù)、用戶棧、共享內(nèi)存區(qū)寄存器上下文:程序計數(shù)器、狀態(tài)寄存器、棧指針、通用寄存器系統(tǒng)級上下文:進(jìn)程表項、U區(qū)、本進(jìn)程的內(nèi)存區(qū)表、內(nèi)核棧563.7.3UnixSVR4進(jìn)程控制進(jìn)程創(chuàng)建(由父進(jìn)程派生):fork()(分叉、派生)為新進(jìn)程分配一個空閑的進(jìn)程表項為新進(jìn)程指定一個唯一的進(jìn)程ID拷貝父進(jìn)程的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教版數(shù)學(xué)八年級上冊15.4.1《提公因式法因式分解》聽評課記錄
- 人教版七年級地理上冊:4.2《世界的語言和宗教》聽課評課記錄1
- 八年級歷史上聽課評課記錄《第一單元第1課鴉片戰(zhàn)爭》聽課評課記錄
- 用維修基金維修電梯主機(jī)軸承合同
- 生態(tài)項目投資合作協(xié)議書(2篇)
- 人教版數(shù)學(xué)八年級上冊聽評課記錄15.2.1《分式的乘除》
- 部編版八年級道德與法治下冊第五課《我國基本制度》第3課時《基本政治制度》聽課評課記錄
- 北師大版數(shù)學(xué)一年級上冊第一單元《生活中的數(shù) 第3課時 玩具》聽評課記錄
- 北師大版數(shù)學(xué)五年級上冊《軸對稱再認(rèn)識(一)》聽評課記錄2
- 冀教版數(shù)學(xué)七年級下冊《數(shù)學(xué)活動 拼圖與分解因式》聽評課記錄
- 2012年安徽高考理綜試卷及答案-文檔
- 《游戲界面設(shè)計專題實踐》課件-知識點(diǎn)5:圖標(biāo)繪制準(zhǔn)備與繪制步驟
- 自動扶梯安裝過程記錄
- MOOC 材料科學(xué)基礎(chǔ)-西安交通大學(xué) 中國大學(xué)慕課答案
- 智慧供熱管理系統(tǒng)方案可行性研究報告
- 帕金森病的言語康復(fù)治療
- 中國城市居民的健康意識和生活方式調(diào)研分析報告
- 上海星巴克員工手冊
- 貓狗創(chuàng)業(yè)計劃書
- 復(fù)產(chǎn)復(fù)工試題含答案
- 部編版語文三年級下冊第六單元大單元整體作業(yè)設(shè)計
評論
0/150
提交評論