Inter Process Communication (IPC) i OS
Vad är interprocesskommunikation?
Interprocesskommunikation (IPC) används för att utbyta data mellan flera trådar i en eller flera processer eller program. Processerna kan köras på enstaka eller flera datorer anslutna till ett nätverk. Den fullständiga formen av IPC är kommunikation mellan processer.
Det är en uppsättning programmeringsgränssnitt som tillåter en programmerare att koordinera aktiviteter mellan olika programprocesser som kan köras samtidigt i ett operativsystem. Detta gör att ett specifikt program kan hantera många användarförfrågningar samtidigt.
Eftersom varje enskild användarförfrågan kan leda till att flera processer körs i operativsystemet, kan processen kräva att kommunicera med varandra. Varje IPC-protokoll har sina egna fördelar och begränsningar, så det är inte ovanligt att ett enda program använder alla IPC-metoderna.
Metoder för kommunikation mellan processer
Här är några viktiga metoder för kommunikation mellan processer:
Rörledningar
Pipe används ofta för kommunikation mellan två relaterade processer. Detta är en halvduplexmetod, så den första processen kommunicerar med den andra processen. Men för att uppnå en full duplex behövs ett annat rör.
Meddelande vidarebefordras
Det är en mekanism för en process att kommunicera och synkronisera. Med hjälp av meddelandeöverföring kommunicerar processen med varandra utan att tillgripa delade variabler.
IPC-mekanismen tillhandahåller två operationer:
- Skicka (meddelande) - meddelandestorlek fast eller variabel
- Mottaget (meddelande)
Meddelandeköer
En meddelandekö är en länkad lista över meddelanden lagrade i kernel. Den identifieras av en meddelandeköidentifierare. Denna metod erbjuder kommunikation mellan enstaka eller flera processer med full duplexkapacitet.
direkt kommunikation
I denna typ av kommunikation mellan processer, bör namnge varandra uttryckligen. I denna metod upprättas en länk mellan ett par av kommunicerande processer, och mellan varje par existerar endast en länk.
Indirekt kommunikation
Indirekt kommunikation upprättas som bara när processer delar en gemensam brevlåda varje par av processer som delar flera kommunikationslänkar. En länk kan kommunicera med många processer. Länken kan vara dubbelriktad eller enkelriktad.
Delat minne
Delat minne är ett minne som delas mellan två eller flera processer som upprättas med delat minne mellan alla processer. Den här typen av minne måste skyddas från varandra genom att synkronisera åtkomst över alla processer.
FIFO
Kommunikation mellan två orelaterade processer. Det är en full-duplex-metod, vilket innebär att den första processen kan kommunicera med den andra processen, och det motsatta kan också hända.
Varför IPC?
Här är skälen till att använda kommunikationsprotokollet mellan processer för informationsdelning:
- Det hjälper till att påskynda modulariteten
- computational
- Privilegieseparation
- Convenience
- Hjälper operativsystemet att kommunicera med varandra och synkronisera deras handlingar.
Termer som används i IPC
Följande är några viktiga termer som används i IPC:
Semaphores: En semafor är en signalmekanismteknik. Denna OS-metod tillåter eller tillåter inte åtkomst till resursen, vilket beror på hur den är inställd.
Signals: Det är en metod för att kommunicera mellan flera processer genom signalering. Källprocessen kommer att skicka en signal som känns igen av nummer, och destinationsprocessen kommer att hantera den.
Läsförslag:- Vad är Semaphore? Binära, Räknetyper med Exempel
Vad är som FIFOS och till skillnad från FIFOS
Som FIFOS | Till skillnad från FIFOS |
---|---|
Den följer FIFO-metoden | Metod för att dra specifika brådskande meddelanden innan de når fronten |
FIFO existerar oberoende av både sändnings- och mottagningsprocesser. | Alltid redo, så behöver inte öppna eller stänga. |
Tillåter dataöverföring mellan orelaterade processer. | Har inga synkroniseringsproblem mellan öppna och stänga. |
Sammanfattning
- Definition: Kommunikation mellan processer används för att utbyta data mellan flera trådar i en eller flera processer eller program.
- Pipe används ofta för kommunikation mellan två relaterade processer.
- Meddelandeöverföring är en mekanism för en process att kommunicera och synkronisera.
- En meddelandekö är en länkad lista över meddelanden lagrade i kärnan
- Direkt process är en typ av kommunikationsprocess mellan processer, bör namnge varandra uttryckligen.
- Indirekt kommunikation upprättas som bara när processer delar en gemensam brevlåda varje par av processer som delar flera kommunikationslänkar.
- Delat minne är ett minne som delas mellan två eller flera processer som upprättas med delat minne mellan alla processer.
- Inter Process Communication-metoden hjälper till att påskynda modulariteten.
- En semafor är en signalmekanismteknik.
- Signaling är en metod för att kommunicera mellan flera processer genom signalering.
- Som FIFO följer FIFO-metoden medan till skillnad från FIFO använder du metoden för att dra specifika brådskande meddelanden innan de når framsidan.