RoboterCC - Robotic Code Compiler
Forum Robot Kits NIBO 2 präemptives Multitasking

Welcome

Nachrichten

Sie sind nicht eingeloggt.

Werbung

Banner

Letzte Themen

  • Keine Beiträge vorhanden

Site-Statistic

  • 7433 private projects
  • 378 public projects
  • 16180353 lines compiled
  • 58212 builds
NIBO @ facebook YouTube Twitter
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:

THEMA: präemptives Multitasking

preemtives Multitasking 10 Jahre 9 Monate her #2640

Hi mfritscher,

""eigentlich" (hi) ist das Konzept recht einfach"

glaube ich Dir auf's Wort - für Dich :-), der Du Dich im Rahmen einer Bachelor-/Diplom-Arbeit damit intensiv beschäftigt hast.

Ich habe - wie geschrieben - vor vielen, vielen Jahren (auf Großrechner-Ebene) auch mal etwas damit zu tun gehabt. Aber nur als Nutzer der für mich transparenten Funktionen. Hier kommt es mir so vor, als müsse ich eine Art Experte sein, nur um das Multitasking "zu bedienen".

Beste Grüße
Dieter
Der Administrator hat öffentliche Schreibrechte deaktiviert.

preemtives Multitasking 10 Jahre 9 Monate her #2641

  • Egon
  • Egons Avatar
  • OFFLINE
  • Gold Boarder
  • Beiträge: 316
Hallo jim_quakenbush

Also - wenn Du Multitasking nicht anwenden willst, ist das doch in Ordnung, nur finde ich es nicht so toll, wenn versucht wird, dieses Multitasking schlecht zu reden (schreiben).

Das mußte ich nun doch mal loswerden - nix für ungut.

mfg

Egon
lokalisieren, eliminieren, Vollzug melden
Der Administrator hat öffentliche Schreibrechte deaktiviert.

preemtives Multitasking 10 Jahre 9 Monate her #2642

Hallo Egon,

ich will "Multitasking" keinesfalls "schlecht reden" - kann ich auch gar nicht, da es grundsätzlich eine sinnvolle Einrichtung/Erfindung ist.

Ich hinterfrage lediglich (zugegeben mehr oder weniger provokativ) ob es - neben dem Weg dahin - auf dem Nibo2 sinnvoll einsetzbar ist. Bei allen Hardware-nahen Prozessen kann ich das aktuell, aus meiner Kenntnis, nicht bejahen. Da wir uns auf und mit dem Nibo recht Hardware-nahen Prozessen verschrieben haben - wir führen nunmal keine Buchhaltung damit, rechnen nebenbei noch Pi auf 457 Stellen genau aus und bedienen quasi-parallel eine Auftragssteuerung - habe ich da so meine Zweifel.

Was mich weiter zweifeln lässt ist die recht geringe Anzahl an Multitasking-Versuchen von anderen AVR-Entwicklern/-Anwendern. Ich habe einige Ansätze im Netz gefunden aber das hält sich in argen Grenzen. Vielleicht liegt es einfach an der Komplexität? Bei größeren Systemen ist Multitasking wahrscheinlich leichter einsetzbar, da Hardware-nahe Funktionen oft von Sub-Einheiten "quasi-eigenständig" abgewickelt werden.

Aber ich nehme den Einwurf durchaus ernst - entschuldige mich in aller Form für die provokanten Äußerungen - und werde mich wieder auf das gelegentliche Mitlesen beschränken.

Beste Grüße
Der Administrator hat öffentliche Schreibrechte deaktiviert.

präemptives Multitasking 10 Jahre 9 Monate her #2643

Naja, es gibt schon recht viele Multitasking-Betriebssysteme (TinyOS, FemtoOS, FreeRTOS, TNKernel,...)
Auch gibt es erst in den letzten paar Jahren AVRs mit schön viel RAM (atmega 1284, atmegax), da macht Multitasking erst richtig Spaß ;-)

Das mit der einfachen Anwendung hat nichts mit dem Studium zu tun, wirklich nicht^^ Wo hast du denn noch konkret Probleme das zu durchblicken?
Das eigentlich Komplexe beim Multitasking ist der Contextswitch, und da haben eigentlich die wenigsten CPUs eine eingebaute Unterstützung. Der zweite Punkt, wo man ein wenig aufpassen muss, ist die Synchronisation des Zugriffs auf gemeinsame Ressourcen - aber da kann einem kein Prozessor helfen. Und in dieses Problem kommt man auch ohne explizites preepmtives Multitasking.

Wie gesagt, der Hauptvorteil ist eine einfache Erweiterungsmöglichkeit, ohne sich das komplette Timing bzw. die Aufgabenzerlegung jeses Mal nochmal durch den Kopf gehen lassen zu müssen. Der Verwaltungsoberhead hält sich auch in Grenzen - man brauche halt pro Stack eine kleine Verwaltungsstruktur und einen Speicherbereich für den Stack...

Zur Echtzeitfähigkeit: Nunja, wenn man n Tasks hat und der Timer bei x ms eingestellt ist hat man eine max. Wartezeit von n*x ms. Wenn man alle echtzeitkritischen Tasks eine entsprechend höhere Priorität ist kann man diese Schranke sogar noch verringern. Und dadurch ist das System echtzeitfähig :-) (Echtzeitfähigkeit bedeutet im Grunde nur, dass es eine Garantie gibt, dass ein System innerhalb einer vorgegebenen Zeitspanne reagiert)
Der Administrator hat öffentliche Schreibrechte deaktiviert.
Ladezeit der Seite: 0.053 Sekunden

Werbung