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

正文內(nèi)容

計算機操作系統(tǒng)-進程管理培訓講義-預覽頁

2025-06-18 13:05 上一頁面

下一頁面
 

【正文】 (4) 將被終止進程所擁有的全部資源 , 或者歸還給其父進程 , 或者歸還給系統(tǒng) 。 進入 block過程后 ,由于此時該進程還處于執(zhí)行狀態(tài) , 所以應先立即停止執(zhí)行 ,把進程控制塊中的現(xiàn)行狀態(tài)由 “ 執(zhí)行 ” 改為阻塞 , 并將 PCB插入阻塞隊列 。 喚醒原語執(zhí)行的過程是:首先把被阻塞的進程從等待該事件的阻塞隊列中移出 , 將其 PCB中的現(xiàn)行狀態(tài)由阻塞改為就緒 , 然后再將該 PCB插入到就緒隊列中 。 最后 , 若被掛起的進程正在執(zhí)行 , 則轉(zhuǎn)向調(diào)度程序重新調(diào)度 。 假如采用的是搶占調(diào)度策略 , 則每當有新進程進入就緒隊列時 , 應檢查是否要進行重新調(diào)度 , 即由調(diào)度程序?qū)⒈患せ钸M程與當前進程進行優(yōu)先級的比較 , 如果被激活進程的優(yōu)先級更低 , 就不必重新調(diào)度;否則 , 立即剝奪當前進程的運行 , 把處理機分配給剛被激活的進程 。 它描述的是:有一群生產(chǎn)者進程在生產(chǎn)產(chǎn)品 ,并將這些產(chǎn)品提供給消費者進程去消費 。 用輸入指針 in來指示下一個可投放產(chǎn)品的緩沖區(qū) , 每當生產(chǎn)者進程生產(chǎn)并投放一個產(chǎn)品后 , 輸入指針加 1;用一個輸出指針 out來指示下一個可從中獲取產(chǎn)品的緩沖區(qū) , 每當消費者進程取走一個產(chǎn)品后 , 輸出指針加 1。 每當生產(chǎn)者進程向緩沖池中投放一個產(chǎn)品后 , 使counter加 1;反之 , 每當消費者進程從中取走一個產(chǎn)品時 , 使 counter減 1。 in, out: 0, 1, …, n1。 在生產(chǎn)者進程中使用一局部變量 nextp, 用于暫時存放每次剛生產(chǎn)出來的產(chǎn)品;而在消費者進程中 , 則使用一個局部變量 nextc,用于存放每次要消費的產(chǎn)品 。 in ∶ = in+1 mod n。 nextc ∶ = buffer[ out] 。 until false。 register1 ∶ = register 1+1。 假設: counter的當前值是 5。 (register 2=5) register 2 ∶ = register 21。 remainder section。 (3) 有限等待。 wait和 signal wait(S): while S≤0 do noop S ∶ =S1。 記錄型信號量機制 , 則是一種不存在 “ 忙等 ” 現(xiàn)象的進程同步機制 。 它所包含的上述兩個數(shù)據(jù)項可描述為: type semaphore=record value:integer。 if < 0 then block(S,L) end procedure signal(S) var S: semaphore。 可見 , 該機制遵循了 “ 讓權(quán)等待 ” 準則 。 如果 1, 表示只允許一個進程訪問臨界資源 , 此時的信號量轉(zhuǎn)化為互斥信號量 。 wait(Dmutex)。 于是 Emutex=1 A process B: wait(Dmutex)。 由死鎖理論可知 , 這樣就可避免上述死鎖情況的發(fā)生 。 4. 信號量集 Swait(S1, t1, d1, …, Sn, tn, dn) if Si≥t1 and … and Sn≥tn then for i∶ =1 to n do Si∶ =Sidi。 此時在信號量集中只有一個信號量 S, 但允許它每次申請 d個資源 , 當現(xiàn)有資源數(shù)少于 d時 , 不予分配 。 這是一種很特殊且很有用的信號量操作 。 begin parbegin process 1: begin repeat wait(mutex)。 critical section signal(mutex)。 begin parbegin begin S1。 begin wait(a)。 end。 end。 end。 end。 S6。 1. 利用記錄型信號量解決生產(chǎn)者 —消費者問題 假定在生產(chǎn)者和消費者之間的公用緩沖池中 , 具有 n個緩沖區(qū) , 這時可利用互斥信號量 mutex實現(xiàn)諸進程對緩沖池的互斥使用;利用信號量 empty和 full分別表示緩沖池中空緩沖區(qū)和滿緩沖區(qū)的數(shù)量 。 in, out: integer ∶ = 0, 0。 buffer(in) ∶ = nextp。 until false。 out ∶ = (out+1) mod n。 until false。 利用 AND信號量解決生產(chǎn)者 — 消費者問題 ar mutex, empty, full:semaphore ∶ = 1, n, 0。 … Swait(empty, mutex)。 until false。 Ssignal(mutex, empty)。 為了實現(xiàn)對筷子的互斥使用 ,可以用一個信號量表示一只筷子 , 由這五個信號量構(gòu)成信號量數(shù)組 。 … eat。 until false。 按此規(guī)定 , 將是 2號哲學家競爭 1號筷子; 4號哲學家競爭 3號筷子 。 processi repeat think。 until false。 因此 , 僅當 Readcount=0, 表示尚無 Reader 進程在讀時 , Reader 進程才需要執(zhí)行Wait(Wmutex)操作 。 讀者 Var rmutex, wmutex:semaphore ∶ = 1,1。 Readcount ∶ = Readcount+1。 readcount ∶ = readcount1。 end writer:begin repeat wait(wmutex)。 end parend end 利用信號量集機制解決讀者 寫者問題 Var RN integer。 … perform read operation。 L,RN,0)。 end parend end 5 管 程 機 制 管程的基本概念 1. 管程的定義 管程由三部分組成: ① 局部于管程的共享變量說明;② 對該數(shù)據(jù)結(jié)構(gòu)進行操作的一組過程; ③ 對局部于管程的數(shù)據(jù)設置初始值的語句 。 procedure entry P2(…)。 begin initialization code。 此時 , wait 原 語應 改 為 , 相應地 , signal 應 改為。 如果有進程 Q處于阻塞狀態(tài) , 當進程 P執(zhí)行了 操作后 , 怎樣決定由哪個進行執(zhí)行 , 哪個等待 , 可采用 (1) P等待 , 直至 Q離開管程或等待另一條件 。 利用管程解決生產(chǎn)者 消費者問題 在利用管程方法來解決生產(chǎn)者 消費者問題時 , 首先便是為它們建立一個管程 , 并命名為 ProclucerConsumer, 或簡稱為 PC。 生產(chǎn)者利用該過程將自己生產(chǎn)的產(chǎn)品投放到緩沖池中 , 并用整型變量 count來表示在緩沖池中已有的產(chǎn)品數(shù)目 , 當 count≥n時 , 表示緩沖池已滿 , 生產(chǎn)者須等待 。 buffer:array[ 0,…,n1] of item。 in ∶ = (in+1) mod n。 nextc ∶ = buffer(out)。 end begin in ∶ = out ∶ = 0。 end consumer:begin repeat (item)。 (2) 基于共享存儲區(qū)的通信方式。 操作系統(tǒng)隱藏了通信的實現(xiàn)細節(jié) , 大大減化了通信程序編制的復雜性 , 而獲得廣泛的應用 。 向管道 (共享文件 )提供輸入的發(fā)送進程 (即寫進程 ), 以字符流形式將大量的數(shù)據(jù)送入管道;而接受管道輸出的接收進程 (即讀進程 ), 則從管道中接收 (讀 )數(shù)據(jù) 。 ② 同步 , 指當寫(輸入 )進程把一定數(shù)量 (如 4 KB)的數(shù)據(jù)寫入 pipe, 便去睡眠等待 , 直到讀 (輸出 )進程取走數(shù)據(jù)后 , 再把他喚醒 。 此時 , 要求發(fā)送進程和接收進程都以顯式方式提供對方的標識符 。 而原語 Receive(P1, m1)則表示接收由 P1發(fā)來的消息 m1。 我們還可以利用直接通信原語 , 來解決生產(chǎn)者 消費者問題 。 … send(consumer, nextp)。 until false。 當進程不再需要讀信箱時 , 可用信箱撤消原語將之撤消 。 Receive(mailbox, message)。 信箱的擁有者有權(quán)從信箱中讀取消息 , 其他用戶則只能將自己構(gòu)成的消息發(fā)送到該信箱中 。 核準進程既可把消息發(fā)送到該信箱中 , 也可從信箱中讀取發(fā)送給自己的消息 。 信箱的擁有者和共享者 , 都有權(quán)從信箱中取走發(fā)送給自己的消息 。 允許提供服務的進程與多個用戶進程之間進行交互 , 也稱為客戶 /服務器交互 (client/server interaction)。 允許建立一個公用信箱 , 讓多個進程都能向信箱中投遞消息;也可從信箱中取走屬于自己的消息 。 這種方式主要用于計算機網(wǎng)絡中 。 而根據(jù)通信方式的不同 , 則又可把鏈路分成兩種: ① 單向通信鏈路 , 只允許發(fā)送進程向接收進程發(fā)送消息; ② 雙向鏈路 , 既允許由進程 A向進程 B發(fā)送消息 , 也允許進程 B同時向進程 A發(fā)送消息 。 系統(tǒng)在處理和存儲變長消息時 , 須付出更多的開銷 , 但方便了用戶 。 (3) 發(fā)送進程和接收進程均不阻塞。 size。 在利用消息緩沖隊列通信機制時 , 在設置消息緩沖隊列的同時 , 還應增加用于對消息隊列進行操作和實現(xiàn)同步的信號量 , 并將它們置入進程的 PCB中 。 … end 發(fā)送進程在利用發(fā)送原語發(fā)送消息之前 , 應先在自己的內(nèi)存空間 , 設置一發(fā)送區(qū) a, 見圖 2 12 所示 , 把待發(fā)送的消息正文 、 發(fā)送進程標識符 、 消息長度等信息填入其中 ,然后調(diào)用發(fā)送原語 , 把消息發(fā)送給目標 (接收 )進程 。 圖 2 12 消息緩沖通信 s e n d e r : As i z e : 5t e x t : H e l l omqm u t e xsms e n d e r : As i z e : 5t e x t : H e l l on e x t : 0s e n d ( B , a )第一消息緩沖區(qū)s e n d e r : As i z e : 5t e x t : H e l l or e c e i v e ( b )a發(fā)送區(qū)ab接收區(qū)b進程 BP C B ( B )進程 A procedure send(receiver, a) begin getbuf(,i)。 ∶ = 0。 signal()。 wait()。 將消息緩沖區(qū) i中的信息復制到接收區(qū) b。 1) 創(chuàng)建進程 2) 撤消進程 3) 線程的屬性 (1) 輕型實體。 3. (1) 狀態(tài)參數(shù) 。 如同傳統(tǒng)的進程一樣 , 在各線程之間也存在著共享資源和相互合作的制約關(guān)系 , 致使線程在運行時也具有間斷性 。 在創(chuàng)建新線程時 , 需要利用一個線程創(chuàng)建函數(shù) (或系統(tǒng)調(diào)用 ), 并提供相應的參數(shù) , 如指向線程主程序的入口指針 、 堆棧的大小 , 以及用于調(diào)度的優(yōu)先級等
點擊復制文檔內(nèi)容
教學課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1