计算机等级考试操作系统四级论述题真题(1-1)

文章作者 100test 发表时间 2007:03:10 18:34:26
来源 100Test.Com百考试题网


1.(1996年)进程通信就是进程之间进行信息交换。系统中各进程异步执行,但有些进程之间必须保持一定的联系,以便协调一致地完成指定任务。这种联系就是通过交换一定数量的信息来实现的。
  消息缓冲通信技术是一种高级通信机制,由Hansen首先提出。其基本思想是:根据"生产者-消费者关系"原理,利用公共消息缓冲区实现进程之间的信息交换。
  (1)试叙述高级通信机制与低级通信机制P、V原语操作的主要区别。(5分)
  (2)试叙述解释消息缓冲通信技术的基本原理。(10分)
  (3)消息缓冲通信机制中提供发送消息原语。Send(receiver,a)和接收消息原语Receive(a)。调用参数a分别表示发送消息的内存区首地址或接收进程的内存消息区首地址。试设计相应的数据结构,并用P、V操作原语实现Send和Receive原语。(15分)

答案:
  (1)要点:进程间通信时所交换的信息量可多可少。少者仅是一些状态和数据的交换,或者仅是一个简单的唤醒信号;多者可交换大量信息。前者称为进程同步与进程互斥,亦称进程间低级通信;后者通信方式称为进程间高级通信。
(答出要点给3分,根据组织情况再给2分)
  (2)要点:
  ①由操作系统在系统空间维护一组缓冲区;
  ②由操作系统提供两个进程高级通信原语Send和Receive.
  ③发送进程要发送消息时,执行Send系统调用命令,产生自愿性中断       进入操作系统 核心;
  ④操作系统为发送进程分配一个空缓冲区,并将所发送的消息内容从发送进程空间拷贝到该缓冲区中;然后将此缓冲区连接到接收进程的消息队列尾;发送进程就完成了发送,返回到用户态继续执行;
  ⑤当接收进程执行到receive系统调用命令时,也产生自愿性中断,进入操作系统核心;
  ⑥操作系统将载有消息的缓冲区从消息队列中取出,并将消息内容拷贝到接收进程空间中,然后收回空闲缓冲区;接收进程完成了消息接收,返回到用户态继续执行;
(①、②、④、⑥为2分;③、⑤为1分)
  (3)要点:①消息缓冲区的数据结构为:
 TypeMessage=Recoud
 Sender(消息发送者)
 Size(消息长度)
 text(消息正文)
 pointer(消息队列指针)
 End,
  ②设置信号如下:
 *每个接收进程有一个m-mutex:互诉对消息队列的操作,初值为1;
 *buffe:管理空闲缓冲区,初值为空闲缓冲区个数;
 *b-mutex:互诉操作空闲缓冲区,初值为为1;
 *message:管理接收进程消息,初值为0;
  ③Send(receiver,a)
 Begin
 根据参数R寻找接收进程,如果未找到,则出错返回;
 P(buffer);
 P(b-mutex);
 从消息缓冲区链上摘取一个空闲消息缓冲区;
 V(b-mutex);
 将消息长度及消息正文由a指示由发送区拷贝到消息缓冲区中;
 将发送进程的名字也记录在该缓冲区中;
 P(m-mutex);
 将消息缓冲区挂到接收进程消息链的尾部;
 V(m-mutex);
 V(mmssage)
 End.

相关文章


数据库系统1-1:数据库技术的特点
数据库系统1-2:数据模型的概念
计算机等级考试操作系统四级论述题真题(1-1)
数据库系统1-1:数据库的体系结构
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛