ENKEL

ENKEL
Utvecklare iCanProgram Inc.
Stabil frisättning
2012Jan26 SIMPL v3.3.7 Släppt / 26 januari 2012 ; för 11 år sedan ( 2012-01-26 )
Operativ system Linux
Typ Kommunikation mellan processer
Licens GNU Lesser General Public License
Hemsida www .icanprogram .com /simpl /

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

  1. ^ "2012Jan26 SIMPL v3.3.7 släppt - möjliggör kompilering av Mac och Cygwin" . 2012-01-26 . Hämtad 2012-03-16 .
  2. ^ "SourceForge SIMPL-Synchronous Interprocess Messaging Licens för ytterligare projektdetaljer" . Hämtad 2012-03-16 .
  3. ^ "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.
  4. ^ QNX. "Interprocess Communication (IPC)" . Hämtad 2012-03-16 .

externa länkar