| CPC G06F 9/44505 (2013.01) [G06F 9/30087 (2013.01); G06F 9/541 (2013.01); G06F 9/545 (2013.01)] | 20 Claims |

|
1. A system comprising a processor and one or more memory devices storing instructions, wherein the processor is configured to execute the instructions to implement:
a microkernel having a low-level application programming interface (API) and providing respective memory protection domains to user-level processes; and
an abstraction layer running on top of the microkernel using the low-level API and comprising a plurality of service extensions to the microkernel and configured to provide a high-level operating system (OS) API for use by one or more application processes running in user space, wherein different ones of the service extensions are configured to run within different ones of the memory protection domains provided by the microkernel,
wherein the abstraction layer is configured to run each one of the one or more application processes in user space as a self-contained application having sole ownership over and controlling access to a memory space and to capabilities on which the self-contained application depends, such that the service extensions and the microkernel have no access to the memory space and the capabilities of the self-contained application without an explicit request from the self-contained application.
|