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

正文內(nèi)容

計算機操作系統(tǒng)-進(jìn)程管理培訓(xùn)講義-免費閱讀

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

下一頁面
  

【正文】 在創(chuàng)建新線程時 , 需要利用一個線程創(chuàng)建函數(shù) (或系統(tǒng)調(diào)用 ), 并提供相應(yīng)的參數(shù) , 如指向線程主程序的入口指針 、 堆棧的大小 , 以及用于調(diào)度的優(yōu)先級等 。 3. (1) 狀態(tài)參數(shù) 。 將消息緩沖區(qū) i中的信息復(fù)制到接收區(qū) b。 signal()。 圖 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進(jìn)程 BP C B ( B )進(jìn)程 A procedure send(receiver, a) begin getbuf(,i)。 在利用消息緩沖隊列通信機制時 , 在設(shè)置消息緩沖隊列的同時 , 還應(yīng)增加用于對消息隊列進(jìn)行操作和實現(xiàn)同步的信號量 , 并將它們置入進(jìn)程的 PCB中 。 (3) 發(fā)送進(jìn)程和接收進(jìn)程均不阻塞。 而根據(jù)通信方式的不同 , 則又可把鏈路分成兩種: ① 單向通信鏈路 , 只允許發(fā)送進(jìn)程向接收進(jìn)程發(fā)送消息; ② 雙向鏈路 , 既允許由進(jìn)程 A向進(jìn)程 B發(fā)送消息 , 也允許進(jìn)程 B同時向進(jìn)程 A發(fā)送消息 。 允許建立一個公用信箱 , 讓多個進(jìn)程都能向信箱中投遞消息;也可從信箱中取走屬于自己的消息 。 信箱的擁有者和共享者 , 都有權(quán)從信箱中取走發(fā)送給自己的消息 。 信箱的擁有者有權(quán)從信箱中讀取消息 , 其他用戶則只能將自己構(gòu)成的消息發(fā)送到該信箱中 。 當(dāng)進(jìn)程不再需要讀信箱時 , 可用信箱撤消原語將之撤消 。 … send(consumer, nextp)。 而原語 Receive(P1, m1)則表示接收由 P1發(fā)來的消息 m1。 ② 同步 , 指當(dāng)寫(輸入 )進(jìn)程把一定數(shù)量 (如 4 KB)的數(shù)據(jù)寫入 pipe, 便去睡眠等待 , 直到讀 (輸出 )進(jìn)程取走數(shù)據(jù)后 , 再把他喚醒 。 操作系統(tǒng)隱藏了通信的實現(xiàn)細(xì)節(jié) , 大大減化了通信程序編制的復(fù)雜性 , 而獲得廣泛的應(yīng)用 。 end consumer:begin repeat (item)。 nextc ∶ = buffer(out)。 buffer:array[ 0,…,n1] of item。 利用管程解決生產(chǎn)者 消費者問題 在利用管程方法來解決生產(chǎn)者 消費者問題時 , 首先便是為它們建立一個管程 , 并命名為 ProclucerConsumer, 或簡稱為 PC。 此時 , wait 原 語應(yīng) 改 為 , 相應(yīng)地 , signal 應(yīng) 改為。 procedure entry P2(…)。 L,RN,0)。 end parend end 利用信號量集機制解決讀者 寫者問題 Var RN integer。 readcount ∶ = readcount1。 讀者 Var rmutex, wmutex:semaphore ∶ = 1,1。 until false。 按此規(guī)定 , 將是 2號哲學(xué)家競爭 1號筷子; 4號哲學(xué)家競爭 3號筷子 。 … eat。 Ssignal(mutex, empty)。 … Swait(empty, mutex)。 until false。 until false。 in, out: integer ∶ = 0, 0。 S6。 end。 end。 begin parbegin begin S1。 begin parbegin process 1: begin repeat wait(mutex)。 此時在信號量集中只有一個信號量 S, 但允許它每次申請 d個資源 , 當(dāng)現(xiàn)有資源數(shù)少于 d時 , 不予分配 。 由死鎖理論可知 , 這樣就可避免上述死鎖情況的發(fā)生 。 wait(Dmutex)。 可見 , 該機制遵循了 “ 讓權(quán)等待 ” 準(zhǔn)則 。 它所包含的上述兩個數(shù)據(jù)項可描述為: type semaphore=record value:integer。 wait和 signal wait(S): while S≤0 do noop S ∶ =S1。 remainder section。 假設(shè): counter的當(dāng)前值是 5。 until false。 in ∶ = in+1 mod n。 in, out: 0, 1, …, n1。 用輸入指針 in來指示下一個可投放產(chǎn)品的緩沖區(qū) , 每當(dāng)生產(chǎn)者進(jìn)程生產(chǎn)并投放一個產(chǎn)品后 , 輸入指針加 1;用一個輸出指針 out來指示下一個可從中獲取產(chǎn)品的緩沖區(qū) , 每當(dāng)消費者進(jìn)程取走一個產(chǎn)品后 , 輸出指針加 1。 假如采用的是搶占調(diào)度策略 , 則每當(dāng)有新進(jìn)程進(jìn)入就緒隊列時 , 應(yīng)檢查是否要進(jìn)行重新調(diào)度 , 即由調(diào)度程序?qū)⒈患せ钸M(jìn)程與當(dāng)前進(jìn)程進(jìn)行優(yōu)先級的比較 , 如果被激活進(jìn)程的優(yōu)先級更低 , 就不必重新調(diào)度;否則 , 立即剝奪當(dāng)前進(jìn)程的運行 , 把處理機分配給剛被激活的進(jìn)程 。 喚醒原語執(zhí)行的過程是:首先把被阻塞的進(jìn)程從等待該事件的阻塞隊列中移出 , 將其 PCB中的現(xiàn)行狀態(tài)由阻塞改為就緒 , 然后再將該 PCB插入到就緒隊列中 。 (4) 將被終止進(jìn)程所擁有的全部資源 , 或者歸還給其父進(jìn)程 , 或者歸還給系統(tǒng) 。 3) 外界干預(yù)并非指在本進(jìn)程運行中出現(xiàn)了異常事件 ,而是指進(jìn)程應(yīng)外界的請求而終止運行 。 進(jìn)程試圖去訪問一個不允許訪問的資源或文件 , 或者以不適當(dāng)?shù)姆绞竭M(jìn)行訪問 , 例如 , 進(jìn)程試圖去寫一個只讀文件; ③ 非法指令 。 (4) 將新進(jìn)程插入就緒隊列,如果進(jìn)程就緒隊列能夠接納新進(jìn)程, 便將新進(jìn)程插入就緒隊列。 4) 進(jìn)程控制信息包括: ① 程序和數(shù)據(jù)的地址 , 是指進(jìn)程的程序和數(shù)據(jù)所在的內(nèi)存或外存地 (首 )址 , 以便再調(diào)度到該進(jìn)程執(zhí)行時 , 能從 PCB中找到其程序和數(shù)據(jù); ② 進(jìn)程同步和通信機制 , 指實現(xiàn)進(jìn)程同步和進(jìn)程通信時必需的機制 , 如消息隊列指針 、 信號量等 , 它們可能全部或部分地放在 PCB中; ③ 資源清單 , 是一張列出了除 CPU以外的 、進(jìn)程所需的全部資源及已經(jīng)分配到該進(jìn)程的資源的清單;④ 鏈接指針 , 它給出了本進(jìn)程 (PCB)所在隊列中的下一個進(jìn)程的 PCB的首地址 。 (2) 外部標(biāo)識符 。 (3) 靜止就緒 → 活動就緒。 (3) 進(jìn)程是程序在一個數(shù)據(jù)集合上運行的過程 , 它是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個獨立單位 。 S1: a∶ =x+2 S2: b∶ =y+4 S3: c∶ =a+b S4: d∶ =c+b 圖 24 四條語句的前趨關(guān)系 S1S2S3S4 程序并發(fā)執(zhí)行時的特征 1) 間斷性 2) 失去封閉性 3) 不可再現(xiàn)性 例如 , 有兩個循環(huán)程序 A和 B, 它們共享一個變量 N。 S2: b ∶ =a5。 S3: c ∶ =b+1。 程序 A每執(zhí)行一次時 , 都要做 N∶ =N+1操作;程序 B每執(zhí)行一次時 , 都要執(zhí)行 Print(N)操作 , 然后再將 N置成 “ 0”。 在引入了進(jìn)程實體的概念后 , 我們可以把傳統(tǒng) OS中的進(jìn)程定義為: “ 進(jìn)程是進(jìn)程實體的運行過程 , 是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個獨立單位 ” 。 (4) 靜止阻塞 → 活動阻塞。 它由創(chuàng)建者提供 , 通常是由字母 、 數(shù)字組成 , 往往是由用戶 (進(jìn)程 )在訪問該進(jìn)程時使用 。 3. 進(jìn)程控制塊的組織方式 1) 鏈接方式 圖 27 PCB鏈接隊列示意圖 P C B 1 4P C B 2P C B 3P C B 4P C B 5P C B 6P C B 7P C B 8P C B 93087901執(zhí)行指針就 緒 隊 列指 針阻 塞 隊 列指 針空 閑 隊 列指 針…2) 索引方式 圖 28 按索引方式組織 PCB 執(zhí)行指針就緒索引表P C B 1P C B 2P C B 3P C B 4P C B 5P C B 6P C B 7阻塞索引表就緒表指針阻塞表指針2 進(jìn) 程 控 制 1 進(jìn)程的創(chuàng)建 1. 進(jìn)程圖 (Process Graph) 圖 29 進(jìn)程樹 D E F G HB CI J K L MA 引起創(chuàng)建進(jìn)程的事件 (1) 用戶登錄。 2 進(jìn)程的終止 1. 引起進(jìn)程終止 (Termination of Process) 1) 在任何計算機系統(tǒng)中 , 都應(yīng)有一個用于表示進(jìn)程已經(jīng)運行完成的指示 。 程序試圖去執(zhí)行一條不存在的指令 。 這些干預(yù)有: ① 操作員或操作系統(tǒng)干預(yù) 。 (5) 將被終止進(jìn)程 (它的 PCB)從所在隊列 (或鏈表 )中移出, 等待其他程序來搜集信息。 4 進(jìn)程的掛起與激活 1. 當(dāng)出現(xiàn)了引起進(jìn)程掛起的事件時 , 比如 , 用戶進(jìn)程請求將自己掛起 , 或父進(jìn)程請求將自己的某個子進(jìn)程掛起 , 系統(tǒng)將利用掛起原語 suspend( )將指定進(jìn)程或處于阻塞狀態(tài)的進(jìn)程掛起 。 3 進(jìn) 程 同 步 進(jìn)程同步的基本概念 1. 兩種形式的制約關(guān)系 (1) 間接相互制約關(guān)系。 由于這里的緩沖池是組織成循環(huán)緩沖的 , 故應(yīng)把輸入指針加1表示成 in∶ =(in+1)mod n;輸出指針加 1表示成 out∶ =(out+1) mod n。 counter: 0, 1, …, n。 counter ∶ = counter+1。 雖然上面的生產(chǎn)者程序和消費者程序 , 在分別看時都是正確的 , 而且兩者在順序執(zhí)行時其結(jié)果也會是正確的 , 但若并發(fā)執(zhí)行時 , 就會出現(xiàn)差錯 , 問題就在于這兩個進(jìn)程共享變量 counter。 如果生產(chǎn)者進(jìn)程先執(zhí)行左列的三條機器語言語句 , 然后消費者進(jìn)程再執(zhí)行右列的三條語句 , 則最后共享變量 counter的值仍為 5;反之 , 如果讓消費者進(jìn)程先執(zhí)行右列的三條語句 , 然后再讓生產(chǎn)者進(jìn)程執(zhí)行左列的三條語句 , counter值也還是 5, 但是 , 如果按下述順序執(zhí)行: register 1 ∶ = counter。 until false。 signal(S): S ∶ =S+1。 L:list of process。 此時 的數(shù)目 。 若進(jìn)程 A和 B按下述次序交替執(zhí)行 wait process A: wait(Dmutex)。 為此 , 在 wait操作中 , 增加了一個 “ AND”條件 , 故稱為 AND同步 , 或稱為同時 wait操作 , 即 Swait(Simultaneous wait)定義如下: Swait(S1, S2, …, Sn) if Si≥1 and … and Sn≥1 then for i ∶ = 1 to n do Si ∶ = Si1。 (2) Swait(S, 1, 1)。 critical section signal(mutex)。 signal(a)。 begin wait(b)。 begin wait(d)。 end。 begi
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1