DEUTSCHE VERSION |
|
Links | | | Forums | | | Comments | | | Report news |
Chat | | | Polls | | | Newsticker | | | Archive |
amiga-news.de Forum > Amiga, AmigaOS 4 > Welches Multitasking hat das AmigaOS? | [ - Search - New posts - Register - Login - ] |
-1- | [ - Post reply - ] |
2001-08-13, 10:49 h NARR Posts: 59 User |
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 [ - Answer - Quote - Direct link - ] |
2001-08-13, 11:52 h Woody Posts: 115 User |
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 [ - Answer - Quote - Direct link - ] |
2001-08-13, 11:58 h GoldMomo Posts: 55 User |
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 [ - Answer - Quote - Direct link - ] |
2001-08-13, 12:43 h Sprudel Posts: 6 User |
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. ] [ - Answer - Quote - Direct link - ] |
2001-08-13, 12:48 h Stefan1200 Posts: 1056 User |
@ 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. ) [ - Answer - Quote - Direct link - ] |
2001-08-13, 13:01 h Harlekin Posts: [Former member] |
Ö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 [ - Edit - Answer - Quote - Direct link - ] |
2001-08-13, 13:55 h NARR Posts: 59 User |
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. ] [ - Answer - Quote - Direct link - ] |
2001-08-13, 15:16 h Harlekin Posts: [Former member] |
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) [ - Edit - Answer - Quote - Direct link - ] |
2001-08-13, 15:28 h NARR Posts: 59 User |
@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 [ - Answer - Quote - Direct link - ] |
2001-08-13, 16:33 h thomas Posts: 7718 User |
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/ [ - Answer - Quote - Direct link - ] |
2001-08-13, 16:39 h Jazz_Rabbit Posts: 420 User |
Zitat: Besitzt diese "Mischart", sag ich jetzt einmal dazu, noch ein anderes Betriebssystem? -- -= Jazz_Rabbit =- Where the 680x0 comes out Tonight.. [ - Answer - Quote - Direct link - ] |
2001-08-13, 17:44 h TomJoad451 Posts: 39 User |
Zitat: 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. [ - Answer - Quote - Direct link - ] |
2001-08-13, 22:15 h indypb Posts: 42 [Administrator] |
Hallo,Zitat: 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. ] [ - Answer - Quote - Direct link - ] |
2001-08-13, 22:53 h Holger Posts: 8116 User |
Zitat:Jedes Betriebssystem mit preemptiven Multitasking besitzt diese Möglichkeiten. Deshalb ist es auch nicht sinnvoll, hier von einer Mischform zu reden. Zitat: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. [ - Answer - Quote - Direct link - ] |
-1- | [ - Post reply - ] |
amiga-news.de Forum > Amiga, AmigaOS 4 > Welches Multitasking hat das AmigaOS? | [ - Search - New posts - Register - Login - ] |
Masthead |
Privacy policy |
Netiquette |
Advertising |
Contact
Copyright © 1998-2024 by amiga-news.de - all rights reserved. |