Hvad er procesisolering?
Processisolering i computerprogrammering er adskillelsen af forskellige softwareprocesser for at forhindre dem i at få adgang til hukommelsesplads, de ikke ejer. Konceptet med procesisolering hjælper med at forbedre operativsystemets sikkerhed ved at give forskellige programmer forskellige privilegier og begrænse den hukommelse, disse programmer kan bruge. Selvom der er mange implementeringer af procesisolering, bruges det ofte i webbrowsere til at adskille flere faner og for at beskytte selve kernebrowseren, hvis en proces mislykkes. Det kan være hardwarebaseret eller softwarebaseret, men begge tjener det samme formål at begrænse adgangen til systemressourcer og holde programmer isoleret til deres eget virtuelle adresserum.
Den grundlæggende funktion af procesisolering involverer tildeling af en proces eller et program et klart defineret virtuelt adresserum. Denne plads indeholder programmet og alle relaterede data. Hvis processen kræver mere plads, anmodes den om fra operativsystemet og tildeles, hvis den er tilgængelig. På denne måde kan operativsystemet forhindre to processer i at ved et uheld eller med vilje få adgang til hinandens hukommelse.
Et andet formål med procesisolering er at gøre det muligt for programmer at køre samtidig med at sikre, at de ikke påvirker vitale systemer. Det kan forhindre et program i at forsøge at få adgang til nøgleområder i operativsystemet og ændre eller på anden måde ændre dem. Dette gør det muligt at afslutte et program i tilfælde af et problem uden at få det større operativsystem til også at lukke ned.
Der er forskellige variationer af isolering. Den ene er at tildele privilegier til at behandle, så de er i stand til at få adgang til specifikke ressourcer på et system, mens de stadig beskytter andre. Dette gøres ofte for at give et program mulighed for at bruge en internetstik eller printer, mens den stadig begrænser adgangen til et diskdrev eller filsystem.
Der er også situationer, hvor visse skridt kan tages for at lade forskellige processer trygt kommunikere med hinanden, men fortsætte med at holde dem uafhængige af hinanden. Gennem mekanismer som interproceskommunikation (IPC) og delt hukommelse, kan processer udveksle information, men stadig begrænses til deres eget hukommelsesområde. Denne funktionalitet er vigtig, når en proces kræver information fra forskellige administrationsprocesser, der ejes af operativsystemet.
Procesisolering er en vigtig software- og hardwarefunktion, der hjælper med at gøre flere teknologier mulige. Virtuelle maskinservere fungerer med en avanceret form for procesisolering baseret på både hardware og softwarestyring. At være sikkert i stand til at køre applets eller andre scripts fra websteder er afhængig af, at en proces isoleres fra vigtige systemressourcer. Mobile enheder og indlejrede systemer bruger procesisolering for at tillade, at kernhardware forbliver sikkert på trods af, at der er kørt fejl eller ondsindet software.