Nej, det är inte realistiskt möjligt att konstruera ett verkligt * säkert * operativsystem för datorsystem som saknar hårdvarustödda privilegierade driftsätt. Det grundläggande problemet ligger i behovet av att skydda kritiska systemresurser från skadliga eller felaktiga användarnivåprogram.
Här är varför:
* Resursskydd: Privilegierat läge (ofta kallat kärnläge eller handledarläge) är viktigt för att skydda kritiska resurser som minne, I/O -enheter och själva CPU. Utan det kunde ett komprometterat användarnivåprogram direkt komma åt och ändra dessa resurser, vilket leder till systemkrascher, datakorruption eller fullständig systemövertagande. Ett användarprogram kan till exempel skriva över operativsystemets egen kod eller ändra dess minneshanteringstabeller.
* verkställighet av systemsamtal: Operativsystemet fungerar som en mellanhand mellan användarprogram och hårdvara. Systemsamtal är mekanismen för användarprogram att begära tjänster (som att läsa en fil eller skicka data via ett nätverk). Privilegierat läge krävs för att säkerställa att dessa förfrågningar är korrekt validerade och hanteras säkert. Utan det kan ett användarprogram direkt utföra godtyckliga instruktioner och kringgå alla säkerhetskontroller.
* isolering av processer: Operativsystem förlitar sig på privilegierat läge för att isolera processer från varandra. Utan denna isolering kunde ett skadligt program få tillgång till minnet eller resurserna för andra processer, vilket potentiellt kan leda till dataöverträdelser eller attacker för förnekande av tjänster.
Medan sofistikerade mjukvarubaserade tekniker kan mildra några av dessa risker, kan de inte helt eliminera dem. De skulle oundvikligen förlita sig på komplexa och potentiellt bräckliga mekanismer (t.ex. sofistikerade minnesskyddssystem, tungt beroende av kodsignering och verifiering) som kan förbikopplas av sofistikerade angripare. Dessa tekniker skulle vara betydligt mindre effektiva och skapa betydande omkostnader.
Kort sagt, hårdvarustödda privilegierade lägen är ett grundläggande krav för att bygga säkra operativsystem. De tillhandahåller ett avgörande skyddsskikt som inte kan replikeras på ett tillförlitligt sätt genom programvara. Säkerheten som erbjuds av en mjukvaru-bara strategi skulle vara mycket svagare och extremt svår att underhålla.