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

正文內(nèi)容

計算機操作系統(tǒng)-進程管理-文庫吧資料

2025-01-27 15:26本頁面
  

【正文】 = TRUE。 *b = temp。 temp = *a。lock = FALSE。 } lock表示資源的兩種狀態(tài): TRUE表示正被占用,F(xiàn)ALSE表示空閑 第二章 進 程 管 理 互斥算法( TS指令) ? 利用 TS實現(xiàn)進程互斥:每個臨界資源設(shè)置一個公共布爾變量 lock,初值為 FALSE ? 在進入?yún)^(qū)利用 TS進行檢查:有進程在臨界區(qū)時,重復(fù)檢查;直到其它進程退出時,檢查通過; while TS(amp。 *lock = TRUE。 ? 可以利用某些硬件指令--其讀寫操作由 一條指令 完成,因而保證讀操作與寫操作不被打斷; TestandSet指令 該指令讀出標(biāo)志后設(shè)置為 TRUE boolean TS(boolean *lock) { boolean old。 改進: Dijkstra發(fā)明的 P、 V操作。 unlock(w)。 ppb()。 CSa。 lock(w)。 第二章 進 程 管 理 第二章 進 程 管 理 上鎖原語 進入臨界區(qū) csb 開鎖原語 進程 B 上鎖原語 進入臨界區(qū) csa 開鎖原語 進程 A 任何進入臨界區(qū)的進程必須先執(zhí)行上鎖原語,通過則進入臨界區(qū),使用完后執(zhí)行開鎖原語 第二章 進 程 管 理 main ( ) ppa ( ) ppb ( ) { { { int w=0。 /*開鎖 */ } 第二章 進 程 管 理 算法的缺 點 ? 忙式等待,耗費進程占用 CPU的時間,把測試的任務(wù)交給競爭的進程,削弱了系統(tǒng)的可靠性。 /*測試鎖位的值 */ else w=1。 進程使用完共享資源后,將鎖位置 0,稱做開鎖操作。將鎖位置 1(上鎖)。 ? 進程使用某一共享資源之前必須完成下列動作(上鎖操作): ① 檢測鎖位的值( 0還是 1)。 同時 ,系統(tǒng)要提供上鎖原語和開鎖原語 , 供進程在使用臨界資源之前使用上鎖原語 , 使用完臨界資源之后使用開鎖原語 。 第二章 進 程 管 理 二 . 用鎖實現(xiàn)互斥 、 開鎖操作 解決進程互斥的最簡單的辦法是加鎖 。 (3) 有限等待。 第二章 進 程 管 理 進入臨界區(qū)的準(zhǔn)則: (1) 空閑讓進。 exit section remainder section。 第二章 進 程 管 理 互斥的例子 例 1: 進程 A、 B共享一臺打印機,則當(dāng)一進程占用打印機后,另一進程若也要使用打印機,則必須等待,直至它釋放打印機。 第二章 進 程 管 理 互斥的例子 ? 交通十字路口、窄橋相對通行、獨木橋等等。我們把進程之間的這種 相互制約的關(guān)系 稱為 互斥 。 第二章 進 程 管 理 臨界區(qū)( critical section/region) : 每個進程中訪問臨界資源的那段程序段稱為 臨界區(qū) (臨界段)。 P37不可在現(xiàn)的例子中, N是臨界資源,上例中,count是臨界資源。 這是 Dijkstra提出的 。 Si(i=1,2,3,...,n)表示 n個語句 ( 程序段 ) ,這 n個語句用 cobegin和 coend括起來表示這 n個語句是可以并發(fā)執(zhí)行的 。 若順序執(zhí)行 P P2,則 count = 5。 R2 = R2 1 。 count = R1。 P1: R1 = count。 P2: count=1。 源于進程間的合作 第二章 進 程 管 理 進程互斥 一 . 互斥的概念 引例: 宿舍電話的使用 2個同學(xué)搶椅子 打印機的使用 1. 臨界資源 (共享變量、互斥資源, critical resource): 一次僅允許一個進程使用的資源稱為臨界資源。 掛起 激活 Active( ) Suspend( ) 第二章 進 程 管 理 在 UNIX系統(tǒng)中進程控制的系統(tǒng)調(diào)用有: fork() 創(chuàng)建子進程 sleep() 進程睡眠 exit() 進程自已終止 ( 自殺 ) wait() (父 ) 等待子進程終止 wakeup() 進程喚醒 第二章 進 程 管 理 小結(jié) ? 操作系統(tǒng)的順序進程和并發(fā)進程的各自特點 (1) 順序性 1) 間斷性 (2) 封閉性 2) 失去封閉性 (3) 可再現(xiàn)性 3) 不可再現(xiàn)性 ? 進程基本概念 進程是進程實體的運行過程,是系統(tǒng)進行資源分配和調(diào)度的一個獨立單位 ? 進程的三個基本狀態(tài)及轉(zhuǎn)換 1) 就緒 (Ready)狀態(tài) 2) 3) 阻塞狀態(tài) ? 進程控制 就緒阻塞 執(zhí)行時間片完進程調(diào)度I / O 完成I / O 請求第二章 進 程 管 理 ?并發(fā)引起的操作系統(tǒng)的改變 ?操作系統(tǒng)必須記住各種活躍的進程 ?必須為每個進程分配和釋放各種資源 ?保護每個進程的數(shù)據(jù)和物理資源 ?進程的結(jié)果必須與執(zhí)行速度無關(guān) 進 程 同 步 第二章 進 程 管 理 進 程 同 步 進程同步的基本概念 1. 兩種形式的制約關(guān)系 ? 間接相互制約關(guān)系 ——進程互斥。 第二章 進 程 管 理 2. 進程的激活過程 當(dāng)發(fā)生激活進程的事件時,系統(tǒng)將利用 激活原語active( )將指定進程激活。 執(zhí)行過程: ?首先檢查被掛起進程的狀態(tài),若處于活動就緒狀態(tài),便將其改為靜止就緒;對于活動阻塞狀態(tài)的進程,則將之改為靜止阻塞。 ?再將該 PCB插入到就緒隊列中 。 第二章 進 程 管 理 3. 進程喚醒過程 ? 當(dāng)被阻塞進程所期待的事件出現(xiàn)時 , 則由有關(guān)進程調(diào)用 喚醒原語 wakeup( ), 將等待該事件的進程喚醒 。 ?將本進程插入到具有相同事件的阻塞 (等待 )隊列 。 1) 請求系統(tǒng)服務(wù):打印機 2) 啟動某種操作: I/O 3) 新數(shù)據(jù)尚未到達(dá):合作 4) 無新工作可做:發(fā)送數(shù)據(jù) 第二章 進 程 管 理 2. 進程阻塞過程 ? 正在執(zhí)行的進程,當(dāng)發(fā)現(xiàn)上述某事件時,由于無法繼續(xù)執(zhí)行,于是進程便通過調(diào)用 阻塞原語 block把 自己 阻塞。 (5) 將被終止進程 (PCB)從所在隊列 (或鏈表 )中移出,等待其他程序來搜集信息。 第二章 進 程 管 理 (3) 若該進程還有子孫進程 , 還應(yīng)將其所有子孫進程予以終止 , 以防它們成為不可控的進程 。 } 第二章 進 程 管 理 進程的終止 1. 引起進程終止的事件 1) 正常結(jié)束 例如,批處理系統(tǒng)中, Holt 分時系統(tǒng)中, Logs off 2) 異常結(jié)束 越界 ﹑ 保護錯 ﹑ 特權(quán)指令錯 ﹑ 非法指令錯﹑ 運行超時 ﹑ 等待超時 ﹑ 算術(shù)運算錯 ﹑ I/O故障 3) 外界干預(yù) 操作員或操作系統(tǒng) ﹑ 父進程請求 ﹑ 父進程終止 第二章 進 程 管 理 2. 進程的終止過程 如果系統(tǒng)中發(fā)生了上述要求終止進程的某事件 , OS便調(diào)用進程 終止原語 destroy . (1) 根據(jù)被終止進程的標(biāo)識符 , 從 PCB集合中檢索出該進程的 PCB, 從中讀出該進程的狀態(tài) 。 insert(progeny (*), i)。 sdata(i) = RL。 resources(i) = R0。 cpupstate(i) = S0。 id (i) = n。 ? 為新進程分配資源。 圖 211 進程樹 D E F GB CI J K MALH父進程 祖先 子進程 第二章 進 程 管 理 2. 引起創(chuàng)建進程的事件 ? 用戶登錄 分時 OS ? 作業(yè)調(diào)度 批處理 OS ? 提供服務(wù) ? 應(yīng)用請求 系統(tǒng)內(nèi)核創(chuàng)建 應(yīng)用程序自己創(chuàng) 建 第二章 進 程 管 理 3. 進程的創(chuàng)建 (Creation of Process) 調(diào)用進程 創(chuàng)建原語 Creat( )按下述步驟創(chuàng)建一個新進程 。 第二章 進 程 管 理 進程控制 為了提供對 PCB (和 OS其它數(shù)據(jù) )的保護 ,通常將處理機的執(zhí)行狀態(tài)分為系統(tǒng)態(tài)和用戶 態(tài)兩種 :系統(tǒng)態(tài) :又稱作特權(quán)方式 , 內(nèi)核方式 , 管理方式 ,控制方式 .用戶態(tài) :通常用戶程序運 行在用戶態(tài) .有利于系統(tǒng)程序和用戶程序的區(qū)分 , 但是犧牲了系統(tǒng)開銷 。換言之,它是一個不可分割的基本單位,因此,在執(zhí)行過程中不允許被中斷。 ? 原語與一般過程的區(qū)別: “ 原子操作 (Atomic Operation)”。 2) 索引方式 同一狀態(tài)的進程歸入一個 index表(由 index指向 PCB),多個狀態(tài)對應(yīng)多個不同的 index表 ,各狀態(tài)的運行形成不同的索引表:就緒索引表、阻塞索引表 . PC B T abl eReadyBl ock edPC B T abl eI nde x T abl eReadyBl ock ed第二章 進 程 管 理 進 程 控 制 ? 進程控制一般是由 OS的 內(nèi)核 中的原語來實現(xiàn)的。 ( 2)進程控制塊的內(nèi)存駐留方式 PCB全部裝入內(nèi)存?還是部分裝入? 第二章 進 程 管 理 PCB數(shù)據(jù)量太大,包含信息太多,因此有的系統(tǒng)只把必須的一些信息( CPU控制信息,進程描述信息,控制信息)放置在內(nèi)存,其他的信息放置在外存。 第二章 進 程 管 理 4) 進程控制信息 ? 程序和數(shù)據(jù)的地址 ? 進程同步和通信機制 ? 資源清單 ,除 CPU以外的、進程所需的全部資源及已經(jīng)分配到該進程的資源的清單; ? 鏈接指針 ,本進程 (PCB)所在隊列中的下一個進程的 PCB的首地址。 ? 通用寄存器, 用于暫存信息 ? 指令計數(shù)器 ,存放了要訪問的下一條指令的地址 ? 程序狀態(tài)字 PSW ? 用戶棧指針 ,用于存放過程和系統(tǒng)調(diào)用參數(shù)及調(diào)用地址,棧指針指向該棧的棧頂。此外,還可設(shè)置用戶標(biāo)識,以指示擁有該進程的用戶。它由創(chuàng)建者提供,通常是由字母、數(shù)字組成,往往是由 用戶 (進程 )在訪問該進程時 使用 。設(shè)置內(nèi)部標(biāo)識符主要是為了 方便系統(tǒng)使用 。 一個進程通常有兩種標(biāo)識符: (1) 內(nèi)部標(biāo)識符 。 ? 進程控制塊是進程管理和控制的最重要的數(shù)據(jù)結(jié)構(gòu),在創(chuàng)建時,建立 PCB,并伴隨進程運行的全過程,直到進程撤消而撤消。 ? 作用 :OS是根據(jù) PCB來對并發(fā)執(zhí)行的進程進行控制和管理的。 ? 操作系統(tǒng)的需要 。 ? 父進程請求 。可以看到打印機不斷打印工資報表,而處理機不停地計算,最后屏幕顯示計算的結(jié)果。 (2) 在支撐進程運行環(huán)境的操作系統(tǒng)下, 創(chuàng)建進程 C和進程 D。 (2) 在支持進程運行環(huán)境的操作系統(tǒng)下運行。 (1) 在不支持進程運行環(huán)境的操作系統(tǒng)下運行 (2) 在支持進程運行環(huán)境的操作系統(tǒng)下運行 第二章 進 程 管 理 例 2:設(shè)有 2個程序 , 程序 C是打印工資報表的程序 , 程序
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1