Forum: Mikrocontroller und Digitale Elektronik Betriebssysteme ohne MMU?


von Janina (Gast)


Lesenswert?

Hallo

Ich suche Betriebssysteme ohne einer MMU, kann mir jemand paar nennen?


Ich benötige das um eine Frage aus den Hausaufgaben zu beantowrten:
-------------------------------
Viele Systeme sind heutzutage mit einer MMU ausgestattet. Trotzdem gibt 
es einige, bei
denen auf eine MMU verzichtet wird und der physikalische Speicher direkt 
angesprochen
wird. Nennen Sie zwei Nachteile die sich für ein Betriebssystem auf 
einem solchen System
ergeben. Warum werden solche Systeme trotzdem angeboten bzw. wo werden 
sie verwendet?

Vielen Dank

: Gesperrt durch User
von John Doe (Gast)


Lesenswert?

ucLinux
FreeRTOS
ChibiOS
etc.

von Holler (Gast)


Lesenswert?

Nachteile:

- kein Speicherschutz, d.h. ein Prozess kann den Speicher eines anderen 
überschreiben. Führt zum Absturz des Systems.

- kein virtueller Speicher, d.h. die verschiedenen Speicher im System 
müssen exakt adressiert werden. Auslagern von momentan nicht benötigten 
Speicher funktioniert nicht automatisch über das Betriebssystem.

- kein für die Software transparenter Cache.

Der 2. und 3. Punkt hängen zusammen, ein Cache-Speicher zur 
Beschleunigung von Hauptspeicherzugriffen ist letztlich auch nur ein 
weiterer Speicher.


Warum gibts so was noch:

Eine MMU benötigt Chipfläche, kostet damit Geld. Kleine 
"embedded-Systeme" müssen billig sein.
Die Software wird meist gut getestet, so dass Speicherschutz verzichtbar 
ist. Die kleinen Systeme sind meist geschlossen, d.h. man kann keine 
fremde Software nachinstallieren die ggf Speicherfehler einschleppt.
Cache-Speicher benötigen diese Systeme meist nicht, da die Taktfrequenz 
niedrig ist und/oder der Speicher "on Chip".


Beispiele dieser Systeme:

Router in der Hausvernetzung, Unterhaltungselelektronik wie Fernseher 
und Setop-Boxen, Steuergeräte im Auto wie Navigationssysteme und 
Motorsteuerungen, ...

MfG

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

Janina schrieb:
> Ich benötige das um eine Frage aus den Hausaufgaben zu beantowrten:

wenn du im Unterricht aufgepasst hättest, dann könntest du die Frage 
auch selbst beantworten. Ich kann mir nicht vorstellen, daß derartige 
Themen nicht irgendwann / irgendwo im Unterricht erörtert wurden.

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Holler schrieb:
> Nachteile:
>
> - kein Speicherschutz, d.h. ein Prozess kann den Speicher eines anderen
> überschreiben. Führt zum Absturz des Systems.

Es gibt auch µC ohne MMU aber mit MPU (Memory Protection Unit), uB bei 
Renesas V850 oder Infineon TriCore.

Vorteil einer MPU ist, daß sie idR wesentlich feingranulärer 
konfiguriert werden kann, was Speicherverschnitt deutlich verringert.

Eine MMU kann zwar auch MPU-Aufgaben übernehmen, aber für µC nicht 
wirklich praktikabel.

> - kein virtueller Speicher, d.h. die verschiedenen Speicher im System
> müssen exakt adressiert werden. Auslagern von momentan nicht benötigten
> Speicher funktioniert nicht automatisch über das Betriebssystem.

Je nach System will man das garnicht haben, etwa je nach 
Sicherheits/Zertifizierungs-Level.

Statische Zuordnung vereinfacht zum Beispiel statische Analysen wie WCET 
(Worst Code Execution Time) falls unterschiedliche Speicher zum Einsatz 
kommen — für Embeddd-Systeme nicht ungewöhnlich.

> Die Software wird meist gut getestet, so dass Speicherschutz verzichtbar
> ist.

Testen hilf nicht gegen transiente Fehler.

> Cache-Speicher benötigen diese Systeme meist nicht, da die Taktfrequenz
> niedrig ist und/oder der Speicher "on Chip".

Auch auf Embedded-Systemen beschleunigt Cache die Ausführung enorm — 
sowohl Datencache als auch Instruktionscache. Die statische Analyse wird 
aber nicht einfacher dadurch...

> Beispiele dieser Systeme:
>
> Router in der Hausvernetzung, Unterhaltungselelektronik wie Fernseher
> und Setop-Boxen, Steuergeräte im Auto wie Navigationssysteme und
> Motorsteuerungen, ...

... Steuerungen für AKW, in Airbus A380, in lebenserhaltenden Systemen, 
...

von Holler (Gast)


Lesenswert?

Johann L. schrieb:
> Holler schrieb:
>> Nachteile:
>>
>> - kein Speicherschutz, d.h. ein Prozess kann den Speicher eines anderen
>> überschreiben. Führt zum Absturz des Systems.
>
> Es gibt auch µC ohne MMU aber mit MPU (Memory Protection Unit), uB bei
> Renesas V850 oder Infineon TriCore.

...

Das Ursprungsposting bezog sich auf eine MMU, nicht MPU. Auch wenn die 
Teilaufgaben einer MMU übernehmen kann.

Und überhaupt: deine sehr speziellen Eingaben sind alle richtig, aber 
glaubst du wirklich, dass ein mit dem Thema nicht Vertrauter das auch 
nur im entferntesten versteht oder weiterbringt?

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Holler schrieb:
> Johann L. schrieb:
>> Holler schrieb:
>>> Nachteile:
>>>
>>> - kein Speicherschutz, d.h. ein Prozess kann den Speicher eines anderen
>>> überschreiben. Führt zum Absturz des Systems.
>>
>> Es gibt auch µC ohne MMU aber mit MPU (Memory Protection Unit), uB bei
>> Renesas V850 oder Infineon TriCore.
>
> Das Ursprungsposting bezog sich auf eine MMU, nicht MPU. Auch wenn die
> Teilaufgaben einer MMU übernehmen kann.
>
> Und überhaupt: deine sehr speziellen Eingaben sind alle richtig, aber
> glaubst du wirklich, dass ein mit dem Thema nicht Vertrauter das auch
> nur im entferntesten versteht oder weiterbringt?

Es war lediglich eine Richtigstellung zu

Keine MMU => kein Speicherschutz

Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.