The following is a short list of implemented design features that you'd expect on a modern operating system:

  • Multithreaded
  • Multiprocessor
  • Strict architecture-independance layer to allow clean porting to multiple cpu architectures
  • Fully reentrant kernel
  • Protected memory
  • Separate user and kernel space, multiple address spaces
  • Full locking primitives
  • Kernel debugging support with installable debugger commands and remote gdb support
  • Modern VM design (demand paging, swapping, memory mapping), with support for full filesystem cache integration
  • Dynamically loadable kernel modules: drivers, filesystems, generic modules
  • Full virtual filesystem layer, device file system
  • Initial support for iso9660, nfs, ext2fs filesystems
  • Full user space shared lib support
  • Kernel based network stack (full TCP/IP)
  • Remote block device
  • Basic VESA mode support with generic framebuffer console
  • Text-based console
  • TTY
  • Shell with scripting support
  • POSIX signals
  • process groups, session groups
  • Network cards: Realtek 8139, AMD PCNet32
  • Native FS
  • Full IDE/ATAPI stack
  • Full libc implementation
  • Graphics driver architecture
  • GUI
  • USB
  • Self hosting (requires more POSIX)
  • Anything anyone has the time for! The system currently can be built to run on the follwing systems:
  • Intel IA-32 (x86) - Tested on desktops through 4-way servers
  • Sega Dreamcast - Hitachi SH-4
  • PPC based machines - G3/G4 Macs, Pegasos Many ports of the system are waiting to happen when we get the time (hardware is purchased, documents have been found, just need to dedicate a few weeks):
  • ARM dev board - TI OMAP based dev board
  • Sun Blade 100 - UltraSPARC IIe in 64-bit mode
  • NeXT B&W slab - Motorola 68040 based
  • SGI Indy - MIPS R5000 based Indy in 32- and 64-bit mode
  • DEC Multia - Alpha 21064