Interproces kommunikation

(eller: IPC).

Parallelle processer, som samarbejder, har behov for at koordinere arbejdet (dvs. indbyrdes synkronisering) og for at udveksle data. Udveksling af data kan principielt ske på to måder: enten har processerne en logisk kommunikationskanal, der forbinder dem, eller de har adgang til et fælles lagerområde. Der er ud fra disse to principper opstået en række metoder til interproceskommunikation, som hver er designet til et givet formål. Her kan nævnes semaforer, monitorer, rendez-vous og beskedudveksling. Monitorer er konstrueret efter princippet om delt lager, mens grundlaget for rendezvous'er og beskedudveksling er baseret på kommunikationskanaler. Befinder de kommunikerende processer sig på to forskellige maskiner forbundet med et datanet, er beskedudveksling den foretrukne metode, da delt lager ellers må simuleres, og det er ikke simpelt.

Det er meget vigtigt, at interproceskommunikation designes omhyggeligt, idet fejl i denne del af basisprogrammellet kan være særdeles svære at lokalisere, da de kan være tidsafhængige og derfor meget drilske at få gentaget. Specielt er interproceskommunikation, baseret på delt lager, potentielt en kilde til fejl.

De metoder til interproceskommunikation, som findes i et systemprogrammeringssprog, kan være helt andre end dem, der findes i styresystemet. Nogle styresystemer har kun primitive mekanismer. Et eksempel er det oprindelige UNIX, som kun anvendte signaler, der svarende til et interrupt fra en I/O-enheder.

Forfattere: 
Klaus Hansen
Casper Thomsen