From Wikipedia, the free encyclopedia
Jump to: navigation, search

Fiwix or GNU/Fiwix is an operating system kernel based on the UNIX architecture and fully focused on being Linux compatible. It is designed and developed mainly for educational purposes, so the kernel code is kept as simple as possible for the benefit of students. It runs on the 32-bit x86 hardware platform, and is compatible with a good base of existing GNU applications.


  • Mostly written in C. Assembler only used in the needed parts.
  • GRUB Multiboot Specification compliant.
  • Full 32bit protected mode non-preemptive kernel.
  • For Intel 80386 processors and higher.
  • Real multitask (kernel tasks at level 0).
  • Protected task environment (independent memory address per process).
  • Interrupt and exception handling.
  • POSIX signals.
  • Interprocess communication with pipes.
  • Virtual memory management up to 4GB (no swap yet).
  • Demand paging with Copy-On-Write feature.
  • Linux system calls compatibility.
  • Linux ELF-386 executable format support (statically and dynamically linked).
  • Round Robin based scheduler algorithm (no priorities yet).
  • VFS with Linux EXT2 filesystem support (read only).
  • Support for SVGAlib based applications.
  • Keyboard driver with predefined English and Spanish/Catalan keymap layout (hard coded).
  • Floppy disk device driver and DMA management.
  • IDE/ATA hard disk device driver (read only).

Hardware Requirements[edit]

The minimum system requirements to use GNU/Fiwix are as follows:

  • Standard PC architecture.
  • Intel IA-32 and compatible processors (80386 and higher).
  • 3MB of RAM.
  • Floppy disk (3.5" with 1.44MB).
  • Keyboard (US and ES/CA).
  • VGA graphics adapter.