proces
In de computerwereld is een proces een instantie van een computerprogramma dat wordt uitgevoerd. Het bevat de programmacode en de huidige activiteit. Afhankelijk van het besturingssysteem (OS) kan een proces bestaan uit meerdere uitvoerende threads die instructies gelijktijdig uitvoeren. Een computerprogramma is een passieve verzameling instructies; een proces is de daadwerkelijke uitvoering van die instructies. Meerdere processen kunnen geassocieerd zijn met hetzelfde programma; bijvoorbeeld, het openen van meerdere instanties van hetzelfde programma betekent vaak dat er meer dan één proces wordt uitgevoerd. Multitasking is een methode om meerdere processen processoren (CPU's) en andere systeembronnen te laten delen. Elke CPU voert één taak tegelijk uit. Multitasking zorgt er echter voor dat elke processor kan wisselen tussen taken die worden uitgevoerd zonder te hoeven wachten tot elke taak klaar is. Afhankelijk van de implementatie van het besturingssysteem, kan er geschakeld worden wanneer taken invoer/uitvoerbewerkingen uitvoeren, wanneer een taak aangeeft dat er geschakeld kan worden, of via hardware interrupts. Een veel voorkomende vorm van multitasking is time-sharing. Time-sharing is een methode om snelle reacties voor interactieve gebruikerstoepassingen mogelijk te maken. In time-sharing systemen worden context-switches snel uitgevoerd. Hierdoor lijkt het alsof meerdere processen gelijktijdig worden uitgevoerd op dezelfde processor. Het ogenschijnlijk gelijktijdig uitvoeren van meerdere processen wordt concurrency genoemd. Om veiligheids- en betrouwbaarheidsredenen voorkomen de meeste moderne besturingssystemen directe communicatie tussen onafhankelijke processen en bieden ze strikt bemiddelde en gecontroleerde inter-proces communicatie functionaliteit.
