freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

操作系統(tǒng)chapter(4)(編輯修改稿)

2025-01-30 02:55 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 程撤消的系統(tǒng)調(diào)用是: kill 2 進(jìn)程終止過(guò)程 ? 1 根據(jù)被終止進(jìn)程的 標(biāo)識(shí)符 ,從 PCB集合中 檢索出該進(jìn)程的 PCB,從中 讀出 該 進(jìn)程的狀態(tài) ? 2 若被終止進(jìn)程處于 執(zhí)行態(tài) ,應(yīng)立即 終止該進(jìn)程的執(zhí)行 ,并設(shè)置 調(diào)度標(biāo)志為真 ,然后 再選擇一個(gè)進(jìn)程,分配處理機(jī) 給它。 ? 3 如果該進(jìn)程 還有子孫進(jìn)程 ,還應(yīng)將它的 所有子孫進(jìn)程終止 ,以防它們成為不可控的。 ? 4 將該進(jìn)程所擁有的 全部資源 ,或者 歸還 給它的 父進(jìn)程 ,或者歸還給 系統(tǒng) 。 ? 5 將 被終止進(jìn)程( PCB)從所在隊(duì)列中 移出 。 入口 返回 查進(jìn)程鏈表或進(jìn)程家族 有此 PCB嗎? 該 PCB有子進(jìn)程嗎? 釋放該進(jìn)程所占有的資源 釋放該 PCB結(jié)構(gòu)本身 出錯(cuò)處理 有 無(wú) 有 無(wú) 進(jìn)程的阻塞 1. 引起進(jìn)程阻塞和喚醒的事件 ? 1) 請(qǐng)求系統(tǒng)服務(wù) :正在執(zhí)行的程序 請(qǐng)求操作系統(tǒng)服務(wù) ,但是由于某種原因操作系統(tǒng)沒(méi)有立即滿(mǎn)足 該進(jìn)程的要求,該進(jìn)程只能轉(zhuǎn)變?yōu)樽枞麪顟B(tài) 來(lái)等待。 ? 2) 啟動(dòng)某操作 :當(dāng)進(jìn)程啟動(dòng)某種操作后,如果該進(jìn)程必須在該操作完成之后才能繼續(xù)執(zhí)行,則 必須先 使 進(jìn)程阻塞 。 1. 引起進(jìn)程阻塞和喚醒的事件 ? 3) 新數(shù)據(jù)尚未到達(dá): ? 對(duì)于相互 合作的進(jìn)程 ,如果其中一個(gè)進(jìn)程需要先獲得另一 (合作 )進(jìn)程提供的數(shù)據(jù)后才能對(duì)數(shù)據(jù)進(jìn)行處理,則只要其所需 數(shù)據(jù)尚未到達(dá) ,該進(jìn)程只有阻塞。 ? 4) 無(wú)新工作可做 :系統(tǒng)往往設(shè)置一些 具有某特定功能 的系統(tǒng)進(jìn)程,每當(dāng)這種進(jìn)程完成任務(wù)以后 便把自己阻塞 起來(lái)等待新任務(wù)的到來(lái)。(發(fā)送進(jìn)程) 2.進(jìn)程阻塞過(guò)程 ? 進(jìn)程通過(guò) 調(diào)用阻塞原語(yǔ)把自己阻塞 起來(lái)。進(jìn)程的阻塞是進(jìn)程自身的一種 主動(dòng)行為 。進(jìn)入阻塞過(guò)程后,由于此時(shí)該進(jìn)程還處于執(zhí)行狀態(tài),所以應(yīng)先立即 停止執(zhí)行 ,把進(jìn)程控制塊中的現(xiàn)行狀態(tài)由 “ 執(zhí)行 ”改為 “ 阻塞 ” ,并將它 插入到阻塞隊(duì)列 。然后,轉(zhuǎn)調(diào)度程序進(jìn)行重新調(diào)度,將處理機(jī)分配給另一就緒進(jìn)程,并進(jìn)行切換。 入口 將現(xiàn)行進(jìn)程的 CPU信息送 該進(jìn)程的 PCB現(xiàn)場(chǎng)保護(hù)區(qū) 置該進(jìn)程狀態(tài)為“等待” 把該進(jìn)程插入相應(yīng)的等待隊(duì)列 轉(zhuǎn)進(jìn)程調(diào)度 阻塞原語(yǔ)執(zhí)行過(guò)程 3.進(jìn)程喚醒過(guò)程 ? 進(jìn)程 所等待的事件發(fā)生 時(shí),則調(diào)用喚醒原語(yǔ)wakeup( ),將等待該事件的 進(jìn)程喚醒 。一個(gè)處于阻塞狀態(tài)的進(jìn)程不可能自己?jiǎn)拘炎约?。喚醒一個(gè)進(jìn)程有兩種方法: ? ( 1)由系統(tǒng)進(jìn)程喚醒。系統(tǒng)進(jìn)程統(tǒng)一控制事件的發(fā)生并將 “ 事件發(fā)生 ” 這一消息通知等待進(jìn)程。 ? ( 2)由事件發(fā)生進(jìn)程喚醒。事件發(fā)生進(jìn)程和被喚醒進(jìn)程之間是合作關(guān)系。 3.進(jìn)程喚醒過(guò)程 ? 喚醒原語(yǔ)執(zhí)行的過(guò)程是 :首先把 被阻塞進(jìn)程 從等待該事件的 阻塞隊(duì)列 中 移出 ,將其 PCB中的 阻塞狀態(tài) 改為 就緒狀態(tài) ,然后把該進(jìn)程 插入 到 就緒隊(duì)列 中。然后喚醒原語(yǔ)既可以返回原調(diào)用程序,也可以轉(zhuǎn)向進(jìn)程調(diào)度。 3.進(jìn)程喚醒過(guò)程 ? 阻塞原語(yǔ) 和 喚醒原語(yǔ) 是一對(duì)作用剛好相反的原語(yǔ)。因此,如果在某進(jìn)程中調(diào)用了阻塞原語(yǔ),則必須在與之相合作的另一進(jìn)程或其它相關(guān)進(jìn)程中,調(diào)用喚醒原語(yǔ)來(lái)喚醒阻塞進(jìn)程,否則,該阻塞進(jìn)程將會(huì)因不能被喚醒而長(zhǎng)久地處于阻塞狀態(tài),從而再無(wú)機(jī)會(huì)運(yùn)行。 入口 將被喚醒進(jìn)程從相 應(yīng)的等待隊(duì)列中移出 將被喚醒進(jìn)程置為就緒狀態(tài) 將被喚醒進(jìn)程送入就緒隊(duì)列 轉(zhuǎn)進(jìn)程調(diào)度 喚醒原語(yǔ)執(zhí)行過(guò)程 進(jìn)程的掛起與激活 ? ? 當(dāng)出現(xiàn)了 引起進(jìn)程掛起的事件 時(shí), 用戶(hù)請(qǐng)求 將自己掛起,或者 父進(jìn)程 請(qǐng)求掛起自己的子進(jìn)程,應(yīng)該利用掛起原語(yǔ) suspend( ) ? 掛起的實(shí)現(xiàn)方式有多種: ? ( 1)把發(fā)出掛起原語(yǔ)的進(jìn)程自身掛起。 ? ( 2)掛起具有指定標(biāo)識(shí)名的進(jìn)程。 ? ( 3)把某進(jìn)程及其全部或部分(例如具有指定優(yōu)先數(shù)的)子孫進(jìn)程掛起。 ? 掛起原語(yǔ)的主要操作過(guò)程: ? 以被掛起的進(jìn)程標(biāo)識(shí)名為索引,到 PCB集合中查找該進(jìn)程的 PCB,并檢查該進(jìn)程的狀態(tài): ? ( 1)若狀態(tài)為 執(zhí)行 ,則中斷處理機(jī),把狀態(tài)改為 掛起就緒 。 ? ( 2)若狀態(tài)為 阻塞 ,則改為 掛起阻塞 ; ? ( 3)若狀態(tài)為 就緒 ,則改為 掛起就緒 ; ? 注意:被掛起進(jìn)程 PCB的非常駐部分要交換到磁盤(pán)交換區(qū) 2.進(jìn)程的激活過(guò)程 ? 進(jìn)程的激活過(guò)程 :當(dāng)發(fā)生激活事件后,系統(tǒng)利用激活原語(yǔ) Active( )將指定進(jìn)程激活。激活原語(yǔ)先將進(jìn)程 從外存 調(diào)入 內(nèi)存 ,然后 檢查進(jìn)程的狀態(tài) 。 ? 靜止就緒 活動(dòng)就緒 ? 靜止阻塞 活動(dòng)阻塞 進(jìn)程的同步 ? 在多道程序系統(tǒng)中,由于資源共享或進(jìn)程合作,使進(jìn)程間形成間接相互制約和直接相互制約關(guān)系,這需要用進(jìn)程互斥與同步機(jī)制來(lái)協(xié)調(diào)兩種制約關(guān)系。 ? 進(jìn)程同步的主要任務(wù)是使并發(fā)執(zhí)行的進(jìn)程間有效的共享資源和相互合作 . ? 進(jìn)程的同步機(jī)制 ── 信號(hào)量及 (解決進(jìn)程同步互斥問(wèn)題) 直接作用 (相互合作): 指系統(tǒng)中多個(gè)進(jìn)程中發(fā)生的事件存在某種時(shí)序關(guān)系,需要相互合作,共同完成一項(xiàng)任務(wù),直接作用只發(fā)生在相交進(jìn)程間 間接作用 (資源共享): 由于各進(jìn)程要求共享資源,而有些資源需要互斥使用,因此各進(jìn)程間競(jìng)爭(zhēng)使用這些資源, ,是無(wú)意識(shí)安排的,可發(fā)生在相交進(jìn)程之間,也可發(fā)生在無(wú)關(guān)進(jìn)程之間 1.兩種形式的制約關(guān)系 與時(shí)間有關(guān)的錯(cuò)誤 進(jìn)程執(zhí)行的速度不能由自己來(lái)控制,對(duì)于有交往的并發(fā)進(jìn)程來(lái)說(shuō) ,可能有若干并發(fā)進(jìn)程同時(shí)使用 共享資源 ,即一個(gè)進(jìn)程使用未結(jié)束 ,另一個(gè)進(jìn)程已開(kāi)始使用 ,形成交替使用共享資源的現(xiàn)象 . 如果對(duì)這種情況不加控制 ,就可能出現(xiàn)與時(shí)間有關(guān)的錯(cuò)誤 ,在共享資源 (變量 )時(shí)就會(huì)出錯(cuò) ,就會(huì)得到不正確的結(jié)果 . 與時(shí)間有關(guān)的錯(cuò)誤 ? 例 1 飛機(jī)售票問(wèn)題 ? 假設(shè)一個(gè)飛機(jī)訂票系統(tǒng)有兩個(gè)終端 ,分別運(yùn)行進(jìn)程 T1和 據(jù)區(qū)中的一些單元 Aj(j=1,2,… .)分別存放某月某日某次航班的余票數(shù) ,而 X1和X2表示進(jìn)程 T1和 T2執(zhí)行時(shí)所用的工作單元 . 飛機(jī)售票程序如下 : procedure Ti(i=1,2,… .) Xi:integer。 begin {按旅客訂票要求找到 Aj] Xi:=Aj。 if Xi=1 then begin Xi:=Xi1。 Ai:=Xi。 [輸出一張票 ]。 end。 else[輸出信息 “ 票已售完 ” ] end。 由于 T1和 T2是兩個(gè)可同時(shí)執(zhí)行的并發(fā)進(jìn)程 ,它們?cè)谕粋€(gè)計(jì)算機(jī)系統(tǒng)中運(yùn)行 ,共享同一批票源數(shù)據(jù) ,因此 ,可能出現(xiàn)如下所示的運(yùn)行情況(Aj=m). T1: X1:=Aj。 即 X1=m(m0) T2: X2:=Aj。 即 X2=m T2: X2:=X21。Aj:=X2。[輸出一張票 ]。即 Aj=m1 T1: X1:=X11。Aj:=X1。[輸出一張票 ]。即 Aj=m1 此時(shí)出現(xiàn)了把同一張票賣(mài)給了兩位旅客的情況 ,兩位旅客都買(mǎi)到一張同天同次航班的機(jī)票 ,可是 Aj的值實(shí)際上只減去了 1,造成余票數(shù)的不正確 . 例 2 主存管理問(wèn)題 假定有兩個(gè)并發(fā)進(jìn)程 borrow和 return分別負(fù)責(zé)申請(qǐng)和歸還主存資源 ,算法描述中 ,X表示現(xiàn)有空閑主存總量 ,B表示申請(qǐng)或歸還的主存量 .并發(fā)進(jìn)程算法描述如下 : X:integer。 X:=1000。 cobegin procedure borrow(B:integer) begin if BX then[申請(qǐng)進(jìn)程進(jìn)入等待隊(duì)列等待主存資源 ] X:=XB。 [修改主存分配表 ,申請(qǐng)進(jìn)程獲得主存資源 ] 例 2 主存管理問(wèn)題 end。 procedure return(B:integer) begin X:=X+B。 [修改主存分配表 ]。 [釋放等主存資源的進(jìn)程 ]。 end。 coend。 總結(jié) :由于并發(fā)進(jìn)程執(zhí)行的隨機(jī)性 ,一個(gè)進(jìn)程對(duì)另一個(gè)進(jìn)程的影響是不可預(yù)測(cè)的 .由于它們共享了資源 (變量 ),因此當(dāng)在不同時(shí)刻交替訪問(wèn)資源 (變量 )時(shí)可能造成結(jié)果的不正確 . 2. 臨界資源 系統(tǒng)中某些資源一次只允許一個(gè)進(jìn)程使用,稱(chēng)這樣的資源為臨界資源或互斥資源或共享變量 ? 硬臨界資源 :打印機(jī)、輸入機(jī)、磁帶機(jī)等 ? 軟臨界資源 :多個(gè)進(jìn)程共享的變量、數(shù)據(jù)、表格、隊(duì)列等 程序 段 1 程序 段 2 程序 段 n共 享 變量? 臨界區(qū) (互斥區(qū) ): ? 每個(gè)進(jìn)程中訪問(wèn)臨界資源的那段程序段稱(chēng)為臨界區(qū)(critical section)。 3.臨界區(qū) 3.臨界區(qū) ? 為保證對(duì)臨界資源的互斥使用,在使用臨界資源之前應(yīng)先申請(qǐng)、判斷。 ? 一個(gè)訪問(wèn)臨界資源的循環(huán)進(jìn)程應(yīng)為如下結(jié)構(gòu) ? While (1) ? { entry section。 //進(jìn)入?yún)^(qū) ? critical section。 //臨界區(qū) ? exit section。 //退出區(qū) ? remainder section。 //剩余區(qū) ? }。 互斥 ? 互斥 –––多個(gè)進(jìn)程需要訪問(wèn)一個(gè)不可共享資源時(shí) , 任何時(shí)候只能允許一個(gè)訪問(wèn)這個(gè)資源。即不允許兩個(gè)以上的共享某資源的并發(fā)進(jìn)程同時(shí)進(jìn)入臨界區(qū)。 ? 互斥關(guān)系是一種間接制約關(guān)系, “ 間接 ”表示并發(fā)進(jìn)程之間受共享資源的制約,而不是進(jìn)程間直接制約的意思?;コ膺M(jìn)程的執(zhí)行順序可以是任意的。 同步 ? 與 “ 間接制約 ” 不同,計(jì)算進(jìn)程與打印進(jìn)程之間的關(guān)系是一種 “ 直接制約 ” 關(guān)系。 ? 同步 –––指兩個(gè)事件的發(fā)生有著某種時(shí)序上的關(guān)系 (先,后 )。 ? 同步關(guān)系 是一種 直接制約關(guān)系 ,具有同步關(guān)系的一組并發(fā)進(jìn)程的執(zhí)行順序不是任意的。稱(chēng)為合作進(jìn)程。 4.同步機(jī)制應(yīng)遵循的規(guī)則 ? 空閑讓進(jìn): 當(dāng)無(wú)進(jìn)程在互斥區(qū)時(shí),任何有權(quán)使用互斥區(qū)的進(jìn)程可進(jìn)入 ? 忙則等待: 不允許兩個(gè)以上的進(jìn)程同時(shí)進(jìn)入互斥區(qū) ? 有限等待: 任何進(jìn)入互斥區(qū)的要求應(yīng)在有限的時(shí)間內(nèi)得到滿(mǎn)足 ? 讓權(quán)等待: 處于等待狀態(tài)的進(jìn)程應(yīng)放棄占用 CPU,以使其他進(jìn)程有機(jī)會(huì)得到 CPU的使用權(quán) 鎖和上鎖、開(kāi)鎖操作 ? 解決進(jìn)程互斥的最簡(jiǎn)單的辦法是加鎖 。 ? 在系統(tǒng)中為 每個(gè)臨界資源設(shè)置一個(gè)鎖位 , ? 0 表示資源可用 , ? 1 表示資源已被占用 ( 不可用 ) 。 ? 這樣當(dāng)一個(gè)進(jìn)程使用臨界資源之前必須完成下列操作: ? 考察鎖位的值; ? 若原來(lái)的值為 “ 0‖, 將鎖位置為 “ 1‖ ; ? 若原來(lái)值是為 “ 1‖ , 則轉(zhuǎn)到 1。 ? 當(dāng)進(jìn)程使用完資源后 , 將鎖位置為 “ 0―, 稱(chēng)為開(kāi)鎖操作 。 用上鎖原語(yǔ)和開(kāi)鎖原語(yǔ)實(shí)現(xiàn)互斥 ? 假設(shè)有兩個(gè)進(jìn)程共享打 ? 印機(jī),兩個(gè)進(jìn)程中使用 ? 打印機(jī)的程序段為臨界 ? 區(qū)。 ? 為保證打印的正確,設(shè) ? 置打印機(jī)的鎖位 print, ? 其初值為 “ 0‖,表示 ? 打印機(jī)可。 信號(hào)量機(jī)制 ? 我們看到了解決互斥問(wèn)題的方法,但這些方法都不夠靈活,也不方便,效率低,存在不公平現(xiàn)象。于是人們從交叉路口的交通管理中使用的信號(hào)燈上得到啟發(fā),通過(guò)信號(hào)燈的狀態(tài) (或顏色 )實(shí)現(xiàn)交通管理。 ? 操作系統(tǒng)中引進(jìn)信號(hào)燈 (通常人們叫信號(hào)量 )的概念既可用來(lái)解決同步問(wèn)題,也可解決互斥問(wèn)題。 信號(hào)量機(jī)制 ? 信號(hào)量機(jī)制是 1965年,由荷蘭計(jì)算機(jī)科學(xué)家 Dijkstra提出的同步方法。 ? 信號(hào)量: 除初始化外 ,僅能由同步原語(yǔ)對(duì)其進(jìn)行操作的整型變量。 ? 同步原語(yǔ): P/wait操作; ? V/signal操作; ? 信號(hào)量機(jī)制目前已經(jīng)發(fā)展成多種類(lèi)型,主要有:整型、記錄型、 AND型和信號(hào)量集機(jī)制。 1.整型信號(hào)量 ? 整型信號(hào)量定義為一個(gè)用于表示資源數(shù)目的整型量 S,它與一般整型量不同,除初始化外,僅能通過(guò)兩個(gè)標(biāo)準(zhǔn)的原子操作wait(S)和 signal(S)來(lái)訪問(wèn)。 ? Wait(S)和 signal(S)操作可描述為: ? wait(S): while S=0 do noop; ? S:=S1; ? signal(S): S:=S+1; 信號(hào)量的物理意義 ? wai
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1