OSKit

From OSDev Wiki
Jump to navigation Jump to search

Utah's OsKit

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.

http://www.cs.utah.edu/flux/oskit/

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.