The Amiga systems, and particularly its operating system have a lot of unique features, many of which are still unmatched today.

First of all, it has a multitasking, pre-emptitive OS, with a very nice GUI, a not exactly UN*X-like console and good stability that fits on a 512k ROM and works fairly well on two floppies (880k ones); later versions have a larger footprint but will fit with basic utilities on about three megs.

AmigaDOS is beautifully designed, perhaps even more than common unices. It has a very simple structure, it is very easy to mantain and it is very small and compact (usual RAM usage is about 512k freshly booted, and 1-2 megs at full use). It is the off-spring of the British Trip-OS, with a weird BCPL heritage (some system commands did not get a C rewrite for a lot of time). Main differences is a file system with no / ideas; there were units, which took the form name:, which usually corresponded to physical devices, and a /'ed directory structure (i.e.: dh0:s/startup-sequence), although assigns could be made which created a kind of virtual devices (usually the previous file would be accessed as s:startup-sequence, thanks to a assign s: dh0:s, btw, that's the script that got executed on boot).

The OS had a very complete IPC facilities, based on messages, quite different from BSD; I mean, no pipes or shared memory, through the lack of memory protection (only later models had MMU's, and the OS didn't usually use it) and a very efficient library system.

Later versions (from 2.1 onwards) featured a tightly integrated Rexx scripting facility, called ARexx which is one of the most useful things around. Basically, ARexx scripts could communicate with most applications via their ARexx port, and, as many had one, Amiga apps are easily combined and scripted, with only one language.

The hardware is in many ways outdated now. Speedwise I seem to recall that the bus runs at 14 MHz, although DMA and lots of neat tricks let the Amiga cope with bandwidth-hungry applications such as video with ease. Sound is perhaps the most ancient part of the Amiga, not updated since the original design (it could output audio at 44.1 kHz, 8-bit and on four stereo channels), with no affordable third-party cards that I know of. Of course, recent applications mix their own audio so the 4 channel limitation is not so important, but the 8-bit quality is a big problem.

Graphically, the Amiga shines even today in 2D. Originally there were 320/640x256/512 (200/400 in NTSC) resolution modes, with 32 colours for low horizontal resolution and 16 for high-res. The x512 modes used interlacing, really useful for video work (320x512 is a very good resolution for that). Except the first batch of Amigas, they also had the HAM (hold and modify), all of the 4096 of the palette were available (but only 16 could be freely used, the other were obtained as variations on the preceding pixel). Later AGA models gave the typical SVGA resolutions in 8-bit (and an enhanced 18 bit HAM mode); third party cards give 24 bit modes.

Graphical tasks are done using the custom chips, originally Paula, Agnus and Denise. They also took care of sound, floppy control and general I/O. They also contained the Blitter and the Copper, maybe the coolest gizmos it had. The Blitter (block-image transferrer) copied chunks of memory very fast, applying boolean operations and basic transforms. The Copper, on the other hand, was a very-reduced instruction set processor (4 different operations), which was tied to the screen refresh, so you could perform operations depending on the scanline being beamed. The most common and famous Copper Trick was those rainbow-hued skies, performed by changing the palette on different scanlines; but there are lots of more impressive techniques.

Besides that, the graphical system also had hardware sprites (with collision detection), awfully smooth scrolling facilities, and loads of chances to exploit the very close ties between the Amiga's architecture and the physical display.

Sadly, I believe one of the biggest problems for the Amiga was that it had a planar based bitmap structure, which is totally unappropiate for 3D graphics, particularly for texturing. The Doom boom popularized graphics which were very difficult to do on the Amiga (basically, it started at being eight times slower, even though coders eventually found zillions of ways to have chunky displays with very little perfomance loss). All the Amiga architecture was very good for traditional 2D sprite-based graphics (think 80's arcades).

Well, let's see if there is a comeback!