Overview

RK (Resource Kernel) is a real-time kernel (operating system) that provides timely, guaranteed and enforced access to system resources for applications. The resource kernel allows applications to specify only their resource demands leaving the kernel to satisfy those demands using hidden resource management schemes. This separation of resource specification from resource management allows OS-subsystem-specific customization by extending, optimizing or even replacing resource management schemes. As a result, this resource-centric approach can be implemented with any of several different resource management schemes.

What is Linux/RK?

Linux/RK stands for Linux/Resource Kernel, which incorporates real-time extensions to the Linux kernel to support the abstractions of a resource kernel. Linux/RK is developed by the Real-time and Multimedia Systems Laboratory led by Prof. Raj Rajkumar at Carnegie Mellon University. Current ongoing research topics include
  • multi-core reservation
  • reservation for multi-core memory hierarchy (cache, DRAM banks, etc)
  • reservation for parallel task model
  • heterogeneous multi-core architectures
  • low-power management

Publications (Link)

Papers describing various aspects of the design and implementation of the resource kernel can be found at the above link.

Download (Link)

You can download the latest releases of Linux/RK source code and documentation from here. The following features are supported:
  • Global and partitioned fixed-priority scheduling
  • CPU and memory reservation
  • Parallel task model (i.e. OpenMP and Pthread) with multiple CPU reserves
  • Reservation-based profiling
  • Task execution history tracing
  • Cache coloring (S/W cache partitioning)
  • Bank coloring (S/W DRAM bank partitioning)

Other RKs?

Here are the links to other RK projects going on at Carnegie Mellon University:

  • Nano/RK: RK for wireless sensor network nodes
  • Drone/RK: RK for a UAV Platform