




已閱讀5頁(yè),還剩110頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第三章進(jìn)程管理ProcessManagement 1 處理機(jī)管理是操作系統(tǒng)的基本管理功能之一 它所關(guān)心的是處理機(jī)的分配問(wèn)題 也就是說(shuō)把CPU 中央處理機(jī) 的使用權(quán)分給某個(gè)程序 通常把正準(zhǔn)備進(jìn)入內(nèi)存的程序稱為作業(yè) 當(dāng)這個(gè)作業(yè)進(jìn)入內(nèi)存后我們把它稱為進(jìn)程 處理機(jī)管理分為作業(yè)管理和進(jìn)程管理兩個(gè)階段去實(shí)現(xiàn)處理機(jī)的分配 常常又把直接實(shí)行處理機(jī)時(shí)間分配的進(jìn)程調(diào)度工作作為處理機(jī)管理的主要內(nèi)容 進(jìn)程管理的主要功能是把處理機(jī)分配給進(jìn)程以及協(xié)調(diào)各個(gè)進(jìn)程之間的相互關(guān)系 它是由進(jìn)程調(diào)度程序和進(jìn)程控制 控制進(jìn)程狀態(tài)轉(zhuǎn)換 程序這兩部分內(nèi)容組成的 2 提綱 經(jīng)典的同步問(wèn)題 四 進(jìn)程的概念 一 進(jìn)程的控制 二 進(jìn)程的同步 三 3 目錄 進(jìn)程的基本概念進(jìn)程控制進(jìn)程同步經(jīng)典進(jìn)程同步問(wèn)題管程機(jī)制進(jìn)程通信線程 4 進(jìn)程的概念 5 1 進(jìn)程的引入 1前趨圖的定義 1前趨圖的定義 1前趨圖的定義 1 1前趨圖的定義 6 1 1前趨圖的定義 前趨圖是一個(gè)有向無(wú)循環(huán)圖 DAG 結(jié)點(diǎn)表示一條語(yǔ)句 一個(gè)程序段或進(jìn)程 結(jié)點(diǎn)間的有向邊則表示在兩結(jié)點(diǎn)間存在的偏序或前趨關(guān)系 前趨 后繼 初始結(jié)點(diǎn) 終止結(jié)點(diǎn) 重量 注 在前趨圖中必不能存在循環(huán) Fig2 2前趨圖示例 7 1 2程序的順序執(zhí)行 順序是指程序執(zhí)行時(shí) 僅當(dāng)前一操作完成后 才能執(zhí)行后繼操作 特點(diǎn) 順序性封閉性 運(yùn)行時(shí)獨(dú)占資源 與外界封閉 可再現(xiàn)性 8 1 思想 以輸入 計(jì)算 打印三個(gè)操作為例 對(duì)于某一作業(yè)的三個(gè)操作必存在順序關(guān)系 但多個(gè)作業(yè)之間并不一定 其前趨圖如下 可見(jiàn) 多個(gè)此類作業(yè)是可以并發(fā)執(zhí)行的 1 3程序并發(fā)執(zhí)行 9 2特征 間斷性 因?yàn)楣蚕碣Y源 程序在執(zhí)行時(shí)可能會(huì)走走停停 執(zhí)行 暫停執(zhí)行 執(zhí)行 失去封閉性 多個(gè)程序共享系統(tǒng)中的各種資源因而這些程序都可改變系統(tǒng)資源的狀態(tài) 不可再現(xiàn)性 程序經(jīng)過(guò)多次執(zhí)行 即使環(huán)境初始條件相同 但結(jié)果可能不相同 1 3程序并發(fā)執(zhí)行 10 3 例子 例 有程序A N N 1 B print N N 0 設(shè)某一時(shí)刻N(yùn)的初值為n 則 若 N N 1 PRINT N N 0 結(jié)果為 n 1n 10若 PRINT N N N 1 N 0 結(jié)果為 nn 10若 PRINT N N 0 N N 1 結(jié)果為 n01 1 3程序并發(fā)執(zhí)行 11 2 進(jìn)程的定義和特征 12 2 1引入進(jìn)程的目的 任務(wù) 和 任務(wù)的執(zhí)行 截然不同 前者是任務(wù)的靜態(tài)描述 后者體現(xiàn)了任務(wù)的動(dòng)態(tài)行為 靜態(tài)描述和動(dòng)態(tài)行為之間不存在一一對(duì)應(yīng)關(guān)系 例 同一段正文 2kB 分別加工兩批 8kB 4kB 不同的數(shù)據(jù) 執(zhí)行兩次 第1次執(zhí)行用打印機(jī)報(bào)告某些出錯(cuò)信息 占用10kB內(nèi)存 第2次執(zhí)行中無(wú)出錯(cuò)數(shù)據(jù) 不用打印機(jī) 但至少需要6kB主存 13 2 2進(jìn)程的定義 進(jìn)程 進(jìn)程是進(jìn)程實(shí)體的運(yùn)行過(guò)程 是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)基本單位 一個(gè)任務(wù)的一次執(zhí)行對(duì)應(yīng)一個(gè)進(jìn)程 14 2 3進(jìn)程的特征 15 2 3進(jìn)程的特征 1 動(dòng)態(tài)性 進(jìn)程最基本的特征 進(jìn)程由創(chuàng)建產(chǎn)生 由調(diào)度執(zhí)行 得不到資源而暫停 由撤消而消亡 進(jìn)程是有一定生命周期的 程序是指一組有序指令集合 是一個(gè)靜態(tài)的實(shí)體 2 并發(fā)性 一段時(shí)間內(nèi) 多個(gè)進(jìn)程實(shí)體在內(nèi)存中可同時(shí)運(yùn)行 引入進(jìn)程的目的就是為了能并發(fā) 程序不能并發(fā) 3 獨(dú)立性 進(jìn)程實(shí)體是一個(gè)能獨(dú)立運(yùn)行 獨(dú)立獲得資源 獨(dú)立調(diào)度的基本單位 程序不能做為一個(gè)獨(dú)立單位 4 異步性 進(jìn)程是按各自獨(dú)立 不可預(yù)知的速度前進(jìn) 該特性將導(dǎo)致程序執(zhí)行的不可再現(xiàn)性 因此OS中必須采取某種措施保證協(xié)調(diào)運(yùn)行 16 5 結(jié)構(gòu)特征 為能正確的執(zhí)行并發(fā) 為每一個(gè)進(jìn)程配置了一個(gè)數(shù)據(jù)結(jié)構(gòu) 稱為進(jìn)程控制塊 PCB 則一個(gè)進(jìn)程實(shí)體就由數(shù)據(jù)段 程序段 PCB三部分構(gòu)成 進(jìn)程實(shí)體 數(shù)據(jù)段 程序段 PCB 進(jìn)程的結(jié)構(gòu) 程序和進(jìn)程不一定具有一一對(duì)應(yīng)的關(guān)系 2 3進(jìn)程的特征 17 如何理解進(jìn)程概念 進(jìn)程與程序有何差別 閱讀菜譜 準(zhǔn)備原料 烹制菜肴 飯菜 閱讀洗衣機(jī)手冊(cè) 準(zhǔn)備衣服 洗衣粉 設(shè)定參數(shù) 洗衣服 干凈衣服 程序 輸入 運(yùn)行 輸出 程序 輸入 運(yùn)行 輸出 分時(shí)切換 洗衣進(jìn)程 做飯進(jìn)程 2 4與程序的區(qū)別 18 2 4與程序的區(qū)別 1 程序是指令的集有序集合 是靜態(tài)的概念 進(jìn)程是程序在處理機(jī)上的一次執(zhí)行的過(guò)程 是動(dòng)態(tài)的概念 程序可以作為軟件資料長(zhǎng)期保存 進(jìn)程是有生命周期的 2 進(jìn)程是一個(gè)獨(dú)立的運(yùn)行單位 能與其它進(jìn)程并行 并發(fā) 活動(dòng) 而程序則不是 3 進(jìn)程是競(jìng)爭(zhēng)計(jì)算機(jī)系統(tǒng)有限資源的基本單位 也是進(jìn)行處理機(jī)調(diào)度的基本單位 4 一個(gè)程序可以作為多個(gè)進(jìn)程的運(yùn)行程序 一個(gè)進(jìn)程也可以運(yùn)行多個(gè)程序 19 進(jìn)程的類型 在系統(tǒng)中同時(shí)有多個(gè)進(jìn)程存在 但歸納起來(lái)有兩大類 1 系統(tǒng)進(jìn)程執(zhí)行操作系統(tǒng)核心代碼的進(jìn)程 系統(tǒng)進(jìn)程起著資源管理和控制的作用 2 用戶進(jìn)程執(zhí)行用戶程序的進(jìn)程 2 5進(jìn)程的類型與區(qū)別 20 系統(tǒng)進(jìn)程的特征 1 系統(tǒng)進(jìn)程是操作系統(tǒng)用來(lái)管理系統(tǒng)資源并行活動(dòng)的并發(fā)軟件 2 系統(tǒng)進(jìn)程之間的關(guān)系由操作系統(tǒng)自己負(fù)責(zé) 3 系統(tǒng)進(jìn)程直接管理有關(guān)的軟 硬設(shè)備的活動(dòng) 4 在進(jìn)程調(diào)度中 系統(tǒng)進(jìn)程的優(yōu)先級(jí)高于用戶進(jìn)程 2 5進(jìn)程的類型與區(qū)別 21 系統(tǒng)進(jìn)程與用戶進(jìn)程的區(qū)別 1 系統(tǒng)進(jìn)程被分配一個(gè)初始的資源集合 這些資源可以為它獨(dú)占 也能以最高優(yōu)先權(quán)的資格使用 用戶進(jìn)程通過(guò)系統(tǒng)服務(wù)請(qǐng)求的手段競(jìng)爭(zhēng)使用系統(tǒng)資源 2 用戶進(jìn)程不能直接做I O操作 而系統(tǒng)進(jìn)程可以做顯示的 直接的I O操作 3 系統(tǒng)進(jìn)程在管態(tài)下活動(dòng) 而用戶進(jìn)程則在用戶態(tài) 目態(tài) 下活動(dòng) 另一種分類 計(jì)算進(jìn)程 I O進(jìn)程等注意 在UNIX系統(tǒng)中沒(méi)有這樣對(duì)進(jìn)程進(jìn)行分類 2 5進(jìn)程的類型與區(qū)別 22 3 進(jìn)程的狀態(tài)和轉(zhuǎn)換 23 1 三種基本狀態(tài) 就緒狀態(tài) Ready 進(jìn)程已分配到除CPU外的所有資源 只等CPU便可運(yùn)行 可有多個(gè)組成就緒隊(duì)列 執(zhí)行狀態(tài) Running 已獲得CPU正在運(yùn)行 在單處理機(jī)系統(tǒng)中只能有一個(gè) 阻塞狀態(tài) Blocked 因發(fā)生某事件 如I O 申請(qǐng)緩沖區(qū)等 而暫停執(zhí)行 等待 睡眠 可有多個(gè)此狀態(tài)進(jìn)程組成一個(gè)或多個(gè) 由阻塞原因劃分 阻塞隊(duì)列 3 1進(jìn)程的基本狀態(tài) 24 進(jìn)程的基本狀態(tài)轉(zhuǎn)換 運(yùn)行態(tài) 阻塞態(tài) 就緒態(tài) 進(jìn)程就緒 可以運(yùn)行 狀態(tài)轉(zhuǎn)換 進(jìn)程等待外部事件 阻塞 OS決定由哪個(gè)進(jìn)程占用CPU 進(jìn)程調(diào)度 進(jìn)程狀態(tài) 中斷 時(shí)間片到 中斷 時(shí)間片到 3 2基本狀態(tài)轉(zhuǎn)換 25 3 2基本狀態(tài)轉(zhuǎn)換 運(yùn)行態(tài)變?yōu)榫途w態(tài)強(qiáng)制終止某進(jìn)程的運(yùn)行 系統(tǒng)原因 運(yùn)行態(tài)變?yōu)樽枞麘B(tài)運(yùn)行進(jìn)程等待外部事件發(fā)生 自身原因 阻塞態(tài)變?yōu)榫途w態(tài)外部事件已經(jīng)發(fā)生 可準(zhǔn)備運(yùn)行就緒態(tài)變?yōu)檫\(yùn)行態(tài)停止其他進(jìn)程運(yùn)行后 運(yùn)行該進(jìn)程占用CPU 進(jìn)程狀態(tài) 26 3 2基本狀態(tài)轉(zhuǎn)換 問(wèn)題1 為什么不能從阻塞態(tài)變?yōu)檫\(yùn)行態(tài)呢 問(wèn)題2 為什么不能從就緒態(tài)變?yōu)樽枞麘B(tài)呢 三種狀態(tài)的變換體現(xiàn)了OS的資源管理作用 進(jìn)程的核心思想在于運(yùn)行 CPU資源的分配 進(jìn)程狀態(tài) 27 3 2基本狀態(tài)轉(zhuǎn)換 注意 進(jìn)程從執(zhí)行態(tài)到阻塞態(tài)是主動(dòng)的 進(jìn)程發(fā)現(xiàn)需要等待某一事件 主動(dòng)向系統(tǒng)申請(qǐng)進(jìn)入阻塞態(tài) 進(jìn)程從阻塞態(tài)到就緒態(tài)是被動(dòng)的 當(dāng)系統(tǒng) 或其它進(jìn)程 發(fā)現(xiàn)阻塞進(jìn)程阻塞的條件已釋放 向系統(tǒng)申請(qǐng)將該進(jìn)程置為就緒態(tài) 28 1 新?tīng)顟B(tài) 指進(jìn)程剛剛建立 還沒(méi)有送入就緒隊(duì)列 2 終止?fàn)顟B(tài) 指進(jìn)程已經(jīng)結(jié)束 正常 異常 OS已將它從就緒隊(duì)列中移出 還未撤消 增加新和終止?fàn)顟B(tài)進(jìn)程狀態(tài)及其轉(zhuǎn)換 新進(jìn)程 終止 接納 完成 進(jìn)程調(diào)度 時(shí)間片到 I O完成等 I O請(qǐng)求等 中斷 執(zhí)行 阻塞 就緒 3 3新?tīng)顟B(tài)和終止?fàn)顟B(tài) 29 1 什么是掛起狀態(tài) 將進(jìn)程置于靜止?fàn)顟B(tài)正在執(zhí)行的進(jìn)程暫停執(zhí)行就緒的進(jìn)程暫不接受調(diào)度阻塞的進(jìn)程即使阻塞事件釋放也不能繼續(xù)執(zhí)行2 引入掛起狀態(tài)的原因人為 觀察的需要系統(tǒng) 檢測(cè)的需要 調(diào)節(jié)系統(tǒng)負(fù)荷 3 4進(jìn)程的掛起狀態(tài) 30 3 狀態(tài)的轉(zhuǎn)換 引入掛起狀態(tài)后 原狀態(tài)稱為 活動(dòng) 掛起后稱為 靜止 兩種掛起狀態(tài) 靜止就緒與靜止阻塞一般情況下 掛起狀態(tài)的進(jìn)程將從內(nèi)存移到外存 圖具有掛起狀態(tài)的進(jìn)程狀態(tài)圖 3 4進(jìn)程的掛起狀態(tài) 31 4 進(jìn)程的描述 32 1 進(jìn)程控制塊定義 ProcessControlBlock PCB PCB是紀(jì)錄進(jìn)程動(dòng)態(tài)特性 運(yùn)行控制等信息的數(shù)據(jù)結(jié)構(gòu) PCB的作用 使一個(gè)在多道程序環(huán)境下不能獨(dú)立運(yùn)行的程序 成一個(gè)能獨(dú)立運(yùn)行的基本單位 一個(gè)能與其它進(jìn)程并發(fā)執(zhí)行的進(jìn)程 PCB是進(jìn)程存在的唯一標(biāo)識(shí) 當(dāng)系統(tǒng)或父進(jìn)程創(chuàng)建一個(gè)進(jìn)程時(shí) 實(shí)際上就是為其建立一個(gè)進(jìn)程控制塊 4 1進(jìn)程控制塊的概念 33 進(jìn)程標(biāo)識(shí)符 進(jìn)程狀態(tài) CPU現(xiàn)場(chǎng) 程序狀態(tài)字 寄存器內(nèi)容等 資源清單 優(yōu)先級(jí) 隊(duì)列指針 家族關(guān)系 通信機(jī)制 信箱或消息隊(duì)列 同步機(jī)制 信號(hào)量 存儲(chǔ)位置 動(dòng)態(tài)特性 運(yùn)行控制 4 1進(jìn)程控制塊的概念 2 進(jìn)程控制塊的內(nèi)容 34 暫停 斷點(diǎn)的處理機(jī)環(huán)境保存 調(diào)度 查PCB的優(yōu)先級(jí)及現(xiàn)場(chǎng)狀態(tài) 執(zhí)行 查PCB中處理機(jī)的狀態(tài)信息 恢復(fù)現(xiàn)場(chǎng) 執(zhí)行中查數(shù)據(jù) 程序的地址及與其他進(jìn)程合作 PCB應(yīng)常駐內(nèi)存 4 1進(jìn)程控制塊的概念 3 進(jìn)程控制塊的作用 35 為了有效的管理進(jìn)程和資源 操作系統(tǒng)必須掌握每一個(gè)進(jìn)程和資源的當(dāng)前狀態(tài) 操作系統(tǒng)通常是通過(guò)構(gòu)造一組表來(lái)管理和維護(hù)進(jìn)程和每一類資源的信息 操作系統(tǒng)的控制表分為四類 進(jìn)程控制表存儲(chǔ)控制表I O控制表文件控制表 4 1進(jìn)程控制塊的概念 3 進(jìn)程控制塊的作用 36 4 1進(jìn)程控制塊的概念 3 進(jìn)程控制塊的作用 37 進(jìn)程控制表用來(lái)管理進(jìn)程及其相關(guān)信息 存儲(chǔ)控制表用來(lái)管理一級(jí) 主 存儲(chǔ)器和二級(jí) 輔 存儲(chǔ)器 I O控制表用來(lái)管理計(jì)算機(jī)系統(tǒng)的I O設(shè)備和通道 文件控制表用來(lái)管理文件 4 1進(jìn)程控制塊的概念 3 進(jìn)程控制塊的作用 38 當(dāng)一個(gè)程序進(jìn)入計(jì)算機(jī)的主存儲(chǔ)器進(jìn)行計(jì)算就構(gòu)成了進(jìn)程 主存儲(chǔ)器中的進(jìn)程到底是如何組成的 操作系統(tǒng)中把進(jìn)程物理實(shí)體和支持進(jìn)程運(yùn)行的環(huán)境合稱為進(jìn)程上下文 processcontext 當(dāng)系統(tǒng)調(diào)度新進(jìn)程占有處理器時(shí) 新老進(jìn)程隨之發(fā)生上下文切換 因此 進(jìn)程的運(yùn)行被認(rèn)為是在進(jìn)程的上下文中執(zhí)行的 4 1進(jìn)程控制塊的概念 4 進(jìn)程映像 39 5 進(jìn)程上下文組成 用戶級(jí)上下文 由用戶程序塊 用戶數(shù)據(jù)塊和用戶堆棧組成的進(jìn)程地址空間 系統(tǒng)級(jí)上下文 包括進(jìn)程的標(biāo)識(shí)信息 現(xiàn)場(chǎng)信息和控制信息 進(jìn)程環(huán)境塊 及系統(tǒng)堆棧等組成的進(jìn)程地址空間 寄存器上下文 由PSW寄存器和各類控制寄存器 地址寄存器 通用寄存器組成 4 1進(jìn)程控制塊的概念 40 6 進(jìn)程有四個(gè)要素組成 進(jìn)程程序塊 進(jìn)程數(shù)據(jù)塊 系統(tǒng)堆棧 用戶堆棧 4 1進(jìn)程控制塊的概念 41 7 用戶進(jìn)程在虛擬內(nèi)存中的組織 4 1進(jìn)程控制塊的概念 42 1 進(jìn)程標(biāo)識(shí)信息 用于唯一地標(biāo)識(shí)一個(gè)進(jìn)程 外部標(biāo)識(shí)符 用戶 用字母 數(shù)字構(gòu)成 便于記憶 內(nèi)部標(biāo)識(shí)符 系統(tǒng) 唯一整數(shù) 通常就是進(jìn)程的序號(hào) 家族聯(lián)系 還可根據(jù)需要設(shè)置父進(jìn)程 子進(jìn)程 用戶標(biāo)識(shí)符 2 處理機(jī)狀態(tài)信息 存儲(chǔ)處理機(jī)中各種寄存器的內(nèi)容 被中斷時(shí)存儲(chǔ) 再次運(yùn)行時(shí)用于恢復(fù)現(xiàn)場(chǎng) 也稱為進(jìn)程上下文可有通用寄存器 指令計(jì)數(shù)器 程序狀態(tài)字PSW 用戶棧指針 4 2進(jìn)程控制塊的信息 43 3 進(jìn)程調(diào)度信息 與進(jìn)程調(diào)度和進(jìn)程對(duì)換有關(guān)的內(nèi)容 進(jìn)程狀態(tài) 進(jìn)程優(yōu)先級(jí) 事件 與調(diào)度算法有關(guān)的其他信息 一般常包括進(jìn)程已等待的時(shí)間和已使用的處理器時(shí)間等 4 進(jìn)程控制信息 程序數(shù)據(jù)的地址 進(jìn)程同步和通信機(jī)制 消息隊(duì)列和信號(hào)量 資源清單 除CPU外進(jìn)程所需的全部資源及已分配的資源 鏈接指針 本進(jìn)程所在隊(duì)列的下一個(gè)進(jìn)程的PCB首址 4 2進(jìn)程控制塊的信息 44 在一個(gè)系統(tǒng)中 常常含有固定數(shù)目的PCB 對(duì)它們要進(jìn)行有效的組織與管理 1 鏈接方式 相同狀態(tài)的PCB鏈接成一個(gè)隊(duì)列 2 索引方式 4 3進(jìn)程控制塊的組織方式 45 4 3進(jìn)程控制塊的組織方式 46 4 3進(jìn)程控制塊的組織方式 47 二 進(jìn)程控制 48 1 進(jìn)程控制概念 49 1 1進(jìn)程控制的作用 進(jìn)程是有生命周期的 產(chǎn)生 運(yùn)行 暫停 終止 對(duì)進(jìn)程的這些操作叫進(jìn)程控制 進(jìn)程控制的職責(zé)是對(duì)系統(tǒng)中全部進(jìn)程實(shí)施有效的管理 它是處理機(jī)管理的部分 另一部分是進(jìn)程調(diào)度 當(dāng)系統(tǒng)允許多進(jìn)程并發(fā)執(zhí)行時(shí) 為了實(shí)現(xiàn)共享 協(xié)調(diào)并發(fā)進(jìn)程的關(guān)系 處理機(jī)管理必須提供對(duì)進(jìn)程實(shí)行有效管理 50 進(jìn)程控制內(nèi)容包括 進(jìn)程創(chuàng)建 進(jìn)程撤銷 進(jìn)程阻塞 進(jìn)程喚醒 進(jìn)程掛起 進(jìn)程激活 進(jìn)程控制實(shí)現(xiàn)機(jī)制這些操作都要對(duì)應(yīng)地執(zhí)行一個(gè)特殊的程序段 操作系統(tǒng)核心程序 同時(shí)系統(tǒng)也通過(guò)系統(tǒng)調(diào)用給用戶提供進(jìn)程控制的功能 教材上叫原語(yǔ) 一種特殊的系統(tǒng)調(diào)用 1 2進(jìn)程控制的機(jī)制 51 1 2進(jìn)程控制的機(jī)制 52 所謂原語(yǔ) 是機(jī)器指令的延伸 由若干條機(jī)器指令組成 是一種特殊的系統(tǒng)調(diào)用命令 它可以完成一個(gè)特定的功能一段系統(tǒng)程序 又稱為原語(yǔ)操作 為保證操作的正確性 在許多機(jī)器中規(guī)定 執(zhí)行原語(yǔ)操作時(shí) 要屏蔽中斷 以保證其操作的不可分割性 它的功能由系統(tǒng)通過(guò)一段不可分割的操作指令來(lái)完成 即一個(gè)操作中的所有動(dòng)作要么全做 要么全不做 原語(yǔ)操作具有原子性 它是不可再分的 原語(yǔ)在系統(tǒng)態(tài)下完成 在操作系統(tǒng)內(nèi)核中 常駐內(nèi)存 在操作系統(tǒng)中原語(yǔ)作為一個(gè)基本的單位出現(xiàn) 1 3進(jìn)程控制的原語(yǔ) 53 常用的原語(yǔ)進(jìn)程控制原語(yǔ)進(jìn)程通信原語(yǔ)資源管理原語(yǔ)其他原語(yǔ)常用的進(jìn)程控制原語(yǔ)有 創(chuàng)建原語(yǔ)撤消原語(yǔ)阻塞原語(yǔ)喚醒原語(yǔ)等 1 3進(jìn)程控制的原語(yǔ) 54 2 進(jìn)程的創(chuàng)建與撤銷 55 進(jìn)程圖 子進(jìn)程可以繼承父進(jìn)程所擁有的資源 但子進(jìn)程被撤消時(shí) 必須歸還 撤消父進(jìn)程時(shí) 須先撤消其所有的子進(jìn)程 PCB中有家族關(guān)系表項(xiàng) 以標(biāo)識(shí)自己的父 子進(jìn)程 是用于描述進(jìn)程家族關(guān)系 創(chuàng)建關(guān)系 的有向樹 結(jié)點(diǎn)代表進(jìn)程 邊代表父子關(guān)系 父進(jìn)程 子進(jìn)程 祖父進(jìn)程 祖先 2 1進(jìn)程創(chuàng)建 1 進(jìn)程圖 56 2 引起創(chuàng)建進(jìn)程的事件 用戶登錄 如分時(shí)系統(tǒng)中 合法用戶進(jìn)入 則系統(tǒng)為之創(chuàng)建進(jìn)程 作業(yè)調(diào)度 如批處理系統(tǒng)中 提供服務(wù) 運(yùn)行中的用戶程序提出某種請(qǐng)求 則系統(tǒng)創(chuàng)建進(jìn)程以完成請(qǐng)求 如 打印文件 應(yīng)用請(qǐng)求 應(yīng)用進(jìn)程根據(jù)需要 為自己創(chuàng)建進(jìn)程 2 1進(jìn)程創(chuàng)建 57 3 創(chuàng)建過(guò)程申請(qǐng)空白PCB分配資源初始化PCB插入就緒隊(duì)列 查空PCB表 有空PCB 創(chuàng)建失敗 取空表PCB i 將參數(shù)填入PCB i 將PCB i 插入就緒隊(duì)列 N Y 進(jìn)程創(chuàng)建實(shí)質(zhì)上是生成一個(gè)PCB 2 1進(jìn)程創(chuàng)建 58 procedureCreate n S k M R acc begin i GetNewInternalName n 調(diào)用查找進(jìn)程名過(guò)程 Id i n 將n登記到第i個(gè)PCB的相應(yīng)表目中 Priority i k 向PCB中登記優(yōu)先數(shù) Cpustate i S 登記現(xiàn)場(chǎng)狀態(tài)初始值S MainStore i M 記入主存和資源的初始占有情況 Resources i R Status i Readys 進(jìn)程初始狀態(tài)置為 就緒 Parent i 調(diào)用本過(guò)程的父進(jìn)程之內(nèi)部標(biāo)識(shí)號(hào) 將它記入子進(jìn)程PCB的父進(jìn)程名這一欄 SetAccountingData 在PCB中建立記賬信息 Insert RL i 調(diào)用Insert 把i插入到就緒隊(duì)列 參數(shù) 進(jìn)程外部名 2 1進(jìn)程創(chuàng)建 3 創(chuàng)建函數(shù) 59 1引發(fā)事件 正常結(jié)束 有一條表示進(jìn)程結(jié)束的指令 異常結(jié)束 運(yùn)行中出現(xiàn)錯(cuò)誤或故障 如越界錯(cuò)誤 保護(hù)錯(cuò) 特權(quán)指令錯(cuò) 算術(shù)運(yùn)算錯(cuò) I O故障 外界干預(yù) 應(yīng)外界的請(qǐng)求而終止 2終止過(guò)程 由進(jìn)程終止原語(yǔ)Destroy 完成 功能 撤銷指定進(jìn)程的PCB 收回該進(jìn)程擁有的全部資源 2 2進(jìn)程撤銷 60 3 進(jìn)程撤銷的過(guò)程查找進(jìn)程查找該進(jìn)程的PCB中止執(zhí)行終止子進(jìn)程歸還資源將PCB從所在隊(duì)列移出釋放PCB 2 2進(jìn)程撤銷 61 3 進(jìn)程的阻塞與喚醒 62 1 請(qǐng)求系統(tǒng)服務(wù)未滿足 則阻塞 當(dāng)資源可以滿足時(shí) 由釋放該資源的進(jìn)程將阻塞進(jìn)程喚醒 2 啟動(dòng)某種操作 等待其完成 3 新數(shù)據(jù)未到達(dá) 多進(jìn)程合作時(shí) 本進(jìn)程要用的其它進(jìn)程的結(jié)果尚未到來(lái) 4 無(wú)新工作可做 某些系統(tǒng)進(jìn)程 等待工作的到達(dá) 3 1引發(fā)事件 63 由阻塞原語(yǔ)Block 實(shí)現(xiàn) 正在執(zhí)行的進(jìn)程本身調(diào)用Block 是一個(gè)主動(dòng)的行為 1 停止2 改狀態(tài) 執(zhí)行 為 阻塞 插入相應(yīng)阻塞隊(duì)列3 重新調(diào)度 進(jìn)行切換 即保留現(xiàn)場(chǎng) 重設(shè)現(xiàn)場(chǎng) BLOCK 輸入?yún)?shù) 無(wú)返回 轉(zhuǎn)進(jìn)程調(diào)度功能 將現(xiàn)行進(jìn)程的PCB置成 阻塞 狀態(tài)后列入阻塞隊(duì)列 3 2進(jìn)程阻塞過(guò)程及函數(shù) 64 進(jìn)程喚醒過(guò)程 由喚醒原語(yǔ)Wakeup 實(shí)現(xiàn) 由和阻塞原因相關(guān)的進(jìn)程執(zhí)行喚醒 1 從阻塞隊(duì)列中移出2 改 阻塞 為 就緒 3 插入就緒隊(duì)列 WAKEUP 輸入?yún)?shù) 進(jìn)程號(hào)返回 成功或失敗標(biāo)記功能 把指定進(jìn)程的PCB從阻塞隊(duì)列摘下 該狀態(tài)為就緒后 列入就緒隊(duì)列 3 3進(jìn)程喚醒過(guò)程及函數(shù) 65 注 Block和Wakeup是一對(duì)作用相反的原語(yǔ) 兩者應(yīng)在不同的進(jìn)程中成對(duì)出現(xiàn) 即在某進(jìn)程中用到了阻塞 在與之相關(guān)的另一進(jìn)程中一定要有喚醒 3 4進(jìn)程過(guò)程關(guān)系 66 1掛起過(guò)程 由掛起原語(yǔ)Suspend 實(shí)現(xiàn) 1 檢查 修改狀態(tài) 執(zhí)行 活動(dòng)就緒 靜止就緒 活動(dòng)阻塞 靜止阻塞 2 若原狀態(tài)為 執(zhí)行 則設(shè)調(diào)度標(biāo)志為 T 3 復(fù)制PCB到內(nèi)存某區(qū)域 該進(jìn)程可能會(huì)調(diào)至外存 4 檢測(cè)調(diào)度標(biāo)志 若為 T 則重新調(diào)度2激活過(guò)程 由激活原語(yǔ)Active 實(shí)現(xiàn) 1 將進(jìn)程調(diào)入內(nèi)存 改狀態(tài) 靜止 活動(dòng) 2 若新?tīng)顟B(tài)為 活動(dòng)就緒 則根據(jù)情況 看是否需重新調(diào)度 搶占調(diào)度策略 4 進(jìn)程的掛起與激活 67 本節(jié)自學(xué)知識(shí) 68 操作系統(tǒng)的內(nèi)核 通常將OS中一些與硬件緊密相關(guān)的模塊 如中斷處理程序 常用設(shè)備的驅(qū)動(dòng)程序等 運(yùn)行頻率較高的模塊 如時(shí)鐘管理 進(jìn)程調(diào)度 公共操作等 安排在緊靠硬件的軟件層次中 使它們常駐內(nèi)存 以提高OS的運(yùn)行效率并對(duì)它們加以特殊的保護(hù) 通常把這部分稱為OS的內(nèi)核 處理機(jī)的執(zhí)行狀態(tài)可分為系統(tǒng)態(tài)和用戶態(tài)兩種 通常用戶程序運(yùn)行在用戶態(tài) OS內(nèi)核運(yùn)行在系統(tǒng)態(tài) 1 操作系統(tǒng)內(nèi)核 Kernel 69 2 處理機(jī)狀態(tài) 系統(tǒng)態(tài) systemmode 又稱核心態(tài) kernelmode 管態(tài) supervisormode 操作系統(tǒng)運(yùn)行時(shí)所處的狀態(tài) 它具有較高的權(quán)限 能執(zhí)行一切指令 訪問(wèn)所有寄存器和存儲(chǔ)區(qū) 用戶態(tài) usermode 又稱目態(tài) objectmode 是一般用戶程序運(yùn)行時(shí)所處的狀態(tài) 是具有較低特權(quán)的執(zhí)行狀態(tài) 它只能執(zhí)行非特權(quán)指令 訪問(wèn)指定的寄存器和存儲(chǔ)區(qū) 目的 保護(hù)核心代碼不受用戶程序有意和無(wú)意的攻擊 70 3 特權(quán)指令與非特權(quán)指令 現(xiàn)代計(jì)算機(jī)的指令系統(tǒng)由特權(quán)指令和非特權(quán)指令兩部分組成 特權(quán)指令 只能在管態(tài)下才能執(zhí)行的指令 如開關(guān)中斷 修改地址映射寄存器 置程序狀態(tài)字 停機(jī)等 非特權(quán)指令 在管態(tài)和目態(tài)下均可執(zhí)行的指令 這些指令的執(zhí)行只和運(yùn)行程序本身有關(guān) 不會(huì)影響其它程序和操作系統(tǒng) 如數(shù)據(jù)傳送指令 算術(shù)運(yùn)算指令等 71 3 5進(jìn)程同步 進(jìn)程同步的主要任務(wù)是使并發(fā)執(zhí)行的諸進(jìn)程之間能有效地共享資源和相互合作 從而使程序的執(zhí)行具有可再現(xiàn)性 72 三 進(jìn)程互斥與同步 73 1 進(jìn)程互斥和同步概念 74 1 1進(jìn)程間可能存在兩種關(guān)系 1 資源共享關(guān)系 間接相互制約 因多進(jìn)程共享某資源而產(chǎn)生 此時(shí)進(jìn)程同步要保證進(jìn)程能互斥地訪問(wèn)臨界資源 為此資源要由系統(tǒng)統(tǒng)一分配 2 相互合作關(guān)系 直接相互制約 因多進(jìn)程內(nèi)容上的聯(lián)系而產(chǎn)生 此時(shí)進(jìn)程同步要保證進(jìn)程在執(zhí)行次序上的協(xié)調(diào) 例 輸入進(jìn)程A和計(jì)算進(jìn)程B A 單緩沖 B 應(yīng)保證A B交替執(zhí)行 75 兩個(gè)并行的進(jìn)程A B 如果當(dāng)A進(jìn)行某個(gè)操作時(shí) B不能做這一操作 進(jìn)程間的這種限制條件稱為進(jìn)程互斥 關(guān)系體現(xiàn) 進(jìn)程 資源 進(jìn)程 競(jìng)爭(zhēng)到某一物理資源時(shí)不允許其它進(jìn)程工作 相互之間不一定清楚其它進(jìn)程情況 往往指多個(gè)進(jìn)程之間的通信制約 1 2進(jìn)程互斥 76 臨界資源臨界區(qū)互斥準(zhǔn)則 1 2 3 進(jìn)程互斥 77 1 臨界資源一段時(shí)間內(nèi)只允許一個(gè)進(jìn)程訪問(wèn)的資源 若多進(jìn)程共享某臨界資源 則應(yīng)對(duì)其進(jìn)行同步控制 以實(shí)現(xiàn)對(duì)臨界資源的互斥訪問(wèn) 臨界資源可有硬 軟資源 硬件資源 如打印機(jī)等 諸進(jìn)程要互斥使用這些資源 軟件資源 如共享變量等 對(duì)共享變量應(yīng)作為臨界資源處理 即要對(duì)它進(jìn)行互斥訪問(wèn) 1 2進(jìn)程互斥 78 例1 進(jìn)程A 生產(chǎn)一個(gè)數(shù)據(jù) 用count計(jì)數(shù) count count 1進(jìn)程B 消費(fèi)一個(gè)數(shù)據(jù) 則count count 1為提高資源利用率 設(shè)A B并發(fā)執(zhí)行 且對(duì)count的操作可細(xì)化為以下步驟 R表示寄存器 設(shè)count初值為1 1 2進(jìn)程互斥 79 若執(zhí)行次序?yàn)?A 1 A 2 A 3 B 1 B 2 B 3 則count 1若執(zhí)行次序?yàn)?A 1 B 1 A 2 A 3 B 2 B 3 則count 0若執(zhí)行次序?yàn)?A 1 B 1 B 2 B 3 A 2 A 3 則count 2 A R1 count R1 R1 1 count R1 B R2 count R2 R2 1 count R2 因此 對(duì)共享變量應(yīng)作為臨界資源處理 即要對(duì)它進(jìn)行互斥訪問(wèn) 1 2進(jìn)程互斥 80 進(jìn)入?yún)^(qū) 臨界區(qū) 退出區(qū) 剩余區(qū) 2 臨界區(qū)把每個(gè)進(jìn)程訪問(wèn)臨界資源的那段代碼稱為臨界區(qū) CS 對(duì)臨界資源的互斥訪問(wèn)即為多進(jìn)程互斥進(jìn)入各自的臨界區(qū)操作 為保證互斥訪問(wèn) 在進(jìn)入前必需先檢測(cè)臨界資源的狀態(tài) 進(jìn)入?yún)^(qū) 進(jìn)程中在臨界區(qū)前用于檢查臨界資源是否正被訪問(wèn)的代碼 退出區(qū) 進(jìn)程中在臨界區(qū)后的一段代碼 用于標(biāo)記該臨界資源已被釋放 1 2進(jìn)程互斥 81 3 互斥準(zhǔn)則 同步機(jī)制應(yīng)遵循的原則OS提供互斥工具才能保證進(jìn)程互斥的進(jìn)入臨界區(qū) 互斥工具應(yīng)能保證如下幾點(diǎn) 1 空閑讓進(jìn) 若臨界資源空閑 則應(yīng)允許一個(gè)請(qǐng)求的進(jìn)程進(jìn)入自己的臨界區(qū) 2 忙則等待 若臨界資源正被使用 則其它申請(qǐng)?jiān)撡Y源的進(jìn)程應(yīng)該等待 3 有限等待 保證進(jìn)程可在有限的時(shí)間內(nèi)進(jìn)入自己的臨界區(qū) 防止 死等 4 讓權(quán)等待 當(dāng)進(jìn)程應(yīng)臨界資源不能滿足而等待時(shí) 應(yīng)釋放CPU 防止 忙等 對(duì)要進(jìn)入臨界區(qū)的進(jìn)程加以管理 管理的方法有兩種 同步和互斥 同步反映了進(jìn)程間的協(xié)作關(guān)系 而互斥則反映了進(jìn)程之間的競(jìng)爭(zhēng) 1 3進(jìn)程互斥 82 合作完成同一個(gè)任務(wù)的多個(gè)進(jìn)程 在執(zhí)行速度或順序上必須相互協(xié)調(diào)的合作關(guān)系 關(guān)系體現(xiàn) 進(jìn)程 進(jìn)程 相互清楚對(duì)方的存在及其作用 交換信息 如生產(chǎn)者 消費(fèi)者關(guān)系 發(fā)送者 接收者關(guān)系等 1 3進(jìn)程同步 83 進(jìn)程互斥是進(jìn)程同步的特例 互斥 共享臨界資源間接制約無(wú)固定的必然關(guān)系 依據(jù)臨界資源使用否 同步 執(zhí)行順序和速度直接制約必然的依賴關(guān)系 依據(jù)同步信息有否 1 4進(jìn)程同步與互斥關(guān)系 84 1 進(jìn)程互斥和同步概念 85 2 進(jìn)程互斥和同步機(jī)制 86 互斥與同步機(jī)制主要有信號(hào)量機(jī)制和管程機(jī)制信號(hào)量機(jī)制是一種有效的進(jìn)程同步機(jī)制 信號(hào)量機(jī)制有特殊變量 信號(hào)量 和PV原語(yǔ) P操作和V操作 組成信號(hào)量類型有整型信號(hào)量 記錄型信號(hào)量AND型信號(hào)量信號(hào)量集 2 1進(jìn)程互斥和同步機(jī)制概述 87 用一個(gè)變量描述資源 實(shí)現(xiàn)多進(jìn)程對(duì)資源的互斥訪問(wèn) 1 整型信號(hào)量 一個(gè)整型數(shù) 除初始化外 僅能通過(guò)兩個(gè)標(biāo)準(zhǔn)的原子操作wait s 和signal s 訪問(wèn) 即P和V操作 wait s whiles 0dono op s s 1 signal s s s 1 信號(hào)量s代表臨界資源 數(shù)量為1 Wait s 先測(cè)試臨界資源是否可用 若s 0不可用 循環(huán)測(cè)試 否則 進(jìn)入臨界區(qū) Signal s 用完臨界資源后釋放 s s 1 返回 整型信號(hào)量機(jī)制定義 2 2整型信號(hào)量機(jī)制 88 整型信號(hào)量的缺點(diǎn) 未遵循 讓權(quán)等待 出現(xiàn) 忙等 為此引入另一種信號(hào)量機(jī)制 記錄型信號(hào)量 即 放棄處理機(jī)進(jìn)行等待 讓權(quán)等待 問(wèn)題 其他進(jìn)程可獲得處理機(jī) 會(huì)出現(xiàn)多個(gè)進(jìn)程等待訪問(wèn)同一臨界資源 2 2整型信號(hào)量機(jī)制 89 為解決忙等和多個(gè)進(jìn)程共享資源的情況 引入了一種記錄型的信號(hào)量 所含內(nèi)容 1 代表資源數(shù)目的整型量 2 進(jìn)程鏈表 接納所有等待進(jìn)程 1 信號(hào)量類型定義 structsemaphore intvalue 信號(hào)量的值ProcessQueue WQ r r資源的等待隊(duì)列指針 2 3記錄型信號(hào)量機(jī)制 90 2 wait 操作 voidwait semaphores s value if s value 0 thenblock s WQ r 1 s value的初值表示系統(tǒng)中某類資源的數(shù)目 s又叫資源信號(hào)量 s WQ r 表示該資源的阻塞隊(duì)列 2 wait 表示請(qǐng)求一個(gè)單位的資源 s value 1表示該資源數(shù)減1 若s value 0 則進(jìn)程繼續(xù)運(yùn)行 2 3記錄型信號(hào)量機(jī)制 91 proceduresignal semaphores s value ifs value 0thenwakeup s WQ r signal 表示釋放一個(gè)單位的資源 s value表示該資源數(shù)加1 若s value0 則進(jìn)程繼續(xù)運(yùn)行 2 若s value初值為1 則等同于互斥信號(hào)量 3 signal 操作 2 3記錄型信號(hào)量機(jī)制 92 1 s value 0 代表一類可用資源的數(shù)量 綠燈 2 s value 0 表示該類可用資源已經(jīng)沒(méi)有資源可以分配 其絕對(duì)值代表被阻塞進(jìn)程數(shù)量 紅燈 3 s value 0 黃燈 4 P Proberen 操作記為wait操作 V Verhogen 操作記為signal操作 5 Wait操作與signal操作必須成對(duì)出現(xiàn) 4 記錄型型號(hào)量機(jī)制說(shuō)明 2 3記錄型信號(hào)量機(jī)制 93 用一個(gè)信號(hào)量表示一類資源 在一個(gè)進(jìn)程需要獲得兩個(gè)或更多類資源時(shí)才能運(yùn)行時(shí) 可使用多個(gè)信號(hào)量分別對(duì)其進(jìn)行描述 稱為信號(hào)量集 1AND型信號(hào)量集機(jī)制1 引入 設(shè)兩個(gè)進(jìn)程A B共享兩個(gè)臨界資源D E 可設(shè)置兩個(gè)互斥信號(hào)量Dmutex和Emutex 初值為1 processA wait Dmutex wait Emutex processB wait Emutex wait Dmutex 則Dmutex和Emutex值最后都為 1 A B兩進(jìn)程都阻塞 是一種死鎖狀態(tài) 2 4信號(hào)量集機(jī)制 94 2 Swait Swait S1 S2 Sn ifS1 1and andSn 1thenfori 1tondoSi Si 1endforelse將進(jìn)程放到第一個(gè)不能滿足要求的資源的阻塞隊(duì)列 同時(shí)將程序指針指向Swait 的開始endif 2 4信號(hào)量集機(jī)制 95 3 Ssignal Ssignal S1 S2 Sn fori 1tondoSi Si 1喚醒因這些資源而阻塞的進(jìn)程 放入就緒隊(duì)列中endfor 4 AND型信號(hào)量集機(jī)制的思想 將進(jìn)程在整個(gè)運(yùn)行過(guò)程中所需要的所有臨界資源 一次性的全部分配 使用完后再一起釋放 只要有一個(gè)資源不能滿足 則一個(gè)也不分配 2 4信號(hào)量集機(jī)制 96 2 一般 信號(hào)量集 機(jī)制當(dāng)進(jìn)程一次需要N個(gè)多類資源時(shí) 用AND型信號(hào)量集機(jī)制則效率太低 另外 有些資源低于下限值時(shí) 系統(tǒng)不會(huì)分配 為解決這兩個(gè)問(wèn)題 對(duì)AND進(jìn)行擴(kuò)充 設(shè)需求分配的資源數(shù)量為d 資源的下限值為t 則一般信號(hào)量集機(jī)制的Swait 和Ssignal 可描述為 2 4信號(hào)量集機(jī)制 97 Swait S1 t1 d1 Sn tn dn ifS1 t1and andSn tnthenfori 1tondoSi Si diendforelse將進(jìn)程放到第一個(gè)不能滿足要求的資源的阻塞隊(duì)列中 同時(shí)將程序指針指向Swait 的開始endif 2 4信號(hào)量集機(jī)制 98 Ssignal S1 d1 Sn dn fori 1tondoSi Si di喚醒因這些資源而阻塞的進(jìn)程 放入就緒隊(duì)列中endfor 2 4信號(hào)量集機(jī)制 99 幾種特殊情況 1 Swait S d d 只有一個(gè)信號(hào)量即一類資源 允許同時(shí)申請(qǐng)d個(gè) 下限為d2 Swait S 1 1 只有一個(gè)信號(hào)量即一類資源 當(dāng)S 1時(shí) 可看作一般的記錄型信號(hào)量 當(dāng)S 1時(shí) 即為互斥信號(hào)量 3 Swait S 1 0 下限為1 每次分配0個(gè)資源 這是一種特殊的可作為開關(guān)的信號(hào)量 當(dāng)S 1時(shí) 允許多個(gè)進(jìn)程進(jìn)入 當(dāng)S 1 S 0 時(shí) 阻止任何進(jìn)程進(jìn)入 2 4信號(hào)量集機(jī)制 100 3 進(jìn)程互斥和同步實(shí)現(xiàn)方法 101 為臨界資源設(shè)一信號(hào)量mutex 稱為互斥信號(hào)量 初值為1 信號(hào)量mutex是一公用信號(hào)量 其取值范圍與共享臨界資源的并發(fā)進(jìn)程的個(gè)數(shù)n有關(guān) 為1 n 1 P mutex wait mutex 作為進(jìn)入?yún)^(qū)V mutex signal mutex 作為退出區(qū) 3 1利用信號(hào)量實(shí)現(xiàn)互斥 102 3 1信號(hào)量利用信號(hào)量實(shí)現(xiàn)互斥 103 varmutex semaphore 1parbeginprocess1 wait mutex CSsignal mutex process2 wait mutex CSsignal mutex parend 注 1 信號(hào)量初值的設(shè)定非常重要 它表明了在初始情況下系統(tǒng)擁有或可提供的此類資源的數(shù)量 2 wait mutex 和signal mutex 必須成對(duì)出現(xiàn) 并應(yīng)分別緊靠臨界段的頭尾部 考慮 缺少wait 則
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 私企員工食堂管理辦法
- 科技論文管理辦法試行
- 竣工審計(jì)責(zé)任管理辦法
- 工地人員補(bǔ)貼管理辦法
- 育嬰師職業(yè)標(biāo)準(zhǔn)課件
- 肥胖中醫(yī)辯證課件
- 股權(quán)架構(gòu)與稅務(wù)籌劃
- 腸道檢測(cè)創(chuàng)新技術(shù)課件
- 腸道健康觀念課件
- 肝臟疾病護(hù)理課件
- 2025年醫(yī)保知識(shí)考試題庫(kù)及答案:醫(yī)保信息化建設(shè)應(yīng)用法律法規(guī)試題
- 環(huán)境現(xiàn)場(chǎng)采樣培訓(xùn)
- 2025年 汕頭市公安局警務(wù)輔助人員招聘考試筆試試卷附答案
- 腦出血的護(hù)理查房
- 天津大學(xué)強(qiáng)基計(jì)劃校測(cè)面試題
- 2025年大學(xué)思想政治理論課程考試試卷及答案
- 合同的內(nèi)容講課件
- 2025年農(nóng)村經(jīng)濟(jì)與管理考試試題及答案
- 夏季安全生產(chǎn)試題及答案
- 心身疾病病例分享
- 陜西省專業(yè)技術(shù)人員繼續(xù)教育2025公需課《黨的二十屆三中全會(huì)精神解讀與高質(zhì)量發(fā)展》20學(xué)時(shí)題庫(kù)及答案
評(píng)論
0/150
提交評(píng)論