Giao tiếp liên tiến trình

Một ví dụ cho thấy một hệ thống điện toán lưới kết nối nhiều máy tính cá nhân qua Internet bằng cách sử dụng giao tiếp mạng giữa các quá trình

Trong khoa học máy tính, giao tiếp liên tiến trình hoặc giao tiếp liên quá trình, tiếng Anh: inter-process communication hoặc interprocess communication (viết tắt: IPC), đề cập cụ thể đến cơ chế một hệ điều hành cung cấp để cho phép các tiến trình (process) quản lý dữ liệu được chia sẻ. Thông thường, các ứng dụng có thể sử dụng IPC, được phân loại là máy khách và máy chủ, trong đó máy khách (client) yêu cầu dữ liệu và máy chủ (server) đáp ứng yêu cầu của máy khách.[1] Nhiều ứng dụng là cả máy khách và máy chủ, như thường thấy trong điện toán phân tán. Các phương pháp để thực hiện IPC được chia thành các loại khác nhau dựa trên các yêu cầu phần mềm, chẳng hạn như yêu cầu về hiệu suấtmô đun, và hoàn cảnh hệ thống, chẳng hạn như băng thông mạngđộ trễ.

IPC rất quan trọng đối với quá trình thiết kế cho các microkernelnanokernel. Microkernel làm giảm số lượng các chức năng được cung cấp bởi nhân (kernel). Những chức năng đó sau đó có được bằng cách giao tiếp với các máy chủ thông qua IPC, làm tăng đáng kể số lượng IPC so với một nhân nguyên khối thông thường.

Phương pháp tiếp cận

[sửa | sửa mã nguồn]

Đồng bộ hóa

[sửa | sửa mã nguồn]

Tùy thuộc vào giải pháp, cơ chế IPC có thể cung cấp đồng bộ hóa hoặc để lại cho các quy trình và luồng để giao tiếp với nhau (ví dụ: thông qua bộ nhớ dùng chung).

Mặc dù đồng bộ hóa sẽ bao gồm một số thông tin (ví dụ: có bật khóa hay không, một số lượng quá trình đang chờ, v.v.) nó không phải chủ yếu là một cơ chế truyền thông truyền thông tin mỗi lần.

Ví dụ về các nguyên thủy đồng bộ hóa là:

Các ứng dụng

[sửa | sửa mã nguồn]

Giao diện cuộc gọi thủ tục từ xa

[sửa | sửa mã nguồn]

Platform communication stack

[sửa | sửa mã nguồn]

Sau đây là các hệ thống nhắn tin và thông tin sử dụng các cơ chế IPC, nhưng không tự hiện thực IPC:

Operating system communication stack

[sửa | sửa mã nguồn]

Sau đây là các API dành riêng cho nền tảng hoặc ngôn ngữ lập trình:

Mô hình đối tượng phân tán

[sửa | sửa mã nguồn]

Sau đây là các API cụ thể về ngôn ngữ lập trình hoặc nền tảng sử dụng IPC, nhưng bản thân chúng không hiện thực nó:

Tham khảo

[sửa | sửa mã nguồn]
  1. ^ “Interprocess Communications”. Microsoft.
  2. ^ Concurrent programming - communication between processes http://www.tldp.org/pub/Linux/docs/ldp-archived/linuxfocus/English/Archives/lf-2003_01-0281.pdf

Liên kết ngoài

[sửa | sửa mã nguồn]
Chúng tôi bán
Bài viết liên quan
Điều gì xảy ra khi một Ackerman thức tỉnh sức mạnh
Điều gì xảy ra khi một Ackerman thức tỉnh sức mạnh
Khi một Ackerman thức tỉnh sức mạnh, họ sẽ thường phải hứng chịu những cơn đau đầu đột ngột
Vì sao họ bán được hàng còn bạn thì không?
Vì sao họ bán được hàng còn bạn thì không?
Bán hàng có lẽ không còn là một nghề quá xa lạ đối với mỗi người chúng ta.
Thượng Tam Akaza bi kịch của một con người
Thượng Tam Akaza bi kịch của một con người
Trong ký ức mơ hồ của hắn, chàng trai tên Hakuji chỉ là một kẻ yếu đuối đến thảm hại, chẳng thể làm được gì để cứu lấy những gì hắn yêu quí
“Killer of the Flower moon” - Bộ phim đẹp và lạnh lẽo vừa ra mắt.
“Killer of the Flower moon” - Bộ phim đẹp và lạnh lẽo vừa ra mắt.
Bộ phim được đạo diễn bởi Martin Scorsese và có sự tham gia của nam tài tử Leonardo Dicaprio