0 Daumen
3,4k Aufrufe

Welche Unterschiede gibt es in der Ausführung von Code im User- und Kernel-Mode?

Avatar von

1 Antwort

0 Daumen
 
Beste Antwort

User Mode:

- Der Zugriff auf Betriebssystemfunktionen ist nur über einen Systemaufruf (Syscall, Supervisor Call) möglich  

- Es kann nicht auf alle Speicherbereiche zugegriffen werden 

- Es können nicht alle Maschinenbefehle ausgeführt werden 

- Der Wechsel vom User- in den Kernel-Mode ist nur durch durch einen Systemaufruf oder einen Interrupt möglich

Kernel Mode:

- Das CPU-Statusregister kann beschrieben werden

- Die Ausführung einiger Maschinenbefehle ist nur im Kernel Mode möglich (z. B. Aktivieren/Deaktivieren von Interrupts, Beschreiben des CPU-Statusregisters)

- Ein Wechsel von dem höher privilegierten Kernel- in den User-Mode ist unproblematisch

Die Indikation des jeweiligen Modus erfolgt durch ein Bit im CPU-Statusregister.

Avatar von

Ein anderes Problem?

Stell deine Frage

Willkommen bei der Stacklounge! Stell deine Frage einfach und kostenlos

x
Made by a lovely community