Hệ thống V & Posix

Bảng sau liệt kê sự khác biệt giữa System V IPC và POSIX IPC.

HỆ THỐNG V POSIX
AT & T đã giới thiệu (1983) ba hình thức mới của phương tiện IPC là hàng đợi tin nhắn, bộ nhớ dùng chung, và bán kết. Các tiêu chuẩn giao diện hệ điều hành di động do IEEE chỉ định để xác định giao diện lập trình ứng dụng (API). POSIX bao gồm tất cả ba hình thức IPC
HỆ THỐNG V IPC bao gồm tất cả các cơ chế IPC, viz., Đường ống, đường ống được đặt tên, hàng đợi tin nhắn, tín hiệu, semaphores và bộ nhớ dùng chung. Nó cũng bao gồm các ổ cắm socket và Unix Domain. Hầu như tất cả các khái niệm cơ bản đều giống với Hệ thống V. Nó chỉ khác về giao diện
Giao diện bộ nhớ dùng chung Cuộc gọi shmget (), shmat (), shmdt (), shmctl () Giao diện bộ nhớ dùng chung Cuộc gọi shm_open (), mmap (), shm_unlink ()
Giao diện hàng đợi tin nhắn Cuộc gọi msgget (), msgsnd (), msgrcv (), msgctl () Giao diện hàng đợi tin nhắn Cuộc gọi mq_open (), mq_send (), mq_receive (), mq_unlink ()
Giao diện Semaphore Gọi semget (), semop (), semctl () Cuộc gọi giao diện Semaphore Đã đặt tên Semaphores sem_open (), sem_close (), sem_unlink (), sem_post (), sem_wait (), sem_trywait (), sem_timedwait (), sem_getvalue () Không tên hoặc dựa trên bộ nhớ semaphores sem_init (), sem_post () (), sem_getvalue (), sem_destroy ()
Sử dụng các khóa và số nhận dạng để xác định các đối tượng IPC. Sử dụng tên và bộ mô tả tệp để xác định các đối tượng IPC
NA Hàng đợi tin nhắn POSIX có thể được theo dõi bằng cách sử dụng các API select (), thăm dò () và epoll
Cung cấp cuộc gọi msgctl () Cung cấp các hàm (mq_getattr () và mq_setattr ()) để truy cập hoặc đặt thuộc tính 11. IPC - Hệ thống V & POSIX
NA Đa luồng an toàn. Bao gồm các chức năng đồng bộ hóa luồng như khóa mutex, biến điều kiện, khóa đọc-ghi, v.v.
NA Cung cấp một số tính năng thông báo cho hàng đợi tin nhắn (chẳng hạn như mq_notify ())
Yêu cầu các lệnh gọi hệ thống như shmctl (), lệnh (ipcs, ipcrm) để thực hiện các hoạt động trạng thái / điều khiển. Các đối tượng bộ nhớ dùng chung có thể được kiểm tra và thao tác bằng các lệnh gọi hệ thống như fstat (), fchmod ()
Kích thước của phân đoạn bộ nhớ chia sẻ System V được cố định tại thời điểm tạo (thông qua shmget ()) Chúng ta có thể sử dụng hàm ftruncate () để điều chỉnh kích thước của đối tượng bên dưới, rồi tạo lại ánh xạ bằng munmap () và mmap () (hoặc mremap dành riêng cho Linux ())