JEDNODUCHÉ - SIMPL - Wikipedia
Vývojáři | iCanProgram Inc. |
---|---|
Stabilní uvolnění | 2012Jan26 SIMPL v3.3.7 Vydáno[1] / 26. ledna 2012 |
Operační systém | Linux |
Typ | Meziprocesová komunikace |
Licence | GNU Lesser General Public License[2] |
webová stránka | www |
Synchronní projekt meziprocesového zasílání zpráv pro LINUX (SIMPL) je zdarma a open-source projekt, který umožňuje QNX -styl synchronní předávání zpráv přidáním a Linux knihovna pomocí uživatelský prostor techniky jako sdílená paměť a Unix potrubí[3] provádět Odeslat
/ReceiveMssg
/ReplyMssg
mechanismy meziprocesového zasílání zpráv.
Mechanismus
Vlákno klienta odesílající zprávu je BLOKOVÁNO (provádění podprocesu procesu je dočasně pozastaveno), dokud podproces serveru neodesílá potvrzení přijaté zprávy, zpracovává zprávu a provádí odpověď. Když serverové vlákno odpoví, klientské vlákno se stane PŘIPRAVENO (odblokováno). Vlákno serveru se obvykle opakuje a čeká na přijetí zprávy z klientského vlákna.
Blokování synchronizuje spuštění klientského vlákna, blokuje jej a implicitně naplánuje naplánování spuštění podprocesu serveru, aniž by bylo nutné explicitně pracovat s řízením procesu jádrem, aby bylo možné určit, které vlákno se má spustit dále, jako u jiných forem IPC.
Operace odesílání a přijímání jsou blokovací a synchronní, odpověď neblokuje, vlákno klienta je již blokováno a čeká na odpověď a není nutná žádná další synchronizace. Vlákno serveru odpovídá klientovi a pokračuje v běhu, zatímco jádro nebo síťový kód asynchronně předává data odpovědi klientskému vláknu a označuje jej PŘIPRAVENO k provedení.[4]
Výhody synchronizovaného předávání zpráv
Synchronizované předávání zpráv má následující výhody:
- Jednoduchý model kódování zjednodušuje úkol rozdělení komplexního systému a pomáhá při testování
- Inherentní synchronizace vláken koordinuje provádění komunikujících programů
- Není nutné žádné ukládání dat do vyrovnávací paměti
- Zjednodušení síťových interakcí - vlákna mohou být v různých programech na různých počítačích
Podobné projekty
Pro Linux je k dispozici jeden další projekt synchronního předávání zpráv inspirovaný QNX. SRR IPC (pro odesílání / příjem / odpověď) Sam Roberts a Andrew Thomas z Cogent Real-Time Systems, Inc. který souvisí s projektem SIMPL a přidává vrstvu API kompatibilní s QNX. SRR je a zaváděcí modul jádra navržen tak, aby byl kompatibilní s QNX API pro usnadnění přenosu kódu.
Viz také
Reference
- ^ „Vydáno 2012Jan26 SIMPL v3.3.7 - povolení kompilací pro Mac a Cygwin“. 2012-01-26. Citováno 2012-03-16.
- ^ „Licence SourceForge SIMPL-Synchronous Interprocess Messaging Další podrobnosti o projektu“. Citováno 2012-03-16.
- ^ „SRR - předávání zpráv kompatibilních s QNX API pro Linux“. Citováno 4. února 2015.
Tento modul má určité vztahy s projektem SIMPL a já se přihlásím k odběru jednoduchého seznamu adresátů. Společnost FC Software používá sdílenou paměť a unixové kanály k implementaci předávání zpráv S / R / R.
- ^ QNX. „Meziprocesová komunikace (IPC)“. Citováno 2012-03-16.