Nemesis is immature with much to work still to be done. It represents a fundamentally different way of structuring an operating system; indeed it could be regarded as a family of operating systems. The core concepts of events, domains, activations, binding, rbufs and minimal kernel do not define an operating system. Our next task is to create the libraries, device drivers and system domains to provide a complete operating system over the Nemesis substrate.
As with the window system (and indeed the filing system and the IP protocol stack) this will often be by providing an initial server-based implementation by porting code from other platforms and then moving towards a client-based execution implementation. Work with the filing system and protocol stack has just entered this second stage.
As these components become stable we expect to develop (and port) applications to take advantage of the facilities, in particular the flexible quality of service guarantees, available from the Nemesis architecture. We also will be using Nemesis as a means on instrumenting multimedia applications; we can trace resource usage directly to application domains and thereby get an accurate picture of application performance.