Features
The system is very experimental, yet FreeNOS currently supports:
- Intel x86 (PC) and ARMv6/ARMv7 architectures (Raspberry Pi 1,2,3, Allwinner H2+/H3)
- Virtual memory
- Simple task scheduling
- Inter Process Communication (IPC)
- Symmetric Multi Processing with MPI support (via console and ethernet)
- Devices:
- VGA/Keyboard consoles (also supported by Ed's libteken)
- i8250 serial UART
- PCI host controller
- CMOS RTC clock
- ATA host controller
- Allwinner H2+/H3 ethernet controller
- Loopback ethernet controller
- Filesystems:
- Virtual file system (VFS)
- Temporary file system (TmpFS)
- Linnenbank file system (LinnFS)
- Networking (IP, UDP, ICMP, ARP)
- POSIX, ANSI C libraries
- Dynamic and Shared memory
- Fully automatic autotester
- Automated continuous integration using jenkins and Vagrant
- All sources documented with Doxygen
- User and kernel code written from scratch in C++
- Very small microkernel (~2K lines of C++ code including a tiny part in assembly)
- Builds with recent GCC, LLVM and SCons versions on POSIX systems