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

正文內(nèi)容

[工學(xué)]操作系統(tǒng)-第2章 進(jìn)程管理-文庫吧

2025-03-30 00:43 本頁面


【正文】 27 進(jìn)程創(chuàng)建 ? 進(jìn)程在執(zhí)行過程中可以通過系統(tǒng)調(diào)用創(chuàng)建多個子進(jìn)程,將正在執(zhí)行的進(jìn)程叫做父進(jìn)程,新創(chuàng)建的進(jìn)程叫做子進(jìn)程。 1 進(jìn)程圖 :描述進(jìn)程的家族關(guān)系的有向樹( 圖 29) 父進(jìn)程、子進(jìn)程、祖先進(jìn)程。 進(jìn)程圖由結(jié)點和有向邊構(gòu)成。 28 ? 子進(jìn)程可以繼承父進(jìn)程擁有的資源 ? 子進(jìn)程撤銷時要歸還父進(jìn)程的資源 ? 父進(jìn)程撤銷時必須同時撤銷所有的子進(jìn)程。 ? 在 PCB設(shè)置了家族關(guān)系表項,標(biāo)明進(jìn)程的父進(jìn)程和所有子進(jìn)程。 29 請同學(xué)們想一下: ? 使用進(jìn)程圖是為了描述什么? ? 進(jìn)程圖與前趨圖的比較,有什么異同? 30 2 引起進(jìn)程創(chuàng)建的事件 : ? 用戶登錄 ? 作業(yè)調(diào)度 ? 提供服務(wù) ? 應(yīng)用請求 系統(tǒng)創(chuàng)建進(jìn)程 父進(jìn)程創(chuàng)建進(jìn)程 31 3 進(jìn)程的創(chuàng)建 調(diào)用 creat()原語。 ? 申請 空白 PCB和唯一的數(shù)字標(biāo)識符 ? 為新進(jìn)程分配資源(內(nèi)存空間) ? 初始化 PCB— 標(biāo)識信息,處理機(jī)狀態(tài)信息,處理機(jī)控制信息 ? 將進(jìn)程插入就緒隊列。 建立 PCB,分配內(nèi)存,加載程序,入就緒鏈 32 入口 查 PCB鏈表 有空 PCB? PCB( I) 入進(jìn)程家族或進(jìn)程鏈 PCB( 1)入就緒隊列 將有關(guān)參數(shù)填入 PCB( 1) 相應(yīng)項 取空表 PCB(1) 返回 創(chuàng)建失敗 無 創(chuàng)建原語流程圖 有 33 ? Creat(s0,m0,pi) ? { ? p=GetNewPCB()。 分配新的 PCB ? pid= GetNewPID()。 分配進(jìn)程 ID ? pID=pid。 設(shè)置進(jìn)程 ID ? pCPUState=so。 CPU的狀態(tài) ? pMemory=m0。 ? pPriority=pi。 ? pStatus. Type=‘ready’。 ? pStatus. List=RL。 ? Insert(RL,p)。 ? Scheduler()。 調(diào)度程序 ? } 34 進(jìn)程終止 引起進(jìn)程終止的事件: 1 正常結(jié)束:計算機(jī)系統(tǒng)中,都有一個表示進(jìn)程已經(jīng)運行完成的指示。如:批處理 (Holt),分時系統(tǒng)中 (Logs Off) 。 2 異常結(jié)束 越界錯誤、保護(hù)錯、特權(quán)指令錯、非法指令錯、 運行超時、等待超時、算術(shù)運算錯、 I/O故障 3 外界干預(yù) 操作員或操作系統(tǒng)干預(yù) 父進(jìn)程請求 父進(jìn)程終止 35 入口 返回 查進(jìn)程鏈表或進(jìn)程家族 有此 PCB嗎? 該 PCB有子進(jìn)程嗎? 釋放該進(jìn)程所占有的資源 釋放該 PCB結(jié)構(gòu)本身 出錯處理 有 無 有 36 2 終止過程 : 調(diào)用進(jìn)程終止原語 1. 根據(jù)進(jìn)程標(biāo)識符,從 PCB集合中檢索出該 進(jìn)程的 PCB, 讀出該進(jìn)程的狀態(tài); 2. 若正處于執(zhí)行態(tài),立即停止該進(jìn)程的執(zhí)行,并設(shè)置調(diào)度標(biāo)志為真,把處理機(jī)分配給新進(jìn)程 ; 3. 終止所有子進(jìn)程; 4. 全部資源歸還給其父進(jìn)程或系統(tǒng); 5. 將被終止進(jìn)程的 PCB從所在隊列(或鏈表)中移出 歸還資源,撤銷 PCB,通知父進(jìn)程 37 ? Destroy(pid) ? { ? p=GetPCB(pid)。 ? KillTree(p)。 ? Scheduler()。 ? } KillTree(p) { For(each q in p) Killtree(q)。 If(p=‘runing’ { p1=pprocessorID。 Interrupt(p1)。 } Remove(p,p)。 releaseall(pmemory)。 Releasall(potherresources)。 Closeall(popenfiles)。 DeletePCB(P)。 } 38 進(jìn)程的阻塞和喚醒 1 進(jìn)程阻塞 一個進(jìn)程經(jīng)常要和其他進(jìn)程通信。這在運行的進(jìn)程因為提出服務(wù)請求( I/O)操作,未得到操作系統(tǒng)的立即滿足,或者所需數(shù)據(jù)尚未到達(dá)等原因,將轉(zhuǎn)變?yōu)樽枞麪顟B(tài)。 39 2 阻塞過程: 調(diào)用阻塞原語 block(), 是主動行為。 ? 停止進(jìn)程的執(zhí)行 ? 將 PCB中的執(zhí)行態(tài)改為阻塞態(tài) ? 將 PCB插入阻塞隊列 ? 將處理機(jī)分配給另一個就緒進(jìn)程。 40 入口 保存當(dāng)前進(jìn)程的 CPU現(xiàn)場 置該進(jìn)程的狀態(tài) 被阻塞進(jìn)程入等待隊列 轉(zhuǎn)進(jìn)程調(diào)度 阻塞原語 41 ? Block( ) ? { ? p=GetPCB()。 ? s=p。 ? Cpu=pprocessorID。 ? PCPUState=interrupt(cpu)。 ? p=‘blocked’。 ? Insert(BL,p)。 ? Scheduler( )。 ? } 42 3 喚醒過程 喚醒原語 wakeup(),將等待該事件的進(jìn)程喚醒。 ? 把阻塞的進(jìn)程從阻塞隊列中移出 ? 將 PCB的狀態(tài)由阻塞改為就緒 ? 將 PCB插入就緒隊列 43 入口 從等待隊列中摘下被喚醒進(jìn)程 將被喚醒進(jìn)程置為就緒狀態(tài) 將被喚醒進(jìn)程送入就緒隊列 進(jìn)程調(diào)度返回 喚醒原語 44 ? Wakeup(pid) ? { ? P=GetPCB(pid)。 ? Remove(p,p)。 ? P=‘ready’。 ? Insert(RL,p)。 ? Scheduler()。 ? } 45 進(jìn)程的掛起和激活 ? 當(dāng)出現(xiàn)了引起進(jìn)程掛起的事件時,用戶請求將自己掛起,或者父進(jìn)程請求掛起自己的子進(jìn)程,應(yīng)該利用掛起原語 suspend() ? 掛起原語的執(zhí)行過程:檢查被掛起進(jìn)程的狀態(tài);如果處于活動就緒狀態(tài),就將它改為靜止就緒;如果處于活動阻塞,則改為靜止阻塞。 ? 進(jìn)程的激活過程:當(dāng)發(fā)生激活事件后,系統(tǒng)利用激活原語 Active()將指定進(jìn)程激活。激活原語先將進(jìn)程從外存調(diào)入內(nèi)存,然后檢查進(jìn)程的狀態(tài)。 46 填空題 ? 為使進(jìn)程由活動就緒轉(zhuǎn)變?yōu)殪o止就緒,應(yīng)利用 __⑴ __原語;為使進(jìn)程由執(zhí)行狀態(tài)變?yōu)樽枞麪顟B(tài),應(yīng)利用 __⑵ __原語;為使進(jìn)程由靜止就緒變?yōu)榛顒泳途w,應(yīng)利用 __⑶ __原語;從阻塞狀態(tài)變?yōu)榫途w狀態(tài)應(yīng)利用 __⑷ __原語。 ? ⑴ ⑷: suspend() block() active () wakeup() 47 知識回顧 ? 什么是進(jìn)程 ? ? 進(jìn)程的三種基本狀態(tài)及轉(zhuǎn)換條件及其關(guān)系? ? 什么是進(jìn)程控制塊 PCB? 48 進(jìn)程同步 ? 在多道程序運行環(huán)境下,并發(fā)執(zhí)行的進(jìn)程共享計算機(jī)資源,從而導(dǎo)致進(jìn)程之間存在著一定的制約關(guān)系。 ? 為了保證執(zhí)行結(jié)果的正確性和資源的充分利用,系統(tǒng)必須提供相應(yīng)的并發(fā)控制機(jī)制(進(jìn)程同步機(jī)制) ? 并發(fā)進(jìn)程之間為了完成某個任務(wù)而相互等待的關(guān)系就是進(jìn)程同步關(guān)系。 49 進(jìn)程同步的任務(wù): 對多個相關(guān)進(jìn)程在執(zhí)行次序上進(jìn)行協(xié)調(diào),使并發(fā)進(jìn)程之間有效的共享資源和相互合作,使執(zhí)行結(jié)果可再現(xiàn)。 進(jìn)程同步的基本概念 1 兩種形式的制約關(guān)系: ? 直接相互制約(源于相互合作)
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1