Table of Contents
General Characteristics
MINIX-specific Features
Reliability Features
Languages and Compilers
Packages
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