ARM: Unterschied User / System Mode

Gast #608959
Lesenswert?
• ▲
▼
Hi!

Kann mir jemand mal in einfachen Worten den Unterschied
zwischen User- und System-Mode beim ARM(7) erklären?

Was mir schon klar ist:

- sie benutzen beide den selben Registersatz
- der System-Mode ist ein privilegierter Modus

Aber wie/wann/warum kommt man in den System Modus, bzw.
sollte ihn benutzen?

Grüße, Frank
#609007
Lesenswert?
• ▲
▼
Die Unterschiede hast du schon beschrieben.
Wie: Aus einem der anderen priveligierten Modi einfach den CPSR mit den 
entsprechenden Bits schreiben (MSR)
Wann/Warum: Du willst etwas machen, wozu erweitere Rechte nötig sind, 
möchtest aber nicht im jeweiligen Ausnahme-Modus bleiben, z.B. damit 
eine weitere Ausnahme den Task Zustand nicht zerstören kann.

Gruß,

Dominic
#609120
Lesenswert?
• ▲
▼
Der ARM Core existisiert auch in Implementierungen mit
Speicherverwaltungseinheit (MMU) und darauf aufbauendem komplexem 
Betriebssystem (z.B. Linux). Damit kann der Zugriff für Anwenderprozesse 
auf bestimmte Speicherbereiche und I/O-Ports begrenzt werden. Grad wie 
unter Windows.

Bei Controllern ohne MMU (z.B. LPC2000, SAM7) ist der Grad an Schutz, 
den der User Mode bietet, extrem gering und es lohnt i.A. nicht, sich 
überhaupt damit zu befassen. D.h. man arbeitet im System Mode und damit 
hat es sich.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren