Hvordan implementerer Windows bruger-tilstand/kernel-tilstand?

Indlæg af Hanne Mølgaard Plasc

Problem



Fra aspektet af programmet, hvordan er det gjort?


Hvordan kan det undgå brugermodus programe at indlæse kernemoduler og kalde sine funktioner?

Bedste reference


Virtual hukommelse. [1]


U privilegerede processer kan simpelthen ikke nå kernedatastrukturerne og -koden, fordi der ikke er nogen tilsvarende sidetabellposter. Og CPU'en forhindrer ikke-privilegerede processer fra at bytte sidetabellen.

Andre referencer 1


Læs om Ringe af beskyttelse


Hardwarevisning
:
1) Der er en smule i et kontrolregister, der er forskelligt (sig 0=kernel, 1=bruger).
2) Hardwareadgang til enheder er normalt ikke tilgængelig i brugertilstand.
3) Nogle instruktioner er kun tilgængelige i kernel-tilstand.
4) Modifikationer af sidetabellerne er kun mulige i kernel-tilstand.
5) Afbryderstyringen kan kun ændres i kernel-tilstand.
6) Andre hardware kontrolregistre (såsom system tid, timer kontrol osv.) Er tilgængelige
kun i kernel-tilstand.
7) Kernelminne er ikke tilgængelig for brugerne i brugertilstand.


kopieret fra cs162 p sæt