Tôi có một ứng dụng hệ thống, chạy như một bộ sưu tập trên 12 quy trình trên Unix. Có một quá trình giám sát, trao đổi dữ liệu từ với 11 quy trình khác.IPC nào hiệu quả hơn ở đây?
Yêu cầu IPC là làm cho 11 quy trình này liên lạc với quy trình giám sát, được thiết kế theo cách hiệu quả nhất về mặt thực thi. Các bạn có thể cân nhắc hai lựa chọn dưới đây hoặc đề xuất một tùy chọn tốt hơn không.
1) có giao tiếp ổ cắm UDP, trong đó 11 quy trình này sẽ đẩy dữ liệu đến quy trình giám sát trong khoảng thời gian định kỳ. quá trình theo dõi chỉ là nghe và thu thập thông tin đủ tốt.
HOẶC
2) có một bộ nhớ dùng chung. do đó, có 11 phân đoạn bộ nhớ chia sẻ, trong đó mỗi phân đoạn được chia sẻ giữa 2 quy trình (quá trình xử lý và quá trình giám sát).
Đối với bộ nhớ dùng chung, có vẻ nhanh hơn nhưng có yêu cầu khóa/đồng bộ, trong khi udp hạt nhân sao chép dữ liệu từ không gian bộ nhớ của quy trình này sang tiến trình khác.
Bất kỳ ai cũng có thể cung cấp thêm đầu vào để giúp đánh giá tốt hơn hai phương pháp. ? Cảm ơn.
Bạn thực sự có nghĩa là ổ cắm UDP, hoặc bạn có nghĩa là ổ cắm miền Unix? –