FiwixOS 3 is a Fiwix distribution, an operating system made from a software collection that is based upon the Fiwix kernel. It basically comprises a Fiwix kernel, GNU tools, libraries and additional software. All the included software is free and open-source software made available both as compiled binaries and in source code form, which allows modifications to the original software.

FiwixOS 3 uses the Newlib v3.1.0 as its C standard library, and the Ext2 as its primary file system.

Fiwix is an operating system kernel written from scratch, based on the UNIX architecture and fully focused on being POSIX compatible. It is designed and developed mainly as a hobby OS and, since it serves also for educational purposes, the kernel code is kept as simple as possible for the benefit of students and OS enthusiasts. It is small in size (less than 40,000 lines of code), runs on the i386 hardware platform and is compatible with a good base of existing GNU applications.

Features

  • Mostly written in C language (Assembler only used in the needed parts).
  • GRUB Multiboot Specification v1 compliant.
  • Full 32bit protected mode non-preemptive kernel.
  • For Intel 80386 processors and higher.
  • Preemptive multitasking.
  • POSIX-compliant (mostly).
  • Process groups, sessions and job control.
  • Interprocess communication with pipes and signals.
  • BSD file locking mechanism (POSIX restricted to whole file and advisory only).
  • Virtual memory management up to 4GB (1GB physical only and no swapping yet).
  • Demand paging with Copy-On-Write feature.
  • 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.
  • EXT2 filesystem support with 1KB, 2KB and 4KB block sizes.
  • Minix v1 and v2 filesystem support.
  • Linux-like PROC filesystem support (read only).
  • PIPE pseudo-filesystem support.
  • ISO9660 filesystem support with Rock Ridge extensions.
  • RAMdisk device support.
  • SVGAlib based applications support.
  • Keyboard driver with Linux keymaps support.
  • Floppy disk device driver and DMA management.
  • IDE/ATA hard disk device driver.
  • IDE/ATA ATAPI CDROM device driver.
  • Initial RAMdisk (initrd) image support.
  • Serial port (RS-232) driver support.
  • Remote serial console support.
  • Basic implementation of a Pseudo-Random Number Generator

Project Samples

Project Activity

See All Activity >

License

MIT License

Follow Fiwix

Fiwix Web Site

You Might Also Like
Our Free Plans just got better! | Auth0 by Okta Icon
Our Free Plans just got better! | Auth0 by Okta

With up to 25k MAUs and unlimited Okta connections, our Free Plan lets you focus on what you do best—building great apps.

You asked, we delivered! Auth0 is excited to expand our Free and Paid plans to include more options so you can focus on building, deploying, and scaling applications without having to worry about your secuirty. Auth0 now, thank yourself later.
Try free now
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of Fiwix!

Additional Project Details

Operating Systems

Linux, BSD

Intended Audience

Education, Advanced End Users

User Interface

Console/Terminal

Programming Language

Assembly, C

Related Categories

Assembly Operating System Kernels, C Operating System Kernels

Registered

2018-04-28