Sunday, April 18, 2010

AmigaDOS and Intuition

In addition to its powerful custom chip set and video friendly output, the Amiga had something no other desktop machine could offer at the time: A true multi-tasking windowed environment.  The Mac had a powerful windowing system (and was even starting to have color - 1987 saw the introduction of the color capable Mac II), the PC had, well, Windows 2.0 and MS-DOS.  I think I will save comments on Windows 2.0 for another day - the best I can say about it here was that it allowed overlapping windows.
The Amiga had AmigaDOS, a TRIPOS derived, command-line based disk operating system in the mode of a Unix shell or perhaps TRISDOS command prompt.  It also had Intuition, a "library" of graphical user-interface components that formed the basis for the main graphical environment of the Amiga: Workbench. A key feature of the Amiga was that the core graphical components of the windowing system were part of the machines firmware (known as Kickstart - note I didn't say "ROM", as the first Amiga machines used a protected memory area rather than true ROM and loaded Kickstart from disk when the machine was first turned on.)  This meant that even when Workbench wasn't active, the core command-line interface of the machine (or the CLI) was still presented graphically in a window - the Amiga had no true text mode, as in the IBM PC.
The Workbench provides an environment that would be familiar to most PC users today - windows with pointers and graphical tools such a buttons and boxes, and a file-drawer metaphor for presenting files and directories.  Grab a file icon, drag it to another drawer, and it is copied (or renamed, etc.)  The difference between this environment and today's Windows or Mac OSX isn't a large chasm, which is testament to how well thought out it was.

Below the CLI and Workbench was Exec, the true beating heart of the Amiga OS.  Today you might call Exec a "microkernel", and you wouldn't be too far wrong.  Exec provided task scheduling for a true preemptive multitasking system, core support for dynamic libraries and devices, and a rather efficient inter-process communication facility that took advantage of the flat shared memory space in the Amiga.  Exec was light-years ahead of its contemporaries - MS-DOS was single-tasking and monolithic, and the Mac was monolithic with a cooperative cpu-sharing scheme available with Multifinder.

Not bad for a machine that could run with 256KB memory and one disk drive!

Next: My First Ami

No comments: