What is Linux/RK?
Download Linux/RK
Linux modifications needed
Some notes
A new version of RK will be released shortly.

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.  A resource kernel is a real-time kernel (operating system) that provides timely, guaranteed and enforced access to system resources for applications.

A slightly outdated description  on Linux/RK can be obtained by clicking here.  Please refer to the articles on Resource Kernel and Portable Resource Kernel to gain a better understanding of Linux/RK. You may also want to look at other work related to this effort. 

Linux/RK is developed by the Real-time and Multimedia Systems Laboratory led by Dr. Raj Rajkumar at Carnegie Mellon University.  This version was built by Dr. Shui Oikawa and builds on earlier work done by the Real-time and Multimedia Systems Laboratory.

Linux/RK Download

To download Linux/RK, please right-click here and use your browser's "Save Link As..." command.

Linux Modifications made for Linux/RK:

Makefile                 Modify to compile and link RK files

arch/i386/Makefile                Do not check vmlinux for zlilo (takes too long to install)

arch/i386/kernel/entry.S    Add hooks when leaving from the kernel
                                                    Add system call entries (201 - 205)

arch/i386/kernel/irq.h        Add hooks when entering the kernel

drivers/char/serial.c          Make the speed of serial console 38400bps from 9600bps

include/linux/sched.h          Add the pointer to a resource set in task structure
                                                    Modify INIT_TASK to initialize that pointer

include/asm-i386/unistd.h  Add system call entry numbers (201 - 205)

init/main.c                              Add rk_init()

kernel/sched.c                        Add schedule hook


1. APM does not work with Linux/RK
APM should not be include in the configuration since the variable CPU speeds of APM is not compatible with the scheme Linux/RK uses to keep track of processes' CPU utilization.  Linux/RK uses CPU cycles to know how much CPU time is used by a process, and Linux/RK does not follow the changes of CPU speeds caused by APM (yet?).
2. Incomplete implementation
The implementation of the admission control and portable scheduling architecture mentioned in the Linux/RK paper has not yet been completed.