Skip to main content

Hva er interprosess kommunikasjon?

InterProcess Communication (IPC) er en gruppe teknikker som brukes i dataprogrammering som lar forskjellige programmer samhandle.IPC tilrettelegges ofte av et datamaskinoperativsystem, selv om det eksisterer alternative metoder.Den nøyaktige formen for denne kommunikasjonen mellom programvare kan variere, alt fra direkte meldinger til et sentralt depot der informasjon blir lagret og hentet.Interprocess -kommunikasjon kan gi fordeler som større ytelse, færre datamaskinressurser som konsumeres og forbedret sikkerhet.

I programmeringsverdenen blir programvare snakket om i form av en prosess, eller enkelt kode, som kan kjøres eller utføres påen datamaskins sentrale prosesseringsenhet (CPU).Mange applikasjoner bruker faktisk mer enn en prosess, noe som kan øke ytelsen og stabiliteten.En nettleser med flere åpne sider kan bruke en egen prosess for å laste inn hver side;Dette isolerer hver side fra de andre og forhindrer en dårlig oppført webside i å krasje hele nettleseren.I dette eksemplet kommuniserer hver prosess som er ansvarlig for å gjengi en webside med en eller flere prosesser som håndterer andre aspekter av nettleseren, for eksempel brukergrensesnittkomponenter.

De fleste datamaskinoperativsystemer gir flere forskjellige mekanismer for at interprosess kommunikasjon skal finne sted.Noen andre programvareteknologier tilbyr også støtte for IPC.Dessuten kan IPC brukes enten på en enkelt datamaskin eller på tvers av et nettverk.Disse mekanismene kan variere i hvordan de implementeres, men de fleste kan grupperes i noen få kategorier basert på hvordan kommunikasjonen foregår.

I noen tilfeller byttes meldinger direkte mellom prosesser, ofte på en enveis eller asynkron måte.Noen få IPC -metoder som fungerer på denne måten inkluderer signaler, rør og stikkontakter.Interprosess kommunikasjon kan også finne sted ved bruk av et bestemt sted der data kan nås med mer enn en prosess.Et eksempel på dette er delt minne, en teknikk der flere prosesser får tilgang til den samme delen av datamaskinens minne for å utveksle informasjon.Metoden en programmerer kan velge, avhenger av hastigheten og volumet av datautveksling som er nødvendig, så vel som andre hensyn.

Det er mange grunner til at en programmerer kan ønske å bruke interprocess -kommunikasjon i programvarekreasjonene sine.Å dele en stor applikasjon i mange mindre prosesser som kommuniserer via IPC kan øke ytelsen så vel som sikkerhet.Et program kan starte og avslutte prosesser etter behov i stedet for alle komponenter som kjører samtidig og konsumerer maskinvareressurser.Hvis en del av et program trenger spesiell tilgang til datamaskinens maskinvare eller annen løpende programvare, kan en eller flere prosesser operere under en administrator eller "root" -konto mens resten av programmet kjører som en vanlig bruker.