[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Phase5 news - OS
phase 5 News
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 unrelevant.
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 issue 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
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 simple 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
spent
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 fullfills 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.