電子科技大學(xué)網(wǎng)絡(luò)編程試卷及答案(B)_第1頁
電子科技大學(xué)網(wǎng)絡(luò)編程試卷及答案(B)_第2頁
電子科技大學(xué)網(wǎng)絡(luò)編程試卷及答案(B)_第3頁
電子科技大學(xué)網(wǎng)絡(luò)編程試卷及答案(B)_第4頁
電子科技大學(xué)網(wǎng)絡(luò)編程試卷及答案(B)_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、電子科技大學(xué)2010 -2011學(xué)年第 2學(xué)期期 末 考試 B 卷課程名稱:_ 計(jì)算機(jī)網(wǎng)絡(luò)編程 考試形式: 閉卷 考試日期: 2011年 月 日 考試時(shí)長(zhǎng):120分鐘課程成績(jī)構(gòu)成:平時(shí) 5 %, 期中 5 %, 實(shí)驗(yàn) 40 %, 期末 50 %本試卷試題由_3 _部分構(gòu)成,共_7_頁。題號(hào)一二三四五六七八九十合計(jì)得分得 分一、 填空題(共20分,共11題,每空1 分)1 計(jì)算機(jī)網(wǎng)絡(luò)是指把分布在不同地理位置,具有獨(dú)立功能的計(jì)算機(jī)、終端及其附屬設(shè)備通過_連接起來,再配以相應(yīng)的網(wǎng)絡(luò)軟件,達(dá)到資源共享。2 允許用戶指明服務(wù)器端協(xié)議端口號(hào)的客戶軟件稱之為 _的客戶。3 系統(tǒng)調(diào)用_完成了套接字的分配工作,

2、若分配成功,將返回_。4 單處理機(jī)下分時(shí)機(jī)制實(shí)現(xiàn)了表面的并發(fā),而真正的并發(fā)在_下可能存在。5 一個(gè)進(jìn)程包含一段_和至少一個(gè)_。6 系統(tǒng)調(diào)用_允許單個(gè)進(jìn)程管理并發(fā)I/O。7 常用的套接字稱為_套接字。8 如果服務(wù)器將套接字配置為等待傳入連接,則稱之為_套接字;反之,客戶用來主動(dòng)發(fā)起連接的套接字稱之為_套接字。9 網(wǎng)絡(luò)中通信雙方由以下四元組唯一確定:本地_、本地_、遠(yuǎn)端_、遠(yuǎn)端_。10 調(diào)用fork以后,父子進(jìn)程共享數(shù)據(jù)空間、_、堆棧和_。11 服務(wù)器的四種基本類型為_、_、_、_得 分二、判斷題(共20分,共 10題,每題2 分)1. socket調(diào)用創(chuàng)建一個(gè)新進(jìn)程 ( )2. 并發(fā)服務(wù)器一般情

3、況下比循環(huán)服務(wù)器性能好。( )3. 客戶/服務(wù)器模型主要為了解決通信會(huì)聚問題。( )4. 為套接字選擇一個(gè)本地端點(diǎn)地址是connect函數(shù)的一個(gè)功能( )5. 服務(wù)器程序必須顯式的處理并發(fā),因而比較復(fù)雜( )6. 部分關(guān)閉的功能只用于關(guān)閉TCP連接( )7. 使用UDP時(shí),應(yīng)用程序必須自己處理可靠性問題( )8. 循環(huán)服務(wù)器描述的是一個(gè)時(shí)刻處理多個(gè)請(qǐng)求的一種服務(wù)器實(shí)現(xiàn)( )9. gethostbyname完成協(xié)議名字到周知端口之間的轉(zhuǎn)換( )10. listen系統(tǒng)調(diào)用將套接字設(shè)為主動(dòng)模式。( )三問答題(三六):得 分三、請(qǐng)總結(jié)用戶在標(biāo)志服務(wù)器位置時(shí)通常采用的幾種方式,并簡(jiǎn)要分析其應(yīng)用場(chǎng)合和

4、優(yōu)缺點(diǎn)。( 共15分) 得 分四、給出并發(fā)的、面向連接的服務(wù)器算法(單進(jìn)程多線程方式)的基本思路和算法,并圖示其進(jìn)程結(jié)構(gòu)。( 共15分) 得 分五、在I/O復(fù)用模型的關(guān)鍵是熟練掌握select函數(shù),該函數(shù)的原型是int select(int maxfd, fd_set *readset, fd_set *writeset, fd_set *exceptset, const struct timeval *timeout);請(qǐng)?jiān)敿?xì)解釋select函數(shù)的參數(shù)的意義,并列舉該函數(shù)執(zhí)行后可能出現(xiàn)的結(jié)果。(共10分)得 分六、試分析:1、 為什么需要在服務(wù)器中進(jìn)行從進(jìn)程/線程的預(yù)分配(6分)2、 給出無

5、連接服務(wù)器預(yù)分配的進(jìn)程結(jié)構(gòu)和算法(包括每一步所需要用到的套接字)( 8分)3、 在(2)中,如果某操作系統(tǒng)在調(diào)用recvfrom時(shí),會(huì)同時(shí)激活所有的從進(jìn)程,請(qǐng)問應(yīng)該使用什么技術(shù)手段加以解決,并簡(jiǎn)要描述。(6分)電子科技大學(xué)2010 -2011學(xué)年第 2學(xué)期期 末 考試 B 卷答案及評(píng)分細(xì)則課程名稱:_ 計(jì)算機(jī)網(wǎng)絡(luò)編程 考試形式: 閉卷 考試日期: 2011年 月 日 考試時(shí)長(zhǎng):120分鐘課程成績(jī)構(gòu)成:平時(shí) 5 %, 期中 5 %, 實(shí)驗(yàn) 40 %, 期末 50 %一、填空題1、通信鏈路2、全參數(shù)化3、socket、套接字號(hào)(socketID)4、多處理器5、地址空間、正在執(zhí)行的線程6、sele

6、ct7、Berkeley8、主動(dòng)、被動(dòng)9、IP地址、端口號(hào)、IP地址、端口號(hào)10、代碼空間、文件描述字11、無連接循環(huán)服務(wù)器、無連接并發(fā)服務(wù)器、面向連接循環(huán)服務(wù)器、面向連接并發(fā)服務(wù)器二、判斷題三、方法如下:1) 在編譯程序時(shí),將服務(wù)器的域名或者IP地址說明為常量(2分)執(zhí)行快,但是服務(wù)器移動(dòng)后不便(1分)2) 要求用戶在啟動(dòng)程序時(shí)標(biāo)定服務(wù)器(2分)使用機(jī)器名,不必重新編譯客戶程序(1分)3) 從穩(wěn)定的存儲(chǔ)設(shè)備中獲得關(guān)于服務(wù)器的信息(2分)如果文件不存在,客戶軟件就不能執(zhí)行(1分)4) 使用某個(gè)單獨(dú)的協(xié)議來找到服務(wù)器(2分)只能在本地小環(huán)境下應(yīng)用(1分)5) 用戶在調(diào)用客戶軟件時(shí)指明服務(wù)器地址(

7、2分)根據(jù)實(shí)際情況,綜合標(biāo)識(shí)服務(wù)器地址(1分)四、并發(fā)的面向連接的服務(wù)器的基本思路如下: 面向連接的服務(wù)器在多個(gè)連接之間實(shí)現(xiàn)并發(fā)(不是在各個(gè)請(qǐng)求之間) 主1、創(chuàng)建套接字并將其綁定到所提供服務(wù)的熟知地址上。讓該套接字保持為面向連接 主2、將該端口設(shè)置為被動(dòng)模式 主3、反復(fù)調(diào)用accept以便接收來自客戶的下一個(gè)連接請(qǐng)求,并創(chuàng)建新的從線程或者進(jìn)程來處理響應(yīng)(2分) 從1、由主線程傳遞來的連接請(qǐng)求開始 從2、用該連接與客戶進(jìn)行交互;讀取請(qǐng)求并發(fā)回響應(yīng) 從3、關(guān)閉連接并退出 (2分)基本算法如下:1. 創(chuàng)建套接字并將其綁定到這個(gè)服務(wù)的熟知端口上,將該套接字加到一個(gè)表中,該表中的項(xiàng)是可以進(jìn)行I/O的描述

8、符。(1分)2. 使用select在已經(jīng)有的套接字上等待I/O(2分)3. 如果最初的套接字準(zhǔn)備就緒,使用accept獲得下一個(gè)連接,并將這個(gè)新的套接字加入到表中,該表中的項(xiàng)是可以進(jìn)行I/O的描述符。(1分)4. 如果最初的套接字以外的套接字就緒,就使用recv或read獲得下一個(gè)請(qǐng)求,構(gòu)造響應(yīng),用send或者write將響應(yīng)發(fā)回給客戶(1分)5. 繼續(xù)按照以上的步驟2進(jìn)行處理(1分)圖示出進(jìn)程結(jié)構(gòu)的給5分。五、maxfd參數(shù)是所以監(jiān)視的描述字中最大的描述字加1(1分)。中間三個(gè)參數(shù)分別表示監(jiān)視的不同條件的描述字集合(1分)。其中readset為讀描述字集合,writeset為寫描述字集合,e

9、xecptset為異常描述字集合。Timeout參數(shù)為select函數(shù)最長(zhǎng)睡眠時(shí)間。(3分)Select函數(shù)有三種執(zhí)行情況(5分,答對(duì)一項(xiàng)給1分):l 永遠(yuǎn)等待下去:僅在有一個(gè)或以上描述字準(zhǔn)備好i/o才返回,為此,我們將timeout設(shè)置為空指針。l 等待固定時(shí)間:在有一個(gè)描述字準(zhǔn)備好時(shí)返回,但不超過由timeout參數(shù)指定的秒數(shù)和微秒數(shù)。l 根本不等待,檢查描述字后立即返回,這稱為輪詢。這種情況下,timeout必須指向結(jié)構(gòu)timeval,且定時(shí)器的值必須為0。 Select函數(shù)的返回值如下:l 如果在指定超時(shí)值到達(dá)之前有一個(gè)或多個(gè)描述字滿足條件,則函數(shù)返回值大于零;l 如果超時(shí)時(shí)間到時(shí),沒

10、有描述字滿足條件,函數(shù)返回值為0; 六、1、很多服務(wù)器采用需求驅(qū)動(dòng)的并發(fā),即用傳入請(qǐng)求來度量需求,并且以此來觸發(fā)并發(fā)性的增長(zhǎng)。(1分)但是為每個(gè)請(qǐng)求創(chuàng)建一個(gè)新線程的開銷很昂貴,將消耗系統(tǒng)資源,創(chuàng)建新線程也可能花費(fèi)相當(dāng)多的時(shí)間,可能延遲對(duì)請(qǐng)求的處理,當(dāng)操作系統(tǒng)創(chuàng)建新進(jìn)程或線程并且切換環(huán)境的時(shí)候,服務(wù)器將不會(huì)執(zhí)行。(2分)預(yù)分配可以控制延遲、限制最大并發(fā)數(shù),當(dāng)進(jìn)程創(chuàng)建時(shí)間較長(zhǎng)的時(shí)候,也能維持高吞吐量(1分)主要優(yōu)點(diǎn)是額外開銷較低,避免了在每次請(qǐng)求到達(dá)時(shí)創(chuàng)建進(jìn)程的開銷,可以更快的處理請(qǐng)求。(2分)2、無連接的預(yù)分配進(jìn)程結(jié)構(gòu)如圖:(4分)算法和套接字:(4分,答對(duì)算法2分,套接字2分)多個(gè)從進(jìn)程同時(shí)綁定在一個(gè)socket上調(diào)用recvfrom獲得發(fā)送方的地址和其多發(fā)送的數(shù)據(jù)報(bào),并調(diào)用sendto應(yīng)答。一個(gè)數(shù)據(jù)報(bào)到達(dá)的時(shí)候系統(tǒng)只喚醒一個(gè)從進(jìn)程。3、采用互斥的技術(shù)解決(答對(duì)此點(diǎn)給2分,后面全答對(duì)給滿分)每個(gè)從進(jìn)程在調(diào)用recvfrom前必須先調(diào)用pthread_mutex_lock來首先獲取互斥量的所有權(quán),然后再調(diào)用

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論