둘 다 동일한 기본 도구 (세마포어, 공유 메모리 및 메시지 큐)를 가지고 있습니다. 이러한 도구에 대해 약간 다른 인터페이스를 제공하지만 기본 개념은 동일합니다. 주목할만한 차이점 중 하나는 POSIX가 Sys V가 제공하지 않는 메시지 대기열에 대한 몇 가지 알림 기능을 제공한다는 것입니다. (참조 mq_notify()
)
Sys V IPC는 오랫동안 사용되어 왔으며 몇 가지 실질적인 의미가 있습니다.
첫째, POSIX IPC는 덜 널리 구현됩니다. 나는 POSIX IPC를위한 파이썬 래퍼를 작성했고 그 문서는 내가 다양한 플랫폼에서 POSIX IPC 구현에 대해 알고있는 것을 나열합니다 .
해당 문서에 나열된 모든 플랫폼에서 Sys V IPC는 AFAIK를 완전히 구현 한 반면 POSIX IPC는 그렇지 않습니다.
두 번째 의미는 POSIX IPC가 Sys V IPC가 한동안 사용 된 후에 설계되었다는 것입니다. 따라서 POSIX API 설계자는 Sys V API의 강점과 약점을 배울 수있었습니다. 결과적으로 POSIX API는 IMO를 더 간단하고 사용하기 쉬우 며 Sys V API보다 권장합니다.
두 가지를 비교하기 위해 성능 테스트를 실행 한 적이 없습니다. 이전 API (Sys V)가 성능 조정에 더 많은 시간을 할애했을 것이라고 생각하지만, 이는 물론 실제 테스트를 대체 할 수없는 추측 일뿐입니다.
두 가지 표준이있는 이유는 POSIX가 Sys V 표준의 개선이라고 생각했기 때문에 표준을 만들었습니다. 그러나 모두가 POSIX IPC가 더 낫다는 데 동의한다면 많은 많은 프로그램이 여전히 Sys V IPC를 사용하고 있으며 모두 POSIX IPC로 이식하는 데 몇 년이 걸릴 것입니다. 실제로는 노력할 가치가 없으므로 내일부터 모든 새로운 코드가 POSIX IPC를 사용하더라도 Sys V IPC는 수년 동안 계속 유지 될 것입니다.
무엇을 하려는지에 대해 더 많이 알지 못하고 어떤 것을 사용해야하는지 말할 수는 없지만 여기에있는 답변은 스스로 결정할 수있는 충분한 정보를 제공해야합니다.