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.
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.
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.