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

正文內(nèi)容

23進(jìn)程及其實(shí)現(xiàn)-wenkub

2022-10-11 11:56:50 本頁(yè)面
 

【正文】 進(jìn)行編譯 , 仍從 A點(diǎn)開(kāi)始工作 。 進(jìn)程的定義和性質(zhì) (2) 操作系統(tǒng)引入進(jìn)程的概念 ?從理論角度看 , 是對(duì)正在運(yùn)行的程序過(guò)程的抽象; ?從實(shí)現(xiàn)角度看 , 是一種數(shù)據(jù)結(jié)構(gòu) ,目的在于清晰地刻劃動(dòng)態(tài)系統(tǒng)的內(nèi)在規(guī)律 , 有效管理和調(diào)度進(jìn)入計(jì)算機(jī)系統(tǒng)主存儲(chǔ)器運(yùn)行的程序 。 進(jìn)程的屬性 ?結(jié)構(gòu)性: ?共享性: ?動(dòng)態(tài)性: ?獨(dú)立性: ?制約性: ?并發(fā)性: 操作系統(tǒng)為什么要引入進(jìn)程概念 ? ?原因 1刻畫(huà)系統(tǒng)的動(dòng)態(tài)性,發(fā)揮系統(tǒng)的并發(fā)性,提高資源利用率。 “可再入 ” 程序舉例 (2) 編譯程序 P (P的入口 ,處理源程序乙 ) (P 把源程序甲的信息記盤(pán)等磁盤(pán)完成 ) A B 源程序甲 源程序乙 ?現(xiàn)在怎樣來(lái)描述編譯程序 P的狀態(tài)呢 ? “可再入 ” 程序舉例 (3) ?兩個(gè)進(jìn)程雖共享程序 P, 但它們可同時(shí)執(zhí)行且彼此按各自的速度獨(dú)立執(zhí)行 。 五態(tài)模型 (2) 終止態(tài) ? 進(jìn)程的終止,首先 ,等待操作系統(tǒng)進(jìn)行善后,然后 ,退出主存。 進(jìn)程的掛起 (2) (1)系統(tǒng)中的進(jìn)程均處于等待狀態(tài),需要把一些阻塞進(jìn)程對(duì)換出去,騰出足夠內(nèi)存裝入就緒進(jìn)程運(yùn)行。 (5)父進(jìn)程要求掛起后代進(jìn)程 , 以進(jìn)行某些檢查和改正 。 ? 掛起等待態(tài) ( blocked suspend) 表明進(jìn)程正在等待某一個(gè)事件且在二級(jí)存儲(chǔ)器中 。 掛起進(jìn)程具有如下特征 1. 該進(jìn)程不能立即被執(zhí)行 。 進(jìn)程的描述 操作系統(tǒng)的控制結(jié)構(gòu) (1) ?操作系統(tǒng)核心控制結(jié)構(gòu)是進(jìn)程結(jié)構(gòu) ,資源管理的數(shù)據(jù)結(jié)構(gòu)將圍繞進(jìn)程結(jié)構(gòu)展開(kāi)。 ? I/O控制表管理系統(tǒng)的 I/O設(shè)備和通道 。進(jìn)程的運(yùn)行被認(rèn)為是在上下文中執(zhí)行。 進(jìn)程有四個(gè)要素組成 ?進(jìn)程程序塊 ?進(jìn)程數(shù)據(jù)塊 ?系統(tǒng)堆棧 ?用戶堆棧 用戶進(jìn)程在虛擬內(nèi)存中的組織 進(jìn)程標(biāo)識(shí)信息 進(jìn)程現(xiàn)場(chǎng)信息 進(jìn)程控制信息 用戶堆棧 用戶私有地址空間 (代碼、數(shù)據(jù)) 進(jìn)程控制塊 共享地址空間 進(jìn)程控制塊 (1) ? 進(jìn)程控制塊 PCB,是操作系統(tǒng)用于記錄和刻劃進(jìn)程狀態(tài)及有關(guān)信息的數(shù)據(jù)結(jié)構(gòu)。 進(jìn)程控制塊 (3) 現(xiàn)場(chǎng)信息 ?保留進(jìn)程運(yùn)行時(shí)存放在處理器現(xiàn)場(chǎng)中的各種信息 , 進(jìn)程讓出處理器時(shí)必須把處理器現(xiàn)場(chǎng)信息保存到 PCB中 , 當(dāng)該進(jìn)程重新恢復(fù)運(yùn)行時(shí)也應(yīng)恢復(fù)處理器現(xiàn)場(chǎng) 。 進(jìn)程管理 (1) ? 處于同一狀態(tài)的所有 PCB鏈接在一起的數(shù)據(jù)結(jié)構(gòu)稱為進(jìn)程隊(duì)列 (Process Queues)。 ? 雙向鏈接時(shí) , 隊(duì)列標(biāo)志的后向指引元指向隊(duì)列中第一個(gè)進(jìn)程的后向隊(duì)列指引元的位置 。 此時(shí) , 后向指引元為 0, 它的前向指引元指出它的上一個(gè)進(jìn)程的前向指引元位置 。 ? 進(jìn)程 Q出隊(duì)過(guò)程:把 Q的前向指引元的內(nèi)容送到 R的前向指引元中 ,把 Q的后向指引元的內(nèi)容送到 P的后向指引元中 。 進(jìn)程切換與 CPU模式切換 進(jìn)程上下文切換 (1) ?進(jìn)程切換是讓處于運(yùn)行態(tài)的進(jìn)程中斷運(yùn)行,讓出處理器,這時(shí)要做一次進(jìn)程上下文切換、即保存老進(jìn)程狀態(tài)而裝入被保護(hù)了的新進(jìn)程的狀態(tài),以便新進(jìn)程運(yùn)行。 ?選擇下一個(gè)占有處理器運(yùn)行的進(jìn)程 。 進(jìn)程上下文切換 (4) 調(diào)度和切換時(shí)機(jī)問(wèn)題 (1) ? 請(qǐng)求調(diào)度的事件發(fā)生后 , 就會(huì)運(yùn)行低級(jí)調(diào)度程序 , 低級(jí)調(diào)度程序選中新的就緒進(jìn)程后 , 就會(huì)進(jìn)行上下文切換 。 CPU模式切換 (2) 模式切換的步驟 ?保存被中斷進(jìn)程的處理器現(xiàn)場(chǎng)信息 。 UNIX進(jìn)程上下文切換和模式切換 (1) ?兩類進(jìn)程:系統(tǒng)進(jìn)程和用戶進(jìn)程 , 系統(tǒng)進(jìn)程在核心態(tài)下執(zhí)行操作系統(tǒng)代碼 ,用戶進(jìn)程在用戶態(tài)下執(zhí)行用戶程序 。 ?這些控制和管理功能是由操作系統(tǒng)中的原語(yǔ)來(lái)實(shí)現(xiàn)的。 進(jìn)程的創(chuàng)建 (1) 進(jìn)程創(chuàng)建來(lái)源于以下事件 : ?提交一個(gè)批處理作業(yè) 。 進(jìn)程的創(chuàng)建 (2) ? 生成進(jìn)程稱父進(jìn)程 (Parent Process), 被生成進(jìn)程稱子進(jìn)程 (Child Process) 、 即一個(gè)父進(jìn)程可以創(chuàng)建子進(jìn)程 , 從而形成樹(shù)形結(jié)構(gòu) 。 ? 為新進(jìn)程分配資源 , 除內(nèi)存空間外 , 還有其他各種資源 。 ? 通知操作系統(tǒng)的某些模塊 , 如記賬程序 、 性能監(jiān)控程序 。 進(jìn)程的阻塞和喚醒 (2) 進(jìn)程喚醒的步驟如下: ?從相應(yīng)等待進(jìn)程隊(duì)列中取出 PCB。 ?進(jìn)程執(zhí)行了非法指令 。 ?進(jìn)程申請(qǐng)的內(nèi)存超過(guò)了系統(tǒng)能提供最大量 。 ?嚴(yán)重的輸入輸出錯(cuò)誤 。 ?操作系統(tǒng)終止 。 進(jìn)程的掛起和激活 (2) ?激活原語(yǔ)主要工作:把進(jìn)程 PCB非常駐部分調(diào)進(jìn)內(nèi)存,修改它的狀態(tài),掛起等待態(tài)改為等待態(tài),掛起就緒態(tài)改為就緒態(tài),排入相應(yīng)隊(duì)列中。 系統(tǒng)進(jìn)程在內(nèi)核模式下執(zhí)行 ,完成系統(tǒng)的一些重要功能 。 UNIX SVR4的進(jìn)程描述 (2) ?proc結(jié)構(gòu)存放一個(gè)進(jìn)程最基本、必需的信息,常駐內(nèi)存; ?user結(jié)構(gòu)存放進(jìn)程運(yùn)行時(shí)才用到的數(shù)據(jù)和狀態(tài)信息 , 當(dāng)進(jìn)程暫時(shí)不在處理機(jī)上運(yùn)行時(shí) , 就把它放在磁盤(pán)的對(duì)換區(qū)中 , 進(jìn)程的 user結(jié)構(gòu)總和進(jìn)程的數(shù)據(jù)段一起 , 在主存和磁盤(pán)對(duì)換區(qū)之間換進(jìn) /換出 。 該區(qū)共有 1KB, 前面 289B為進(jìn)程擴(kuò)充控制塊 user結(jié)構(gòu) , 剩下 734B為核心棧 ,進(jìn)程運(yùn)行在核心態(tài)時(shí) , 是它的工作區(qū) , 用來(lái)保存過(guò)程調(diào)用和中斷訪問(wèn)時(shí)用到的地址和參數(shù) 。 ? 在內(nèi)存中設(shè)置一張正文段表 。 UNIX 進(jìn)程組成 (6) 進(jìn)程映像內(nèi)容 (4) ?進(jìn)程區(qū)域表 系統(tǒng)為每個(gè)進(jìn)程建立進(jìn)程區(qū)域表 PPRT( Per Process Region Table) 由存儲(chǔ)管理系統(tǒng)使用 , 定義了物理地址與虛擬地址之間的對(duì)應(yīng)關(guān)系 , 進(jìn)程對(duì)存儲(chǔ)區(qū)域的訪問(wèn)權(quán)限 。 ?增加父進(jìn)程所打開(kāi)文件的計(jì)數(shù) , 表示新進(jìn)程也在使用這些文件 。 把進(jìn)程控制切換到父進(jìn)程的用戶模式 , 在 fork()點(diǎn)繼續(xù)運(yùn)行 , 而子進(jìn)程進(jìn)入 ready to run狀態(tài) 。 /*processid*/ printf(“Just one process so far\n”)。 else if(pid0) printf(“I am the parent process, child has pid d%\n”,pid)。 Linux進(jìn)程和任務(wù) ?用戶態(tài)稱進(jìn)程 ?核心態(tài)稱任務(wù) 實(shí)質(zhì)上是一個(gè)實(shí)體 Linux的進(jìn)程狀態(tài) ? TASK_RUNNING:正在運(yùn)行或準(zhǔn)備運(yùn)行的進(jìn)程 。
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1