Inter Process Communication (IPC) i OS

Hvad er interproceskommunikation?

Interproceskommunikation (IPC) bruges til at udveksle data mellem flere trรฅde i en eller flere processer eller programmer. Processerne kan kรธre pรฅ enkelte eller flere computere, der er forbundet med et netvรฆrk. Den fulde form for IPC er inter-proces kommunikation.

Det er et sรฆt programmeringsgrรฆnseflader, som giver en programmรธr mulighed for at koordinere aktiviteter mellem forskellige programprocesser, som kan kรธre samtidigt i et operativsystem. Dette gรธr det muligt for et specifikt program at hรฅndtere mange brugeranmodninger pรฅ samme tid.

Da hver enkelt brugeranmodning kan resultere i flere processer, der kรธrer i operativsystemet, kan processen krรฆve at kommunikere med hinanden. Hver IPC-protokoltilgang har sin egen fordel og begrรฆnsning, sรฅ det er ikke usรฆdvanligt, at et enkelt program bruger alle IPC-metoderne.

Tilgange til inter-proces kommunikation

Her er nogle vigtige metoder til interproceskommunikation:

Tilgange til inter-proces kommunikation
Inter-proces kommunikationstilgange

Pipes

Pipe er meget brugt til kommunikation mellem to relaterede processer. Dette er en halv-dupleks metode, sรฅ den fรธrste proces kommunikerer med den anden proces. Men for at opnรฅ en fuld-duplex er der brug for et andet rรธr.

Besked passerer

Det er en mekanisme for en proces til at kommunikere og synkronisere. Ved at bruge meddelelsesoverfรธrsel kommunikerer processen med hinanden uden at ty til delte variabler.

IPC-mekanismen giver to operationer:

  • Send (besked) - beskedstรธrrelse fast eller variabel
  • Modtaget (besked)

Meddelelseskรธer

En beskedkรธ er en sammenkรฆdet liste over beskeder, der er gemt i kerne. Det identificeres af en meddelelseskรธ-id. Denne metode tilbyder kommunikation mellem enkelte eller flere processer med fuld dupleks kapacitet.

Direkte kommunikation

I denne type inter-proces kommunikation proces, bรธr navngive hinanden eksplicit. I denne metode etableres en forbindelse mellem et par af kommunikerende processer, og mellem hvert par eksisterer der kun et link.

Indirekte kommunikation

Indirekte kommunikation etableres som kun, nรฅr processer deler en fรฆlles postkasse, hvor hvert par processer deler flere kommunikationslinks. Et link kan kommunikere med mange processer. Linket kan vรฆre tovejs eller ensrettet.

Delt hukommelse

Delt hukommelse er en hukommelse, der deles mellem to eller flere processer, der er etableret ved hjรฆlp af delt hukommelse mellem alle processerne. Denne type hukommelse skal beskyttes mod hinanden ved at synkronisere adgang pรฅ tvรฆrs af alle processer.

FIFO

Kommunikation mellem to ikke-relaterede processer. Det er en fuld-duplex metode, hvilket betyder, at den fรธrste proces kan kommunikere med den anden proces, og det modsatte kan ogsรฅ ske.

Hvorfor IPC?

Her er grundene til at bruge interproceskommunikationsprotokollen til informationsdeling:

  • Det hjรฆlper med at fremskynde modulariteten
  • Computational
  • Adskillelse af privilegier
  • Bekvemmelighed
  • Hjรฆlper operativsystemet med at kommunikere med hinanden og synkronisere deres handlinger.

Begreber brugt i IPC

Fรธlgende er et par vigtige udtryk, der bruges i IPC:

Semaphores: En semafor er en signalmekanismeteknik. Denne OS-metode enten tillader eller afviser adgang til ressourcen, hvilket afhรฆnger af, hvordan den er sat op.

Signals: Det er en metode til at kommunikere mellem flere processer ved hjรฆlp af signalering. Kildeprocessen vil sende et signal, som genkendes af nummeret, og destinationsprocessen vil hรฅndtere det.

Lรฆseforslag:- Hvad er Semaphore? Binรฆre, Tรฆlletyper med Eksempel

Hvad er ligesom FIFOS og i modsรฆtning til FIFOS

Ligesom FIFOS I modsรฆtning til FIFOS
Det fรธlger FIFO-metoden Metode til at trรฆkke specifikke presserende beskeder, fรธr de nรฅr fronten
FIFO eksisterer uafhรฆngigt af bรฅde afsendelses- og modtageprocesser. Altid klar, sรฅ du behรธver ikke at รฅbne eller lukke.
Tillader dataoverfรธrsel mellem ikke-relaterede processer. Har ingen synkroniseringsproblemer mellem รฅben og luk.

Resumรฉ

  • Definition: Inter-proces kommunikation bruges til at udveksle data mellem flere trรฅde i en eller flere processer eller programmer.
  • Pipe er meget brugt til kommunikation mellem to relaterede processer.
  • Meddelelsesoverfรธrsel er en mekanisme for en proces til at kommunikere og synkronisere.
  • En beskedkรธ er en sammenkรฆdet liste over beskeder gemt i kernen
  • Direkte proces er en type inter-proces kommunikationsproces, bรธr navngive hinanden eksplicit.
  • Indirekte kommunikation etableres som kun, nรฅr processer deler en fรฆlles postkasse, hvor hvert par processer deler flere kommunikationslinks.
  • Delt hukommelse er en hukommelse, der deles mellem to eller flere processer, der er etableret ved hjรฆlp af delt hukommelse mellem alle processerne.
  • Inter Process Communication-metoden hjรฆlper med at fremskynde modulariteten.
  • En semafor er en signalmekanismeteknik.
  • Signaling er en metode til at kommunikere mellem flere processer ved hjรฆlp af signalering.
  • Ligesom FIFO fรธlger FIFO-metoden, mens i modsรฆtning til FIFO bruger metoden til at trรฆkke specifikke presserende beskeder, fรธr de nรฅr fronten.

Opsummer dette indlรฆg med: