hide random home http://www.phase5.de/news/projectinfo/ose.html (Amiga Plus Extra No. 5/97, 05/1997)

Home Ueber phase 5 Products Dealer News Tech Suppoort Developer Support Dealer Support Filemap




The A\BOX Operating System strategy

A strategy paper by phase 5 digital products

In the current situation of the Amiga, one of the biggest questions asked by many users is "What is the future of the Amiga OS?"

As within our A\BOX project we follow the goal to build an innovative computer system which, in our opinion, can be a dignant successor of the Amiga, we are very much affected by this question, as the AmigaOS is an important part of the Amiga Computer, and we will be asked to offer the "next generation Amiga OS" if we want to offer the "next generation Amiga" by many users.

Before we discuss the OS question, we need to reinforce that while we do believe that the AmigaOS is an important part of the Amiga, we don't believe that the OS is it all that makes the Amiga. Many opinions commenting to this issue in the public discussions - mostly from SW people - argued that way. As a matter of fact, there is a significantly larger number of persons who understand (more or less) the software issues than persons who understand the hardware, just as there are many more software designers - professionals, semiprofessionals and hobbyists - than hardware designers out there. It's understandable that SW designers often don't want to deal with the hardware itself and prefer to develop "hardware independent" (how does that work?;-) ). However, as a matter of fact it is still (and will continue to be) the hardware on which every software is running on. Any software - OS or application - can always only reveal as much performance as the hardware can offer, it actually can't make hardware faster. It is a myth created by software people - who sometimes obviously don't understand the hardware - that hardware would make no difference or is irrelevant. Just as an example: If a grahics controller can display any image in the main memory at any position of the screen just by changing a pointer, this is always significantly faster than if the image data must be copied into the right place of the display memory, and will save much more resources than the leanest OS may do. Software developer who don't understand this - especially in respect of the A\BOX hardware concepts - obviously don't see how significant innovation in hardware can be.

With this being said, we want to take a look on the operation system issue. It is obvious that an operation system has a major influence on the appearance of a system in general. Today, an operating system must offer a multitude of advanced features combined with high-speed execution, while it should be safe and prooven to provide a stable system. Of course, beside a fast response the user also expects a friendly and modern interface, with all the comfort that she/he needs to work effciently. Especially the Amiga user has expectations on the fast and flexible multitasking. However, most of these expectations do not depend so much on HOW things are done within the OS - as long as they are done in a way that provides powerful and efficient functionality.

Looking on these issues more deeply, we can - very roughly - define 3 levels of interest inside an OS: the OS core, which is like Amiga Exec providing the basic OS functionality, the system service/device level and the high-level/GUI-level functions. The OS core must provide the functionality which is expected today from a modern OS; the system service/device level includes all the functionalities like drivers for e.g. SCSI, networking, ISDN, I/O in general, the file system, audio and graphic device drivers, and similar stuff. On the high-level/GUI-level most of the appearance (or look-and-feel) of the system is defined. As a matter of fact, for most users and also many developers it is not of interest how the OS core and the device level work, as long as it works fast and reliable; the look-and-feel is nearly completely defined by the high-level functionality, which mostly consist of replacable applications - such as e.g. the Workbench on the Amiga.

Under consideration of these aspects, and after a long time evaluation and discussion about the possibilities and options we have finally decided to use a modern UNIX kernel as the operating system core for the A\BOX. We believe that this is the best choice available, as this solution provides a most flexible, reliable and prooven way to supply a powerful OS with an Amiga like, but updated and enhanced look-and-feel. As a matter of fact, the Amiga Exec has always been quite similar to UNIX in some of it's basic functionalities, although it was missing some of it's major features like Memory Protection or Virtual Memory. On the other hand, in earlier UNIX kernels the support for e.g. shared libraries and reloadable devices was missing, what made these UNIX versions large, resource-hungry and sluggish - the reason why UNIX was considered to be the dinosaur of the operating systems quite often. Merging the best of both worlds and using the latest software development techniques like object-oriented system add-ons will lead to a powerful operating system fullfilling all the requirements of future computing.

What will this mean for the A\BOX and for it's relation to the AMIGA? First of all, we will have a OS core with the following features:

    - Fast preemptive Multitasking
    - Full multiprocessing support
    - Multiuser support with all necessary services
    - Memory Protection, a feature that is demanded by most developers
    - Virtual Memory support
    - Loadable Devices, a extension of the original UNIX functionality
    - Shared Libraries which make the OS use much less resources and make it significantly faster
With these functionalities, tested and prooven by large numbers of installations worldwide, and some optimizing on the fast PowerPC CPU, the OS core will be a very efficient and extremely fast OS core that provides similar functionality to an Amiga Exec and important features beyond it.

Around this OS core, a large quantity of system service software will be provided, which comes from the Unix world and is long time prooven, such as:
    - SCSI drivers and Ethernet hardware drivers
    - TCP/IP service and networking protocols
    - ISDN drivers and services
    - Graphics Device drivers
    - Audio Device drivers
    - All kind of I/O drivers for various purposes
On this level, once again it does not make a major difference how the things work. The implementation of software on this level may or may not be similar to the implementation on the Amiga; for the user as well as for the SW developer it's simply important that a similar and reliable functionality is provided, and that's what this level will do. As far as drivers have to support new functionality of the A\BOX that hasn't been available on any hardware before, the functionality of these drivers will have to be new and different either.

On the higher-level OS functionality, we work on a system design that is similar to the Amiga in respect of the ease of use, as well as the look-and-feel. Many of the high-level functionality of the AmigaOS, which basically consists of application programs running on top of the OS core and the device level, can be implemeted in a modern and updated way. A device-oriented file system representation will be available, as well as software components similar to commodities, datatypes or REXX. A Amiga-similar CLI will also be provided. With a comprehensive set of utilities and functionalities, software development for this OS will be easy and comfortable. Software that will run on PowerUp cards and support CyberGraphX V3 will be running on this OS with high performance, and a "Virtual Amiga Machine" will be able to execute even original Amiga 68k binaries fast and safely embedded into the system.

The A\BOX will come with a preinstalled system and a lot of tools that will make it as easy to use as the Amiga today. There won't be the need, for example, to recompile or link the OS kernel and it's drivers/devices in order to install updates or changes; also it won't be necessary to spend major efforts into configuring the system. Of course, the user is free to reconfigure the system to his likes, or go into the depths of the OS.

During late summer 1997, we plan to start alpha and beta releases of the A\BOX OS for developers running on our PowerUp accelerators. With this solution, developers can start to prepare their existing software for the A\BOX. The A\BOX alpha and beta OS release will be available for a small fee for the CD and possible documentation cost to all developers; free update support will be available via our FTP site.

We also will release hardware functionalities of the A\BOX custom chip CAIPIRINHA as a spin-off on a graphic card add-on for the CYBERSTORM PPC later this year (unfortunately not for free); this graphic card will have a stand-alone version of our DLRP Display List Risc Processor which can read random image data from the main memory via DMA and write it to a WRAM-based frame buffer. With this board and the supporting driver, developers can start to experiment with the superior functionality of this design, although performance is limited compared to the original A\BOX design (but will be, however, VERY competitive to existing graphics cards from the PC market).


Why didn't we commit to pOS from ProDAD?

After the massive marketing campaign from ProDAD for their upcoming pOS, many users have asked us to use their pOS as the A\BOX operating system, and some have critizized in harsh words that we are not planning to do it. As a matter of fact, we have yet not seen pOS running on 68k machines except at a presentation on the Amiga 96, and we havn't seen it running at all on a PowerPC machine. An operating system, however can not be evaluated from looking on a nicely designed GUI; it must be evaluated running completely independent from any proprietary features (or OS code) of the Amiga itself, showing multitasking and multiprocessor support, as well as all the necessary support for graphics, sound, drivers for SCSI, ethernet, ISDN, other devices and anything else that counts.

We have spent a lot of money and efforts (and will spend even more) into our current developments, and we need to make sure that we have a working OS solution that fulfills all the demands of future computing. As we had announced earlier, we do have a fully AmigaOS 3.1 Exec running, and had other OS-compatible functionalities under development. However, a next generation OS needs significant enhancements, so we can't see that an OS which is extremely close to the AmigaOS 3.x can fullfill the demands. That's also valid for pOS; therefore we won't use or support pOS unless we can be convinced that it is a true, working and complete alternative. It must also be taken into consideration that other companies - like for example Be - needed many years of work and lots of manpower and money to build a complete OS - and some even say that BeOS is not so complete yet, at least in respect of system services and applications, tools and driver support - what leads us to doubts whether pOS can be completed, updated, expanded and maintained in a way that would be expected from it.

We are not, as some assumed, going to prevent ProDAD from porting pOS to any of our hardware; we simply won't support it - especially in it's alpha state - but offer and support our own solutions. We can't commit to pOS as the OS solution for our PowerUp accelerators - as ProDAD wanted us to do - and later consequently for the A\BOX, what would automatically happen once we commit to pOS on the PowerUp boards and leave software developers only this choice; this would mean that the success of our hardware project A\BOX would fully depend on external software/OS work by a third party - a scenario very benefical to pOS, but very difficult for us in case pOS can not meet the expectations it has created.

If in the future pOS is fully operational, provides all necessary functionality of a modern OS, gets sufficient support from software developers and can be ported to the A\BOX in a way that it can make use of the advanced hardware functionalities of the A\BOX, we would probably welcome a pOS port as an alternative OS option for our A\BOX.