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

正文內(nèi)容

計算機操作系統(tǒng)-進程管理培訓(xùn)講義-資料下載頁

2025-05-09 13:05本頁面

【導(dǎo)讀】僅當(dāng)前一操作(程序段)執(zhí)行完后,才能執(zhí)行后繼操作。進行計算,最后才能打印計算結(jié)果。偏序或前趨關(guān)系“→”。,把沒有后繼的結(jié)點稱為終止結(jié)點。含有的程序量或結(jié)點的執(zhí)行時間。P1→P2,P1→P3,P1→P4,P2→P5,P3→P5,P4→P6,P4→P7,例如,有兩個循環(huán)程序A和B,它們共享一個變量N。時,都要執(zhí)行Print操作,然后再將N置成“0”。B以不同的速度運行。資源分配和調(diào)度的一個獨立單位”。靜止就緒→活動就緒。根據(jù)PCB來對并發(fā)執(zhí)行的進程進行控制和管理的。在所有的操作系統(tǒng)中,都為每一個進。程賦予一個惟一的數(shù)字標(biāo)識符,它通常是一個進程的序號。設(shè)置內(nèi)部標(biāo)識符主要是為了方便系統(tǒng)使用。它由創(chuàng)建者提供,通常是由字母、數(shù)。字組成,往往是由用戶(進程)在訪問該進程時使用。此外,還可設(shè)置用戶標(biāo)識,以指示擁有該進程的用戶。①通用寄存器,又稱為用戶可視寄存器,它們是。用戶程序可以訪問的,用于暫存信息,在大多數(shù)處理機中,系統(tǒng)調(diào)用參數(shù)及調(diào)用地址。棧指針指向該棧的棧頂。

  

【正文】 消息傳遞通信的實現(xiàn)方法 1. 這是指發(fā)送進程利用 OS所提供的發(fā)送命令 , 直接把消息發(fā)送給目標(biāo)進程 。 此時 , 要求發(fā)送進程和接收進程都以顯式方式提供對方的標(biāo)識符 。 通常 , 系統(tǒng)提供下述兩條通信命令 (原語 ) Send(Receiver, message)。 發(fā)送一個消息給接收進程; Receive(Sender, message)。 接收 Sender 例如 , 原語 Send(P2, m1)表示將消息 m1發(fā)送給接收進程 P2。 而原語 Receive(P1, m1)則表示接收由 P1發(fā)來的消息 m1。 在某些情況下 , 接收進程可與多個發(fā)送進程通信 ,因此 , 它不可能事先指定發(fā)送進程 。 例如 , 用于提供打印服務(wù)的進程 , 它可以接收來自任何一個進程的 “ 打印請求 ” 消息 。 對于這樣的應(yīng)用 , 在接收進程接收消息的原語中的源進程參數(shù) , 是完成通信后的返回值 , 接收原語可表示為: Receive (id, message)。 我們還可以利用直接通信原語 , 來解決生產(chǎn)者 消費者問題 。當(dāng)生產(chǎn)者生產(chǎn)出一個產(chǎn)品 (消息 )后 , 便用 Send原語將消息發(fā)送給消費者進程;而消費者進程則利用 Receive原語來得到一個消息 。 如果消息尚未生產(chǎn)出來 , 消費者必須等待 , 直至生產(chǎn)者進程將消息發(fā)送過來 。 生產(chǎn)者 消費者的通信過程可分別描述如下: repeat … produce an item in nextp。 … send(consumer, nextp)。 until false。 repeat receive(producer, nextc)。 … consume the item in nextc。 until false。 間接通信方式 (1) 信箱的創(chuàng)建和撤消 。 進程可利用信箱創(chuàng)建原語來建立一個新信箱 。 創(chuàng)建者進程應(yīng)給出信箱名字 、 信箱屬性 (公用 、私用或共享 );對于共享信箱 , 還應(yīng)給出共享者的名字 。 當(dāng)進程不再需要讀信箱時 , 可用信箱撤消原語將之撤消 。 (2) 消息的發(fā)送和接收 。 當(dāng)進程之間要利用信箱進行通信時 , 必須使用共享信箱 , 并利用系統(tǒng)提供的下述通信原語進行通信 。 Send(mailbox, message)。 Receive(mailbox, message)。 從指定信箱中接收一個消息; 信箱可由操作系統(tǒng)創(chuàng)建 , 也可由用戶進程創(chuàng)建 , 創(chuàng)建者是信箱的擁有者 。 據(jù)此 , 可把信箱分為以下三類 。 1) 用戶進程可為自己建立一個新信箱 , 并作為該進程的一部分 。 信箱的擁有者有權(quán)從信箱中讀取消息 , 其他用戶則只能將自己構(gòu)成的消息發(fā)送到該信箱中 。 這種私用信箱可采用單向通信鏈路的信箱來實現(xiàn) 。 當(dāng)擁有該信箱的進程結(jié)束時 , 信箱也隨之消失 。 2) 它由操作系統(tǒng)創(chuàng)建 , 并提供給系統(tǒng)中的所有核準(zhǔn)進程使用 。 核準(zhǔn)進程既可把消息發(fā)送到該信箱中 , 也可從信箱中讀取發(fā)送給自己的消息 。 顯然 , 公用信箱應(yīng)采用雙向通信鏈路的信箱來實現(xiàn) 。 通常 , 公用信箱在系統(tǒng)運行期間始終存在 。 3) 它由某進程創(chuàng)建 , 在創(chuàng)建時或創(chuàng)建后 , 指明它是可共享的 , 同時須指出共享進程 (用戶 )的名字 。 信箱的擁有者和共享者 , 都有權(quán)從信箱中取走發(fā)送給自己的消息 。 在利用信箱通信時 , 在發(fā)送進程和接收進程之間 , 存在以 (1) 一對一關(guān)系 。 這時可為發(fā)送進程和接收進程建立一條兩者專用的通信鏈路 , 使兩者之間的交互不受其他進程的干擾 。 (2) 多對一關(guān)系 。 允許提供服務(wù)的進程與多個用戶進程之間進行交互 , 也稱為客戶 /服務(wù)器交互 (client/server interaction)。 (3) 一對多關(guān)系 。 允許一個發(fā)送進程與多個接收進程進行交互 , 使發(fā)送進程可用廣播方式 , 向接收者 (多個 )發(fā)送消息 。 (4) 多對多關(guān)系 。 允許建立一個公用信箱 , 讓多個進程都能向信箱中投遞消息;也可從信箱中取走屬于自己的消息 。 消息傳遞系統(tǒng)實現(xiàn)中的若干問題 1. 通信鏈路 (munication link) 為使在發(fā)送進程和接收進程之間能進行通信 , 必須在兩者之間建立一條通信鏈路 。 有兩種方式建立通信鏈路 。 第一種方式是:由發(fā)送進程在通信之前 , 用顯式的 “ 建立連接 ” 命令(原語 )請求系統(tǒng)為之建立一條通信鏈路;在鏈路使用完后 , 也用顯式方式拆除鏈路 。 這種方式主要用于計算機網(wǎng)絡(luò)中 。 第二種方式是發(fā)送進程無須明確提出建立鏈路的請求 , 只須利用系統(tǒng)提供的發(fā)送命令(原語 ), 系統(tǒng)會自動地為之建立一條鏈路 。 這種方式主要用于單機系統(tǒng)中 。 根據(jù)通信鏈路的連接方法 , 又可把通信鏈路分為兩類: ① 點 —點連接通信鏈路 , 這時的一條鏈路只連接兩個結(jié)點 (進程 ); ② 多點連接鏈路 , 指用一條鏈路連接多個 (n> 2)結(jié)點 (進程 )。 而根據(jù)通信方式的不同 , 則又可把鏈路分成兩種: ① 單向通信鏈路 , 只允許發(fā)送進程向接收進程發(fā)送消息; ② 雙向鏈路 , 既允許由進程 A向進程 B發(fā)送消息 , 也允許進程 B同時向進程 A發(fā)送消息 。 消息的格式 在某些 OS中 , 消息是采用比較短的定長消息格式 , 這減少了對消息的處理和存儲開銷 。 這種方式可用于辦公自動化系統(tǒng)中 , 為用戶提供快速的便箋式通信;但這對要發(fā)送較長消息的用戶是不方便的 。 在有的 OS中 , 采用另一種變長的消息格式 , 即進程所發(fā)送消息的長度是可變的 。 系統(tǒng)在處理和存儲變長消息時 , 須付出更多的開銷 , 但方便了用戶 。 這兩種消息格式各有其優(yōu)缺點 , 故在很多系統(tǒng) (包括計算機網(wǎng)絡(luò) )中 , 是同時都用的 。 3. 進程同步方式 (1) 發(fā)送進程阻塞、 接收進程阻塞。 (2) 發(fā)送進程不阻塞、 接收進程阻塞。 (3) 發(fā)送進程和接收進程均不阻塞。 消息緩沖隊列通信機制 1. 消息緩沖隊列通信機制中的數(shù)據(jù)結(jié)構(gòu) (1) 消息緩沖區(qū) 。 在消息緩沖隊列通信方式中 , 主要利用的數(shù)據(jù)結(jié)構(gòu)是消息緩沖區(qū) 。 type message buffer=record sender。 size。 text。 next。 end (2) PCB中有關(guān)通信的數(shù)據(jù)項 。 在利用消息緩沖隊列通信機制時 , 在設(shè)置消息緩沖隊列的同時 , 還應(yīng)增加用于對消息隊列進行操作和實現(xiàn)同步的信號量 , 并將它們置入進程的 PCB中 。 在 PCB type processcontrol block=record … mq。 mutex。 sm。 … end 發(fā)送進程在利用發(fā)送原語發(fā)送消息之前 , 應(yīng)先在自己的內(nèi)存空間 , 設(shè)置一發(fā)送區(qū) a, 見圖 2 12 所示 , 把待發(fā)送的消息正文 、 發(fā)送進程標(biāo)識符 、 消息長度等信息填入其中 ,然后調(diào)用發(fā)送原語 , 把消息發(fā)送給目標(biāo) (接收 )進程 。 發(fā)送原語首先根據(jù)發(fā)送區(qū) a中所設(shè)置的消息長度 區(qū) i, 接著 , 把發(fā)送區(qū) a中的信息復(fù)制到緩沖區(qū) i中 。 為了能將 i掛在接收進程的消息隊列 mq上 , 應(yīng)先獲得接收進程的內(nèi)部標(biāo)識符 j, 然后將 i掛在 。 由于該隊列屬于臨界資源 , 故在執(zhí)行 insert操作的前后 , 都要執(zhí)行 wait和 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進程 BP C B ( B )進程 A procedure send(receiver, a) begin getbuf(,i)。 根據(jù) ∶ = 。 將發(fā)送區(qū) a中的信息復(fù)制到消息緩沖區(qū)之中; ∶ = 。 ∶ = 。 ∶ = 0。 getid(PCB set, )。 獲得接收進程內(nèi)部標(biāo)識符; wait()。 insert(, i)。 signal()。 signal()。 end 3. 接收原語 procedure receive(b) begin j ∶ = internal name。 j wait()。 wait()。 remove(, i)。 signal()。 ∶ = 。 將消息緩沖區(qū) i中的信息復(fù)制到接收區(qū) b。 ∶ = 。 ∶ = 。 end 7 線 程 線程的基本概念 為使程序能并發(fā)執(zhí)行 , 系統(tǒng)還必須進行以下的一系列操作 。 1) 創(chuàng)建進程 2) 撤消進程 3) 線程的屬性 (1) 輕型實體。 (2) 獨立調(diào)度和分派的基本單位。 (3) 可并發(fā)執(zhí)行。 (4) 共享進程資源。 3. (1) 狀態(tài)參數(shù) 。 在 OS中的每一個線程都可以利用線程標(biāo)識符和一組狀態(tài)參數(shù)進行描述 。 狀態(tài)參數(shù)通常有這樣幾項: ① 寄存器狀態(tài) , 它包括程序計數(shù)器 PC和堆棧指針中的內(nèi)容; ② 堆棧 , 在堆棧中通常保存有局部變量和返回地址; ③ 線程運行狀態(tài) , 用于描述線程正處于何種運行狀態(tài); ④ 優(yōu)先級 , 描述線程執(zhí)行的優(yōu)先程度; ⑤ 線程專有存儲器 , 用于保存線程自己的局部變量拷貝; ⑥ 信號屏蔽 , 即對某些信號加以屏蔽 。 (2) 線程運行狀態(tài) 。 如同傳統(tǒng)的進程一樣 , 在各線程之間也存在著共享資源和相互合作的制約關(guān)系 , 致使線程在運行時也具有間斷性 。 相應(yīng)地 , 線程在運行時 , 也具有下述三種基本狀態(tài):① 執(zhí)行狀態(tài) , 表示線程正獲得處理機而運行; ② 就緒狀態(tài) , 指線程已具備了各種執(zhí)行條件 , 一旦獲得 CPU便可執(zhí)行的狀態(tài); ③ 阻塞狀態(tài) , 指線程在執(zhí)行中因某事件而受阻 , 處于暫停執(zhí)行時的狀態(tài) 。 4. 在多線程 OS環(huán)境下 , 應(yīng)用程序在啟動時 , 通常僅有一個線程在執(zhí)行 , 該線程被人們稱為 “ 初始化線程 ” 。 它可根據(jù)需要再去創(chuàng)建若干個線程 。 在創(chuàng)建新線程時 , 需要利用一個線程創(chuàng)建函數(shù) (或系統(tǒng)調(diào)用 ), 并提供相應(yīng)的參數(shù) , 如指向線程主程序的入口指針 、 堆棧的大小 , 以及用于調(diào)度的優(yōu)先級等 。 在線程創(chuàng)建函數(shù)執(zhí)行完后 , 將返回一個線程標(biāo)識符供以后使用 。 終止線程的方式有兩種:一種是在線程完成了自己的工作后自愿退出;另一種是線程在運行中出現(xiàn)錯誤或由于某種原因而被其它線程強行終止 。 5. 多線程 OS中的進程 在多線程 OS中 , 進程是作為擁有系統(tǒng)資源的基本單位 ,通常的進程都包含多個線程并為它們提供資源 , 但此時的進程就不再作為一個執(zhí)行的
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1