overview
From the K42 site:
The K42 group is developing a new high performance, open source, general-purpose operating system kernel for cache-coherent multiprocessors. We are targeting next generation servers ranging from small-scale multiprocessors that we expect will become ubiquitous, to very large-scale non-symmetric multiprocessors that are becoming increasingly important in both commercial and technical environments.
More here.
device-driven I/O
Presented at the 2006 linux.conf.au, these slides (PDF, 887kB) show some of the past work I've been doing in conjunction with the IBM Research team.
dynamic module loading
The moduleloader isn't in CVS yet, you'll need to apply moduleloader.patch.
There's an Object.C file in the usr/moduleloader/
directory - this is a tiny sample module, and can be loaded into the k42
kernel:
cd /kbin ./ModuleLoader Object.so
you need to cd to /kbin before running the module loader - it needs
boot_image.map
to be in the current directory
todo
A couple of things that need work:
- Provide a proper kernel build environment for module compilation
- Find a better way of doing symbol table lookups, especially for PPC64_REL_JMP_SLOT relocations (which dereference parts of memory)
- Put the initModule() function into a more suitable place
papers
Andrew Baumann has been driving the research on dynamic update, and has presented the folowing papers: