The OSKit is a framework and a set of 34 component libraries oriented to operating systems, together with extensive documentation. By providing in a modular way not only most of the infrastructure "grunge" needed by an OS, but also many higher-level components, the OSKit's goal is to lower the barrier to entry to OS R&D and to lower its costs. The OSKit makes it vastly easier to create a new OS, port an existing OS to the x86 (or in the future, to other architectures supported by the OSkit), or enhance an OS to support a wider range of devices, file system formats, executable formats, or network services. The OSKit also works well for constructing OS-related programs, such as boot loaders or OS-level servers atop a microkernel.
For language researchers and enthusiasts, the OSKit lets them concentrate on the real issues raised by using advanced languages inside operating systems, such as Java, Lisp, Scheme, or ML--- instead of spending six months or years groveling inside ugly code and hardware. With the recent addition of extensive multithreading and sophisticated scheduling support, the OSKit also provides a nmodular platform for embedded applications, as well as a novel component-based approach to constructing entire operating systems.
Note that OSKit expects that you'll be happy to work with COM interfaces. -- PypeClicker
Also note that the OSKit homepage has not been updated since June 27, 2002, so development has seemed to cease. -- Alboin
Some example kernels for the OsKit
- hello: What else? Absolutely useless, but you must have one!
- (X86 PC) multiboot: Prints out info passed by the boot loader and info about the CPU.
- (X86 PC) anno_test: Simple example of the use of trap and interrupt annotations.
- timer_com: Shows a way to use timer interrupts.
- blkio: Demonstrates use of basic low-level disk access.
- linux_fs_com: Shows how to use the low-level filesystem interfaces to the Linux filesystems.
- bmodfs: Shows use of the BMOD filesystem and the POSIX layer over the OSKit FS interfaces.
- pingreply: Shows how to use the low-level network access.
- socket_bsd: Demonstrates use of the BSD socket layer over the low-level network interfaces.
- (X86 PC) smp: A simple Multiboot kernel that demonstrates how to use the SMP support.
You can browse the full list of examples.