-
        

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14

Thema: Multitasking/Multithreading/Tasksynchronisation/Realtime

  1. #1

    Multitasking/Multithreading/Tasksynchronisation/Realtime

    Anzeige

    Hallo Leute,

    ich wollte mal fragen wie es in der Mikrocontrollerwelt (insbesondere AVR) mit Multitasking aussieht.

    Ich programmiere PCs unter Windoof und kann mit das Leben ohne parallele Prozesse, Queues und Semaphoren nicht vorstellen.

    Gibt es kostenlose Betriebssysteme für uCs, die AVR und Multitasking unterstützen?

    Was sagt iht über Realtime-programme, ist sowas möglich? Gibt es einen Vergleich über das Taskwechselverhalten bei unterschiedlichen RT-Betriebsystemen.

    Eugen

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    31.01.2004
    Ort
    36399
    Alter
    43
    Beiträge
    1.517
    Was willst du den mit ein Betriebssystem auf einem AVR ?

    Wie du unter Windoof einen Parallel Process oder Thread hin bekommst
    das muss du mir mal zeigen. Ich programmiere auch sehr viel unter Windoof aber im / Auf dem AVR hätte ich noch nie ein Thread gebraucht.

    Schon allein die Verwendung von C++ klaut auf dem AVR so viel speicher das ich noch möglich nur C benutze.

    Was hätte ihr alle bloss in Windows 3.1 Zeiten gemacht.

    beschreibe mal dein Problem genauer vielleicht kann man dann gemeinsam ein Lösung finden immer dran denken auf dem AVR haut kein Betriebssystem dazwischen.
    Home
    P: Meine Tochter (06.11.07) und Link
    M: Träumen hat nix mit Dummheit zu tun es ist die Möglichkeit neues zu erdenken

  3. #3
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.970
    Hallo!

    Für die PICs gilt das gleiche, wie oben geschrieben. Ich programmiere in ASM, aber habe trotzdem zu wenig Speicher. Die AVRs und PICs sind vergleichbar mit dem ersten PC vom Typ ZX-80.

    MfG

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    12.02.2006
    Beiträge
    459
    Es gibt schon verschiedenste Multitaskingansätze für die AVRs ( z.B. In diesem Link weiter unten )
    Es gibt verschiedene kleine RTOS-Betriebssysteme für den AVR, man muss allerdings genau überlegen, ob man so was wirklich braucht.

    robo

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    29.08.2005
    Ort
    winterthur
    Beiträge
    115

    Threads + Parallel-programmierung

    hi leute,
    ich benutz die propeller-chips von parallax
    die haben 8 cores (cogs)
    daten koennen parallel verarbeitet werden
    floating point mathe etc. (es braucht keine lookup-tables)
    die cogs koennen untereinander via globale vars komunizieren
    eine art threads-verarbeitung mit (lock, start, stop) kann programmiert
    werden.
    hat aber kein OS, spin-code und asm-code koennen gemischt werden.
    guck dir mal das proppeller-forum bei parallax an.
    gruss
    nomad

  6. #6
    Na gut ich sage mal so, ich habe schon mal C166 unter CMX RT mit dem Tasking-Compiler programmiert. Nur deshalb frage ich ob sowas auch für AVR möglich ist.

    Und unter Windoof ist es supereinfach parallele Prozesse zu programmieren.

    Eugen

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    31.01.2004
    Ort
    36399
    Alter
    43
    Beiträge
    1.517
    Ich bin nach wie vor der Meinung das es unter Windows keine parallel Processe gibt ausser vielleicht unter W2K3 auf eine Multiprocessor Machine.

    Gruß
    Home
    P: Meine Tochter (06.11.07) und Link
    M: Träumen hat nix mit Dummheit zu tun es ist die Möglichkeit neues zu erdenken

  8. #8
    Erfahrener Benutzer Roboter Genie Avatar von Hessibaby
    Registriert seit
    20.11.2003
    Ort
    Gelsenkirchen
    Alter
    65
    Beiträge
    1.597
    Kann mich nur anschließen, Egal ob Windows oder Linux, die arbeiten nur Quasiparallel. Das liegt aber ausschließlich an der Hardware. CPU, CACHE, Memorytranslationhub und Memory werden seriell genutzt, sprich: die daten werden von einem zum anderen transportiert, und während dieser Zeit geht nichts, gar nichts. Auch Multicore-/Multiprozessorsysteme bringen keine echt parallele Verarbeitung zu Stande.
    Es gab (vor vielen Jahren (15)) sehr gute Ansätze wie BitsliceCPU´s und Transputer die "fast" parallel liefen. Als die RISC- (vor allem Digital`s Alpha) und CISC-CPU´s aber immer schneller wurden und WIN NT auf beiden Plattformen lief wurden relativ schnell die Entwicklungen eingestellt. Transputer waren schnell und "relativ" einfach zu proggen.
    NaJa, ist History, genau wie die TTL-Särge.
    Gruß Hartmut

  9. #9
    Wer hat hier von echt parallelen Prozessen gesprochen. Ich meine natürlich quasi parallele.
    Es ist nun viel bequemere Methode zum Programmieren, als alles in eine Schleife zu packen.

    Eugen

  10. #10
    Erfahrener Benutzer Roboter Genie Avatar von Hessibaby
    Registriert seit
    20.11.2003
    Ort
    Gelsenkirchen
    Alter
    65
    Beiträge
    1.597
    Es gibt abhängige und unabhängige Prozesse, unabhängige kann man parallelisieren. Das Problem, gerade bei µC ist aber die Befehlslänge, d.h. wenn ein Befehl, zur vollständigen Ausführung, 10 Cycles braucht, dann braucht er die, während dieser Zeit kann nichts anderes abgearbeitet werden. Anders ist das beim, oben genannten, Propeller, der parallel asynchron arbeitet und auch abhängige Prozesse durch das automatische Einfügen von NOP´s (no Operation) parallelisiert. Der Microcode dieses Prozessors ist sehr gut designt.
    Ich bin auch kein IfThenElse Fan.
    Gruß

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •