收藏 分销(赏)

电子科技大学网络编程试卷及答案(B).doc

上传人:二*** 文档编号:4396621 上传时间:2024-09-18 格式:DOC 页数:12 大小:96KB
下载 相关 举报
电子科技大学网络编程试卷及答案(B).doc_第1页
第1页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、(完整word版)电子科技大学网络编程试卷及答案(B)电子科技大学2010 -2011学年第 2学期期 末 考试 B 卷课程名称:_ 计算机网络编程 考试形式: 闭卷 考试日期: 2011年 月 日 考试时长:120分钟课程成绩构成:平时 5 %, 期中 5 %, 实验 40 %, 期末 50 %本试卷试题由_3 _部分构成,共_7_页。题号一二三四五六七八九十合计得分得 分一、 填空题(共20分,共11题,每空1 分)1 计算机网络是指把分布在不同地理位置,具有独立功能的计算机、终端及其附属设备通过_连接起来,再配以相应的网络软件,达到资源共享。2 允许用户指明服务器端协议端口号的客户软件称

2、之为 _的客户。3 系统调用_完成了套接字的分配工作,若分配成功,将返回_。4 单处理机下分时机制实现了表面的并发,而真正的并发在_下可能存在。5 一个进程包含一段_和至少一个_。6 系统调用_允许单个进程管理并发I/O。7 常用的套接字称为_套接字。8 如果服务器将套接字配置为等待传入连接,则称之为_套接字;反之,客户用来主动发起连接的套接字称之为_套接字。9 网络中通信双方由以下四元组唯一确定:本地_、本地_、远端_、远端_。10 调用fork以后,父子进程共享数据空间、_、堆栈和_。11 服务器的四种基本类型为_、_、_、_得 分二、判断题(共20分,共 10题,每题2 分)1. soc

3、ket调用创建一个新进程 ( )2. 并发服务器一般情况下比循环服务器性能好。( )3. 客户/服务器模型主要为了解决通信会聚问题。( )4. 为套接字选择一个本地端点地址是connect函数的一个功能( )5. 服务器程序必须显式的处理并发,因而比较复杂( )6. 部分关闭的功能只用于关闭TCP连接( )7. 使用UDP时,应用程序必须自己处理可靠性问题( )8. 循环服务器描述的是一个时刻处理多个请求的一种服务器实现( )9. gethostbyname完成协议名字到周知端口之间的转换( )10. listen系统调用将套接字设为主动模式。( )三问答题(三六):得 分三、请总结用户在标志

4、服务器位置时通常采用的几种方式,并简要分析其应用场合和优缺点。( 共15分) 得 分四、给出并发的、面向连接的服务器算法(单进程多线程方式)的基本思路和算法,并图示其进程结构。( 共15分) 得 分五、在I/O复用模型的关键是熟练掌握select函数,该函数的原型是int select(int maxfd, fd_set *readset, fd_set *writeset, fd_set *exceptset, const struct timeval *timeout);请详细解释select函数的参数的意义,并列举该函数执行后可能出现的结果。(共10分)得 分六、试分析:1、 为什么需要

5、在服务器中进行从进程/线程的预分配(6分)2、 给出无连接服务器预分配的进程结构和算法(包括每一步所需要用到的套接字)( 8分)3、 在(2)中,如果某操作系统在调用recvfrom时,会同时激活所有的从进程,请问应该使用什么技术手段加以解决,并简要描述。(6分)电子科技大学2010 -2011学年第 2学期期 末 考试 B 卷答案及评分细则课程名称:_ 计算机网络编程 考试形式: 闭卷 考试日期: 2011年 月 日 考试时长:120分钟课程成绩构成:平时 5 %, 期中 5 %, 实验 40 %, 期末 50 %一、填空题1、通信链路2、全参数化3、socket、套接字号(socketID

6、)4、多处理器5、地址空间、正在执行的线程6、select7、Berkeley8、主动、被动9、IP地址、端口号、IP地址、端口号10、代码空间、文件描述字11、无连接循环服务器、无连接并发服务器、面向连接循环服务器、面向连接并发服务器二、判断题三、方法如下:1) 在编译程序时,将服务器的域名或者IP地址说明为常量(2分)执行快,但是服务器移动后不便(1分)2) 要求用户在启动程序时标定服务器(2分)使用机器名,不必重新编译客户程序(1分)3) 从稳定的存储设备中获得关于服务器的信息(2分)如果文件不存在,客户软件就不能执行(1分)4) 使用某个单独的协议来找到服务器(2分)只能在本地小环境下

7、应用(1分)5) 用户在调用客户软件时指明服务器地址(2分)根据实际情况,综合标识服务器地址(1分)四、并发的面向连接的服务器的基本思路如下: 面向连接的服务器在多个连接之间实现并发(不是在各个请求之间) 主1、创建套接字并将其绑定到所提供服务的熟知地址上。让该套接字保持为面向连接 主2、将该端口设置为被动模式 主3、反复调用accept以便接收来自客户的下一个连接请求,并创建新的从线程或者进程来处理响应(2分) 从1、由主线程传递来的连接请求开始 从2、用该连接与客户进行交互;读取请求并发回响应 从3、关闭连接并退出 (2分)基本算法如下:1. 创建套接字并将其绑定到这个服务的熟知端口上,将

8、该套接字加到一个表中,该表中的项是可以进行I/O的描述符。(1分)2. 使用select在已经有的套接字上等待I/O(2分)3. 如果最初的套接字准备就绪,使用accept获得下一个连接,并将这个新的套接字加入到表中,该表中的项是可以进行I/O的描述符。(1分)4. 如果最初的套接字以外的套接字就绪,就使用recv或read获得下一个请求,构造响应,用send或者write将响应发回给客户(1分)5. 继续按照以上的步骤2进行处理(1分)图示出进程结构的给5分。五、maxfd参数是所以监视的描述字中最大的描述字加1(1分)。中间三个参数分别表示监视的不同条件的描述字集合(1分)。其中reads

9、et为读描述字集合,writeset为写描述字集合,execptset为异常描述字集合。Timeout参数为select函数最长睡眠时间。(3分)Select函数有三种执行情况(5分,答对一项给1分):l 永远等待下去:仅在有一个或以上描述字准备好i/o才返回,为此,我们将timeout设置为空指针。l 等待固定时间:在有一个描述字准备好时返回,但不超过由timeout参数指定的秒数和微秒数。l 根本不等待,检查描述字后立即返回,这称为轮询。这种情况下,timeout必须指向结构timeval,且定时器的值必须为0。 Select函数的返回值如下:l 如果在指定超时值到达之前有一个或多个描述字

10、满足条件,则函数返回值大于零;l 如果超时时间到时,没有描述字满足条件,函数返回值为0; 六、1、很多服务器采用需求驱动的并发,即用传入请求来度量需求,并且以此来触发并发性的增长。(1分)但是为每个请求创建一个新线程的开销很昂贵,将消耗系统资源,创建新线程也可能花费相当多的时间,可能延迟对请求的处理,当操作系统创建新进程或线程并且切换环境的时候,服务器将不会执行。(2分)预分配可以控制延迟、限制最大并发数,当进程创建时间较长的时候,也能维持高吞吐量(1分)主要优点是额外开销较低,避免了在每次请求到达时创建进程的开销,可以更快的处理请求。(2分)2、无连接的预分配进程结构如图:(4分)算法和套接

11、字:(4分,答对算法2分,套接字2分)多个从进程同时绑定在一个socket上调用recvfrom获得发送方的地址和其多发送的数据报,并调用sendto应答。一个数据报到达的时候系统只唤醒一个从进程。3、采用互斥的技术解决(答对此点给2分,后面全答对给满分)每个从进程在调用recvfrom前必须先调用pthread_mutex_lock来首先获取互斥量的所有权,然后再调用recvfrom接收数据。这样在任何时候只会有一个从进程阻塞在该socket的recvfrom上。当一个新的数据到达时,等候接收数据的从进程被唤醒并调用recvfrom接收数据(2分)接收数据完毕,pthread_mutex_unlock释放互斥量并转入sendto发送应答。此时,另外的一个从进程获得互斥量并等候接收数据。(2分)第 12 页 共 12页

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
百度文库年卡

猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服