The following diagram shows the NetKernel system...
This provides the bootloader. The bootloader provides the core system Java classloader.
It discovers the kernel and low-level Java libraries for the system by reading the file [ install ] /etc/bootloader.cfg
This is the NetKernel microkernel. It is provided in two jar files in the [ install ]/lib/ directory.
The Kernel embodies the general ROC abstraction. All resource requests are mediated by the kernel.
The cache block shown here, consists of a resource resolution and resource representation caches.
NetKernel is able to determine the cacheability of all requests and will automatically attempt to minimize total system computation cost by providing resolution and representation responses from cache.
Layer0 provides infrastructure for the upper level implementation of the ROC system. It hosts the grammar technology, dynamic module classloader, module manager and some boot support classes.
It also provides some common low-level resource models such as HDS.
NetKernel Foundation API is provided in the layer0 library. It is the NetKernel equivalent of the Unix posix abstraction layer and provides a safe and consistent API over the core kernel.
All end-user code should be written to the NKF layer.
The Standard Module is an implementation of a configurable ROC address space. All NetKernel modules provided are Standard Modules.
For reference, NetKernel does not have a hard coded model for spaces and modules. It is possible to create alternative implementations that would run equally well on the general ROC kernel (one such is an implementation of the classic NetKernel 3 module).
Creating module models is non-trivial - but if required there are Java base classes in layer0 that can be extended to create brand new address space models.
Above the Standard Module are a range of library modules, these provide horizontal technologies such as programming language runtimes, resource models such as XML, transports such as HTTP, clients such as relational database query etc etc.
Library modules have little cross-dependence and typically are self-contained requiring only the NKF foundation.
The NetKernel system (tools, services, Apposite module management, XUnit, Documentation system, log management, search etc etc) consists of a set of loosely coupled ROC applications written as Standard Modules that run on the kernel. NetKernel Standard Edition is itself an ROC application.