Wat is procesisolatie?
Procesisolatie bij computerprogrammering is de scheiding van verschillende softwareprocessen om te voorkomen dat ze toegang krijgen tot geheugenruimte die ze niet bezitten. Het concept van procesisolatie helpt bij het verbeteren van de beveiliging van het besturingssysteem door bepaalde privileges voor bepaalde programma's te bieden en het geheugen te beperken dat die programma's kunnen gebruiken. Hoewel er veel implementaties van procesisolatie zijn, wordt het vaak in webbrowsers gebruikt om meerdere tabbladen te scheiden en om de kernbrowser zelf te beschermen als een proces mislukt. Het kan op hardware of op software zijn gebaseerd, maar beide hebben hetzelfde doel: toegang tot systeembronnen beperken en programma's geïsoleerd houden voor hun eigen virtuele adresruimte.
De basisfunctie van procesisolatie omvat het toewijzen van een proces of programma aan een duidelijk gedefinieerde virtuele adresruimte. Deze ruimte bevat het programma en alle bijbehorende gegevens. Als het proces meer ruimte nodig heeft, wordt dit aangevraagd bij het besturingssysteem en toegewezen indien beschikbaar. Op deze manier kan het besturingssysteem voorkomen dat twee processen per ongeluk of opzettelijk toegang krijgen tot elkaars geheugen.
Een ander doel van procesisolatie is om programma's te laten draaien en ervoor te zorgen dat ze geen invloed hebben op vitale systemen. Het kan voorkomen dat een programma probeert toegang te krijgen tot belangrijke delen van het besturingssysteem en deze te wijzigen of anderszins te wijzigen. Hierdoor kan een programma worden beëindigd in geval van een probleem zonder dat het grotere besturingssysteem ook wordt afgesloten.
Er zijn verschillende varianten van isolatie. Een daarvan is het toewijzen van rechten om te verwerken, zodat ze toegang hebben tot specifieke bronnen op een systeem terwijl ze nog steeds anderen beschermen. Dit wordt vaak gedaan om een programma een internetaansluiting of -printer te laten gebruiken, terwijl het nog steeds de toegang tot een schijfstation of bestandssysteem beperkt.
Er zijn ook situaties waarin bepaalde stappen kunnen worden genomen om verschillende processen veilig met elkaar te laten communiceren, maar deze onafhankelijk van elkaar te houden. Via mechanismen zoals inter-procescommunicatie (IPC) en gedeeld geheugen kunnen processen informatie uitwisselen maar toch beperkt blijven tot hun eigen geheugenruimte. Deze functionaliteit is belangrijk wanneer een proces informatie vereist van verschillende beheerprocessen die eigendom zijn van het besturingssysteem.
Procesisolatie is een belangrijke software- en hardwarefunctie die verschillende technologieën mogelijk maakt. Virtuele machineservers werken met een geavanceerde vorm van procesisolatie op basis van zowel hardware- als softwarebeheer. Het veilig kunnen uitvoeren van applets of andere scripts van websites is afhankelijk van een proces dat wordt geïsoleerd van belangrijke systeembronnen. Mobiele apparaten en ingebedde systemen maken gebruik van procesisolatie om kernhardware veilig te houden ondanks dat er defecte of schadelijke software wordt uitgevoerd.