自考《网络操作系统》(2010版)课后题目(带答案)

发布时间 : 星期二 文章自考《网络操作系统》(2010版)课后题目(带答案)更新完毕开始阅读

5、信箱可以由操作系统创建,还可以由(C)创建

A.邮件服务器 B.邮件管理器 C.用户 D.客户机 6、客户机/服务器间通信时,首先要获取(D)

A.协议簇 B.网络端口号 C.信箱号 D.IP地址 7、网络端口号用于识别接收者(B)

A.客户机 B.进程 C.用户 D.信箱 8、最常用的网络通信基础协议是(ABC)

A.TCP/IP B.IPX/SPX C.NetBEUI D.HTTP 9、(C)协议不具备路由和跨网段操作功能

A.TCP/IP B.IPX/SPX C.NetBEUI D.HTTP 二、填空题

1、在操作系统中,通信分为 低级通信 和 高级通信 。 2、 高级 通信不仅适用于本机,还适用于网络。

3、低级通信一般包括 信号 、 信号量 等,高级通信有 消息队列 、 共享内存 、 套接字 和 邮箱通信 网络上主要使用高级通信技术。

4、采用对等工作模式的网络,各结点主机都处于平等地位,没有 主从 之分。 5、对于同步通信原语而言,进行调用send原语将消息发出后便处于 阻塞 状态。 6、网络通信软件的任务是根据通信协议来控制和管理 线程 的通信。

7、实现在一个操作下将一个消息发送给多个接收者的通信机制称之为 多播 的机制。

8、消息缓冲通信时,当 发送者 要发信息时,执行 send 系统调用命令,产生 自愿性中断 进入操作系统核心。操作系统为发送者分配一个 空缓冲区 ,并将所发送的消息内容从发送者空间 复制到 该缓冲区中,然后将缓冲区连接到 接收者 的 消息队列 末尾。

9、消息缓冲通信时,当 接收者 执行到 receive 系统调用命令时,也产生 自愿性中断 ,进入操作系统核心;操作系统将 消息内容 从 消息缓冲区 复制到 接收者 空间中,然后收回 空闲缓冲区 。 10、信箱是一种数据结构,逻辑上可分为两部分: 信箱头 和信箱体。

11、信箱在创建时必须建立信箱头,其中包含 信箱名称 、 信箱大小 、创建者的进程名等。 12、进程不能向 满 的信箱发邮件,接收者不能从 空 信箱收邮件。

13、网络通信协议是对计算机之间 通信 的信息 格式 ,能被收/发双方接受的传送信息内容的一组定义。 14、常用的网络协议分为 基础型 协议和 应用型 协议。

15、原语的设计上,通信原语分为 同步原语和异步原语 、 缓冲原语和非缓冲原语 和 可靠原语和非可靠原语 。

16、对于同步通信原语而言、进程调用send原语将消息发出后便于 阻塞 状态。 17、为了将信息安全可靠地传送到对方,一般采用 可靠 原语。在客户机/服务器模型上可以采用 确认 的方法。在具体应答时一般用 请求确认 或 超时重传 来完成。

18、实现流媒体传输有实时流媒体和顺序流媒体。流媒体播放方式主要有单播、多播和点播与广播。 三、应用题

1、在某小河上沿南北方向架设了一个独木桥,桥上只能承载一个人,无论是由南向北过桥还是由北向南过桥,均必须一个一个一次地过桥。请用信号量和P、V操作设计一个南北双方人们过桥的程序。 2、请编写一个火车票订票代理访问票额数据库的程序,要保证票额不能超售或一票二售。

3、某学校的托福考试考试考点已经报满,但是尚有部分晚到的学生希望能候补。请编写一个等候空闲名额的程序,要保证公平,先到先得。

4、请写出消息传递机制的发送原语和接收原语中有哪几个关键参数,并写出发送者和接收者的算法代码。 5、写出服务器向客户机用户发出收费通知的算法程序。

6、某景点与浏览车停车场相距较远,游客可以在停车场免费搭乘环保交通车到达景区,浏览完毕再返回停车场。已知景区内交通车总量为M,游客总数为N,约定: 1)每辆交通车限乘一位游客。

2)如果有空闲的交通车,应当允许想游览的游客乘坐。

9

3)无空闲交通车时,游客只能排队等待。

4)若没有想游览的游客,空闲的交通车就原地等待。

试利用P、V操作实现游客进程与交通车进程的同步操作。

7、在某大学训练营地只有一间浴室,他们制定了一个简单的规则来使用这间浴室:当浴室没人时,第一个洗澡的人可以随意进入,若进入的是男生,那么将门口的写有“男”字的木牌翻过来,后来的人看到木牌后,若他是男生便可以直接进入,若是女生,则只能在门口等候;若第一个来的是女生,就将写有“女”字的木牌翻过来,依次类推。当最后一个洗澡的人离开浴室时,若是男生就将“男”字木牌扣回去,若是女生就扣“女”字木牌。请设计一个程序,能够让男生和女生协调地使用该浴室。

对于上述问题,当现在浴室内有男生,而男生又源源不断进入,可能造成女生长期等候,这显得很不公平,那么请修改程序,当有女生来到并在门口等候时,后来的男生就不能越过女生进去,而是在女生后面排队。反之亦然。

8、对于如下四个进程,为满足同步关系,特设置同步信号量S1,S2,S3和s4,初值均为0。a,b,c和x,y,z均为共享存储区, Proc1

{ a:= 1, b: = 2; V(s1); P(s4);

C=a+b+c+x+y+z;}

Proc2 {P(s1); Z=a+b; V(s2);}

Proc3

{x: = 8; y:=7; P(s2); Z=z+x+y; V(s3); }

Proc4 {P(s3); C=a+y; X=5; V(s4); }

请问:上述四个进程运行结束后,a,b,c,x,y,z的值各是多少?

9、某大学的学生选课系统规定,学生在每学期预选的课程不能超过15门,总计学分数不能超过35分。张同学选了15门课以后,觉得有更好的课程需要选,很希望加选,但是,系统的限制使得她不能在增加课程了,必须先退掉一门课,再去选新课。当她考虑再三将课程ci退掉后,再去选课程Cj时发现课程Cj已经满额,而张同学想选回原来的课程Ci时发现也已经没有空额了。选课系统为了解决这个问题,特地使用了一个专有函数exchange_course(user,ci,cj)来交换新课和旧课,可将课程ci换成cj。

下面给出了一种实现方法,请问是否正确?若正确请说明原因,若不正确请修改。要有注释说明。 Exchange_course(user,ci,cj)

10

ci->P(locki);

ci->del(user); //选退课 cj->P(lockj);

if(cj->isFull() == false) { //课没选满 cj -> add(user); //选课 cj -> V(lockj); ci ->V(locki) }

四、思考题

1、网络操作系统的通信有几种类型?

答:通信分为低级通信和高级通信,低级通信一般用于本机内进程之间,而高级通信不仅适用于本机,还适用于网络。低级通信一般包括信号、信号量等,它们都采用共享变量的方法来实现。高级通信有消息队列、共享内存、套接字和邮箱通信等。

2、高级通信与低级通信有什么区别?高级通信的优点是什么? 3、在共享变量的通信中,如何保证变量的一致性?

答:通常,低级通信方式以信号量为主,通过两个P、V原语对信号量进行操作,P、V原语是一种卓有成效的进程同步机制。

4、在消息缓冲通信方式中,发送原语和接收原语的主要功能是什么?

答:当发送者要发信息时,执行SEND系统调用命令,产生自愿性中断进入操作系统核心。将信息放到缓冲区。当接收者执行到RECEIVE系统调用命令时,也产生自愿性中断,进入操作系统核心。将信息从缓冲区取出。

5、信箱通信有什么优点?请描述信箱通信的数据结构并说明其通信过程。

答:信箱通信是一种高级通信,也是间接通信。信箱是一种数据结构,逻辑上由信箱头和若干格子组成的信箱体。发送者调用过程deposit将信件发送到信箱,接收者调用过程remove将信件从信箱中取出。

6、信箱通信机制中有哪些基本通信原语?它们的功能是什么? 答:send发送,receive接收,deposit投放,remove移除。

7、在网络操作系统中,消息传递机制有什么优点?如何实现?

答:在计算机网络系统中,各结点主机上的进程之间普遍采用消息传递的通信方式进行通信。基于消息通信方式,一个进程发送一个消息,而另一个进程接收这一个消息。一个消息只有在己经发送出来的条件下才能被接收,因而两者需要取得同步。消息传递通信方式不需要使用共享变量。

9、请描述什么是同步原语、异步原语;缓冲原语,非缓冲语;可靠原语,非可靠原语。

答:1.同步原语也称阻塞原语,就是当发送者调用该原语时,必须对接收者具有明确的要求,当接收时准备就绪就可以接收消息,发送者立即将信息发送给对方,若接收者未准备好,那么发送者会自我阻塞,等待接收者就绪。2.异步原语也就是非阻塞原语,当发送者调用异步通信声原语时,先查找接收者,不管找到还是没未找到,无论信息是否发出,原语立即返回调用程序,并返回发送成功或失败的信息,进而继续执行下面的指令代码。

10、使用异步通信原语时,发送者在消息发送完成以前为什么不能使用缓冲区?该如何解决? 答:因为倘若发送进程在消息发送完成之前,即在消息发送期间使用或修改原来的缓冲区,将会造成错误。 如何解决?

有两种办法(应采用异步原语):①采用带拷贝的非阻塞原语,即让内核把消息拷贝到内核缓冲区,允

11

许调用进程继续运行。②带中断的非阻塞发送,即当消息发送完成后,中断发送进程,通知发送进程此时缓冲区可用。

11、在进程间通信中,传送消息的可靠性是如何保证的?

答:为了保证消息被对方收到,可采用可靠原语。具体作法是:客户向服务器方发一请求后,服务器对这一请求,由其内核向客户内核返回一个确认ACK,当客户内核收到这一消息后,就唤醒客户进程。在客户与服务器之间的请求/应答共需四个消息:①从客户向服务器的请求②从服务器内核向客户内核返回一个确认③从服务器到客户的应答④从客户的内核向服务器内核返回一个确认。

12、什么是远程过程调用?它与本地过程调用有什么区别?有什么联系?

答:1.在网络系统中,不同结点主机之间采用过程调用的方式进行通信,称为远程过程调用。

2.与本地过程调用的区别是:远程过程调用是用于在不同主机上进行通信,内存地址空间是独立的,而本地过程调用均在本机上内,内存空间共享的。

与本地过程调用的联系是:这两者在调用时,首先通过Win32子系统陷入到操作系统内核,以传递参数方式进行通信。

13、请描述一个远程过程调用的整个过程.

答:①客户过程以通常方式调用客户代理。②客户代理构造一个消息并陷入内核。③本地内核发送消息给远程内核。④远程内核把消息送给服务器代理。⑤服务器代理从消息包中取出参数并调用服务器。⑥服务器完成相应的服务,将结果送给服务代理。⑦服务代理将结果打包形成一个消息并陷入内核。⑧远程内核发送消息给客户机内核。⑨客户机内核把消息传送给客户代理。⑩客户代理取出结果,返回给客户的调用程序。并以实例说明。

14、什么是组通信?它的适应范围是什么?

答:在网络系统中,一个相互作用的进程集合称为组。一个发送者在一次操作中将一个消息发送给多个接收者的通信,称为组通信。

它应用于何种场合?在网络系统中可以采用组通信方式。

组通信的主要特征是?当一个消息发送给这个组时,该组的所有成员都可以接收,组通信具有“一对多”的形式,即一个发送者,多个接收者。

组通信的实现?组通信的实现在很大程度上依赖于硬件。在一些网络系统中,可以为组指定一个特殊的网络地址。可采用多播式、广播式、单播式。

15、当需要广播一个视频数据时,一般采用何种通信方式?如何实现? 答:采用顺序流媒体传输,以广播方式播放。

16、利用客户机/服务器模式编写一个程序,客户机将键盘输入的一组数据传送到服务器,服务器将数据加工以后(平方运算)返回给客户机,并在客户机上显示出来。

五、名词解释

1、信号、信号量、消息队列、共享内存、套接字和邮箱通信 2、低级通信、高级通信;直接通信、间接通信 3、同步与互斥,生产者-消费者、缓冲区 4、原语,发送原语、接收原语 5、通信协议、网段、跨网段

6、同步原语和异步原语;缓冲原语和非缓冲原语;可靠原语和非可靠原语。 7、远程过程调用、系统调用、API 8、组通信、网络多播式或多址通信

12

联系合同范文客服:xxxxx#qq.com(#替换为@)