

|1-The A\BOX Operating System strategy


|1-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 proven, 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.



end
