Classic Computer Magazine Archive COMPUTE! ISSUE 76 / SEPTEMBER 1986 / PAGE 112


Charles Brannon, Program Editor

The Operating System

Amiga has released beta-test copies of version 1.2 of the operating system. These experimental versions are being distributed to software developers, but Amiga is encouraging informal distribution to help them get as much testing as possible. There will be a few more beta versions released, and we should see version 1.2 (which may actually be called version 2.0) out by Christmas.

However, it is also reported that Amiga is preparing to replace the WCS (Writeable Control Store, the area of RAM used to store the Kickstart portion of the operating system) with EEPROM (Electrically Erasable Programmable Read Only Memory), finally burning the operating system permanently into ROMs on the motherboard. This would have to be the final version, since replacing ROMs, if bugs are later discovered in the operating system, is not a trivial task.

The End Of WCS?

If Amiga replaced the WCS with ROM, we would lose the advantage of WCS: the ability to upgrade to a new (and even completely different) -operating system at any time. On the other hand, there would be no need for a Kickstart disk, so booting up wouldn't take as long. 256K of ROM is cheaper than 256K of RAM, so this may be Amiga's primary consideration. But does Amiga plan to offer this ROM upgrade to current Amiga owners, or will we just use a Kickstart containing the equivalent of what gets burned into ROM?

Not everyone is clear on the hierarchy of the Amiga operating system, popularly referred to as Intuition. Although Intuition is fundamental, it's only part of the complete operating system (OS). There are actually several layers in the Amiga OS, which can be grouped into four major categories: Exec, Graphics, Intuition, and DOS.

Exec is the core of the operating system and controls every machine language program. Every task in the Amiga is part of a task list, and each task has a priority. Tasks with the most priority are allowed to run first. Whenever a task "goes to sleep" while waiting for something (keyboard or disk input, graphics, a response from another task, and so forth), the next highest priority task is allowed to run. However, no task is allowed to run longer than 64 milliseconds, the unit of time defined as a quantum. When a task's quantum is up, it is put to sleep to allow other lower-priority tasks to take their turn. Exec also contains subroutines for allocating and deallocating chunks of memory, and low-level input/output routines for accessing Amiga devices directly.

The Graphics library performs all the screen drawing functions such as line, rectangle, filled rectangle, and polygon drawing (and in version 1.2 includes functions for drawing hollow or filled circles and ovals). It contains powerful routines for animating graphic objects (bobs) and virtual sprites (vsprites), as well as providing direct access to the sprite hardware. In addition, the Graphics library allows programmers to modify the copper list, which controls the vertical aspect of the display. If you count the Layers library and Diskfont library as part of the Graphics library, the package also manages overlapping screen areas and multiple text fonts and styles.

Remarkable Flexibility

Intuition draws upon the resources of Exec and the Graphics library to create the high-level metaphors of windows, screens, menus, and gadgets. Intuition is large and complex, but it offers the programmer a remarkable level of flexibility. AmigaDOS uses Intuition for its CLI (Command Line Interface) and console windows, and Workbench relies heavily on Intuition to support its illusion of a desktop. Intuition is clearly the most visible part of the Amiga operating system (and probably the most important), but it cannot run on its own.

AmigaDOS is the topmost level of the operating system, the last part written, and was contracted from MetaComCo in England. Most Amiga applications are considered AmigaDOS processes, as opposed to Exec tasks. The Workbench is a layer above AmigaDOS, an application that creates a graphic world which performs many of the same functions as an AmigaDOS CLI without the cumbersome typing required by a command-driven DOS. AmigaDOS is much more than just a CLI, though. It includes the tools programmers need to read, write, and manage files and directories, rather than having to resort to direct track and sector access, as well as routines to load and execute programs as processes.

All these parts work in harmony (well, to be honest, with a few sour notes here and there) to orchestrate the complete Amiga system. You boot Kickstart, which loads in Exec, Intuition, and the Graphics library. You then insert a Workbench disk, which boots AmigaDOS and, finally, the Workbench. You open Workbench windows via Intuition and AmigaDOS, and execute applications, which have full access to all Amiga resources, even if many other programs are running at the same time. You can build your own unique working environment by choosing which programs you'd like to run together, and customize other options via Preferences. And when you add extra memory and peripherals, you have a symphony of exceeding range and power.