Vad är processisolering?
Processisolering i datorprogrammering är segregeringen av olika programvaruprocesser för att förhindra dem från att få åtkomst till minnesutrymme de inte äger. Konceptet med processisolering hjälper till att förbättra operativsystemets säkerhet genom att tillhandahålla olika behörighetsnivåer till vissa program och begränsa minnet som dessa program kan använda. Även om det finns många implementationer av processisolering, används det ofta i webbläsare för att separera flera flikar och för att skydda själva kärnwebbläsaren om en process skulle misslyckas. Det kan vara hårdvarubaserat eller mjukvarubaserat, men båda tjänar samma syfte att begränsa tillgången till systemresurser och hålla program isolerade till sitt eget virtuella adressutrymme.
Den grundläggande funktionen av processisolering innebär att tilldela en process eller ett program ett klart definierat virtuellt adressutrymme. Detta utrymme innehåller programmet och alla relaterade data. Om processen kräver mer utrymme begärs det från operativsystemet och tilldelas om det finns tillgängligt. På detta sätt kan operativsystemet hindra två processer från att av misstag eller avsiktligt komma åt varandras minne.
Ett annat syfte med processisolering är att göra det möjligt för program att köra samtidigt som de säkerställer att de inte påverkar viktiga system. Det kan förhindra att ett program försöker komma åt viktiga områden i operativsystemet och ändra eller på annat sätt ändra dem. Detta tillåter att ett program avslutas i händelse av problem utan att det större operativsystemet också stänger av.
Det finns olika variationer av isolering. Det ena är att tilldela behörigheter att bearbeta så att de kan komma åt specifika resurser på ett system medan de fortfarande skyddar andra. Detta görs ofta för att ett program ska kunna använda ett internetuttag eller en skrivare samtidigt som det begränsas från att få åtkomst till en hårddisk eller filsystem.
Det finns också situationer där vissa steg kan vidtas för att låta olika processer säkert kommunicera med varandra men fortsätta att hålla dem oberoende av varandra. Genom mekanismer som interprocesskommunikation (IPC) och delat minne kan processer utbyta information men ändå begränsas till sitt eget minnesutrymme. Denna funktionalitet är viktig när en process kräver information från olika hanteringsprocesser som ägs av operativsystemet.
Processisolering är en viktig program- och hårdvarufunktion som hjälper till att möjliggöra flera tekniker. Virtuella maskinservrar fungerar med en avancerad form av processisolering baserad i både hårdvara och mjukvarahantering. Att säkert kunna köra applets eller andra skript från webbplatser förlitar sig på att en process isoleras från viktiga systemresurser. Mobila enheter och inbäddade system använder processisolering för att tillåta kärnhårdvara att förbli säker trots att felaktig eller skadlig programvara körs.