Forum: Mikrocontroller und Digitale Elektronik Betriebssystem + µC = ?


von Hans (Gast)


Lesenswert?

Hi,
ich hab immer mehr davon gehört, dass es Betriebssysteme für µC gibt. 
Daraufhin habe ich mich einwenig in FemtoOs eingearbeitet. Allerdings 
fehlt mir immer noch eine Antwort auf die Sinnfrage.
Wozu brauche ich auf einem Mikrocontroller eine Betriebssystem und wo 
steckt für mich der Mehrgewinn ?
Frisst das Betriebssystem nicht automatisch den Gewinn durch 
performanceeinbußen und erhöhten Speicherbedarf wieder auf?

Ich hoffe auf eine angeregte Diskussion

Hans-Martin

von Harald (Gast)


Lesenswert?

µC + Betriebssystem = modularer wartbarer (von anderen Personen) Code.

von hakuspakus (Gast)


Lesenswert?

die Welt ist voll von Bekloppten...davon habe ich etwas gehoert !

von Wegstaben V. (wegstabenverbuchsler)


Lesenswert?

@hakuspakus

und in welchem Zusammenhang steht deine Äußerung mit Betriebssystem und 
uC?

Sollte das jetzt eine "lustige" Antwort auf die Einleitung "ich hab 
immer mehr davon gehört" sein?

Oder zweifelst du den Nutzen eines Betriebssystems für uC grundsätzlich 
an?

Oder meinst du, daß alle die sich mit uC und Betriebssystemen bekloppt 
sind?


Sabbeln nur deswegen, um Worte abzusondern, ist nicht immer 
sinnvoll.....

von Blubbelgumpf (Gast)


Lesenswert?

Ein µC-Betriebssystem ist dann sinnvoll, wenn man ein universell 
einsetzbares Gerät haben will, das man an verschiedenste Aufgaben durch 
kleine Programme anpassen kann, siehe z.B. Palm und andere Handhelds.

Man braucht dann im Bedarfsfall nicht gleich die ganze Software neu 
schreiben, sondern bastelt nur ein kleines einfacheres Unterprogramm, 
dem dann die komplizierteren Funktionen (z.B. Grafikfunktionen auf einem 
Farb-Display, oder Ein-Ausgabe von Daten in einem Dateisystem) vom 
Betriebssystem zur Verfügung gestellt werden.

Wenn bloss eine einzige einfache Anwendung, z.B Temperaturregelung, auf 
dem µC laufen soll, ist ein Betriebssystem natürlich Overkill.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Ein Betriebssystem ist auch dann Sinnvoll, wenn man Software von 
mehreren unterschiedlichen Herstellern einsetzen möchte.

Beispiel:
- Siemens Bedienpanel
- WinCE auf einem Microcontroller (z.B. MIPS Chip)
- VNC-Server kann darauf auch installiert/aktiviert werden
- Softing OPC Server kann da auch drauf.
- Datei-Explorer
- USB-Stick
- Fast so wie Windows, nur halt von allem etwas weniger.

Wenn Du aber nur wegen dem Grafikdisplay und irgend welche Knöpfe auf 
dem Bildschirm / Touchscreen ein Betriebssystem haben willst, dann ist 
es eher zu überlegen ob man nicht lieber eine Library von z.B. Segger 
einbindet, die das kann.
Schließlich hat ein Betriebssystem gleich mal ordentliche Anforderungen 
bzgl. RAM/Flash Bedarf.

Diese speziellen Librarys kommen hingegen mit einigen wenigen KB..MB 
vollkommen klar.

Ein Programm muss man sowiso selbst programmieren. Ob man selbst etwas 
mehr in die Grafik stecken muss oder ob man die Problemen bei der 
Betriebssystem-Anpassung meistern muss, ich glaube das schenkt sich 
nicht viel.
Vor allem hat man, wenn man es selbst macht, alles selbst in der Hand. 
Beim Betriebssystem ist man immer abhängig vom System, das einem zu 
einer bestimmten Betriebsweise zwingt, wehe man möchte es gerne anders 
haben...

von JojoS (Gast)


Lesenswert?

Ein kleines OS macht dann Sinn wenn der µC viele verschiedene Dinge tun 
soll. Hier gab es mal ein Projekt 'RGB Controller' mit einem ATMega128, 
da wurde das sehr schön demonstriert. Hört sich erstmal nach einer 
einfachen Aufgabe an, aber wenn das Ganze stetig erweitert wird kann 
auch ein 'Mini' Projekt schnell unübersichtlich werden und die 
Fehleranzahl und Fehlersuche wachsen dann überproportional schnell. In 
dem Controller war die RGB LED Ansteuerung als Kern, dazu LCD 
Ansteuerung, verschiedene Programme, Sensoren abfragen und in die 
Lichtsteuerung einbringen uvm.
Mit einem Timer und zyklischer Abarbeitung kann man natürlich auch eine 
Menge erledigen, aber mit Interprozesskommunikation über globale 
Variablen fängt dann das Chaos an.
Nur muss man für ein OS den µC meist eine Nummer grösser wählen um die 
'verschwendeten' Resourcen auszugleichen, aber wenn es nicht um grosse 
Serien geht und z.B. Wartbarkeit des Codes wichtig ist lohnt sich das 
oft. Aber auf einem ATTiny würde ich das nicht machen...

von Armin (Gast)


Lesenswert?

so spontan würd ich sagen, der größte Vorteil steckt in der 
Nebenläufigkeit. Ein Betriebssystem kann die Ressourcen auf mehrere 
Prozesse verteilen, was viel Programmierarbeit sparen kann.

Stell dir vor, du hast zwei Regelprozesse, die in Schleifen durchlaufen. 
Eine Schleife dauert 99msec, die andere 100msec. Das in ein Programm 
zusammenzufieseln macht keinen Spass.
Durch die Nebenläufigkeit ergeben sich weitere Forderungen wie z.B. 
interprozesskommunikation, Treiber, Ressourcenverwaltung...

von Purzel H. (hacky)


Lesenswert?

Nein, da genuegt ein Echtzeitkernel, als Library.

von Hans (Gast)


Lesenswert?

Danke!
Jetzt weiß ich mehr !

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.