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

正文內(nèi)容

操作系統(tǒng)原理第四章并發(fā)處理a-資料下載頁

2025-05-13 23:50本頁面
  

【正文】 進程控制 進程掛起 當一個處在運行狀態(tài)的進程,因等待某個事件的發(fā)生(如等待打印機)而不能繼續(xù)運行時,將調(diào)用進程掛起系統(tǒng)調(diào)用,把進程的狀態(tài)置為阻塞狀態(tài),并調(diào)用進程調(diào)度程序(等于讓出處理機)。在UNIX系統(tǒng)中進程掛起調(diào)用 sleep(chan, pri)。 54 進程控制 進程掛起 進程從運行狀態(tài)轉(zhuǎn)換成阻塞狀態(tài) 是由進程掛起原語實現(xiàn)的, 因此,調(diào)用進程掛起操作是在進程處于運行狀態(tài)下執(zhí)行的 。它的執(zhí)行將引起等待某事件的隊列的改變 . 例如,進程是因等待打印機而進入阻塞狀態(tài),則該進程將加入到等待打印機的隊列。進程掛起系統(tǒng)調(diào)用的算法和隊列變化如下。 55 進程控制 進程掛起 進程掛起的內(nèi)部調(diào)用形式 ( UNIX系統(tǒng) ) : sleep(chan,pri) 其中: chan 進程掛起 ( 睡眠 ) 的原因; pri 進程被喚醒后的優(yōu)先級 一般調(diào)用形式: susp(chan) 其中: chan 進程等待的原因 56 進程控制 進程掛起 57 進程控制 進程掛起 58 進程控制 進程喚醒 一個正在運行的進程會因等待某事件 ( 例如 , 等待打印機 ) 的發(fā)生 , 由運行狀態(tài)轉(zhuǎn)換成阻塞狀態(tài), 當它等待的事件發(fā)生后 , 這個進程將由阻塞狀態(tài)轉(zhuǎn)換成就緒狀態(tài) 。 這種轉(zhuǎn)換由進程喚醒操作完成 。 調(diào)用進程喚醒操作一般在中斷處理 、 進程通信等過程中 。 例如 , 打印機完成中斷處理程序 , 在完成了打印完成的操作后 , 就去檢查等待打印機的隊列 , 若不為空 , 則調(diào)用進程喚醒操作 , 喚醒一個( 或多個 ) 等待打印機的進程 。 59 進程控制 進程喚醒 進程喚醒原語的形式: wakeup(chan) 其中: chan 喚醒進程阻塞的原因。 60 進程控制 進程喚醒 算法: wakeup 輸入: chan:等待的事件 ( 阻塞原因 ) 輸出:無 { 找到 chan的等待隊列的指針; for(該隊列不為空 ) { 從隊列中移出一個進程; 置進程狀態(tài)為 “ 就緒 ” , 并加入到就緒隊列; } } 61 進程控制 進程喚醒 按此算法 , 是把等待在 chan事件上的所有進程喚醒, 類似于 UNIX系統(tǒng)的處理方式 。 也有的系統(tǒng)只喚醒一個等待 chan事件的進程 , 若這樣處理 , 等待隊列就要按某種優(yōu)先級排隊 。 進程喚醒操作會引起就緒隊列和等待 chan事件的等待隊列發(fā)生變化 。 62 進程控制 進程喚醒 按此算法 , 是把等待在 chan事件上的所有進程喚醒, 類似于 UNIX系統(tǒng)的處理方式 。 也有的系統(tǒng)只喚醒一個等待 chan事件的進程 , 若這樣處理 , 等待隊列就要按某種優(yōu)先級排隊 。 進程喚醒操作會引起就緒隊列和等待 chan事件的等待隊列發(fā)生變化 。 63 在多道程序的環(huán)境中,系統(tǒng)中的多個進程可以并發(fā)執(zhí)行,同時它們又要共享系統(tǒng)中的資源,這些資源有些是可共享使用的,如磁盤,有些是以獨占方式使用的,如打印機。由此將會引起一系列的矛盾,產(chǎn)生錯綜復(fù)雜的相互制約的關(guān)系。 產(chǎn)生這種錯綜復(fù)雜的相互制約關(guān)系的原因有二: 資源共享 進程合作 64 進程互斥 互斥的概念 引例: 宿舍電話的使用 打印機的使用 1. 臨界資源:一次僅允許一個進程使用的資源稱為臨界資源 。 引例中的電話和打印機都屬于臨界資源。除此之外,還有內(nèi)存變量、指針、數(shù)組等等也是臨界資源。 65 進程互斥 互斥的概念 臨界區(qū): 每個進程中訪問臨界資 源的那段程序段稱為臨 界區(qū)(臨界段)。 66 進程互斥 互斥的概念 3. 互斥 定義 : 在操作系統(tǒng)中,當某一進程正在訪問某臨界區(qū)時, 就不允許其它進程進入,否則就會發(fā)生 (后果 )無法 估計的錯誤。我們把進程之間的這種相互制約的關(guān) 系稱為互斥 。 例如:飛機定票系統(tǒng)中的機票庫 67 進程互斥 互斥的概念 進入臨界區(qū)的準則: (1)每次至多有一個進程處于臨界區(qū); (2)當有若干個進程欲進入臨界區(qū)時 , 應(yīng)在有限 的時間內(nèi)使其進入; (3)進程在臨界區(qū)內(nèi)僅逗留有限的時間 。 68 進程互斥 鎖和上鎖、開鎖操作 解決進程互斥的最簡單的辦法是加鎖 。 在系統(tǒng)中為 每個臨界資源設(shè)置一個鎖位 , 0 表示資源可用 , 1 表示資源已被占用 ( 不可用 ) 。 這樣當一個進程使用某個臨界資源之前必須完成下列操作: 考察鎖位的值; 若原來的值是為 “ 0”, 將鎖位置為 “ 1”( 占用該資源 ) ; 若原來值是為 “ 1”, ( 該資源已被別人占用 ) , 則轉(zhuǎn)到 1。 當進程使用完資源后 , 將鎖位置為 “ 0“, 稱為開鎖操作 。
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1