IPC的概念
作者:陆麟
转载请征得作者同意.
2003.3.1
理解IPC相关的概念有助于加深对系统的认识.
IPC本身是OS提供跨越进程提供数据传递的一种接口.
IPC中有2个关键的概念: 1. 消息. 2. 端口.
消息概念和WINDOWS的窗口消息有所区别. 而端口则又和TCP/IP的网络接口也不相同.
消息是有类型数据的集合. 消息的长度可以从几个字节到几G. 根据OS的实现而不同. 消息是基本的通讯机制.
端口是受保护的消息队列.
可以有多个进程对端口发送消息. 但是只有1个进程可以从端口接受消息.
举例. 我们的进程作为DEBUGGER. 打开了一个进程来DEBUG. 目标进程在运行到特定时刻会发送消息到DEBUG PORT. 我们的进程监听DEBUG
PORT.便了解到了目标进程的举动. 如加载DLL,创建线程等. 由于对PORT的接受权只有1个进程才有. 因此, 只有注册PORT的进程才能收到消息.
而不是所有的进程都获得目标进程通过DEBUG PORT发出的消息.