User Tools

Site Tools


www:documentation:features

Here are some of the more interesting features of MINIX 3.

General Characteristics

  • POSIX-compliant operating system with a NetBSD userland
  • Open source, with a BSD license
  • Runs on x86 PCs and well as x86 virtual machines (VMware, etc.)
  • Runs on ARM Cortex A8 (e.g., BeagleBoard XM, Beaglebones)
  • Networking with TCP/IP
  • Virtual memory
  • Virtual file system
  • Unified block cache shared by virtual memory and file systems
  • Dynamic linking
  • Small memory footprint (kernel is 600 kB; full OS is 25 MB)

MINIX-specific Features

  • Tiny microkernel that runs in kernel mode
  • Most of the operating system runs in user-mode protected processes
  • Each device driver is a separate user-mode process
  • Reincarnation server can reload failed drivers

Reliability Features

  • Reduced kernel size
  • Bugs are caged
  • Drivers' memory access is limited
  • Bad pointer references are not always fatal
  • Infinite loops are not always fatal
  • Buffer overruns are not always fatal
  • Access to kernel function calls is restricted
  • Access to I/O ports is restricted
  • Communication with OS components is restricted
  • Dead or sick drivers can be reincarnated
  • Interrupts and messages are integrated
  • Click here for more details

Languages and Compilers

  • Languages: C, C++, clisp, mawk, Perl, Python, tcl, etc.
  • Compilers: gcc and clang/LLVM
  • Native compilation (self hosting) on x86
  • Cross compilation for x86 and ARM

Packages

  • Shells (e.g., bash, mksh, mudsh, pdksh, zsh)
  • Editors (e.g., elvis, joe, jove, pico, uemacs, vim)
  • Games (e.g., crafty, exchess, ioquake)
  • Mail (e.g., fetchmail, getmail, mutt, thunderbird)
  • Over 4000 other NetBSD packages
www/documentation/features.txt · Last modified: 2015/07/19 08:17 by dcvmoole