IPC
barfoo
不要强迫我写这个
展开
-
进程间通信1. 基本原理
通常情况下,程序只能访问自身的数据,和其它进程没有沟通,每个进程都是一个单独存在的个体,进程之间不需要协作就可以完成自身的任务了。但随着需要解决问题复杂性的增加,一个进程不可能完成所有的工作,必须由多个进程之间互相配合才能更快、更好、更强的解决问题,如同人与人之间的协作可以做出更大的事情一样。 但是,处于安全性的考虑,OS会限制进程只能访问自身的数据,不能把“手”伸到其它原创 2008-12-29 19:05:00 · 2546 阅读 · 0 评论 -
进程间通信2. 通信方式及各自特点
经常使用到的进程间通信有:管道、消息队列和共享内存。 管道 最开始出现的管道是用于具有血缘关系的进程之间共享数据的。父进程首先创建一个管道,然后再fork()出子进程,子进程自动共享对管道的访问权限。这种管道是没有名字的(只有进程中的一个标识符进行标识),因此也称为匿名管道。 如我们在shell中运行 ls * | grep foo 时,shell就会创建一个匿名原创 2008-12-30 16:15:00 · 3380 阅读 · 0 评论 -
进程间通信3. 同步方式及各自特点
为了能够有效的控制多个进程之间的沟通过程,保证沟通过程的有序和和谐,OS必须提供一定的同步机制保证进程之间不会自说自话而是有效的协同工作。比如在共享内存的通信方式中,两个或者多个进程都要对共享的内存进行数据写入,那么怎么才能保证一个进程在写入的过程中不被其它的进程打断,保证数据的完整性呢?又怎么保证读取进程在读取数据的过程中数据不会变动,保证读取出的数据是完整有效的呢? 常用的同步方原创 2008-12-30 17:15:00 · 4999 阅读 · 0 评论 -
POSIX和SVR
POSIX是Portable Operating System Interface of Unix的简称,“可移植的Unix操作系统接口”。它定义了一组最小的Unix操作系统接口。 POSIX的诞生和Unix的发展是密不可分的,由于各个商业公司的参与,Unix的版本发展极为混乱,各个版本的Unix的兼容性成了很大的问题。于是就有了POSIX的出现,它定义了一组最小的Unix操作系统接原创 2008-12-24 10:10:00 · 1006 阅读 · 0 评论