IPC处理,POSIX和system v应该选哪个?

内核编译和嵌入式产品的设计与开发
回复
chenxitwo
帖子: 31
注册时间: 2011-08-13 20:03

IPC处理,POSIX和system v应该选哪个?

#1

帖子 chenxitwo » 2015-04-28 9:55

各位前辈,最近在处理消息队列和信号量时发现有两套标准,一个是POSIX,另一个是system v。在实际处理中选择的条件是什么,它们对比各有什么优缺点? 谢谢...
头像
astolia
论坛版主
帖子: 6499
注册时间: 2008-09-18 13:11

Re: IPC处理,POSIX和system v应该选哪个?

#2

帖子 astolia » 2015-04-28 15:05

sysv是早期实践中弄出来的,posix是后来标准化之后的产物。这个导致了posix的接口设计更加严谨完善,但特殊情况下处理消息不及sysv灵活
posix ipc的那套接口做到了线程安全,sysv的就不见得了
如果你只考虑在linux上开发,就选posix那套就行了,还能和select/poll这些好东西一起用
如果还要考虑其他平台的兼容性,那就具体情况具体分析了,有些平台上有些库对posix实现的完整程度还不如sysv
chenxitwo
帖子: 31
注册时间: 2011-08-13 20:03

Re: IPC处理,POSIX和system v应该选哪个?

#3

帖子 chenxitwo » 2015-04-30 20:53

astolia 写了:sysv是早期实践中弄出来的,posix是后来标准化之后的产物。这个导致了posix的接口设计更加严谨完善,但特殊情况下处理消息不及sysv灵活
posix ipc的那套接口做到了线程安全,sysv的就不见得了
如果你只考虑在linux上开发,就选posix那套就行了,还能和select/poll这些好东西一起用
如果还要考虑其他平台的兼容性,那就具体情况具体分析了,有些平台上有些库对posix实现的完整程度还不如sysv
请问上面讲的特殊情况是指什么,能否举个具体的例子。谢谢...
头像
astolia
论坛版主
帖子: 6499
注册时间: 2008-09-18 13:11

Re: IPC处理,POSIX和system v应该选哪个?

#4

帖子 astolia » 2015-05-04 19:42

比如对信号量(semaphore)的控制上,sysv就允许修改信号量的权限,而posix就不行
回复