Mikrocontroller Betriebssystem?

5 Antworten

Viele, je nachdem, um welchen Mikrocontroller es sich handelt.

Häufige unterschiede beispielsweise die Echtzeitfähigkeit oder das Fehlen von Featurs für den Mehrbenutzerbetrieb.


TheMclovin 
Beitragsersteller
 02.09.2020, 13:02

Es handelt sich hierbei um den Arduino Mega 2560 Mikrocontroller

Destranix  02.09.2020, 13:08
@TheMclovin

Hat das Ding überhaupt ein Betriebssystem?

Soweit ich das recherchiert habe wird das Ding programmiert, indem man eine Firmware(quasi ein eigenes "Betriebsystem") mittels Bootloader aufspielt.

ultrarunner  02.09.2020, 13:15
@TheMclovin

OK, also um den ATmega2560 Mikrocontroller. Der hat 256 KB ROM und 8 KB RAM. Das würde für ein OS wohl auch etwas knapp werden.

TheMclovin 
Beitragsersteller
 02.09.2020, 13:16
@Destranix

Eben das war das merkwürdige an der Frage, da diese eigentlich ja gar kein BS besitzen. Ich habe ebenfalls recherchiert und es heißt Arduino-Boards sind nicht gedacht um als "Computer" mit Betriebssystem zu dienen. Dadurch dass ich in diesem Fach nie wirklich gut war, dachte ich mir ich frage erstmals bevor ich mit meinem Halbwissen diese Frage beantworte. Danke für die Hilfe :)

Also zunächst: Es gibt sehr viele Betriebssysteme für Mikrocontroller, sie sind nur nicht so bekannt. Ein bekannteres - auch im Hobby-Bereich ist FreeRTOS. Hab auch mal von EricaOS gehört.

Ein Betriebssystem ermöglicht unter anderem, dass mehrere Tasks/Prozesse quasi parallel ausgeführt werden, stellt Möglichkeiten für Mutexe zur Verfühgung, organisiert Speicherverwaltung, stellt zum Teil auch Gerätetreiber zur Verfügung. Sie dürfen nur wenig "Ballast" mitbringen, das heißt die Features müssen also sehr minimal gehalten werden. Wenn keine SD-Karte oder ähnliches angeschlossen ist, braucht man z.B. keinen FAT-Treiber.

PS: Echtzeit-Betriebssystem heißt übrigens, dass dir das Betriebssystem eine Garantie gibt, dass eine Aufgabe innerhalb einer Zeit fertig wird. Es heißt nicht: "so schnell wie möglich".

Vielleicht jene, dass häufig gar kein Betriebssystem verwendet wird. Denn die Aufgaben, die ein Betriebssystem erledigt, fallen bei vielen Mikrocontrollerprojekten gar nicht an. Oder zumindest nur in sehr rudimentärem Ausmaß, sodass man das leicht im eigenen Programm mit-implementieren kann.

Außerdem ist in vielen Mikrocontrollern gar kein Platz für ein Betriebssystem. Da gibt's welche mit nur 4 KB ROM und 256 Byte RAM … pack da mal ein Betriebssystem mit rein ;-)

Wenn man (bei komplexeren Projekten) doch ein Betriebssystem benutzt, wird man in vielen Fällen ein sogenanntes Echtzeit-Betriebssystem wählen.

Oft werden auf Mikrocontroller gar keine Betriebsysteme eingesetzt, sondern wirklich nur der Code, der ausgeführt werden soll geflasht.

Wenn doch manchmal ein Betriebsystem benötigt wird, wird in der Regel ein sehr abgespecktes Linux o.Ä. aufgespielt.

Ein Unterschied zu normalen Desktop Betriebsystemen ist vielleicht, dass Mikrocontroller-Betriebsysteme oft Echtzeit-Betriebsysteme sind.

Es ist meistens viel kleiner als normale Betriebssysteme