进程隔离是为保护操作系统中进程互不干扰而设计的一组不同硬件和软件的技术。
简介这个技术是为了避免进程A写入进程B的情况发生。 进程的隔离实现,使用了虚拟地址空间。进程A的虚拟地址和进程B的虚拟地址不同,这样就防止进程A将数据信息写入进程B。
进程隔离的安全性通过禁止进程间内存的访问可以方便实现。相比之下,一些不安全的操作系统(例如DOS)能够允许任何进程对其他进程的内存进行写操作。1
受限的进程间通信在一个有进程隔离的操作系统中,进程之间允许受限的进程间交互,如果他们相互都接受进程间通信(IPC)的协作,例如共享内存,或套接字技术。在这样的方案下,几乎所有的进程间的内存都和其他进程的相互隔离了,除了某些进程指定允许其他进程访问用以协同工作的变量和内存块。
某些环境下,系统安全策略可能不允许进程间通信(IPC)。比如在强制访问控制系统(Mandatory access controlsystems)中,不同安全等级的进程是不允许相互通信的。2
进程间通信进程间通信(IPC,Inter-Process Communication),指至少两个进程或线程间传送数据或信号的一些技术或方法。
进程是计算机系统分配资源的最小单位(严格说来是线程)。每个进程都有自己的一部分独立的系统资源,彼此是隔离的。为了能使不同的进程互相访问资源并进行协调工作,才有了进程间通信。通常,使用进程间通信的两个应用可以被分为客户端和服务器(见主从式架构),客户端进程请求数据,服务端响应客户端的数据请求。有一些应用本身既是服务器又是客户端,这在分布式计算中,时常可以见到。这些进程可以运行在同一计算机上或网络连接的不同计算机上。
IPC对微内核和nano内核的设计过程非常重要。 微内核减少了内核提供的功能数量。 然后通过IPC与服务器通信获得这些功能,与普通的单片内核相比,IPC的数量大幅增加。2
本词条内容贡献者为:
李航 - 副教授 - 西南大学