Обмін повідомленнями — в програмуванні, є способом координації в конкурентних, паралельних, та об'єктно-орієнтованих системах, та організації взаємодії між процесами. Координація робиться шляхом відсилання повідомлень отримувачу. Повідомлення можуть мати форму викликів функцій, сигналів, та пакетів даних. До найвідоміших моделей обчислень, основаних на обміні повідомленнями належать модель Актора та .
Мікроядерні операційні системи координують роботу ядра та програм обміном повідомлень.
Розподілені системи доступу до об'єктів та віддаленого виклику методів, такі як ONC RPC, CORBA, Java RMI, DCOM, SOAP, .NET Remoting та їм подібні є системами з обміном повідомленнями. Цей термін також використовується в галузі надпотужних обчислювальних систем в бібліотеці MPI.
Примітиви
Функції відправлення та отримання повідомлень зазвичай мають назву відправити (англ. send) та отримати (англ. receive) відповідно. Вони є примітивами в системах обміну повідомленнями. Функція «відправити» має два параметри — адресу, на яку слід надіслати повідомлення, та буфер даних повідомлення. Функція «отримати» також має два параметри — адреса звідки очікується повідомлення (може бути шаблоном) та буфер для збереження даних повідомлення.
За характеристиками, примітиви можна поділити на:
- синхронні
- Якщо примітиви відправити та отримати встановлюють попередній зв'язок між собою.
- асинхронні
- Примітив відправити називається асинхронним, якщо він повертає керування одразу після завершення зчитування даних з буфера даних повідомлення.
- блокуючі
- Примітив працює у блокуючому режимі, якщо він повертає керування лише після завершення виконання (як в асинхронному, так і в синхронному режимі).
- не блокуючі
- Примітив працює у не блокуючому режимі, якщо він одразу повертає керування, навіть коли повідомлення не зчитане або не отримане.
Таким чином, існує чотири варіанти відправки повідомлень:
- синхронний блокуючий,
- синхронний не блокуючий,
- асинхронний блокуючий,
- асинхронний не блокуючий.
Існує два варіанти для отримання повідомлень:
- синхронний блокуючий;
- синхронний не блокуючий.
Посилання
- Ajay D. Kshemkalyani, Mukesh Singhal (2008). Distributed Computing, Principles, Algorithms, and Systems. Cambridge University Press. ISBN .
Див. також
Ця стаття потребує додаткових для поліпшення її . (лютий 2009) |
Це незавершена стаття про програмування. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
U Vikipediyi ye statti pro inshi znachennya cogo termina programi mittyevogo obminu povidomlennyami Obmin povidomlennyami v programuvanni ye sposobom koordinaciyi v konkurentnih paralelnih ta ob yektno oriyentovanih sistemah ta organizaciyi vzayemodiyi mizh procesami Koordinaciya robitsya shlyahom vidsilannya povidomlen otrimuvachu Povidomlennya mozhut mati formu viklikiv funkcij signaliv ta paketiv danih Do najvidomishih modelej obchislen osnovanih na obmini povidomlennyami nalezhat model Aktora ta Mikroyaderni operacijni sistemi koordinuyut robotu yadra ta program obminom povidomlen Rozpodileni sistemi dostupu do ob yektiv ta viddalenogo vikliku metodiv taki yak ONC RPC CORBA Java RMI DCOM SOAP NET Remoting ta yim podibni ye sistemami z obminom povidomlennyami Cej termin takozh vikoristovuyetsya v galuzi nadpotuzhnih obchislyuvalnih sistem v biblioteci MPI PrimitiviFunkciyi vidpravlennya ta otrimannya povidomlen zazvichaj mayut nazvu vidpraviti angl send ta otrimati angl receive vidpovidno Voni ye primitivami v sistemah obminu povidomlennyami Funkciya vidpraviti maye dva parametri adresu na yaku slid nadislati povidomlennya ta bufer danih povidomlennya Funkciya otrimati takozh maye dva parametri adresa zvidki ochikuyetsya povidomlennya mozhe buti shablonom ta bufer dlya zberezhennya danih povidomlennya Za harakteristikami primitivi mozhna podiliti na sinhronni Yaksho primitivi vidpraviti ta otrimati vstanovlyuyut poperednij zv yazok mizh soboyu asinhronni Primitiv vidpraviti nazivayetsya asinhronnim yaksho vin povertaye keruvannya odrazu pislya zavershennya zchituvannya danih z bufera danih povidomlennya blokuyuchi Primitiv pracyuye u blokuyuchomu rezhimi yaksho vin povertaye keruvannya lishe pislya zavershennya vikonannya yak v asinhronnomu tak i v sinhronnomu rezhimi ne blokuyuchi Primitiv pracyuye u ne blokuyuchomu rezhimi yaksho vin odrazu povertaye keruvannya navit koli povidomlennya ne zchitane abo ne otrimane Takim chinom isnuye chotiri varianti vidpravki povidomlen sinhronnij blokuyuchij sinhronnij ne blokuyuchij asinhronnij blokuyuchij asinhronnij ne blokuyuchij Isnuye dva varianti dlya otrimannya povidomlen sinhronnij blokuyuchij sinhronnij ne blokuyuchij PosilannyaAjay D Kshemkalyani Mukesh Singhal 2008 Distributed Computing Principles Algorithms and Systems Cambridge University Press ISBN 978 0 511 39341 9 Div takozhCherga povidomlen Viklik viddalenih procedur Vzayemodiya mizh procesami Cya stattya potrebuye dodatkovih posilan na dzherela dlya polipshennya yiyi perevirnosti Bud laska dopomozhit udoskonaliti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Zvernitsya na storinku obgovorennya za poyasnennyami ta dopomozhit vipraviti nedoliki Material bez dzherel mozhe buti piddano sumnivu ta vilucheno lyutij 2009 Ce nezavershena stattya pro programuvannya Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi