Monitor (gedistribueerd programmeren)

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken

Een monitor in het gedistribueerd programmeren is een synchronisatiemechanisme dat aangeboden wordt door de programmeertaal, het besturingssysteem of de hardware waarop/mee een multiprogramma uitgevoerd wordt.

De basis van alle synchronisatie is de semafoor, waarmee ieder synchronisatieprobleem fijnmazig op te lossen valt. Een monitor is een synchronisatie-mechanisme met een hoger abstractieniveau, waarin de synchronisatie op een minder fijnmazig niveau wordt uitgevoerd voor de programmeur in plaats van gepland door de programmeur zelf.

Om van een monitor gebruik te maken, moet een programmeur meestal een (deel van) zijn programma speciaal merken om gesynchroniseerd te worden. Bij het uitvoeren van het multiprogramma verloopt het uitvoeren van dit aangemerkte deel dan via de monitor -- een thread of proces dat de aangemerkte code uit wil voeren, meldt zich aan bij de monitor en mag pas verdergaan als de monitor toestemming geeft. De monitor zorgt ervoor dat ten hoogste een thread of proces op ieder moment toestemming heeft.

Door de algemene manier van werken van een monitor, is de controle over de synchronisatie meestal groffer dan bereikt kan worden via direct gebruik van seinpalen. Toch is de monitor zeer populair, aangezien synchronisatie van componenten in een multiprogramma door veel programmeurs als moeilijk wordt ervaren.