new进程间通信.pptVIP

  • 8
  • 0
  • 约5.08千字
  • 约 46页
  • 2016-01-20 发布于未知
  • 举报
进程间通信 进程的产生 在Linux中,一个进程可以启动另外一个进程,所有的进程源为init 进程方面主要的系统调用: fork调用:通过复制调用进程来创建新进程。 exec调用: 通过一个新的程序覆盖原来的内存空间来实现进程的转变。 wait调用:使一个进程等待直到另外一个进程结束为至。 exit调用:终止一个进程的执行。 概述 实现进程间通信(IPC)的方法很多,但从历史来看,很多都不可移植,经过多年的发展,已经有很大的统一 IPC的方法主要包括: 管道 消息队列 信号量 共享内存 套接字 管道 管道是最古道的IPC方式,在历史上,有两方面的限制: 只能以半双工方式工作 管道的两端必须是具有公共祖先的进程 但最近的Unix系统大多都取消这两方面的限制,但为了兼容性原因,很多应用我们仍然假设管道只能以半双工方式工作 无名管道和命名管道 管道可以分为无名管道和命名管道两类 无名管道没有名字,只能工作在具有同一个祖先进程的若干个进程中 命名管道,又叫FIFO管道,可以在任何两个进程之间工作 无名管道 通过调用pipe系统调用可以创建一个无名管道 int pipe(int filedes[2]); 由参数filedes返回两个文件描述符:filedes[0]为读而打开,filedes[1]为写而打开,filedes[1]的输出是filedes[0]的输入 使用管道 单个

文档评论(0)

1亿VIP精品文档

相关文档