ARM Multitasking ogne MMU

OP #347116
Ich habe gehört dass auf der ARM-Architektur sogar Linux läuft, es
jedoch keine MMU gibt, und deswegen jeder Prozess an jeder beliebigen
Stelle im Speicher lesen und schreiben kann.
Kann man trotzdem irgendwie Speicherschutz erhalten, Softwaremäßig?
Oder gibt es ARM-Varianten mit MMU?
Persönliche Seite #347117
Natürlich gibt es auch ARMe mit MMU (ARM9 und größer); ein
softwaremäßiger Speicherschutz wäre nur mit extremem Aufwand und
resultierend zu vernachlässigender Performance hinzubekommen.
Warum aber auch?
Multitasking-Betriebssysteme wurden über Jahre auf Maschinen ohne MMU
und ohne Speicherschutz betrieben, es bedarf halt ein wenig mehr
Disziplin beim Programmieren und gründlicheres Debuggen.
OP #347118
Sind diese Prozessoren auch noch so verhältnißmäßig billig wie die
ARM7-CPUs? Ich finde es halt (vor Allem bei nicht selbst geschriebener
Software) besser wenn nicht jedes Programm den Speicher ändern kann,
und vor Allem Auslesen (Sicherheitsaspekte).
Gast #347119
Hi Micheal,

es auch einen ARM7 mit MMU. Schau mal bei ST nach einem STR720 (CAN,
USB, IDE, usw.). Der hat halt ein PQFP208-Gehäuse, aber ich denke bei
einem ARM9 (oder größer) wird es wohl mit dem Löten nicht einfacher
werden. Außer Spörle fällt mir aber leider niemand ein der den
anbietet. Vielleicht weiß jemand anderes wo es den gibt?

Gruß,
Sebastian
Gast #347120
Danke für die Info.
Weißt du ob der Linux Kernel auch davon Gebrauch machen kann? Ich habe
bisher ja nur den Port von uclinux.com für ARM gefunden, und der
scheint ja "für CPUs ohne MMU" zu sein.
Gast #347121
Ich gehe mal davon aus, das die meisten linux-distributionen eben nur
den Core unterstützt und nicht seine Periferie, die ja bei jedem
Hersteller oder Produkt anders sein kann und auch ist!

Eventuell hat man Glück und bekommt vom Hersteller etwas angepasstes,
oder man muss sich selber drum bemühen die Treiber zu schreiben.
#347123
Der Linux Kernel, so wie er von kernel.org zu bekommen ist, unterstützt
ARM cores mit MMU, also z.B. arm720t, arm920t, arm926ej-s, etc., mit
zusätzlichen Patches auch solche cores, die nur eine MPU (memory
protection unit) haben.
Ausserdem enthält er Support für einige SoC Lösungen, z.B. Atmel
AT91RM9200, Cirrus Logic EP93xx, Hynix/Magnachip HMS20C7202, XScale,
etc., und bietet auch board-spezifische Konfigurationen für komplette
Boards mit ARM Core, Peripherie und evtl. zusätzlicher Hardware.
Teilweise sind dafür noch Patches notwendig, wobei die Unterstützung
für fast alle SoCs auch upstream zu bekommen ist - der Code muss nur
die Anforderungen der Kernel Maintainer erfüllen.

Gruesse,

Dominic
Gast #347125
Es gibt ucLinux, welches auch auf einem beliebigen ARM7 läuft.

Ansonsten läuft Linux nur auf dem ARM926, der ARM946 hat nur eine MPU,
die für Linux nicht ausreicht. Der ARM966 hat  nicht einmal die.

Was den Speicherschutz angeht, dürfte das auf einem embedded System
ziemlich egal sein. Beim PC kann man das Programm ja wieder neu
starten, wenn es ins Nirvana gegangen ist, beim embedded System (man
denke an einen  Roboter) ist dann sowieso Booten angesagt. Da kann man
das auch mit einem Watchdog lösen.

Gruss
Axel

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.