Fiwix

Fiwix is an operating system kernel based on the UNIX architecture and fully focused on being POSIX compatible. It is designed and developed mainly as a hobbyist operating system, but it also serves for educational purposes. It runs on the i386 hardware platform and is compatible with a good base of existing GNU applications. It follows the UNIX System V application binary interface and is also mostly Linux 2.0 system call ABI compatible.

The FiwixOS 3.3 operating system is a Fiwix distribution. It uses the Fiwix kernel, includes the GNU toolchain (GCC, Binutils, Make), it uses Newlib v4.2.0 as its C standard library, and Ext2 as its primary file system.

Features
Features according to the official website include:
 * Written in ANSI C language (Assembly used only in the needed parts).
 * GRUB Multiboot Specification v1 compliant.
 * Full 32bit protected mode non-preemptive kernel.
 * POSIX compliant (mostly).
 * For i386 processors and higher.
 * Process groups, sessions and job control.
 * Interprocess communication with pipes and signals.
 * UNIX System V IPC (semaphores, message queues and shared memory).
 * BSD file locking mechanism (POSIX restricted to whole file and advisory only).
 * Virtual memory splits (user/kernel): 3GB/1GB and 2GB/2GB.
 * Linux 2.0 ABI system calls compatibility (mostly).
 * ELF-386 executable format support (statically and dynamically linked).
 * Round Robin based scheduler algorithm (no priorities yet).
 * VFS abstraction layer.
 * Kexec support.
 * Ext2 filesystem support with 1KB, 2KB and 4KB block sizes.
 * Minix v1 and v2 filesystem support.
 * Linux-like Proc filesystem support (read only).
 * ISO9660 filesystem support with Rock Ridge extensions.
 * RAMdisk device support.
 * Initial RAMdisk (initrd) image support.
 * SVGALib based applications support.
 * PCI local bus support.
 * Virtual consoles support (up to 12).
 * Keyboard driver with Linux keymaps support.
 * Frame buffer device support for VESA VBE 2.0+ compliant graphic cards.
 * Framebuffer console (fbcon) support.
 * Serial port RS-232 driver support.
 * Remote serial console support.
 * QEMU Bochs-style debug console support.
 * Basic implementation of a Pseudo-Random Number Generator.
 * Floppy disk device driver and DMA management.
 * IDE/ATA hard disk device driver.
 * IDE/ATA ATAPI CD-ROM device driver.