Hva er prosessisolering?
Prosessisolering i dataprogrammering er segregeringen av forskjellige programvareprosesser for å forhindre dem i å få tilgang til minneplass de ikke eier. Konseptet med prosessisolering bidrar til å forbedre operativsystemets sikkerhet ved å gi forskjellige rettighetsnivåer til visse programmer og begrense minnet disse programmene kan bruke. Selv om det er mange implementeringer av prosessisolering, blir det ofte brukt i nettlesere for å skille flere faner og for å beskytte selve kjernebrowseren hvis en prosess mislykkes. Det kan være maskinvarebasert eller programvarebasert, men begge tjener samme formål å begrense tilgangen til systemressurser og holde programmer isolert til sitt eget virtuelle adresserom.
Den grunnleggende funksjonen av prosessisolering innebærer å tildele en prosess eller et program et klart definert virtuelt adresserom. Denne plassen inneholder programmet og alle relaterte data. Hvis prosessen krever mer plass, blir den forespurt fra operativsystemet og tildelt hvis tilgjengelig. På denne måten kan operativsystemet forhindre at to prosesser ved et uhell eller med vilje får tilgang til hverandres minne.
Et annet formål med prosessisolering er å gjøre det mulig for programmer å kjøre, samtidig som de sikrer at de ikke påvirker viktige systemer. Det kan forhindre at et program prøver å få tilgang til viktige områder i operativsystemet og endre eller på annen måte endre dem. Dette gjør at et program kan avsluttes i tilfelle et problem uten at det større operativsystemet også slår seg av.
Det er forskjellige varianter av isolasjon. Det ene er å tilordne privilegier til å behandle slik at de kan få tilgang til spesifikke ressurser på et system mens de fremdeles beskytter andre. Dette gjøres ofte for å tillate et program å bruke en internettkontakt eller skriver mens du fremdeles begrenser den fra å få tilgang til en diskstasjon eller filsystem.
Det er også situasjoner der visse skritt kan tas for å la forskjellige prosesser trygt kommunisere med hverandre, men fortsette å holde dem uavhengige av hverandre. Gjennom mekanismer som interprosesskommunikasjon (IPC) og delt minne, kan prosesser utveksle informasjon, men fortsatt være begrenset til sitt eget minneområde. Denne funksjonaliteten er viktig når en prosess krever informasjon fra forskjellige styringsprosesser eid av operativsystemet.
Prosessisolering er en viktig programvare- og maskinvarefunksjon som hjelper til med å gjøre flere teknologier mulig. Virtuelle maskinservere opererer med en avansert form for prosessisolering basert på både maskinvare- og programvareadministrasjon. Å trygt kunne kjøre appleter eller andre skript fra nettsteder er avhengig av at en prosess blir isolert fra viktige systemressurser. Mobile enheter og innebygde systemer bruker prosessisolering for å la kjernemaskinvaren forbli sikker til tross for at feil eller skadelig programvare kjøres.