




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上精選優(yōu)質(zhì)文檔-傾情為你奉上專(zhuān)心-專(zhuān)注-專(zhuān)業(yè)專(zhuān)心-專(zhuān)注-專(zhuān)業(yè)精選優(yōu)質(zhì)文檔-傾情為你奉上專(zhuān)心-專(zhuān)注-專(zhuān)業(yè)操作系統(tǒng)的目標(biāo):方便性,有效性,可擴(kuò)充性,開(kāi)放性操作系統(tǒng)的作用:作為用戶和計(jì)算機(jī)硬件系統(tǒng)之間的接口,作為計(jì)算機(jī)系統(tǒng)資源的管理者,實(shí)現(xiàn)了對(duì)計(jì)算機(jī)資源的抽象單道批處理系統(tǒng)的缺點(diǎn):系統(tǒng)的資源得不到充分的利用多道批處理系統(tǒng)的優(yōu)缺點(diǎn):資源利用率高,系統(tǒng)吞吐量大,平均周轉(zhuǎn)時(shí)間長(zhǎng),無(wú)交互能力需要解決的問(wèn)題:處理機(jī)爭(zhēng)用問(wèn)題,內(nèi)存分配和保護(hù)問(wèn)題,I/O設(shè)備分配問(wèn)題,文件管理和組織問(wèn)題,作業(yè)管理問(wèn)題,用戶與系統(tǒng)的接口問(wèn)題分時(shí)系統(tǒng)(滿足人機(jī)交互的需求) 特征:多路性,獨(dú)立性,及時(shí)性,交互性
2、及時(shí)響應(yīng)實(shí)時(shí)系統(tǒng)的特征:多路性,獨(dú)立性,及時(shí)性,交互性,可靠性 實(shí)時(shí)實(shí)時(shí)任務(wù)的類(lèi)型:周期性實(shí)時(shí)任務(wù)和非周期性實(shí)時(shí)任務(wù),硬實(shí)時(shí)任務(wù)和軟實(shí)時(shí)任務(wù)單用戶多任務(wù)OS:一個(gè)用戶,把程序分為若干任務(wù)并發(fā)執(zhí)行多用戶多任務(wù)OS:多個(gè)用戶,一臺(tái)機(jī)器,共享資源 UNIX OS操作系統(tǒng)的四大特性:并發(fā),共享,虛擬,異步并行與并發(fā):并行是多個(gè)事件在同一時(shí)間發(fā)生,并發(fā)是多個(gè)事件在同一時(shí)間間隔內(nèi)發(fā)生(進(jìn)程的引入:多個(gè)程序并發(fā)執(zhí)行,提高了系統(tǒng)資源利用率,增加了系統(tǒng)的吞吐量)。進(jìn)程同步與互斥;進(jìn)程間的通信;死鎖問(wèn)題互斥共享:一段時(shí)間內(nèi)只允許一個(gè)進(jìn)程訪問(wèn)該資源同時(shí)訪問(wèn):宏觀上是同時(shí)的,微觀上進(jìn)程對(duì)資源的訪問(wèn)是交替的時(shí)分復(fù)用技術(shù)
3、:虛擬機(jī)處理,虛擬設(shè)備空分復(fù)用技術(shù):對(duì)存儲(chǔ)空間的管理,提高利用率OS具備的功能:1.處理機(jī)管理:進(jìn)程控制,進(jìn)程同步,進(jìn)程通信,作業(yè)調(diào)度,進(jìn)程調(diào)度2.存儲(chǔ)器管理:內(nèi)存分配(為每道程序分配內(nèi)存,提高存儲(chǔ)器利用率,允許正在運(yùn)行的程序申請(qǐng)附加的內(nèi)存)內(nèi)存分配方式:靜態(tài):不允許申請(qǐng)新的內(nèi)存,不允許作業(yè)在內(nèi)存中的移動(dòng) 動(dòng)態(tài):上面說(shuō)的都允許內(nèi)存保護(hù):確保每道用戶程序都僅在自己的內(nèi)存空間內(nèi)運(yùn)行,決不允許用戶程序訪問(wèn)操作系統(tǒng)的程序和數(shù)據(jù)地址映射:邏輯地址和物理地址,硬件支持內(nèi)存擴(kuò)充:邏輯上擴(kuò)充內(nèi)存容量(請(qǐng)求調(diào)入功能,置換功能)3.設(shè)備管理主要任務(wù):完成用戶進(jìn)程提出的I/O請(qǐng)求,為用戶進(jìn)程分配所需要的I/O設(shè)備,
4、并完成指定的操作 提高CPU和I/O設(shè)備的利用率應(yīng)具有緩沖管理,設(shè)備分配,設(shè)備處理和虛擬設(shè)備(spooling技術(shù))4.文件管理文件存儲(chǔ)空間的管理,目錄管理,文件的讀和寫(xiě)管理和保護(hù)操作系統(tǒng)與用戶之間的接口:1.用戶接口:聯(lián)機(jī)用戶接口,脫機(jī)用戶接口,圖形用戶接口2.程序接口:為用戶程序在執(zhí)行中訪問(wèn)系統(tǒng)資源設(shè)置的,是用戶程序取得操作系統(tǒng)服務(wù)的唯一途徑模塊接口法的優(yōu)缺點(diǎn)優(yōu)點(diǎn):提高OS設(shè)計(jì)的正確性、可理解性和可維護(hù)性 增強(qiáng)OS的可適應(yīng)性 加速OS的開(kāi)發(fā)過(guò)程問(wèn)題:對(duì)各模塊間的接口規(guī)定很難滿足在模塊設(shè)計(jì)完成后對(duì)接口的實(shí)際需求決定的無(wú)序性分層式結(jié)構(gòu)OS 在目標(biāo)系統(tǒng)和邏輯系統(tǒng)之間鋪設(shè)若干個(gè)參次的軟件(自底向上
5、)優(yōu)缺點(diǎn):易保證系統(tǒng)的正確性,易擴(kuò)充和易維護(hù)性 系統(tǒng)效率降低(執(zhí)行一個(gè)功能要穿越多個(gè)層次)客戶/服務(wù)器模式優(yōu)點(diǎn):數(shù)據(jù)的分布處理和存儲(chǔ),便于集中管理,靈活性和可擴(kuò)充性,易于改編應(yīng)用軟件微內(nèi)核OS并非一個(gè)完整的OS,有OS中最基本的部分,包含有:與硬件處理緊密相關(guān)的部分,一些較基本的功能,客戶和服務(wù)器之間的通信基于客戶/服務(wù)器模式應(yīng)用“機(jī)制與策略分離”原理基本功能:進(jìn)程管理,低級(jí)存儲(chǔ)器管理, 中斷和陷入處理優(yōu)點(diǎn):提高系統(tǒng)的可擴(kuò)展性,增強(qiáng)系統(tǒng)的可靠性,可移植性強(qiáng),提供了對(duì)分布式系統(tǒng)的支持,融入了面向?qū)ο蠹夹g(shù)程序在順序執(zhí)行時(shí)的三個(gè)特征:順序性,封閉性,可再現(xiàn)性程序在并發(fā)執(zhí)行時(shí)的三個(gè)特征:間斷性,失去封
6、閉性,不可再現(xiàn)性進(jìn)程的定義:進(jìn)程時(shí)程序的一次執(zhí)行,是一個(gè)程序及其數(shù)據(jù)在處理機(jī)上順序執(zhí)行時(shí)所發(fā)生的活動(dòng),是具有獨(dú)立功能的程序在一個(gè)數(shù)據(jù)集合上運(yùn)行的進(jìn)程,他是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位進(jìn)程的特征:動(dòng)態(tài)性,并發(fā)性,獨(dú)立性,異步性進(jìn)程的三種基本狀態(tài):就緒(Ready)狀態(tài),執(zhí)行(Running)狀態(tài),阻塞(Block)狀態(tài)創(chuàng)建狀態(tài):如果進(jìn)程所需的資源不能得到滿足,進(jìn)程不能被調(diào)度,此時(shí)為創(chuàng)建狀態(tài)終止?fàn)顟B(tài):自然結(jié)束,被其他有終止權(quán)的進(jìn)程終結(jié),出現(xiàn)無(wú)法克服的錯(cuò)誤,被操作系統(tǒng)終結(jié)掛起操作的引入:終端用戶的需要,父進(jìn)程請(qǐng)求,負(fù)荷調(diào)節(jié)的需要,操作系統(tǒng)需要引入掛起操作之后三個(gè)進(jìn)程可能會(huì)有以下幾種狀態(tài)轉(zhuǎn)化:
7、活動(dòng)就緒-靜止就緒,活動(dòng)阻塞-靜止阻塞,靜止就緒-活動(dòng)就緒,靜止阻塞-活動(dòng)阻塞進(jìn)程信息表(資源信息表)包含了資源或進(jìn)程的標(biāo)識(shí),描述,狀態(tài)等信息以及一批指針OS管理的這些數(shù)據(jù)結(jié)構(gòu)一般分為:內(nèi)存表,設(shè)備表,文件表和用于進(jìn)程管理的進(jìn)程表(進(jìn)程控制塊PCB)進(jìn)程控制塊(PCB)的作用作為獨(dú)立運(yùn)行基本單位的標(biāo)志,能實(shí)現(xiàn)間斷性運(yùn)行方式,提供進(jìn)程管理所需要的信息,提供進(jìn)程調(diào)度所需要的信息,實(shí)現(xiàn)與其他進(jìn)程的同步與通信進(jìn)程控制塊包含的信息:1.進(jìn)程標(biāo)識(shí)符(外部標(biāo)識(shí)符,內(nèi)部標(biāo)識(shí)符)2.處理機(jī)狀態(tài)3.進(jìn)程調(diào)度信息 (進(jìn)程狀態(tài),優(yōu)先級(jí),進(jìn)程調(diào)度所需的其他信息,事件(進(jìn)程狀態(tài)發(fā)生改變的事件,如阻塞原因)4.進(jìn)程控制信息
8、(程序和數(shù)據(jù)的地址,進(jìn)程同步和通信機(jī)制,資源清單,鏈接指針(下一個(gè)PCB的首地址)PCB的組織方式1.線性方式 線性表2.鏈接方式 隊(duì)列3.索引方式 索引表進(jìn)程控制 創(chuàng)建進(jìn)程,終止已完成的進(jìn)程,將無(wú)法繼續(xù)運(yùn)行的進(jìn)程置于阻塞狀態(tài),運(yùn)行進(jìn)程的狀態(tài)轉(zhuǎn)換。 內(nèi)核原語(yǔ)實(shí)現(xiàn)操作系統(tǒng)內(nèi)核1.支撐功能:中斷處理,時(shí)鐘管理,原語(yǔ)操作2.資源管理功能:進(jìn)程管理,存儲(chǔ)器管理,設(shè)備管理進(jìn)程的創(chuàng)建進(jìn)程的層次結(jié)構(gòu) 允許父進(jìn)程創(chuàng)建子進(jìn)程進(jìn)程圖 有向樹(shù)引起創(chuàng)建進(jìn)程的事件 用戶登錄,作業(yè)調(diào)度,提供服務(wù),應(yīng)用請(qǐng)求進(jìn)程的終止過(guò)程1.根據(jù)被終止進(jìn)程的標(biāo)識(shí)符,從PCB中檢索出改進(jìn)程的PCB,從中讀出該進(jìn)程的狀態(tài)2.若被終止進(jìn)程正處于執(zhí)
9、行狀態(tài),應(yīng)立即終止改進(jìn)程的執(zhí)行,并置調(diào)度標(biāo)志為真3.如果有子孫進(jìn)程,子孫進(jìn)程也終止4.將終止進(jìn)程所擁有的全部資源歸還給父進(jìn)程或系統(tǒng)5.將終止進(jìn)程從所在隊(duì)列或鏈表中移除引起進(jìn)程阻塞或被喚醒的事件:1.向系統(tǒng)請(qǐng)求共享資源失敗2.等待某種操作的完成3.新數(shù)據(jù)尚未到達(dá)4.等待新任務(wù)的到達(dá)阻塞是進(jìn)程自身的一種主動(dòng)行為 進(jìn)程通過(guò)阻塞原語(yǔ)block將自己阻塞進(jìn)程喚醒 調(diào)用喚醒原語(yǔ)wakeup 把被阻塞的進(jìn)程從等待該事件的阻塞隊(duì)列中移除,狀態(tài)變?yōu)榫途w,把PCB插到就緒隊(duì)列中臨界資源 打印機(jī),磁帶機(jī)。進(jìn)程間采用互斥方式臨界區(qū) 每個(gè)進(jìn)程訪問(wèn)臨界資源的那段代碼同步機(jī)制應(yīng)遵循的規(guī)則:空閑讓進(jìn),忙則等待,有限等待,讓權(quán)
10、等待實(shí)現(xiàn)互斥的三種方法:1.關(guān)中斷:在進(jìn)入鎖測(cè)試之前關(guān)閉中斷,直到完成鎖測(cè)試并上鎖之后才能打開(kāi)中斷。缺點(diǎn):關(guān)中斷時(shí)間過(guò)長(zhǎng),影響系統(tǒng)效率,限制處理器交叉執(zhí)行程序的能力關(guān)中斷方法不適用于多CPU系統(tǒng)2.硬件指令 測(cè)試并建立指令 TS3.對(duì)換指令信號(hào)量機(jī)制1.整型信號(hào)量:資源數(shù)目的整型量S:只能通過(guò)兩個(gè)原子操作:P、V操作2.記錄型信號(hào)量:一種不存在的忙等機(jī)制 增加一個(gè)進(jìn)程鏈表指針list,鏈接上述所有的等待進(jìn)程3.and型信號(hào)量:將進(jìn)程在整個(gè)運(yùn)行過(guò)程中需要的所有資源,一次性全部給進(jìn)程,使用完后一起釋放。只要有一個(gè)資源未能分配給進(jìn)程,其他的也不會(huì)給進(jìn)程。(要么全給,要么不給)4.信號(hào)量集:上述信號(hào)量
11、 每次只能對(duì)某類(lèi)臨界資源進(jìn)行一個(gè)單位的申請(qǐng)或釋放,當(dāng)一次需要N個(gè)單位時(shí),便要進(jìn)行N次wait操作,這樣不僅低效,而且會(huì)增加死鎖概率。為確保安全性,設(shè)置一個(gè)下限值,當(dāng)所申請(qǐng)的系統(tǒng)資源低于下限值時(shí),不予以分配。信號(hào)量的應(yīng)用:1.實(shí)現(xiàn)互斥:設(shè)置一個(gè)互斥信號(hào)量mutex,設(shè)其初值為1,然后將各進(jìn)程訪問(wèn)該資源的臨界區(qū)CS置于wait和signal之間。wait(mutex);臨界區(qū);signal(mutex);剩余區(qū);2.利用信號(hào)量實(shí)現(xiàn)前趨關(guān)系: P1 S1 ; signal(s). P2 wait(s); S2管程機(jī)制管程:用少量的信息和對(duì)資源的操作來(lái)表征該資源(管程的名稱(chēng),局部于管程的共享數(shù)據(jù)結(jié)構(gòu)說(shuō)
12、明,對(duì)該數(shù)據(jù)結(jié)構(gòu)進(jìn)行操作的一組過(guò)程,對(duì)局部于管程的共享數(shù)據(jù)設(shè)置初始值的語(yǔ)句)利用管程實(shí)現(xiàn)同步,必須設(shè)置同步工具,如同步操作原語(yǔ)wait和signal生產(chǎn)者-消費(fèi)者問(wèn)題1.利用記錄型信號(hào)量empty和full分別表所緩沖池中空緩沖區(qū)和滿緩沖區(qū)的數(shù)量。緩沖池未滿,生產(chǎn)者便將消息送入緩沖池,緩沖池未空,便從其中取走一個(gè)消息2.利用AND信號(hào)量Swait(empty,mutex)代替wait(empty)和wait(mutex)等3.利用管程。 首先建立一個(gè)管程,其中包括兩個(gè)過(guò)程put(x)生產(chǎn)者把自己生產(chǎn)的東西投入到緩沖池中,并用cnt記錄產(chǎn)品數(shù)量,get(x)取產(chǎn)品,同理。還有cwait/csig
13、nal(condition)。管程給占用時(shí),其他進(jìn)程相調(diào)用就阻塞。哲學(xué)家進(jìn)餐問(wèn)題1.記錄型信號(hào)量 筷子是臨界資源,一個(gè)信號(hào)量表示一個(gè)筷子,組成一個(gè)信號(hào)量組,初始值為12.AND型信號(hào)量 要求每個(gè)哲學(xué)家先獲得兩個(gè)臨界資源后方能進(jìn)餐讀者-寫(xiě)者問(wèn)題1.記錄型信號(hào)量 互斥信號(hào)量Wmutex 整型變量Readcount表示正在讀的進(jìn)程數(shù)目。只要有一個(gè)在讀,便不允許writer去寫(xiě)。2.利用信號(hào)量集 允許L個(gè)讀者同時(shí)讀,執(zhí)行wait(L,1,1)表示有一個(gè)讀者進(jìn)入,L=L-1進(jìn)程通信(進(jìn)程間的信息交換)1.共享存儲(chǔ)器系統(tǒng),相互通信的進(jìn)程共享某些數(shù)據(jù)結(jié)構(gòu)或共享存儲(chǔ)區(qū)2.管道通信系統(tǒng),所謂管道是指用于連接一個(gè)
14、讀進(jìn)程和一個(gè)寫(xiě)進(jìn)程以實(shí)現(xiàn)它們之間通信的一個(gè)共享文件,又名pipe文件。以字符流形式送入管道,又從管道中讀取,首創(chuàng)于UNIX需要有三個(gè)協(xié)調(diào)能力互斥:一個(gè)在用,另一個(gè)等待同步:寫(xiě)進(jìn)程把數(shù)據(jù)送入管道后就去睡覺(jué),別人取走后再醒來(lái)工作。讀進(jìn)程想來(lái)取數(shù)據(jù)發(fā)現(xiàn)是空的也要去睡覺(jué),有數(shù)據(jù)后再醒來(lái)取。確定對(duì)方是否存在:確認(rèn)對(duì)方存在后才能進(jìn)行通信3.消息傳遞系統(tǒng)(高級(jí)通信方式):以格式化的消息為單位,將通信數(shù)據(jù)封裝在消息中。4.客戶機(jī)-服務(wù)器系統(tǒng)套接字 網(wǎng)絡(luò)通信接口遠(yuǎn)程過(guò)程調(diào)用 消息傳遞通信的實(shí)現(xiàn)方式1.直接消息傳遞系統(tǒng) 發(fā)送進(jìn)程利用OS所提供的發(fā)送命令(原語(yǔ))直接把消息發(fā)給目標(biāo)進(jìn)程對(duì)稱(chēng)尋址方式 send(P1,m
15、essage) receive(P1,message)非對(duì)稱(chēng)尋址方式 send(P,message) receive(id,message)單機(jī)系統(tǒng)環(huán)境一般采用定長(zhǎng)消息格式,以減少對(duì)信息的處理和存儲(chǔ)開(kāi)銷(xiāo)變長(zhǎng)消息,方便用戶進(jìn)程在消息的發(fā)送和接受后存在兩種可能性:繼續(xù)發(fā)送/接收貨阻塞為使發(fā)送進(jìn)程和接收進(jìn)程間能通信,在兩者之間建立一條通信鏈路。兩種方式(自建后消除,系統(tǒng)建)2.信箱通信信箱定義為一種數(shù)據(jù)結(jié)構(gòu),由信箱頭和信箱體構(gòu)成系統(tǒng)為信箱提供的原語(yǔ):信箱的創(chuàng)建和撤銷(xiāo),消息的發(fā)送和接收由操作系統(tǒng)或用戶創(chuàng)建信箱分為私有,公有,共享信箱消息緩沖對(duì)列通信機(jī)制數(shù)據(jù)結(jié)構(gòu):消息緩沖區(qū),PCB中有關(guān)通信的數(shù)據(jù)項(xiàng)發(fā)送
16、進(jìn)程在發(fā)送消息之前要把待發(fā)送的消息正文,發(fā)送進(jìn)程標(biāo)識(shí)符,消息長(zhǎng)度填入發(fā)送區(qū)。發(fā)送原語(yǔ)根據(jù)長(zhǎng)度申請(qǐng)一緩沖區(qū),把發(fā)送區(qū)的信息復(fù)制到緩沖區(qū),然后掛在消息隊(duì)列上。接收進(jìn)程從自己的隊(duì)列中摘下緩沖區(qū),復(fù)制。線程(調(diào)度和分派的基本單位)(進(jìn)程是爸爸,線程是兒子們)區(qū)別:進(jìn)程和線程的區(qū)別:(a)不同進(jìn)程的地址空間是獨(dú)立的,而同一進(jìn)程內(nèi)的線程共享同一地址空間。(b)在引入線程的操作系統(tǒng)中,進(jìn)程是資源分配和調(diào)度的單位,線程是處理機(jī)調(diào)度和分配的單位,資源是分配給進(jìn)程的,線程只擁有很少資源,因而切換代價(jià)比進(jìn)程切換低。引入線程是為了減少程序在并發(fā)執(zhí)行時(shí)所付出的時(shí)空開(kāi)銷(xiāo),使OS具有更好的并發(fā)性線程的三種狀態(tài)同進(jìn)程線程控制
17、塊TCB多線程O(píng)S中的進(jìn)程具有以下屬性1.進(jìn)程是一個(gè)可擁有資源的基本單位2.多個(gè)線程并發(fā)執(zhí)行3.進(jìn)程已不是可執(zhí)行的實(shí)體,線程才是調(diào)度和分派的基本單位開(kāi)個(gè)QQ,開(kāi)了一個(gè)進(jìn)程;開(kāi)了迅雷,開(kāi)了一個(gè)進(jìn)程。在QQ的這個(gè)進(jìn)程里,傳輸文字開(kāi)一個(gè)線程、傳輸語(yǔ)音開(kāi)了一個(gè)線程、彈出對(duì)話框又開(kāi)了一個(gè)線程。所以運(yùn)行某個(gè)軟件,相當(dāng)于開(kāi)了一個(gè)進(jìn)程。內(nèi)核支持線程KST優(yōu)點(diǎn):1.在多處理器系統(tǒng)中,內(nèi)核可以同時(shí)調(diào)度一個(gè)進(jìn)程中的多個(gè)線程并執(zhí)行 2.如果進(jìn)程中的一個(gè)線程阻塞,內(nèi)核可以調(diào)度該進(jìn)程中的其他線程占有處理器或運(yùn)行其他進(jìn)程的線程 3.內(nèi)核支持線程具有很小的數(shù)據(jù)結(jié)構(gòu)和堆棧,線程切換快,切換開(kāi)銷(xiāo)小 4.內(nèi)核本身也可以采用多線程技
18、術(shù),可以提高系統(tǒng)執(zhí)行速度和效率用戶級(jí)線程ULT用戶空間實(shí)現(xiàn),無(wú)需內(nèi)核支持優(yōu)點(diǎn):1.線程切換不需要轉(zhuǎn)換到內(nèi)核空間 2.調(diào)度算法可以是進(jìn)程專(zhuān)用的 3.用戶級(jí)線程的實(shí)現(xiàn)與OS平臺(tái)無(wú)關(guān),所有的應(yīng)用程序都可以共享缺點(diǎn):1.系統(tǒng)調(diào)用的阻塞問(wèn)題2.進(jìn)程中只有一個(gè)線程可以執(zhí)行內(nèi)核支持線程的實(shí)現(xiàn):系統(tǒng)創(chuàng)建一個(gè)新進(jìn)程時(shí),便為它分配一個(gè)任務(wù)數(shù)據(jù)區(qū)PTDA,其中包括若干個(gè)線程控制塊空間用戶級(jí)線程的實(shí)現(xiàn):1.運(yùn)行時(shí)系統(tǒng):管理和控制線程函數(shù)的集合。所有函數(shù)都駐留在用戶空間,并作為用戶級(jí)線程與內(nèi)核之間的接口2.內(nèi)核控制線程(輕型進(jìn)程LWP):用戶級(jí)線程運(yùn)行時(shí) 只需將它連接到一個(gè)LWP上,LWP可通過(guò)系統(tǒng)調(diào)用來(lái)獲得內(nèi)核提供的
19、服務(wù)線程的創(chuàng)建和終止應(yīng)用程序在啟動(dòng)時(shí),初始化線程在執(zhí)行,主要功能用于創(chuàng)建新線程創(chuàng)建新線程時(shí),需要一個(gè)線程創(chuàng)建函數(shù)或系統(tǒng)調(diào)用,并提供相應(yīng)的參數(shù)。創(chuàng)建完后返回一個(gè)線程標(biāo)識(shí)符。終止線程通過(guò)調(diào)用相應(yīng)的函數(shù)進(jìn)行終止操作。有些線程(主要是系統(tǒng)線程),一旦被建立起來(lái)后,便一直運(yùn)行下去不被終止。在大多數(shù)的OS中,線程被終止并不立即釋放所占有的資源,只有當(dāng)進(jìn)程中的其他線程執(zhí)行了分離函數(shù),資源才分離調(diào)度的實(shí)質(zhì)是一種資源分配。處理機(jī)調(diào)度的三個(gè)層次(高級(jí)調(diào)度,中級(jí)調(diào)度,低級(jí)調(diào)度)處理機(jī)調(diào)度算法的共同目標(biāo)資源利用率。公平性。所有進(jìn)程都獲得合理的CPU時(shí)間,不會(huì)出現(xiàn)饑餓現(xiàn)象。平衡性。為使系統(tǒng)中的CPU和各種外部設(shè)備都能經(jīng)
20、常處于忙碌狀態(tài),要保持系統(tǒng)資源使用的平衡性。策略強(qiáng)制執(zhí)行。即使造成某些工作的延遲也要執(zhí)行批處理系統(tǒng)的目標(biāo)平均周轉(zhuǎn)時(shí)間短。周轉(zhuǎn)時(shí)間和平均周轉(zhuǎn)時(shí)間都要短周轉(zhuǎn)時(shí)間=作業(yè)完成時(shí)間作業(yè)提交時(shí)間帶權(quán)周轉(zhuǎn)時(shí)間=周轉(zhuǎn)時(shí)間/服務(wù)時(shí)間系統(tǒng)吞吐量高。單位時(shí)間內(nèi)系統(tǒng)所完成的作業(yè)數(shù) 與批處理作業(yè)的平均長(zhǎng)度有關(guān)。比如單純?yōu)榱颂岣呦到y(tǒng)吞吐量,就選短作業(yè)運(yùn)行處理器利用率高。分時(shí)系統(tǒng)的目標(biāo) 響應(yīng)時(shí)間快 均衡性實(shí)時(shí)系統(tǒng)的目標(biāo) 截止時(shí)間的保證 可預(yù)測(cè)性在多道批處理系統(tǒng)中,作業(yè)被輸入設(shè)備輸入到磁盤(pán)存儲(chǔ)器中,并保存在一個(gè)后背作業(yè)隊(duì)列中,再由作業(yè)調(diào)度程序?qū)⑵鋸耐獯嬲{(diào)入內(nèi)存。作業(yè) 運(yùn)行的三種狀態(tài)收容狀態(tài),運(yùn)行狀態(tài),完成狀態(tài),(后備狀態(tài))作
21、業(yè)步(Job Step) 作業(yè)控制塊(JCB) 作業(yè)在系統(tǒng)中存在的標(biāo)志,包含:作業(yè)標(biāo)識(shí),用戶名稱(chēng),用戶賬號(hào),作業(yè)類(lèi)型(CPU繁忙型,I/O繁忙型,批量型,終端型),作業(yè)狀態(tài),調(diào)度信息(優(yōu)先級(jí),作業(yè)運(yùn)行時(shí)間),資源需求(預(yù)計(jì)運(yùn)行時(shí)間,要求內(nèi)存大?。?,資源使用情況作業(yè)調(diào)度的主要任務(wù):根據(jù)JCB中的信息,檢查系統(tǒng)中的資源是否滿足作業(yè)對(duì)資源的需求,以及按照一定的調(diào)度算法,從外存的后備隊(duì)列中選取某些作業(yè)調(diào)入內(nèi)存,并為他們創(chuàng)建進(jìn)程,分配必要的資源,然后將新創(chuàng)建的進(jìn)程安排在就緒隊(duì)列上等待調(diào)度。每次執(zhí)行作業(yè)調(diào)度時(shí)的兩個(gè)決定:接納多少作業(yè)和接納哪些作業(yè)先來(lái)先服務(wù)(FCFS)調(diào)度算法按照作業(yè)到達(dá)的先后次序或在隊(duì)列
22、中等待時(shí)間最長(zhǎng)的作業(yè)。調(diào)入內(nèi)存,分配資源和創(chuàng)建進(jìn)程,放到就緒隊(duì)列中。短作業(yè)優(yōu)先調(diào)度算法作業(yè)越短優(yōu)先級(jí)越高 作業(yè)的長(zhǎng)短是以作業(yè)所要求的運(yùn)行時(shí)間來(lái)衡量的缺點(diǎn):必須預(yù)知作業(yè)的運(yùn)行時(shí)間 對(duì)長(zhǎng)作業(yè)非常不利,長(zhǎng)作業(yè)的周轉(zhuǎn)時(shí)間會(huì)明顯增加采用SJF算法時(shí),人機(jī)無(wú)法實(shí)現(xiàn)交互未考慮作業(yè)的緊迫程度優(yōu)先級(jí)調(diào)度算法基于作業(yè)的緊迫程度,從外部賦予作業(yè)的優(yōu)先級(jí)。高響應(yīng)比優(yōu)先調(diào)度算法優(yōu)先級(jí)又相當(dāng)于響應(yīng)比進(jìn)程調(diào)度的任務(wù):保護(hù)處理機(jī)的現(xiàn)場(chǎng)信息,按照某種算法選取進(jìn)程,把處理器分配給進(jìn)程進(jìn)程調(diào)度機(jī)制:排隊(duì)器(將進(jìn)程插入到相應(yīng)隊(duì)列),分派器(根據(jù)調(diào)度程序選擇進(jìn)程,從就緒隊(duì)列取出,把處理機(jī)分配給新選出的進(jìn)程),上下文切換器進(jìn)程調(diào)度方式非
23、搶占方式一旦把處理機(jī)分配給某進(jìn)程后,不會(huì)因?yàn)闀r(shí)間中斷或任何其他原因去搶占當(dāng)前正在運(yùn)行進(jìn)程的處理機(jī),直到進(jìn)程完成,或發(fā)生某事件而阻塞時(shí),才把處理機(jī)分配給其他進(jìn)程。搶占方式根據(jù)某種原則暫停正在執(zhí)行的進(jìn)程?,F(xiàn)代OS廣泛采用搶占方式,因?yàn)閾屨挤绞娇梢苑乐挂粋€(gè)長(zhǎng)進(jìn)程長(zhǎng)時(shí)間占用處理機(jī)。分時(shí)系統(tǒng)中只有采用搶占方式才能實(shí)現(xiàn)人機(jī)交互。實(shí)時(shí)系統(tǒng)中,搶占方式能滿足實(shí)時(shí)任務(wù)的需求,但搶占方式比較復(fù)雜,所需付出的系統(tǒng)開(kāi)銷(xiāo)比較大。輪轉(zhuǎn)調(diào)度算法(RR算法)系統(tǒng)將所有就緒的進(jìn)程按FCFS的策略排成一個(gè)就緒隊(duì)列。系統(tǒng)設(shè)置每隔一定時(shí)間便產(chǎn)生一次中斷,去激活進(jìn)程調(diào)度程序進(jìn)行調(diào)度,把CPU分配給隊(duì)首進(jìn)程,并令其執(zhí)行一個(gè)時(shí)間片,運(yùn)行完
24、畢后,把處理機(jī)給就緒隊(duì)列中的新的隊(duì)首進(jìn)程,也執(zhí)行一個(gè)時(shí)間片。若一個(gè)時(shí)間片尚未用完,正在運(yùn)行的進(jìn)程已經(jīng)完成,立即激活調(diào)度程序,把它從就緒隊(duì)列中刪除,再調(diào)度就緒隊(duì)列中隊(duì)首的進(jìn)程運(yùn)行。若時(shí)間片用完,進(jìn)程還沒(méi)完,則先把它送到隊(duì)列末尾。優(yōu)先級(jí)調(diào)度算法把處理機(jī)分給就緒隊(duì)列中優(yōu)先級(jí)最高的進(jìn)程非搶占式優(yōu)先級(jí)調(diào)度算法 搶占式優(yōu)先級(jí)調(diào)度算法優(yōu)先級(jí)的類(lèi)型靜態(tài)優(yōu)先級(jí) 創(chuàng)建進(jìn)程時(shí)確定 保持不變確定優(yōu)先級(jí)大小的依據(jù):進(jìn)程類(lèi)型,進(jìn)程對(duì)資源的需求,用戶要求動(dòng)態(tài)優(yōu)先級(jí) 隨進(jìn)程的推進(jìn)或等待時(shí)間的增加而改變多級(jí)反饋隊(duì)列調(diào)度算法1.設(shè)置多個(gè)就緒隊(duì)列2.每個(gè)隊(duì)列都采用先來(lái)先服務(wù)算法。若進(jìn)程在一個(gè)時(shí)間片沒(méi)有完成,調(diào)度程序?qū)⑵滢D(zhuǎn)入第二隊(duì)列
25、的末尾等待,如果再未完成,以此類(lèi)推。如果被降到最后一個(gè)隊(duì)列,則最后一個(gè)隊(duì)列采用的是RR方式運(yùn)行3.按隊(duì)列優(yōu)先調(diào)度 即第一隊(duì)列的優(yōu)先級(jí)大于第二隊(duì)列等當(dāng)1i-1的隊(duì)列為空式,才會(huì)調(diào)度i 隊(duì)列中的進(jìn)程。如果中途有優(yōu)先級(jí)更高的隊(duì)列里有進(jìn)程,此時(shí)會(huì)立即把運(yùn)行的進(jìn)程放到i 隊(duì)列末尾,把處理機(jī)分配給剛來(lái)的。如果規(guī)定好第一個(gè)時(shí)間片略大于大多數(shù)人機(jī)交互所需處理的時(shí)間,便能滿足終端型用戶,長(zhǎng)、短批處理作業(yè)用戶保證調(diào)度算法 沒(méi)有優(yōu)先級(jí) 如保證每個(gè)進(jìn)程都獲得相同的處理機(jī)時(shí)間公平分享調(diào)度算法 分配給每個(gè)進(jìn)程相同的處理機(jī)時(shí)間實(shí)時(shí)調(diào)度基本條件:提供就緒時(shí)間,開(kāi)始截止時(shí)間或完成截止時(shí)間,處理時(shí)間,資源要求,優(yōu)先級(jí)系統(tǒng)處理能力
26、強(qiáng) 假設(shè)有m個(gè)周期性任務(wù),他們的處理時(shí)間為Ci,周期時(shí)間表為Pi,必須滿足i=1mCiPi1提高處理能力:一是采用單處理機(jī)系統(tǒng),但必須增強(qiáng)其處理能力,以顯著的減少每一個(gè)任務(wù)的處理時(shí)間。二是采用多處理機(jī)系統(tǒng),則i=1mCiPiN即可。采用搶占式調(diào)度具有快速切換機(jī)制 面對(duì)中斷的快速響應(yīng)能力 禁止中斷的時(shí)間間隔短快速的任務(wù)分派能力 系統(tǒng)中的每個(gè)運(yùn)行功能單位要小根據(jù)實(shí)時(shí)任務(wù)性質(zhì),分為硬、軟實(shí)時(shí)調(diào)度算法根據(jù)調(diào)度方式,分為非搶占調(diào)度算法(*輪轉(zhuǎn)調(diào)度算法,*優(yōu)先調(diào)度算法)和搶占調(diào)度算法(基于時(shí)鐘中斷的,立即搶占的)最早截止時(shí)間優(yōu)先EDF最低松弛度優(yōu)先LLF優(yōu)先級(jí)倒置高優(yōu)先級(jí)被低優(yōu)先級(jí)進(jìn)程延遲或阻塞解決方法:
27、規(guī)定一個(gè)進(jìn)程進(jìn)入臨界區(qū)后,處理機(jī)不允許被搶占死鎖 在一組進(jìn)程發(fā)生死鎖的情況下,這組死鎖進(jìn)程的每一個(gè)進(jìn)程都在等待另一個(gè)死鎖進(jìn)程所占有的資源引起死鎖主要是采用互斥訪問(wèn)方法,不能被搶占的資源可重用性資源 每一個(gè)可重用性資源中的單元只能分配給一個(gè)進(jìn)程使用進(jìn)程使用順序:請(qǐng)求資源(失敗會(huì)被阻塞或循環(huán)等待),使用資源,釋放資源系統(tǒng)中每一類(lèi)可重用性資源中的單元數(shù)目是相對(duì)固定的,進(jìn)程在運(yùn)行期間不能創(chuàng)建也不能刪除它。可消耗性資源 臨時(shí)性資源由進(jìn)程動(dòng)態(tài)地創(chuàng)建和消耗可搶占性資源 顧名思義不可搶占性資源 不能強(qiáng)行收回,只能進(jìn)程用完后自行釋放競(jìng)爭(zhēng)不可搶占性資源引起死鎖 數(shù)量不夠競(jìng)爭(zhēng)可消耗資源引起死鎖 通信時(shí)的死鎖進(jìn)程推進(jìn)
28、順序不當(dāng)引起死鎖 兩個(gè)持有資源的并發(fā)進(jìn)程想相互訪問(wèn)產(chǎn)生死鎖的必要條件互斥條件 請(qǐng)求和保持條件 不可搶占條件 循環(huán)等待條件處理死鎖1.預(yù)防死鎖 破壞必要條件中的一個(gè)或幾個(gè)互斥條件不能破壞 只能破壞后面的(1)破壞請(qǐng)求和保持條件系統(tǒng)保證做到一個(gè)進(jìn)程在請(qǐng)求資源時(shí)他不能持有不可搶占資源 第一種協(xié)議:所有進(jìn)程在運(yùn)行開(kāi)始前必須一次性申請(qǐng)全部資源第二張協(xié)議:只獲得初期所需的資源,后面逐步釋放,然后再請(qǐng)求(2)破壞不可搶占條件當(dāng)一個(gè)已經(jīng)保持了某些不可被搶占資源的進(jìn)程,提出新的資源請(qǐng)求而不能滿足時(shí),必須釋放已經(jīng)保持的所有資源,以后需要再申請(qǐng)。(3)破壞等待條件對(duì)所有資源類(lèi)型進(jìn)行線性排序,并賦予不同的序號(hào)避免死鎖
29、 在資源動(dòng)態(tài)分配過(guò)程中,防止系統(tǒng)進(jìn)入不安全狀態(tài)安全狀態(tài) 系統(tǒng)不會(huì)死鎖 不安全 系統(tǒng)可能會(huì)死鎖死鎖檢測(cè)算法 保持資源的請(qǐng)求和分配信息根據(jù)死鎖定理消去資源分配圖中的所有邊 即無(wú)死鎖死鎖的解除從一個(gè)進(jìn)程或多個(gè)進(jìn)程搶占資源給死鎖進(jìn)程終止所有死鎖進(jìn)程逐個(gè)終止進(jìn)程 付出代價(jià)最小的死鎖解除算法存儲(chǔ)器的多層結(jié)構(gòu)最高為CPU存儲(chǔ)器 中間為主存 最底層為輔存主存(內(nèi)存、可執(zhí)行存儲(chǔ)器) 保存進(jìn)程運(yùn)行時(shí)的程序和數(shù)據(jù) 輔存的高速緩存寄存器 與處理機(jī)速度相同高速緩存 介于寄存器和存儲(chǔ)器之間 減少CPU對(duì)主存的訪問(wèn)次數(shù)磁盤(pán)緩存 并不實(shí)際存在 緩和磁盤(pán)和主存速度上的不匹配用戶程序變成可執(zhí)行程序:編譯 鏈接 裝入程序的裝入絕對(duì)
30、裝入方式:用戶程序經(jīng)編譯產(chǎn)生絕對(duì)地址(物理地址) 適合系統(tǒng)小 只能運(yùn)行單道程序可重定位裝入方式 相對(duì)于起始地址 不允許移動(dòng) 多道程序動(dòng)態(tài)運(yùn)行時(shí)裝入方式 同上面的但是可以移動(dòng)程序的鏈接靜態(tài)鏈接裝入時(shí)動(dòng)態(tài)鏈接邊裝入邊鏈接 在裝入一個(gè)目標(biāo)模塊時(shí),若發(fā)生一個(gè)外部模塊調(diào)用事件,將引起裝入程序去找出相應(yīng)的外部目標(biāo)模塊,并將它裝入內(nèi)存。 優(yōu)點(diǎn)是便于修改和更新、便于實(shí)現(xiàn)對(duì)目標(biāo)模塊的共享。運(yùn)行時(shí)動(dòng)態(tài)鏈接將可能要運(yùn)行到的模塊全部裝入內(nèi)存,并在裝入時(shí)全部鏈接在一起。比如錯(cuò)誤處理用的目標(biāo)連續(xù)分配存儲(chǔ)器管理方式單一連續(xù)分配 在用戶去內(nèi)存中,僅裝有一道用戶程序,即整個(gè)內(nèi)存的用戶空間由該程序獨(dú)占。固定分區(qū)分配 分區(qū)大小相等
31、 大小不等按大小排序 分區(qū)記錄表記錄分區(qū)使用情況動(dòng)態(tài)分區(qū)分配 分區(qū)空閑表 分區(qū)空閑鏈動(dòng)態(tài)分區(qū)分配算法分區(qū)分配操作 系統(tǒng)從空閑分區(qū)表找到所需要大小的分區(qū)回收內(nèi)存 當(dāng)回收區(qū)與插入點(diǎn)的前一個(gè)空閑分區(qū)F1相連接,將回收區(qū)與F1合并,修改F1的大小,地址為F1若與后一個(gè),也合并,改回收區(qū)大小,地址為回收區(qū)若與插入?yún)^(qū)前后兩個(gè)空閑分區(qū)相連,合并三個(gè),取前一個(gè)為首地址若誰(shuí)都不相連,為回收區(qū)建立一個(gè)新的表項(xiàng)基于順序搜索的動(dòng)態(tài)分區(qū)分配算法首次適應(yīng)算法 FF要求空閑分區(qū)鏈以地址遞增的次序鏈接,內(nèi)存分配時(shí),按順序查找,找到第一個(gè)滿足的就分配 這個(gè)方法最有可能使得高地址空間成為大的空閑區(qū)循環(huán)首次適應(yīng)算法 NF。從上次找
32、到的空閑分區(qū)開(kāi)始找 為了避免低地址有很多空閑分區(qū)最佳適應(yīng)算法 BF 按容量從小到大形成分區(qū)鏈最壞適應(yīng)算法 WF 挑最大的空閑分區(qū) 從中分割一部分給作業(yè)使用基于索引搜索的動(dòng)態(tài)分區(qū)分配算法1.快速適應(yīng)算法 分類(lèi)搜索法將具有相同容量的空閑分區(qū)合到一起 并建立空閑分區(qū)鏈表2.伙伴系統(tǒng)3.哈希算法 類(lèi)似1動(dòng)態(tài)可重定位分區(qū)分配緊湊 一個(gè)系統(tǒng)或用戶程序必須被裝入一片連續(xù)的內(nèi)存空間中動(dòng)態(tài)重定位 重定位寄存器 程序在執(zhí)行時(shí)真正訪問(wèn)的內(nèi)存地址是相對(duì)地址與重定位寄存器中的地址相加動(dòng)態(tài)重定位分區(qū)分配算法 如果找不到一個(gè)足夠大的分區(qū),會(huì)把小的拼起來(lái)對(duì)換的引入 進(jìn)程的阻塞占用大量?jī)?nèi)存 迫使cpu等待對(duì)換即將一定數(shù)量的程序
33、或數(shù)據(jù)換入或換出內(nèi)存 根據(jù)每次所對(duì)換的數(shù)量 分為整體對(duì)換和頁(yè)面分段對(duì)換在具有對(duì)換功能的OS中,通常把磁盤(pán)空間分為文件區(qū)和對(duì)換區(qū)為了實(shí)現(xiàn)對(duì)換區(qū)的管理,空閑分區(qū)表 對(duì)換區(qū)的首地址和大小 盤(pán)塊號(hào)和盤(pán)塊數(shù)對(duì)換區(qū)的分配算法與動(dòng)態(tài)分區(qū)的分配雷同進(jìn)程的換出:選擇被換出的進(jìn)程 進(jìn)程換出過(guò)程進(jìn)程的換入:對(duì)換進(jìn)程將定時(shí)執(zhí)行換入操作,先看PCB中所有進(jìn)程狀態(tài),選擇就緒但已換出的進(jìn)程,如果有多個(gè),選換出到磁盤(pán)上時(shí)間最久的那個(gè)為他申請(qǐng)內(nèi)存,如果成功,調(diào)入,涂過(guò)失敗,先把內(nèi)存中的某些進(jìn)程換出,騰出足夠空間再調(diào)入分頁(yè)存儲(chǔ)管理的基本方法頁(yè)面和物理塊 頁(yè)面和物理塊的大小一樣 設(shè)有8頁(yè)的邏輯空間,每頁(yè)有1024B,被影射到32塊
34、的物理內(nèi)存中,那么邏輯地址的有效位是_物理地址至少是_2的三次方和2的十次方 13。 2的5次方和2的十次方 15地址結(jié)構(gòu) 0-11 位移量 12-31 頁(yè)號(hào)=地址/頁(yè)面大小 頁(yè)內(nèi)地址=地址MOD 頁(yè)面大小 頁(yè)表(在內(nèi)存中) 允許進(jìn)程的各個(gè)頁(yè)離散地存在內(nèi)存中 為了進(jìn)程正常運(yùn)行,系統(tǒng)為每個(gè)進(jìn)程建立了一張頁(yè)面映像表地址變換機(jī)構(gòu)?;镜木褪怯布?shí)現(xiàn),頁(yè)表采用一組專(zhuān)門(mén)的寄存器,一頁(yè)用一個(gè)。先從內(nèi)存中找到邏輯地址,再找到對(duì)應(yīng)的物理地址取出數(shù)據(jù)需要2t的時(shí)間快表的話就是直接得到邏輯頁(yè)所對(duì)應(yīng)的物理塊號(hào)分段存儲(chǔ)管理方式 方便編程,信息共享 信息保護(hù) 動(dòng)態(tài)增長(zhǎng) 動(dòng)態(tài)鏈接分段 作業(yè)的地址空間被劃分為若干個(gè)段。段號(hào)
35、+段內(nèi)地址如主程序段,子程序段等2段表3.地址變換機(jī)構(gòu) 段表始址和段表長(zhǎng)度TL 進(jìn)行變換時(shí) 若STL 越界 產(chǎn)生中斷信號(hào) 若未越界,得到段表項(xiàng)的位置 讀出該段在內(nèi)存中的起始地址d 如果dTL 越界未越界則d+基址未物理地址分頁(yè)和分段的主要區(qū)別:頁(yè)是信息的物理單位,頁(yè)的大小固定且由系統(tǒng)決定,分頁(yè)的用戶程序地址空間是一維的段頁(yè)式存儲(chǔ)管理方式 地址結(jié)構(gòu)段號(hào)+段內(nèi)頁(yè)號(hào)+頁(yè)內(nèi)地址用戶所感到的內(nèi)存容量比實(shí)際內(nèi)存容量大的多傳統(tǒng)存儲(chǔ)器的特征:一次性 駐留性虛擬存儲(chǔ)器的特征:多次性 對(duì)換性 虛擬性實(shí)現(xiàn)方法分頁(yè)請(qǐng)求系統(tǒng) 請(qǐng)求分頁(yè)的頁(yè)表機(jī)制 :將用戶地址空間中的邏輯地址映射為內(nèi)存空間中的物理地址。缺頁(yè)中斷機(jī)構(gòu) :在
36、指令執(zhí)行期間產(chǎn)生和處理中斷信號(hào) 一條指令在執(zhí)行期間可能產(chǎn)生多次缺頁(yè)中斷地址變換機(jī)構(gòu) 實(shí)現(xiàn)請(qǐng)求分頁(yè)軟件請(qǐng)求分頁(yè)內(nèi)存分配固定分配:平均分配 按比例分配(根據(jù)進(jìn)程的大小按比例分配物理塊)考慮優(yōu)先權(quán)的分配算法頁(yè)面調(diào)入:預(yù)調(diào)頁(yè)策略 請(qǐng)求調(diào)頁(yè)策略從何處調(diào)入頁(yè)面 :系統(tǒng)擁有足夠的對(duì)換區(qū)間,這時(shí)可以全部從對(duì)換區(qū)調(diào)入所需頁(yè)面 系統(tǒng)缺少足夠的對(duì)換區(qū)間 這時(shí)凡事不會(huì)被修改的文件會(huì)直接從文件區(qū)調(diào)入 頁(yè)面調(diào)入過(guò)程:每當(dāng)程序所要訪問(wèn)的頁(yè)面未再內(nèi)存時(shí) 便發(fā)出缺頁(yè)中斷 中斷處理程序保留CPU環(huán)境 分析原因后轉(zhuǎn)入缺頁(yè)中斷處理程序缺頁(yè)率:訪問(wèn)頁(yè)面成功次數(shù)為S,失敗次數(shù)為F,總次數(shù)A=S+F 缺頁(yè)率f=F/A假設(shè)被置換的頁(yè)面被修改
37、的概率為p,缺頁(yè)中斷處理時(shí)為ta,被置換頁(yè)面沒(méi)有被修改的缺頁(yè)中斷時(shí)間為tb,則t=p*ta+(1-p)*tb頁(yè)面置換算法最佳置換算法 選擇被淘汰的頁(yè)面時(shí)以后不使用或長(zhǎng)時(shí)間內(nèi)不再被訪問(wèn)的。無(wú)法實(shí)現(xiàn)先進(jìn)先出 淘汰最先進(jìn)入內(nèi)存的 不太好用有些頁(yè)面老是被訪問(wèn),如全局變量,常用函數(shù)最近最久未使用算法LRU。配置移位寄存器R=Rn-1Rn-2Rn-3R2R1R0當(dāng)進(jìn)程訪問(wèn)時(shí),將相應(yīng)的R變?yōu)?,定時(shí)信號(hào)將每隔一定時(shí)間將寄存器右移一位或用棧 每當(dāng)進(jìn)程訪問(wèn)某頁(yè)面時(shí),將該頁(yè)面的頁(yè)號(hào)從棧中移出,將它壓入棧頂。棧頂始終是最新被訪問(wèn)的編號(hào),棧底則是最近最久未使用的頁(yè)面號(hào)最少使用置換算法LFU 移位寄存器記錄頁(yè)面被訪問(wèn)的頻率,選擇最少使用的淘汰Clock置換算法:首先調(diào)出的頁(yè)是在最近一段時(shí)間內(nèi)未被訪問(wèn)的頁(yè)面。在將一個(gè)頁(yè)面換出時(shí),如果該頁(yè)已被修改過(guò),重新寫(xiě)回磁盤(pán),未被則不必 還需考慮置換代價(jià)頁(yè)面緩沖算法PBA 特點(diǎn):顯著降低了頁(yè)面
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國(guó)遠(yuǎn)傳壓力表行業(yè)市場(chǎng)前瞻與投資戰(zhàn)略規(guī)劃分析報(bào)告
- 主題六 任務(wù)一 初識(shí)計(jì)算機(jī)網(wǎng)絡(luò) 教學(xué)設(shè)計(jì) -2023-2024學(xué)年桂科版初中信息技術(shù)七年級(jí)上冊(cè)
- 2025年奶牛胚胎移植技術(shù)項(xiàng)目投資可行性研究分析報(bào)告
- 江蘇省某工程技術(shù)研究中心技改項(xiàng)目可行性研究報(bào)告
- Unit 6 How do you feel?PartB (教學(xué)設(shè)計(jì))-2024-2025學(xué)年人教PEP版英語(yǔ)六年級(jí)上冊(cè)
- 2025至2030年中國(guó)毛白楊小苗數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025年障子門(mén)項(xiàng)目可行性研究報(bào)告
- 2025年過(guò)墻手搖桿項(xiàng)目可行性研究報(bào)告
- 2025至2030年中國(guó)在線UPS數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2025至2030年中國(guó)噴漿機(jī)扇形板數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 財(cái)務(wù)崗位招聘筆試題及解答(某大型國(guó)企)2025年
- 洋車(chē)夫課件教學(xué)課件
- 車(chē)間鋸木材承包合同協(xié)議書(shū)
- 公司與個(gè)人的技術(shù)服務(wù)合同書(shū)范本
- 數(shù)字出版概論 課件 第八章 數(shù)字出版產(chǎn)品開(kāi)發(fā)與分析
- 高職建筑設(shè)計(jì)專(zhuān)業(yè)《建筑構(gòu)造與識(shí)圖》說(shuō)課課件
- 西師版小學(xué)數(shù)學(xué)四年級(jí)下冊(cè)教案
- 《管理學(xué)基礎(chǔ)(第2版)》高職全套教學(xué)課件
- 國(guó)有企業(yè)“三定”工作方案-國(guó)有企業(yè)三定方案
- 清華大學(xué)2024年強(qiáng)基計(jì)劃數(shù)學(xué)試題(解析)
- 建筑業(yè)投標(biāo)師聘用合同
評(píng)論
0/150
提交評(píng)論