操作系统实验消息队列.docVIP

  • 18
  • 0
  • 约4.88千字
  • 约 4页
  • 2017-08-21 发布于重庆
  • 举报
操作系统实验消息队列.doc

实验六 消息队列 一.1.消息队列可以认为是一个消息链表。有足够写权限的进程可向队列中放置消息,有足够读权限的进程可以从队列中取走消息。每个消息是一个记录,它有发送者赋予一个优先级。在某个进程向一个队列写入消息之前,并不需要另外某个进程在该队列上等待消息的到达。 2.实现消息队列的相关系统调用函数: (1)msgget(): 如果希望创建一个新的消息队列,或者希望存取一个已经存在的消息队列,你可以使用系统调用msgget()。 系统调用:msgget(); 原型:intmsgget(key_t key,int msgflg); 返回值:如果成功,返回消息队列标识符 如果失败,则返回-1:errno=EACCESS(权限不允许) EEXIST(队列已经存在,无法创建) EIDRM(队列标志为删除) ENOENT(队列不存在) ENOMEM(创建队列时内存不够) ENOSPC(超出最大队列限制) 第一个参数是关键字值(通常是由ftok()返回的)。然后此关键字值将会和其他已经存在于系统内核中的关键字值比较。这时,打开和存取操作是和第二个参数msgflg中的内容相关的。 第二个参数的取值: IPC_CREAT:如果内核中没有此队列,则创建它。

文档评论(0)

1亿VIP精品文档

相关文档