Amiga zum zweitgrößten Computer erklärt

  • Das war der riesige Vorteil einer Architektur, wo die Prozesse von Anfang an mit 32 Bit Pointern hantieren, statt mit mehreren 16Bit Segmenten, die man umständlich umbiegen muss, wenn man mal mehr als 256KB in einem Programm nutzen will.

    Naja, ganz so schlimm ist es ja auch wieder nicht bei PCs, wenn man Software einsetzte, die beim 80286 den Protected Mode oder beim 386er und besser den erweiterten 386-Modus nutzt. Nur eben DOS selbst kann damit nichts weiter anfangen, als eben emm386 zu laden. Aber unter einem Windows 2.0/286 oder Windows 3.0 im 386er Modus ging das mit dem linearen Adressraum auch schon. Kaum ein Amiga hatte um 1990 herum 64 MB RAM, bei PCs gabs das dann aber schon gelegentlich, gegen den Preis eines mindestens mal Mittelklasse-Autos...

    Lineare 32 Bit Addressierung in Windows 2/3 ? Quellen? Bin erst mit Windows 95 vom Amiga umgestiegen, was ich aber an altem Win16 API Zeug gesehen habe, muss man noch mit short und long pointern und Handles und Speicher-Locks für die Handles rumhantieren. Das sah nicht nach virtuellen 32 Bit Addressen mit Paging aus, sondern nach dem üblichen Realmode Gegurke.


    Und ja, für Windows 3.11 for Workgroups kam irgendwann Ende 93 oder 94 noch die Win32s API. Aber die hat AFAIK auch alles auf Win16 gemappt.

    PCs wurden noch bis Windows 95 seltenst mit mehr als 4MB RAM verkauft, einfach deshalb weil man mit normaler Win16 Software nix davon hatte.

  • Schau dir halt mal die 286er und 386er Versionen von Windows 2 & 3 an. Da ist nix mehr mit Segmenten.

    Du hast den Sourcecode oder was sind die Quellen für diese Aussage?

    AFAIR war Windows 1.0-WfW nur grafische Aufsätze für DOS und haben für Speicher und Dateiverwaltung weiterhin DOS und BIOS genutzt.

    Glaube mich an Aussagen in c't und "Undocumented Window 95" von Schulman erinnern zu können, dass auch Windows 95 noch (gut versteckt) weiterhin DOS 6.0 als Unterbau nutzt. Wie soll das gehen ohne real-mode oder zumindest virtual real-mode.

    Mag ja sein , dass API und C-Compiler das Segmentgeraffel gut wegabstrahiert haben, aber auf der Maschinencode Ebene ist es sicher noch da.

    Hat schon seinen Grund, warum Pointer in den WinXX APIs den Prefix LP_ haben: long pointer == segment+offset

  • Ist klar. Aber wie viel Software hat es wirklich genutzt? Wie viel Teile des Systems liefen im protected mode und wie viele im virtual realmode??


    Afair konnte noch Win3.1 per Option ganz im realmode laufen und die meiste Software auch. Daher nehme ich an, dass sie genau dafür geschrieben wurde , um max. Kompatibilität beim grössten Kundensegment zu haben. 386er waren noch bis in die 90er sehr teuer. Und ursprünglich wollte IBM und Microsoft ja hier mit OS/2 punkten. Das war das eigentliche protected Mode Betriebssystem.

  • https://de.wikipedia.org/wiki/Protected_Mode


    Da ist was, was man auch halbwegs verstehen kann.


    Und da gibt es einen interessanten 386er Bericht aus der Zeit (1991)

    http://www.ganssle.com/articles/aprot1.htm



    Ich hätte aber ehrlich gesagt auch gedacht, daß gerade PC's noch lange mit komischen Speicherkonstrukten unterwegs waren, insbesondere auch, wenn es darum ging, alte Software am Laufen zu halten. Anscheinend ist das 16Bit real-mode Zeugs da per Hardware auf modernere Varianten abgebildet, was das erklären würde. Es gibt aber anscheinend auch ein Prozessor-Bit womit man den Mode umschalten kann, weshalb natürlich sowas wie ein Win95 das prinzipiell auch "on the fly" tun könnte.


    Bemerkenswert finde ich ja auch, daß die diese Segmentierung beibehalten haben und auch in dem Protected Mode das noch verwenden, nur eben mit größeren Segmenten, weshalb es dann nicht so schnell auffällt. Das Paging scheint wirklich erst später spruchreif geworden zu sein.


    Wichitg: Paging braucht eigentlich ja auch eine echte MMU mit Tabellenverwaltung. Das gab es rudimentär auch erst ab 386er.

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

  • Es gab ja auch das DPMI. DOS protected mode interface. Trotzdem wird keiner DOS ernsthaft als 32 Bit Betriebssystem bezeichnen.

  • Natürlich ist das eklig. Aber wer die User base nicht auf wenige High-end User mit 386er begrenzen wollte musste das halt tun.

  • Und da gibt es einen interessanten 386er Bericht aus der Zeit (1991)

    http://www.ganssle.com/articles/aprot1.htm

    Meine Aussagen bezogen sich ja auch auf den Stand 1985 als der Amiga auf den Markt kam und nicht auf 1991 oder gar 1995 als Windows 3.x oder Windows 95 dann aktuell wurden und 386ff bezahlbar wurden.


    1985 war Speicherschutz im Consumerbereich unbekannt und die nötige Hardware viel zu teuer um den Massenmarkt zu erreichen.


    als Commodore dann die weiter Entwicklung des Amigas übernahm haben sie es halt verpasst das System entsprechend weiter zu entwickeln. Im PC Lager, wo auch mehr Geld war, wurden solche Dinge aber nachgerüstet. Trotzdem hatte man noch lange mit dem verkorksten Speichermodell des Ur-8086 zu kämpfen, was halt bei Atari ST, Amiga und Macintosh dank der 32 Bit Architektur des 68.000 kein Problem war.

  • Der protected mode des 286 arbeitete weiterhin mit Segmenten, nur konnten sie größer sein und boten Virtualisierung und Schutz. VM ist aber mit ungleich großen Segmenten umständlicher als mit Paging. Aber viel gravierender war, dass man beim 286 PM nicht in den RM zurückkam und damit keine alte RM Software in einem Multitasking System nutzen konnte. Der 386 hatte Segmente und orthogonal dazu (oder darunter) Paging und konnte die Modes schalten und mit dem virtual RM alte Software parallel weiternutzen. Daher haben sich die OS dann auf den 386er gestürzt. Wenn schon ein großes Fass aufmachen, dann gleich für einen Prozessor wo es sich lohnt.

    Der 286er hatte auch nur einen 24 Bit Adressbus, also nicht mehr als der Ur- 68000. Auch hier war also kein Blumentopf zugewinnen gegen die billigeren 68000er Systeme.

  • Dass man vom Protected Mode (PM) nicht in Real Mode (RM) zurück kommt, stimmt nicht so ganz. Es war von Intel nicht vorgesehen, nur über einen Reset. Genau das wurde dann aber gemacht. Es gab eine Möglichkeit über den Reset hinweg, abzulegen ob man wirklich einen Reset oder einen Rücksprung in den RM machen wollte. Kranke Lösungen, langsam aber geht und wurde auch so genutzt.

    Zu dem Vorurteil Windows < 95 sei nur ein DOS-Aufsatz: Das ist nicht korrekt. Der Rechner bootet zwar erst DOS, ersetzt dann aber die DOS-Treiber. Sind reine RM-Treiber geladen, kann das auch mal schief gehen. DamalsTM hat sich ein Bekannter mal einen Boot-Sektorvirus eingefangen :fp:. Gemerkt hat er es, weil sein CD-ROM-Laufwerk unter Windows weg war. Der Virus war nicht 32bit-kompatibel.

    Ich bin eigentlich auch ein Windows-Basher aus tiefstem Herzen, aber bitte mit Tatsachen.

    BTW mein 386er von 91 hat mit 8MB unter Windows gut funktioniert.

    Das Genie beherrscht das Chaos

  • Das sind Details. War der Meinung 32Bit HD Treiber gab es erst mit Win3.11 oder WfW, aber da ich erst 1997 vom Amiga 4000 auf Win95 DOSe umgestiegen bin, habe ich das schlimmste DOS Gemurxe nur als amüsierter Zuschauer und c‘t Leser mitekommen. Letztere war noch die 90er über voll mit Artikeln der Art „Wie bekomme ich meinen PC dazu, dass ich damit trotzdem arbeiten kann“. Amiga hatte ab 1987 Autoconfig und PC hatte ab 1995 „Plug‘n‘Pray“ - hurra! Keine IRQ/DMA Jumperorgie mehr um etwas Sound und Joystickport zu bekommen.


    Der 8086 war halt ein aufgebohrter 8Bit Prozessor und MS-DOS ein aufgebohrter CP/M Clone und Windows 1.x/2.x ein dilettantischer MacOS Clone. Und 68K MacOS war konzeptionell auch nicht mal halb so gut wie AmigaOS. Es hatte ne poliertere GUI und ne große Toolbox, aber Tasking und Memorymanagement waren halbgar. Und das Funktionieren der GUI war zu 50% Aufgabe jeder Applikation. Was bei Intuition out-of-the-box funktionierte (Windows verschieben, Menüs rausklappen, etc.) musste jedes Mac Programm mit hunderten Zeilen Boilerplate Code in der Eventschleife am Laufen halten).

    Das ist kein DOS/Mac Gebashe, es ist schlicht eine Tatsache, das AmigaOS 1985-1990 das einzige konzeptionell moderne OS war, das im Home-Consumermarkt eine nennenswerte Verbreitung fand. Wie schon erwähnt, hatte es Detailschwächen, schlechten Support durch C= und wurde viel zu langsam weiterentwickelt.

  • Mit AmigaOS kenn ich mich garnicht aus, da kann ich nichts dazu sagen. Ich fang grad erst damit an, mich mit meinen Amigae zu beschäftigen.

    In MacOS hab ich Datenbanken programmiert, da hat man nix mit dem OS zu tun.

    Unter System7 waren aber viele Programme deutlich kleiner als z.B. unter Windows, selbst die MS Office Produkte. System6 konnte WIMRE erst mit dem MultiFinder erst zwei Programme gleichzeitig starten.

    Von der Intuition finde ich MacOS eigentlich am besten.

    Das Genie beherrscht das Chaos

  • Mit "Intuition" meine ich die intuition.library des Amiga, die die GUI-Routinen enthielt. Ich habe privat als Schüler und dann nochmal im Studium System 7/8 mit C programmiert, und festgestellt, dass es viel mehr "Handarbeit" erfordert als AmigaOS, um grundlegende Dinge am Laufen zu halten. Natürlich auch das kooperative Multitasking.


    Aber die GUI von MacOS war halt deutlich durchdachter und Apple hat mit den "Human Interface Guidelines" auch klar an die Entwickler kommuniziert, wie eine Applikation zu funktionieren hat. Auch z.B Copy&Paste und Drag&Drop, PICT Format usw. war alles schon viel ausgereifter. Von den Text- Font- und Layout-Handling-Routinen und Color QuickDraw/QuickTime ganz zu schweigen. Aber das waren halt alles Sachen, die 1984-1994 nach und nach in die Toolboxen einflossen. Und C= hatte halt ein Top-Management (Irving Gould, Mehdi Ali) das keinerlei IT-Affinität hatte, bestenfalls die PC-Kisten der Sekretärinnen aus direkter Anschauung kannten, und die Entwicklung verschlafen hat und die wenigen fähigen Leute ausbremste oder gleich vergraulte.


    Aber Stand 1985 war AmigaOS einfach deutlich besser als MacOS. Es gibt da auch einige Anekdoten. Carl Sassenrath, der Hauptentwickler des Amiga Multitasking-Microkernels (Exec), wechselte kurz nach der Übernahme von Amiga durch Commodore zu Apple Research. Dort wunderten sich seine neuen Kollegen, warum er den Amiga verlasse und zu Apple kam, weil man - auch wegen der anfänglich schlechten Mac-Verkäufe - davon ausging, dass Amiga und Atari ST den Macintosh aus dem Markt drängen würden (weil Erster technisch viel besser und billiger und Zweiter technisch auch besser und viel, viel billiger).

    Sassenraths Antwort sinngemäß: "Ihr seht nur die technischen Vorteile des Amigas, aber ich kenne jetzt das Commodore Management."


    Umgekehrt gibt es die Geschichte (in Bagnall's Buch "Commodore - The Final Years"), dass der Apple Chefentwickler (nach Jobs Weggang) Jean-Louis Gassée sehr vom Amiga beeindruckt war, und mit dem Mac II die Ambition verfolgte den Amiga im Multimedia-Bereich einzuholen. Aber richtig glücklich war er bei Apple auch nicht und versuchte bei Irving Gould entweder CEO zu werden, oder Commodore den Amiga abzukaufen.

    Beides kam nicht zustande (wie so manch Andere für C= sinnvollen Deals, die Gould und Ali vermasselten) und so startete Gassée seine eigene Firma mit Geld vom Wagniskapitalgeber Ross (der mal US Präsident werden wollte) und entwickelte die BeBox und BeOS. Letzteres soll stark vom AmigaOS beeinflusst sein, und wäre um ein Haar statt NextStep von Apple als neues OS für den Mac gekauft worden.

  • Was bei Intuition out-of-the-box funktionierte (Windows verschieben, Menüs rausklappen, etc.) musste jedes Mac Programm mit hunderten Zeilen Boilerplate Code in der Eventschleife am Laufen halten).


    Das hat aber teils auch Vorteile, gerade weil das Programm dann auch ein wenig Einfluß haben kann, was es alles noch slebst machen will, evtl. zusätzlich zu dem, was das OS anbietet.


    Das RISCOS ist ja ebenfalls kooperativ und da hat man zusätzlich zu den normalen Aufrufen auch ein sogenanntes NullEvent, was man quasi immer dann bekommt, wenn das OS gerade Zeit vergeben kann. Wenn man das nicht zurückgibt, steht natürlich der Rest der Kiste still, aber es erlaubt eben auch Sachen mal in quasi minimaler Gesamtzeit am Stück wegzurechnen, ohne daß das OS dann gleich unterbricht. Strenggenommen kann man sowas natürlich auch in einen anderen Aufruf reinhängen. Der Effekt ist dann, daß z.B. ein Bildkonverter einfach mal die Konvertierung hintereinander macht und der Nutzer sitz halt 2 Sekunden davor und wartet, was er aber sowieso machen würde, weil er ja i.a. gleich mit dem umgerechneten Bild weitermachen will.


    Wichitg ist aber, daß man alle die Events, die man gar nicht benutzt in einer Maske ausmaskiert - und das ist z.B. sowas, wo ich vermute, daß ganz viele insbesonderen der frühen Programm und Freeware Sachen da einfach alles auf ON setzen und dann intern nur auf bestimmtes reagieren. Das kostet aber ohne Ende Zeit, weil das OS ja alles erstmal ans Programm weitergibt.




    Das ist kein DOS/Mac Gebashe, es ist schlicht eine Tatsache, das AmigaOS 1985-1990 das einzige konzeptionell moderne OS war, das im Home-Consumermarkt eine nennenswerte Verbreitung fand.


    Mit AmigaOS kenn ich mich garnicht aus, da kann ich nichts dazu sagen. Ich fang grad erst damit an, mich mit meinen Amigae zu beschäftigen.


    Ich habe da auch nur mal reinge"schnuppert". Aber das ist schon wirklich richtig gut - insbesondere für 1985. Da sind untendrunter noch so ganz eigenartige Sachen, die zu der Zeit überhaupt nicht auf einen Homecomputer gehören. Etwas die eigenartige DeviceTreiber Geschichte und so eine Art Abstraktion für Datentypen ( und IFF als Format ) und dieses REXX womit der normale Amiga User NIE Kontakt hat und eine Commandshell, die auch ganz gut funktioniert, wenn man mal die eigenwillige bzw. eigene Notation bißchen drauf hat.


    Beim Mac ( und eigentlich auch bei RISCOS ) ist der Riesenvorteil, daß es ein definiertes Styleguide gibt, an das sich die Programmierer auch gehalten haben ( großteils ); beim Mac evtl. eher über Druck ( Lizenzverlust ) woanders mit mehr Freihheitsgraden. Aber im Endeffekt mit einer einheitlichen Nutzerumgebung - etwas was immer noch ein Vorteil von Apple ist. Heute gibt es ganz Arbeitsgruppen nur für sowas.


    Dagegen spricht dann, daß es ja irgendwie auch schön ist, wenn mal was Neues gemacht werden kann, auch in der Oberfläche und beim Amiga hat man das oft. Insbesondere gab es aber gerade beim Amiga wohl jede Menge professionelle Programme, die einfach nur direkt auf dem BIldschirm liefen und ihren eigenen "Modus" mitgebracht haben. Und den hat man dann gelernt und benutzt - und war damit VIEL effektiver unterwegs als mit Klick's in hakeligen Menus. Bei den SGI's war das übrigens auch so. Da kommt vieles einfach mit eigener Bedienung und die Leute haben es nach Anlernphase wohl wesentlich besser gefunden als mit Standardoberfläche. Ein Freeware Tool, wo man sich das schön anschauen kann, auch weil es überall verfügbar ist, ist Blender.

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries