1.信号量
下面的是System V标准里面的三驾马车,也就是共享内存,以及消息队列和我们的信号量机制;
消息队列实际就是让不同的进程通过这个队列进行信息的传输的过程;但是涉及到这个数据之间的来回拷贝,因此这个速度非常慢,所以不经常被使用;
关于并发编程里面涉及到的比较重要的概念:
1)临界区就是可能会出现意外的代码
2)互斥就是两者不能同时访问的资源,这个时候常见的操作就是加锁
3)同步就是前后的问题,就是存在顺序,只有一个使用之后另外一个才可以访问使用
4)原子性就是形容操作要么全部执行,要么不执行,不会说执行一般卡住的这个情况存在,
信号量实际上就是计数器,通过PV操作控制我们的系统里面的资源的数量;
为什么信号量也是非常重要的通信机制,因为信号量通过PV操作对于我们的进程进行控制,比如告诉进程倍阻塞还是可以正常的进行执行之类的:
操作系统设置结构体对于这个里面涉及到的不同的通信方式进行管理和控制,每一个对象头部存储的都是这个对象的属性信息以及对应的key方便我们的操作系统进行管理和查看;
通过柔性数组控制,以及指针的控制,不同的IPC资源结构体的子类的实现,方便我们的操作系统内核指针指向自己需要的这个具体的结构体,拿到对应的结构体里面的具体内容(就是下面的这个对话里面说的这个强制类型转换的过程)