Linux/RK consists of two major components, the Linux kernel and a subsystem called the Portable Resource Kernel. A resource kernel provides timely, guaranteed and enforced access to physical resources for applications. A main function of an operating system kernel is to multiplex available system resources across multiple requests from several applications. The traditional non-realtime kernel allocates a time-multiplexed resource to an application based on fairness metrics during a certain period. With a resource kernel, an application can request the reservation of a certain amount of a resource, and the kernel can guarantee that the requested amount is available to the application. Such a guarantee of resource allocation gives an application the knowledge of the amount of its currently available resources. A QoS manager or an application itself can then optimize the system behavior by computing the best QoS obtained from the available resources.