Week 6 of the ‘Weekly Questions and Answers’ sessions with Amiga’s Chief Technology Officer Fleecy Moss is now live at AmigaWorld.net. Also Question 3 & 5 from Week 5 have now been updated.
Weekly Q&A with Amiga’s Fleecy Moss – Week 6
2003-04-21 Amiga & AROS 11 Comments
Amiga is an OS that runs in motorola hardware, rt? Much like apple? Can someone tell me the advantages of it?
Well, AmigaOS is quite old, and therefore one advantage it has is that it runs well on underpowered hardware. It was the first comsumer-OS that had multitasking, and was years (if not a decade) before its time in that regard.
To this day AmigaOS does certain things better than most modern OS’s do, for example I like the way it handles files and “volumes” far better than any other OS out there (AmigaOS gives a name to each device and to each media — you can refer to them by name, such as “myfloppy:adirectory/afile” for example, or by device “df0:adirectory/afile”), and it’s “classes” concept ended up in BeOS as “translators”. An interesting project is aros (http://www.aros.org) which seeks to create a GPL’ed work-a-like of AmigaOS 3.1 in much the same way Linux is a GPL’ed Linux work-a-like of Unix.
Aros is not GPL’ed, it’s license is APL wich is Mozilla Public License derivative. Only some standalone programs in aros distribution are GPL’ed.
AmigaOS is designed and optimised to offer a very small memory footprint and excellent performance. Combined with its extraordinary level of modularity, this makes the OS suitable for devices like STBs and even PDAs.
There still is an enthusiastic and competitive developement community for the Amiga platform and the OS also offers some unique features. One of the most notable is the OS’ concept of screens, where the user is able to switch between a multitude of different screens with their own independent screenmodes by simply clicking a screen gadget.
Other important features are AmigaOS’s general responsive nature and pre-emptive multitasking, allowing even 7Mhz Amigas to feel responsive and use various full blown applications simultaneously (available memory permitting). For example it is no problem to format a diskette and draw a picture and listen to music simultaneously on *any* Amiga, nomatter how old and barebones it may be.
Finally the new OS will be customizable by the user to an extraordinary extent (by default), allowing users to use textures in almost any (pre-defined) GUI element, pre-define exact application/window behaviours and every OS component can even potentially be replaced by 3rd party efforts like on the classics. For instance AmiDock, AmigaOS’ default application launcher could potentially be replaced by a StartBar like AmiStart:
The programmer of AmiDock has recently written an article about AmiDock and its powerful features:
The OS is also very transparent to the advanced user, using file names and structures relating directly to their function. (i.e. commodities.library, datatypes.library, png.datatype, jpg.datatype, clipboard.device, select.gadget, etc instead of the Windows way of using filenames like 22.dll, 12.dll, etc.)
Also, the name doesn’t contain the revision number… do you like: libstd-c++1-18.104.22.168.so ? Great )
Volume mapping rulez
The revision number is embedded in the binary as a string that begins with $VER – so it is easily found.
From a programmers view AmigaOS should pose some serious advantages:
The OS is very consistent as there is only one distribution of it, which means you don’t have to support a ton of different variations of AmigaOS. There are a few different GUI libraries, yes, but no where near the diversity as seen under various unices with KDE, Gnome and a ton of other desktops. The “what-to-choose” problem is much smaller for the Amiga programmer.
The new hardware is also fairly consistent. Its advantage is having a smaller hardware base to develop for, taking only in account the most popular PCI and AGP cards.
There will with that be much more power to develop than to support the way-too-many hardware variations as seen on the x86 platform. Bedroom programmers may like this very much. 🙂
The only “unique” feature is the ability to drag part of screen over another screen so that parts of both appear on the same display. That was a unique hardware feature, and will not be included in AmigaOS 4 (nor is it available on most modern Amigas with 3rd party graphics)
I’ve explained numerous times that virtual consoles provide almost exactly the same functionality as Amiga “screens” and have existed on several Unix and Unix-like systems including Linux. Do not confuse VCs with virtual desktops or workspaces. Virtualised window management uses a shared desktop, and only window visibility is affected, that’s not the same as a virtual console.
In fact many Linux users are familiar with a very limited use of VCs. They know that C-A-F1 will bring up a text console while X remains running in the background. It’s just that most of them presume this feature is some kind of special “hack” for getting to a text mode login prompt, rather than a general feature of the OS kernel.
Hardly anyone uses VCs to run several graphical applications on Unix because of their limitations, which are much the same as the limitations of screens on the Amiga. Can’t drag windows or data from one screen to another; Can’t create new screens very easily out-of-box; Number of screens subject to arbitrary hardware limits; Availability of feature depends on hardware & driver support.
Nevertheless they are occasionally helpful and I’ve worked at a site where CAD drawings were run on VC9 while ordinary web browsing, office productivity etc. ran on VC8 and users happily switched between the two as they worked.
“The new hardware is also fairly consistent. Its advantage is having a smaller hardware base to develop for, taking only in account the most popular PCI and AGP cards.
There will with that be much more power to develop than to support the way-too-many hardware variations as seen on the x86 platform. Bedroom programmers may like this very much. :-)”
1. No, it isn’t/ doesn’t. Since AInc and Hyperion have repeatedly refused to confirm which hardware will or will not be supported in OS4 the actual people who’ve bought and are using AmigaOne hardware have a mixed heap of hardware including dozens of different graphics cards, sound cards, a wide variety of SCSI cards, USB devices etc.
2. Fortunately, these all work transparently to the programmer in Linux, which is the OS all those users are using. So even if the AmigaOne was more (or less) consistent in hardware, it doesn’t make any difference at all to the programmer. Linux is linux is linux.
Writing hardware bit-banging applications is dumb. It was dumb when the Amiga was first created (and Commodore advised against it, not that anyone listened) and it’s still dumb now.
Draggable screens may be supported by future Amiga systems as well. Screens like the way they were implemented on the Amiga are extremely useful IMO. Older programs designed for lower resolutions end up being tumbnails on high resolution screens, just as well viewing photographs in seperate screens does often make sense. Luckily on the Amiga it’s often easy to choose any such (i.e. default) behaviour manually.
With regard to certain classic limitations, like not being able to *drag&drop* content between different screens, is this really that imporant in combination with a copy&paste system. Also if this feature is not implemented today, does this automaticly mean that this could never be implemented in the future? The original ideas with regard to Amiga screens originate from the early 80s and has not changed much compared to its original concept.
An initial list of hardware which should be supported by AmigaOS4.x pretty soon and is already supported by Linux on the AmigaOne can be found here:
This does not mean that many more hardware components may not be supported by the initial release as well. For example SciTech earlier announced on OSNews that their SNAP technology is being integrated into AmigaOS and this technology will allow usage of all major graphic chipset solutions.
Also note that much of the development takes place on classic Amigas equiped with PPC cards and PCI bridges. Some of the already existing drivers for classic Amigas will be relatively easy to get working with AmigaOS4 running on the AmigaOne.