自考《網(wǎng)絡(luò)操作系統(tǒng)》課后答案(4)

  • 發(fā)布時(shí)間:2024-09-15 16:21:23
  • 來源:本站整理
  • 閱讀:
導(dǎo)讀:
  第三章 網(wǎng)絡(luò)操作系統(tǒng)的通信
  1. 什么叫同步:相互合作的兩個(gè)進(jìn)程之間需要在某個(gè)(些)確定點(diǎn)協(xié)調(diào)它們的工作,一個(gè)進(jìn)程到達(dá)了該點(diǎn)后,除非另一進(jìn)程已經(jīng)完成了某些操作,否則就不得不停下來,等待這些操作的完成。這就是進(jìn)程間的同步。什么叫互斥:兩個(gè)進(jìn)程由于不能同時(shí)使用同一臨界資源,只能在一個(gè)進(jìn)程使用完了,另

第三章 網(wǎng)絡(luò)操作系統(tǒng)的通信

1. 什么叫同步:相互合作的兩個(gè)進(jìn)程之間需要在某個(gè)(些)確定點(diǎn)協(xié)調(diào)它們的工作,一個(gè)進(jìn)程到達(dá)了該點(diǎn)后,除非另一進(jìn)程已經(jīng)完成了某些操作,否則就不得不停下來,等待這些操作的完成。這就是進(jìn)程間的同步。什么叫互斥:兩個(gè)進(jìn)程由于不能同時(shí)使用同一臨界資源,只能在一個(gè)進(jìn)程使用完了,另一進(jìn)程才能使用,這種現(xiàn)象稱為進(jìn)程間的互斥。試舉例說明進(jìn)程間同步和互斥的區(qū)別:①同步的主要特征是:一個(gè)進(jìn)程在某一點(diǎn)上等待另一進(jìn)程提供信息,兩進(jìn)程之間存在直接制約關(guān)系,其表現(xiàn)形式為進(jìn)程—進(jìn)程。②互斥的主要特征是爭用資源,兩進(jìn)程間存在間接制約關(guān)系,其表現(xiàn)形式是進(jìn)程—資源—進(jìn)程。

2. 試給出P、V操作的定義:P、V操作是定義在信號(hào)量S上的兩個(gè)操作,其定義如下:

P(S):

① S:=S-1;

② 若S≥0,則調(diào)用P(S)的進(jìn)程繼續(xù)運(yùn)行;

③ 若S<0,則調(diào)用P(S)的進(jìn)程被阻塞,并把它插入到等待信號(hào)量S的阻塞隊(duì)列中。

V(S):

① S:=S+1;

② 若S>0,則調(diào)用V(S)的進(jìn)程繼續(xù)運(yùn)行;

③ 若S≤0,則從等待信號(hào)量S的阻塞隊(duì)列中喚醒頭一個(gè)進(jìn)程,然后調(diào)用V(S)的進(jìn)程繼續(xù)運(yùn)行。

如何利用P、V操作實(shí)現(xiàn)進(jìn)程間的互斥:P、V操作是解決同步與互斥問題的有力工具。為解決互斥問題,應(yīng)采取如下步驟:首先根據(jù)給定問題的描述,列出各進(jìn)程要執(zhí)行的程序。其次,設(shè)置信號(hào)量?;コ鈫栴}中,在臨界區(qū)前面加P(S),臨界區(qū)后面加V(S)。最后確定信號(hào)量的初值。在互斥問題中,信號(hào)量通常取為互斥資源的個(gè)數(shù)。并說明信號(hào)量的物理意義:信號(hào)量S>0時(shí),S的數(shù)值表示某類可用資源的數(shù)目,執(zhí)行P操作意味著申請分配一個(gè)單位的資源;當(dāng)S≤0時(shí),表示無資源可用,此時(shí)S的絕對(duì)值表示信號(hào)量S的阻塞隊(duì)列中的進(jìn)程數(shù)。執(zhí)行V操作意味著釋放一個(gè)單位的資源。

3. 如何利用P、V操作實(shí)現(xiàn)進(jìn)程間的同步:P、V操作是解決同步與互斥問題的有力工具。為解決同步問題,應(yīng)采取如下步驟:首先根據(jù)給定問題的描述,列出各進(jìn)程要執(zhí)行的程序。其次,設(shè)置信號(hào)量。同步問題中有幾個(gè)同步點(diǎn)就設(shè)置幾個(gè)信號(hào)量,等待的地方加P(S),發(fā)信號(hào)(解除等待)的地方加V(S)。最后確定信號(hào)量的初值。在同步問題中,信號(hào)量的初值一般取0.在同步和互斥中,信號(hào)量初值的設(shè)置有何不同:在同步問題中,信號(hào)量的初值一般取為0,在互斥問題中,信號(hào)量通常取為互斥資源的個(gè)數(shù)。

4. 高級(jí)通信原語有何優(yōu)點(diǎn):能夠?qū)崿F(xiàn)在進(jìn)程之間傳遞大量的信息。在消息緩沖通信方式中,發(fā)送原語和接收原語的主要功能是什么:發(fā)送原語的作用:將欲發(fā)送的消息從發(fā)送區(qū)復(fù)制到消息緩沖區(qū),并把它掛起在接收進(jìn)程的消息緩沖隊(duì)列末尾。如果該接收進(jìn)程因等待消息而處于阻塞狀態(tài),則將其喚醒。接收原語的作用:把發(fā)送者發(fā)來的消息從消息緩沖區(qū)復(fù)制到接收區(qū),然后將消息緩沖區(qū)從消息隊(duì)列中消去,如果沒有消息可以接收,則進(jìn)入阻塞狀態(tài)。

5. 什么是信箱:信箱用于存放信件,而信件是一個(gè)進(jìn)程發(fā)送給另一進(jìn)程的消息。信箱的數(shù)據(jù)結(jié)構(gòu):信箱頭和信箱體。信箱頭是信箱的描述部分,信箱體由若干格子組成,每個(gè)格子可存放一個(gè)信件。信箱頭包括的信息:①信箱名②信箱大?、垡汛嫘偶?shù)④空的格子數(shù)。如何用信箱實(shí)現(xiàn)兩個(gè)進(jìn)程之間的通信:進(jìn)程A想向進(jìn)程B發(fā)送消息前,先把消息組成一封信件,然后調(diào)用send原語向進(jìn)程B發(fā)送信件,并將信件投入進(jìn)程B的信箱中。進(jìn)程B為得到進(jìn)程A的消息,只要調(diào)用receive原語就可以從信箱中索取來自進(jìn)程A的信件。這就完成了一次進(jìn)程A到進(jìn)程B的通信過程。

6. 在網(wǎng)絡(luò)操作系統(tǒng)中,為什么要采用消息傳遞的通信機(jī)制:基于共享變量的通信方式適用于網(wǎng)絡(luò)中各節(jié)點(diǎn)內(nèi)部諸進(jìn)程之間的通信,而基于消息傳遞的通信方式適用于網(wǎng)絡(luò)中各節(jié)點(diǎn)之間的進(jìn)程通信。在消息傳遞的通信機(jī)制中有哪些通信方式:①通信原語②遠(yuǎn)程過程調(diào)用③組通信。

7. 什么是同步原語:當(dāng)一個(gè)進(jìn)程調(diào)用一個(gè)send原語時(shí),在消息開始發(fā)送后,發(fā)送進(jìn)程便處于阻塞狀態(tài),直至消息完全發(fā)送完畢,send原語的后繼語句才能繼續(xù)執(zhí)行。當(dāng)一個(gè)進(jìn)程調(diào)用一個(gè)receive原語時(shí),并不立即返回控制,而是等到把消息實(shí)際接收下來,并把它放入指定的接收區(qū),才返回控制,繼續(xù)執(zhí)行該原語的后繼指令。在這段時(shí)間它一直處于阻塞狀態(tài)。上述的send和receive被稱為同步通信原語或阻塞通信原語。異步原語:發(fā)送進(jìn)程在調(diào)用send原語后,并不進(jìn)入阻塞狀態(tài),它不等消息發(fā)送完就繼續(xù)執(zhí)行其后繼語句。在使用異步通信原語時(shí),發(fā)送者在消息發(fā)送完成前為什么不能使用緩沖區(qū):因?yàn)樘热舭l(fā)送進(jìn)程在消息發(fā)送完成之前,即在消息發(fā)送期間使用或修改原來的緩沖區(qū),將會(huì)造成錯(cuò)誤。如何解決?有兩種辦法(應(yīng)采用異步原語):①采用帶拷貝的非阻塞原語,即讓內(nèi)核把消息拷貝到內(nèi)核緩沖區(qū),允許調(diào)用進(jìn)程繼續(xù)運(yùn)行。②帶中斷的非阻塞發(fā)送,即當(dāng)消息發(fā)送完成后,中斷發(fā)送進(jìn)程,通知發(fā)送進(jìn)程此時(shí)緩沖區(qū)可用。

8. 在進(jìn)程間通信如何保證消息不會(huì)丟失:為了保證消息被對(duì)方收到,可采用可靠原語。具體作法是:客戶向服務(wù)器方發(fā)一請求后,服務(wù)器對(duì)這一請求,由其內(nèi)核向客戶內(nèi)核返回一個(gè)確認(rèn)ACK,當(dāng)客戶內(nèi)核收到這一消息后,就喚醒客戶進(jìn)程。在客戶與服務(wù)器之間的請求/應(yīng)答共需四個(gè)消息:①從客戶向服務(wù)器的請求②從服務(wù)器內(nèi)核向客戶內(nèi)核返回一個(gè)確認(rèn)③從服務(wù)器到客戶的應(yīng)答④從客戶的內(nèi)核向服務(wù)器內(nèi)核返回一個(gè)確認(rèn)。

9. 遠(yuǎn)程過程調(diào)用:在網(wǎng)絡(luò)或分布式系統(tǒng)中,設(shè)有任意兩個(gè)節(jié)點(diǎn)A、B,節(jié)點(diǎn)A上的進(jìn)程調(diào)用節(jié)點(diǎn)B上的一個(gè)進(jìn)程時(shí),節(jié)點(diǎn)A上的進(jìn)程被掛起,在節(jié)點(diǎn)B上執(zhí)行被調(diào)用的過程,消息以參數(shù)的形式從調(diào)用進(jìn)程傳送到被調(diào)用進(jìn)程,并將被調(diào)用過程執(zhí)行的結(jié)果返回給調(diào)用進(jìn)程。這種通信方式稱為遠(yuǎn)程過程調(diào)用。其基本原理是什么:允許某一節(jié)點(diǎn)上的程序調(diào)用其他節(jié)點(diǎn)上的過程或函數(shù)。例如節(jié)點(diǎn)機(jī)A上的進(jìn)程調(diào)用節(jié)點(diǎn)機(jī)B上的過程,節(jié)點(diǎn)機(jī)A的調(diào)用進(jìn)程被掛起,在節(jié)點(diǎn)機(jī)B上執(zhí)行被調(diào)用過程。消息以參數(shù)的形式從調(diào)用過程傳到被調(diào)用過程,被調(diào)用過程執(zhí)行的結(jié)果再返回給調(diào)用過程。對(duì)程序員來說,他看不到消息傳遞過程和I/O處理過程。

10. RPC的透明性指的是什么:指的是要使得遠(yuǎn)程過程調(diào)用盡可能像本地調(diào)用一樣。調(diào)用過程應(yīng)該不知道被調(diào)用過程是在另外一臺(tái)計(jì)算機(jī)上執(zhí)行,反過來也是如此,被調(diào)用過程也不應(yīng)該知道是由哪個(gè)機(jī)器上的進(jìn)程調(diào)用的。如何保證這一透明性:遠(yuǎn)程過程調(diào)用為實(shí)現(xiàn)其透明性,在客戶機(jī)上設(shè)置一個(gè)客戶代理,同樣在服務(wù)器機(jī)上設(shè)置一個(gè)服務(wù)器代理。

11. 簡述遠(yuǎn)程過程調(diào)用的步驟:①客戶過程以通常方式調(diào)用客戶代理。②客戶代理構(gòu)造一個(gè)消息并陷入內(nèi)核。③本地內(nèi)核發(fā)送消息給遠(yuǎn)程內(nèi)核。④遠(yuǎn)程內(nèi)核把消息送給服務(wù)器代理。⑤服務(wù)器代理從消息包中取出參數(shù)并調(diào)用服務(wù)器。⑥服務(wù)器完成相應(yīng)的服務(wù),將結(jié)果送給服務(wù)代理。⑦服務(wù)代理將結(jié)果打包形成一個(gè)消息并陷入內(nèi)核。⑧遠(yuǎn)程內(nèi)核發(fā)送消息給客戶機(jī)內(nèi)核。⑨客戶機(jī)內(nèi)核把消息傳送給客戶代理。⑩客戶代理取出結(jié)果,返回給客戶的調(diào)用程序。并以實(shí)例說明。

12. 試說明遠(yuǎn)程過程調(diào)用的優(yōu)缺點(diǎn):優(yōu)點(diǎn):格式化好、使用方便、透明性好;缺點(diǎn):缺乏靈活性。在具體實(shí)現(xiàn)上尚有哪些難點(diǎn)需要解決:①遠(yuǎn)程過程調(diào)用的參數(shù)在系統(tǒng)內(nèi)不同機(jī)型之間的通用能力有所不足。②缺乏在一次調(diào)用過程中多次接收返回結(jié)果的能力。③遠(yuǎn)程過程調(diào)用缺乏傳送大量數(shù)據(jù)的能力。

13. 什么叫組通信:在網(wǎng)絡(luò)系統(tǒng)中,一個(gè)相互作用的進(jìn)程集合稱為組。一個(gè)發(fā)送者在一次操作中將一個(gè)消息發(fā)送給多個(gè)接收者的通信,稱為組通信。它應(yīng)用于何種場合:在網(wǎng)絡(luò)系統(tǒng)中可以采用組通信方式。組通信的主要特征是:當(dāng)一個(gè)消息發(fā)送給這個(gè)組時(shí),該組的所有成員都可以接收,組通信具有“一對(duì)多”的形式,即一個(gè)發(fā)送者,多個(gè)接收者。組通信的實(shí)現(xiàn):組通信的實(shí)現(xiàn)在很大程度上依賴于硬件。在一些網(wǎng)絡(luò)系統(tǒng)中,可以為組指定一個(gè)特殊的網(wǎng)絡(luò)地址??刹捎枚嗖ナ?、廣播式、單播式。

來源網(wǎng)絡(luò) 僅供參考

相關(guān)閱讀