Unix IPC
文章平均质量分 78
BruceZhang
计算机专业的一个小学生
展开
-
进程,线程与信息共享
按照传统的 Unix 编程模型,我们在一个系统上运行多个进程,每个进程都有各自的地址空间。Unix 进程间的信息共享可以有多种方式。下图说明了共享信息的三种方式: (1)左边的两个进程共享存留于文件系统中某个文件上的某些信息。为访问这些信息,每个进程都得穿越内核(例如read,write,lseek等)。当一个文件有待更新时,某种形式的同步是必要的,这样既可保护多个写入者,防原创 2013-08-27 19:04:52 · 1916 阅读 · 1 评论 -
Unix网络编程--进程间通信--管道通信
所有式样的Unix都提供管道,它由 pipe 函数创建,提供一个单路(单向)数据流。 原型如下:#include int pipe(int fd[2]); 该函数返回两个文件描述符:fd[0] fd[1]。前者打开用于读,后者打开来写。(都是站在进程的角度上来看读和写) 管道的典型用途是以下述方式为两个不同的进程(一个是父进程,一个是子进程)提供进程间的通信手段。首原创 2013-08-28 13:06:25 · 2232 阅读 · 0 评论 -
Select()系统调用及文件描述符集fd_set的应用
在网络程序中,一个进程同时处理多个文件描述符是很常见的情况。select()系统调用可以使进程检测同时等待的多个I/O设备,当没有设备准备好时,select()阻塞,其中任一设备准备好时,select()就返回。 select()的调用形式为: #include #include int select(int maxfd, fd_set *readfds, fd_set *writefds,转载 2013-08-28 19:42:01 · 2277 阅读 · 0 评论