amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Amiga, AmigaOS 4 > Welches Multitasking hat das AmigaOS? [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

13.08.2001, 10:49 Uhr

NARR
Posts: 59
Nutzer
Liebe Amiga Experten, klärt mich doch mal bitte auf:

Bisher dachte ich immer, das AmigaOS besitzt ein präemptives
Multitasking. Als ich aber unlängst in einer alten Amiga Format
schmökerte, fiel mir ein Artikel von Hardware-Guru Simon Goodwin über
Multitasking auf (AF136 - letzte Ausgabe), indem er folgenes schreibt:
"The Amiga is essentially a real-time co-operative system, and these
two attributes mark it out from Windoze, Mac and Unix boxes...". Damit
sagt er also, dass der Amiga sich von anderen Plattformen durch ein
Echtzeit-Kooperatives Multitasking abhebt.

Kann mir mal jemand erklären, ob das AmigaOS nun ein präemptives oder
ein kooperatives besitzt? Was genau wäre bei einem
Echtzeit-Kooperativen Multitasking der Vorteil gegenüber einem
Präemptiven? Und: Was genau sind die die Vor- und Nachteile der
jeweiligen Systeme?

Danke schon mal,
Richard

[ - Antworten - Zitieren - Direktlink - ]

13.08.2001, 11:52 Uhr

Woody
Posts: 115
Nutzer
Also meiner Meinung nach ist das AmigaOS ein präemptives Multitasking-System.
Daher ja auch das System mit den Prioritäten.
Denn im co-operativen Mltitasking,müsste jeder die Task selber das Multitasking
übernehmen.Die Tasks müssten also "entscheiden",ob er mal etwas CPU-Zeit an
nen anderen Task abgibt.Beim Amiga wird das ja alles vom Betriebssystem
übernommen.
Ich kenn auch eigentlich keine Vorteile des co-operativen Systems gegenüber unserem.

Cu

[ - Antworten - Zitieren - Direktlink - ]

13.08.2001, 11:58 Uhr

GoldMomo
Posts: 55
Nutzer
Woddy sagt es. Der Amiga hat ein präemptives Multitasking-System.
Mir faellt auch kein Vorteil eines co-operativen Multitaskings ein.
Kannst dir ja die Demo von Executive aus dem Aminet laden. Dort
kannst du dann deinen scheduler selbst waehlen. Und es
wird nochmal alles ueber Multitasking im Guide erklaert.

mfg goldmomo

[ - Antworten - Zitieren - Direktlink - ]

13.08.2001, 12:43 Uhr

Sprudel
Posts: 6
Nutzer
co-operatives Multitasking hatte win3.x und eigentlich nur nachteile:

wenn ein Task meint, er ist am wichtigsten kann er das ganze System blockieren, und die anderen Tasks nichtmehr drannkommen lassen,

ausserdem bringt ein Fehlerhaftes Programm gleich das ganze System zum abstürzen bringen.

Heute hat der Amiga aber Multitaskingmäßig keine Vorteile mehr gegenüber dem PC, da ab Win95 der PC auch präemptives Multitasking benutzt.

[ Dieser Beitrag wurde von Sprudel am 13.08.2001 editiert. ]

[ - Antworten - Zitieren - Direktlink - ]

13.08.2001, 12:48 Uhr

Stefan1200
Posts: 1056
Nutzer
@ Sprudel:
Allerdings funktioniert das von Windows nicht so gut wie auf dem Amiga ;-)
--
MfG Stefan1200

Amiga IRC Chat: http://amigafun.stefan1200.de
Wichtig: Rechtschreibfehler entstehen nur durch die elektronische Übertragung und sind daher vom Autor nicht gewollt. :) )

[ - Antworten - Zitieren - Direktlink - ]

13.08.2001, 13:01 Uhr

Harlekin
Posts:
[Ex-Mitglied]
Öh, ich dachte eigentlich auch daß das AMigaos preemtives Multitasking hat und Echtzeitfähig ist?!
Da bis jetzt keiner was geschieben hat fang ich einfach mal an mir was aus den Fingern zu saugen. Korrigier mich bitte jemand wenn ich was falsches erzähl!!! ; hab leider nicht Informatik studiert ;)

--
Kooperatives Multitasking:
Hier teilt das Programm dem Betriebssystem mit, ob freie Zeit für andere Aufgaben zur Verfügung steht, sofern das Programm so programmiert ist. Andernfalls wird das Betriebssystem durch das laufende Programm blockiert. Hier hat nicht wirklich das Betriebssystem die volle Kontrolle, sondern

es ist auf die _Kooperation_ der Programme angewiesen.
Jeder Prozess erhält also die volle Rechnerkontrolle bis er sie kooperativ (freiwillig) wieder abgibt.

Preemptives Multitasking:
Beim preemptiven Multitasking legt das Betriebssystem fest, wieviel Zeit jedem aktiven Programm zugeteilt wird. Die zuteilbare Zeit wird auch als Zeitscheibe oder Timeslice bezeichnet (ich glaube beim Amiga hieß das Quantumsize).
Das Programm hat auf die Zeitzuteilung keinen Einfluss.
(Beim Amiga kann man exec mittels Forbid() anweisen vom preemptiven auf nichtpreemptives umzuschalten.)
Der Scheduler vom AMiga ist ein einfacher round-robin-Scheduler mit mehreren Prioritaeten, bei Unix ist das irgnwie anders (obwohl man das mit Executive oder wie das hieß auswechseln kann (liegt im Aminet))

Echtzeit:
Aufgaben werden in vordefinierten Zeitabschnitten gelöst.
Du kannst also sagen Mache(irgendwas), und du kannst sicher sein das du spätestens nach x-zeit ein ergebniss hast.
Das Amigaos kann zb garantieren, dass ein bestimmter Prozess auf jeden Fall innerhalb einer bestimmten Zeit an die CPU kommt, es existiert also eine obere Schranke bezüglich der Reaktionszeit auf bestimmte Ereignisse.
--

-Wind_DOS_ hat kein Preemtives und ist auch nicht Etchzeitfähig. (bei NT is das anderst)
-MAcOs hatte bisher kein preemtives.
-Unix hat preemtives, is aber nicht echtzeitfähig. (da gibet aber ein RTlinux)

Ich glaube es gibt aber noch einen unterschied zw Harter-echtzeit und weicher. Vielleicht ist Harte echtzeit mit Kooperativem MT irgednwie besser.

Irgendow bei QNX gibts ein Paper wo das alles ziemlich genau beschriben ist, aber das find ich nicht mehr.

Um jezz mal auf deine Frage bzg Amiga zurückzukommen; Ich habe keinen blassen schimmer was Simon Goodwin meint.
Kannst du vielleicht etwas mehr von dem artikel posten? Hört sich irgendwie so aus dem context gerissen an..

Vielleciht gibts für das alles aber auch einfach nur unterschiedliche Definitionen!?
Ach, ich hab keine Ahnung. Soll das mal jemand von dennen erklären die in den Kommentaren der News immer so schlau daherreden...

servus


[ - Ändern - Antworten - Zitieren - Direktlink - ]

13.08.2001, 13:55 Uhr

NARR
Posts: 59
Nutzer
Danke Harlekin für deine genauen Ausführungen!

Also, Simon Goodwin beschreibt das AmigaOS im Prinzip so, wie du das
präemptive Multitasking definiert hast - dennoch schreibt er dann:

"The Amiga is essentially a real-time co-operative system, and these
two attributes mark it out from Windoze, Mac and Unix boxes. Amiga
programs, and other gadgets, real and virtual, share the system and
share one another. They are written with this in mind, whereas Mac
applications are written to take turns on a single thread laced
between programs, and PC and Unix titles compete aggressively, with an
authoritarian system holding them at arms's length."

Er definiert in einem extra-Kasten noch die Begriffe folgendermaßen:

CO-OPERATIVE

Built around components working together, rather than competing
aggressively.

PRE-EMPTION

Automatic interruption of a task that has run as long as can be
allowed without jeopardising the illusion of programs running
simultaneously.

Ciao,
Richard


[ Dieser Beitrag wurde von NARR am 13.08.2001 editiert. ]

[ - Antworten - Zitieren - Direktlink - ]

13.08.2001, 15:16 Uhr

Harlekin
Posts:
[Ex-Mitglied]
Ich denke er meint mit CO-OPERATIVE nicht Kooperatives Multitasking, sondern daß die Verschiedenen Prozeße sehr eng miteinander zusammenarbeiten (können), währen sie zb bei Unix voneineinader getrennt/geschützt werden.

(natürlich alles ohne Gewähr)

[ - Ändern - Antworten - Zitieren - Direktlink - ]

13.08.2001, 15:28 Uhr

NARR
Posts: 59
Nutzer
@Harlekin

Da hast du wahrscheinlich recht!:-) Er hat ja auch nicht von einem
co-operative multitasking sondern von einem co-operative system
gesprochen. Dies ist wohl des Rätsels Lösung. Danke für die
Aufklärung! (auch wenn ohne Gewähr aber ich denke, du hast schon
recht. ;-)

Ciao,
Richard

[ - Antworten - Zitieren - Direktlink - ]

13.08.2001, 16:33 Uhr

thomas
Posts: 7717
Nutzer

Nunja, trotzdem kann man das AmigaOS auch als kooperativ bezeichnen. Denn wenn man präemptiv ganz genau nimmt, dann werden Task-Switches dabei nur nach dem Zeitscheiben-Verfahren durchgeführt. Beim AmigaOS kann (und soll !) die einzelne Task aber, genau wie bei Win3.1, die Kontrolle abgeben, wenn sie sie nicht mehr braucht. Das ist das kooperative Multitasking. AmigaOS ist also eine Mischung und vereint die Vorteile(!) von beiden Arten.

Gruß Thomas

--
Email: thomas-rapp@web.de

Home: home.t-online.de/home/thomas-rapp/


[ - Antworten - Zitieren - Direktlink - ]

13.08.2001, 16:39 Uhr

Jazz_Rabbit
Posts: 420
Nutzer
Zitat:
Original von thomas:
Beim AmigaOS kann (und soll !) die einzelne Task aber, genau wie bei Win3.1, die Kontrolle abgeben, wenn sie sie nicht mehr braucht. Das ist das kooperative Multitasking. AmigaOS ist also eine Mischung und vereint die Vorteile(!) von beiden Arten.

Gruß Thomas



Besitzt diese "Mischart", sag ich jetzt einmal dazu, noch ein anderes
Betriebssystem?


--
-= Jazz_Rabbit =-

Where the 680x0 comes out Tonight..

[ - Antworten - Zitieren - Direktlink - ]

13.08.2001, 17:44 Uhr

TomJoad451
Posts: 39
Nutzer
Zitat:
Original von Jazz_Rabbit:
Besitzt diese "Mischart", sag ich jetzt einmal dazu, noch ein anderes
Betriebssystem?


Ich denke mal was er meint ist, daß ein Programm, das nicht weiterarbeiten kann,
weil es auf Eingaben vom Benutzer wartet, mit Wait() o. ä. in den Wartezustand
gehen und den Prozessor für andere Programme freigeben kann und erst dann wieder
geweckt wird, wenn ein entsprechendes Signal für ihn ankommt. Das können sicher
auch andere Betriebssysteme.

Direkt an einer x-beliebigen Stelle einfach zu sagen "ok, nächster" wie beim
kooperativen MT ist beim Amiga nicht vorgesehen.

[ - Antworten - Zitieren - Direktlink - ]

13.08.2001, 22:15 Uhr

indypb
Posts: 42
[Administrator]
Hallo,

Zitat:
Original von NARR:
"The Amiga is essentially a real-time co-operative system, and these
two attributes mark it out from Windoze, Mac and Unix boxes...". Damit
sagt er also, dass der Amiga sich von anderen Plattformen durch ein
Echtzeit-Kooperatives Multitasking abhebt.


Ja.

Das AmigaOS hat preemptives Multitasking.

Unter bestimmten Umständen verhält es sich außerdem wie ein Echtzeit-OS. Ein Echtzeit-OS garantiert maximale Reaktionszeiten,
die nicht überschritten werden. Beispiel: Wenn ein Ball auf die Straße
hüpft, dann garantiert Dir ein Echtzeit-OS, dass innerhalb einer
Mikrosekunde der Bremsvorgang eingeleitet wird.

Da das AmigaOS aber keine Echtzeitfähigkeit garantiert, so dass
dieses Verhalten nur unter bestimmten Bedingungen vorliegt, schreibt
er 'real-time co-operative system'. Nur wenn sich also alle
Programme hinsichtlich der Echtzeitfähigkeit kooperativ verhalten,
nur dann reagiert das AmigaOS so wie ein Echtzeit-OS.

Dieses echtzeitähnliche Verhalten ist eine sehr wichtige Eigenschaft des AmigaOS, die mir allerdings erst mit der QNX-Sache bewußt geworden
ist.


tschuess
[|8:)

[ Dieser Beitrag wurde von indypb am 13.08.2001 editiert. ]

[ - Antworten - Zitieren - Direktlink - ]

13.08.2001, 22:53 Uhr

Holger
Posts: 8116
Nutzer
Zitat:
Original von Jazz_Rabbit:
Besitzt diese "Mischart", sag ich jetzt einmal dazu, noch ein anderes
Betriebssystem?

Jedes Betriebssystem mit preemptiven Multitasking besitzt diese
Möglichkeiten. Deshalb ist es auch nicht sinnvoll, hier von
einer Mischform zu reden.
Zitat:
Original von TomJoad:
Direkt an einer x-beliebigen Stelle einfach zu sagen "ok, nächster" wie beim kooperativen MT ist beim Amiga nicht vorgesehen.

Es ist technisch möglich, wird aber nicht gemacht, da es keinen
Sinn macht. Entweder, das Programm weiß, worauf es warten will,
oder es setzt seine Priorität herunter, das explizite Abgeben ist
jedenfalls nicht sinnvoll.

mfg

--

Good coders do not comment. What was hard to write should be hard to read too.

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Amiga, AmigaOS 4 > Welches Multitasking hat das AmigaOS? [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.