Features

  • 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 abstraction layer.
  • Linux EXT2 filesystem support (read only) with 1KB, 2KB and 4KB block sizes.
  • Linux PROCfs filesystem support.
  • PIPEfs pseudo-filesystem support.
  • ISO9660 filesystem support with Rock Ridge extensions.
  • Support for RAMdisk devices.
  • Support for SVGAlib based applications.
  • Keyboard driver with predefined English and Spanish/Catalan keymap layout (hard coded).
  • Parallel port printer driver support.
  • Floppy disk device driver and DMA management.
  • IDE/ATA hard disk device driver (read only).
  • IDE/ATA ATAPI CDROM device driver.

Hardware Requirements

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 memory.
  • Floppy disk (3.5" with 1.44MB).
  • Keyboard (US or ES/CA).
  • VGA graphics adapter.