ENKEL
Utvecklare | iCanProgram Inc. |
---|---|
Stabil frisättning | 2012Jan26 SIMPL v3.3.7 Släppt / 26 januari 2012
|
Operativ system | Linux |
Typ | Kommunikation mellan processer |
Licens | GNU Lesser General Public License |
Hemsida |
Synchronous Interprocess Messaging Project for LINUX (SIMPL) är ett gratis och öppen källkodsprojekt som tillåter synkrona meddelanden i QNX - stil genom att lägga till ett Linux- bibliotek med användning av användarutrymmestekniker som delat minne och Unix-pipes för att implementera SendMssg /
ReceiveMssg
/ ReplyMssg
inter-process meddelandemekanismer.
Mekanism
En klienttråd som skickar ett meddelande är BLOCKERAD (exekveringen av processtråden är tillfälligt avstängd) tills servertråden skickar en mottagen meddelandebekräftelse, bearbetar meddelandet och utför ett svar. När servertråden svarar blir klienttråden READY (avblockerad). Servertråden går vanligtvis i loop och väntar på att få ett meddelande från en klienttråd.
Blockering synkroniserar exekveringen av klienttråden, blockerar den och schemalägger implicit att servertråden ska schemaläggas för körning utan att kräva explicit processkontrollarbete av kärnan för att avgöra vilken tråd som ska köras härnäst som med andra former av IPC.
Sändnings- och mottagningsoperationerna är blockerande och synkrona, svaret blockeras inte, klienttråden är redan blockerad och väntar på svaret och ingen ytterligare synkronisering krävs. Servertråden svarar klienten och fortsätter att köras medan kärnan och/eller nätverkskoden asynkront skickar svarsdata till klienttråden och markerar den som KLAR för exekvering.
Fördelar med synkroniserad meddelandeöverföring
Synkroniserad meddelandeöverföring har följande fördelar:
- Enkel kodningsmodell förenklar uppgiften att partitionera ett komplext system och hjälper till vid testning
- Inbyggd trådsynkronisering koordinerar exekveringen av kommunicerande program
- Ingen databuffring krävs
- Förenkling av nätverksinteraktioner - trådar kan finnas i olika program på olika maskiner
Begränsningar
SIMPL verkar inte vara trådsäkert.
Liknande projekt
Det finns ytterligare ett QNX-inspirerat synkront meddelande som skickar projekt för Linux. SRR IPC (för Skicka/Ta emot/Svara) av Sam Roberts och Andrew Thomas från Cogent Real-Time Systems, Inc. som är relaterat till SIMPL-projektet och lägger till ett QNX-kompatibelt API-lager. SRR är en laddningsbar kärnmodul designad för att vara QNX API-kompatibel för att underlätta portering av kod.
Se även
- ^ "2012Jan26 SIMPL v3.3.7 släppt - möjliggör kompilering av Mac och Cygwin" . 2012-01-26 . Hämtad 2012-03-16 .
- ^ "SourceForge SIMPL-Synchronous Interprocess Messaging Licens för ytterligare projektdetaljer" . Hämtad 2012-03-16 .
-
^
"SRR - QNX API-kompatibelt meddelande som skickas för Linux" . Hämtad 4 februari 2015 .
Den här modulen har några relationer med SIMPL-projektet, och jag prenumererar på den enkla e-postlistan. FC Software använder delat minne och Unix-rör för att implementera överföring av S/R/R-meddelanden.
- ^ QNX. "Interprocess Communication (IPC)" . Hämtad 2012-03-16 .
externa länkar
- ENKEL
- SourceForge, SIMPL-Synchronous Interprocess Messaging
- Amazon - Programmering på SIMPL Way
- SRR Module srripc Linux Kernel Module, version 1.4.43 13 januari 2010
- SRR -- QNX API-kompatibelt meddelande som skickas för Linux
- Nedladdningssida för Cogent DataHub-programvara (inklusive SRR Kernel Module)