AmigaOS

This is an old revision of this page, as edited by Lumpbucket (talk | contribs) at 13:37, 3 August 2004 (AmigaOS 4: Developer pre-release info). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.


AmigaOS is the default native operating system of the Amiga. The DOS library and CLI were based on a Tripos port by MetaComCo written in BCPL.

Features

The AmigaOS has:

The AmigaOS components

AmigaOS always came divided in two parts, Kickstart and the Workbench.

Each Kickstart version is tied to a particular version of the Amigas operating system software, so users should only boot Workbench 1.3 on a machine with a 1.3 Kickstart ROM. It is possible to boot incorrect versions (Workbench 3.1 will boot on Kickstart 3.0, with some problems). The only exception is Workbench 2.1, which was a software-only update based on Kickstart 2.04. Also, the latest Workbench versions, 3.5 and 3.9, use Kickstart 3.1 and load ROM updates at boot time.

Kickstart

File:Amiga kickstart.png
Amiga 1000 asking the user to insert the kickstart disk.

Kickstart is the name given to the bootstrap ROM. On the original Amiga (the Amiga 1000), this was loaded from disk, although later Kickstarts were on a ROM chip inside the computer. The Amiga 1000 could be modified to take these chips.

As well as containing the code needed to boot the computer, the Kickstart also contained large portions of the Amiga's operating system, such as Intuition (the Amiga's graphical user interface libraries), Exec (the multitasking kernel), Dos (the disk handling libraries).

Later versions of the kickstart contained drivers for IDE and SCSI controllers, PCMCIA ports and various other hardware that came with Amigas.

With third party hardware, it is possible to have two or more versions of kickstart in a single machine, selectable either by a switch or a keyboard shortcut when you first turn the machine on.

With third party software, it is possible to have a different kickstart loaded in RAM and to use it instead of the ROM one - for example Kickstart 1.3 may be loaded in order to run old games incompatible with Kickstart 2.0 and higher. These programs are called Softkickers.

Workbench

Workbench is the native graphical user interface for the Amiga computer. As the name suggests, the metaphor of a workbench, rather than a desktop, is used. Directories are depicted as drawers, executable files are depicted as tools, data files are depicted as projects and GUI widgets are gadgets. Most Amiga application software has pull-down menus starting "Project Edit ..." rather than the "File Edit ..." typical on other platforms.

In many other respects the interface resembles Mac OS, with the main desktop having the drive icons, and a single menu bar at the very top of the screen. Unlike the Mac mouse, the Amiga mouse has two buttons - the right mouse button operates the pull-down menus, with a Macintosh-style 'release to select' mechanism.

A unique feature of Workbench is multiple screens. These are somewhat similar to X Window System virtual desktops, but are generated dynamically by application programs as necessary. Each screen can have a different resolution and colour depth. A gadget in the top-right corner of the screen allows screens to be cycled - as the OS stores all screens in memory simultaneously, redrawing is instantaneous. Screens can also be dragged up and down by their title bars. (The screen dragging functionality depends on the custom graphics chips, and is no longer available on systems that run with a modern graphics card.)

Although, strictly speaking, Workbench is only the file-management part of AmigaOS, it is a commonly used term to refer to all the parts of the OS that do not reside in the Kickstart ROM.

The Workbench environment is not required for the machine to function, therefore a lot of old games boot directly from Kickstart, without loading it.

Without Workbench there is more RAM available, however the application will lose the ability to multitask with other applications. In this circumstance, the machine must be rebooted.

AmigaOS up to 3.1 doesn't offer any software layer to use additional graphic or audio solutions. Newer versions of AmigaOS allow for graphics hardware other than the native chipset, but don't include any driver solution of their own. Users are required to use third party software to supply hardware dependent drivers. Common software packages for graphics are EGS, Picasso96 and Cybergraphics. For audio support, AHI, a freeware driver system, is widely supported. Starting with AmigaOS 3.5, some of these solutions were bundled with the OS.

AmigaOS versions

Kickstart/Workbench 1.0, 1.1, 1.2, 1.3

The 1.x versions are the original implementation of AmigaOS. They defaulted to a distinctive blue and orange colour scheme (which could easily be changed by the user). Versions 1.1 consisted mostly of bug fixes. Versions 1.0 and 1.1 were distributed only on floppy disks for the Amiga 1000.

Versions 1.2 and 1.3 were the first versions to be put in ROMs (allowing their use on models with kickstart in ROM) but were still available on floppies for Amiga 1000 owners. These versions were shipped in ROM with the A500, A1500, CDTV (1.3 only) and A2000. Version 1.2 of Kickstart fixed many bugs, greatly improving the stability of the system, and added AutoConfig (tm) support which could automatically configure expansion boards. Release 1.3 had few changes to Kickstart (mainly fixing a bug to allow autobooting hard disks) but had many more changes supplied with Workbench, including a much faster file system for hard disks, an improved CLI, and various extra programs.

Kickstart/Workbench 1.4

Kickstart/Workbench 1.4 was a beta version of the upcoming 2.0 update, but was released in very small quantities with early Amiga 3000 computers.

Kickstart/Workbench 2.0, 2.05, 2.1

Kickstart/Workbench 2.0 introduced a lot of major advances to the Amiga operating system. Gone was the harsh blue and orange colourscheme, replaced with a much easier on the eye grey and light blue. The Workbench was no longer tied to the 640x256 (PAL) or 640x200 (NTSC) display modes, and much of the system was improved with an eye to making future expansion easier.

Workbench 2.04 introduced ARexx, a system-wide scripting language. Programmers could add so-called "ARexx ports" to their programs, which allowed them to be controlled from ARexx scripts. Using ARexx, you could make two completely different programs from different vendors work together seamlessly. For example, you could batch-convert a directory of files to thumbnail images with an ARexx capable image manipulation program, create and index HTML table of the thumbnails linking to the original images, and display it in a web browser, all from one script. ARexx became very popular, and was widely adopted by programmers.

Unfortunately, 2.x introduced some incompatibilities with old, badly written software, and so a lot of people were upset with this update.

2.x shipped with the A500+ (2.04), A600 (2.05), A3000 and A3000T. Workbench 2.1 was the last in this series, and only released as a software update. It included useful features such as CrossDOS, to support working with floppy disks formatted for PCs. In other words, there was no Kickstart 2.1.

Kickstart/Workbench 3.0, 3.1

3.x was another major update. Updates included:

  • A universal data system, known as datatypes, that allowed programs to load pictures, sound and text in formats they didn't understand directly, through the use of standard plugs (see object-oriented operating system)
  • PCMCIA card support
  • Colour remapping for low-colour display modes
  • Improved visual appearance
  • Better support for background images

3.x shipped with the CD32, A1200, A4000 and A4000T.

AmigaOS 3.5, 3.9

After the demise of Commodore, the later owners of the Amiga trademark granted a license to a German company called Haage & Partner to update the Amiga's operating system. Along with this update came a change in the way people referred to the Amiga's operating system. Rather than specifying "Kickstart" or "Workbench," the updates were most often referred to as simply "AmigaOS."

Updates included:

  • CD filesystem support as standard
  • Distribution on CD instead of floppy disk
  • Supplied with TCP/IP stack, web browser, and e-mail client.
  • Improved GUI, called "ReAction"
  • AVI/MPEG movie player
  • Support for hard disks larger than 4Gb (a limitation from 1.x)
  • HTML documentation
  • MP3 and CD audio player (OS3.9)
  • Dock program
  • Improved workbench

AmigaOS 4

A new version of AmigaOS is being developed by Hyperion Entertainment under license from Amiga, Inc. The 4.0 version will be a major update since ten years from the last official release: this leap is comparable to the one made by Microsoft, when it upgraded Windows 3.1 to 95.

The new version will be PowerPC native, finally abandoning the Motorola 68k processor. AmigaOS 4.0 will run on Amiga 1200 and 4000 computers with PowerPC accelerator boards, and the new AmigaOne systems.

A developer pre-release version was sent to purchasors of AmigaOne hardware in June of 2004, and currently ships with new AmigaOne boards. This does not have all of the features planned for the full release version, but includes a full SDK based on GCC, and VBCC C/C++ compilers.

Main features planned for AmigaOS 4.0:

  • Tripos legacy code finally removed
  • Improved TCP/IP networking
  • Fully skinnable GUI
  • Virtual memory
  • Limited memory protection
  • CD/DVD writer support (including Mt. Rainer)
  • Integrated debugger
  • Integrated viewer for PDF and other document formats
  • Enhanced shared library model
  • Support for PowerPC (native) and 68k (emulated) applications
  • Improved input device support
  • Support for modern hardware devices

Amiga influence on a new BSD derived Operating System

Although not strictly Amiga related, a recent fork of FreeBSD-4.8 called DragonFly BSD has been created by a former FreeBSD developer and Amiga programmer Matt Dillon. DragonFly BSD (although still a work in progress) aims to make the BSD core more like the Amiga architectually, featuring a message-passing kernel, allowing for a very efficient and virtually mutex-free SMP design.