Wikipedia / Fiwix
Wikipedia / 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 i386 system call ABI compatible.
The FiwixOS 3.5 operating system is a Fiwix distribution. It uses the Fiwix kernel, includes the GNU toolchain (GCC, Binutils, Make), it uses Newlib v4.5.0 as its C standard library, and Ext2 as its primary file system.
Between October 2022 and the whole 2023 the Fiwix kernel accepted a series of patches that were necessary to be able to be compiled with TCC. This was a necessary step into the whole bootstrapping process to build a complete Linux distribution from scratch, with Fiwix being currently a crucial part of it.
In January 2026 appeared a project that acts as a full-source bootstrap chain for NixOS
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, signals and UNIX-domain sockets.
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.
UNIX98 pseudoterminals (pty) and devpts filesystem support.
Virtual consoles support (up to 12).
Keyboard driver with Linux keymaps support.
PS/2 mouse 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.
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.
References
Further reading
External links