Методи за комуникация между процеси

СтруктураИнформация

File

Запис запазен на диск или запис, синтезиран при поискване от файлов сървър, достъпен от множество процеси.

Signal

Системно съобщение, изпратено от един процес на друг, което обикновено не се използва за прехвърляне на данни, а вместо това се използва за отдалечено управление на процес.

Socket

Данните се изпращат през мрежов интерфейс или към различен процес на същия компютър или на друг компютър в мрежата. Поточно ориентирани (TCP, данни, записани чрез сокет и изискващи форматиране, за да се запазят границите на съобщенията) или по-рядко съобщения (UDP, SCTP).

Unix domain socket

Подобно на интернет сокет, но цялата комуникация се осъществява в рамките на ядрото. Домейн сокетите използват файловата система като адресно пространство. Процесите посочват домейн сокета като инод и множество процеси могат да комуникират с един сокет.

Message queue

Поток от данни, подобен на сокета, но който обикновено запазва границите на съобщенията. Обикновено се изпълняват от операционната система и позволяват множество процеси да четат и записват в опашката на съобщенията, без да са директно свързани помежду си.

Pipe

Еднопосочен канал за данни. Данните, записани в края на запис на тръбата, се буферират от операционната система, докато се прочетат от четящия край на тръбата. Двупосочните потоци от данни между процесите могат да бъдат постигнати чрез създаване на две тръби, използващи стандартен вход и изход.

Named pipe

Тръба, изпълнявана чрез файл в файловата система, вместо стандартния вход и изход. Няколко процеса могат да четат и записват във файла като буфер за IPC данни.

Shared memory

На множество процеси се дава достъп до един и същ блок памет, който създава общ буфер, за да могат процесите да комуникират помежду си.

Повече информация: Inter Process Communication

Last updated