三. 多进程间的通信模型

UNIX的文件系统

UNIX中的文件系统术语有两个意思。一是指组织管理外存数据的方法,比如ext4/NTFS这样的文件系统。二是指UNIX中的虚拟文件系统VFS框架。这二者是有一定嵌套关系的,但本文的文件系统术语重点指代后者。

UNIX文件系统的架构设计哲学是“一切皆文件”。就是把一切能类比为传统意义文件的对象,统统作为UNIX定义的文件对象处理。

多线程的通信模型(IPC)

同进程下不同线程可以共享进程的虚拟化资源,所以通过编程语言全局变量与同步机制即可通信。但上文提到了进程的资源是被操作系统逻辑隔离的,所以需要其他机制来进行进程间通信。下面讨论一些系统线程间通信的模型。

1)共享内存:

共享内存是系统将相同的一块物理内存映射进不同进程地址空间的机制。共享内存通常是由某个进程创建但多个进程都可访问。这样就能够结合之前提到的同步机制来实现进程间通信,因为之前提到的同步机制大多数是支持进程间同步的(只是在例如Python中编程时会比较麻烦)。并且共享内存是最快的一种IPC方式。

2)命名管道:

管道顾名思义就是数据只能从一端流向另一端的单向通道。

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部