
There are a lot of points to mention when saying something about the philosophy
of Sphere SP and the advantages it realizes through this philosophy.
The following paragraphs are intended to give an abbreviated overview over the
basic design goals of Sphere.
If you have more questions about Sphere SP 2.0 please
don't hesitate to contact us.
Basic Intentions
The main focus for miray when developing the concepts of Sphere was to provide a special platform to developers and users.
This platform should be very reliable, allow rapid and easy development and be versatile.
This characterizes - in general parlance - the destiny of Sphere.
Reliability represents the combination of stability and a high level of quality of service, e.g. high realtime performance throughout all system calls.
Easy development represents the combination of a small API (which builds an uniform abstraction layer) and a reliable microkernel.
Versatility represents the combination of small size of the kernel, a high level of scalability, and an API with a certain abstraction level.
Sphere SP/MP
There are two quite different kinds of systems where these characteristics can be usefully
employed. Both are multi-tasking-environments, but one needs different address spaces and
the other only one address space. We call the first MP (Multiple Process) and
the second SP (Single Process). Not to be misunderstood: both realize multi-tasking via
threads. For these two cases miray offers Sphere SP and Sphere MP.
For both miray realizes the characteristics above. For reasons of efficiency, both
versions of Sphere have their own API. This may seem like a missed chance on the first
look, but it isn't:
The Sphere SP API is this small and easy to use, that a uniform API
for Sphere SP and Sphere MP would either blow up Sphere SP
(as MP definitely needs a lot more functions) or limit Sphere MP too much (because
stuffing the functionality into a smaller API would make it almost useless).
Nevertheless we call it a modular design.
Sphere SP and Sphere MP differ by their APIs,
but they have one and the same Platform - the Sphere realtime microkernel.
This means that all the stability, reliability, realtime abilities and scalability are
available with both versions of Sphere.
Scalability & Efficiency
Especially scalability is an important point:
The scalability of Sphere is generally unlimited!
It just depends on the used hardware platform, and nothing else.
Another important point concerning Sphere SP 2.0 is that it gives you total control over
your processor platform:
There isn't a single clock cycle used by Sphere if you don't want it!
Except the scheduler, of course. So every tick of the processors heartbeat can
be used by your application.