1.先看各个通信的接口
1.共享内存接口
2.消息队列接口
3.信号量接口
2.管理他们的结构体:
其实管理他们的是一个数组,和open返回的fd差不多,shmid,msqid,semid的大小都是这个数组的下标。那数组的结构是什么呢?
然后何如拜访上面三个结构体呢?当然就是强转:((struct shmid_ds*)addr)->???!当然OS肯定在ipc_perm中存储了如何区分指针指向的内存,然后分别强转类型。
这其实不就是C++中的多态吗?ipc_perm是基类,上面三个是子类。