Fiwix 0.9.0
Posted: Sun Aug 06, 2017 9:30 am
Hello everybody,
I'm pleased to announce the release of Fiwix kernel v0.9.0 (almost self-hosting).
Fiwix is an operating system kernel written from scratch by me, based on the UNIX architecture and fully focused on being POSIX compatible. All my efforts have been focused on kernel only, I pretend to use GNU applications (mostly) for the user space. It runs on the 32-bit x86 hardware platform and is compatible with a good base of existing GNU applications.
Download the live floppy image and play with it. And if you feel the floppy image is not enough to have a good experience, please, download the live hard disk Minix v1 filesystem (200MB) from the Fiwix web site.
I plan to put the Fiwix kernel source code in Github when it reaches the 1.0 version (self-hosting).
Keep in mind that it is in its early stages, no network, no USB, no PCI ... it's just a hobby OS, so please, don't be so hard with it!
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.
Protected task environment (independent memory address per process).
Interrupt and exception handling.
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 (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.
Minix v1 filesystem support.
Linux EXT2 filesystem support (read only) with 1KB, 2KB and 4KB block sizes.
Linux PROC filesystem support.
PIPE pseudo-filesystem support.
ISO9660 filesystem support with Rock Ridge extensions.
RAMdisk device support.
SVGAlib based applications support.
Keyboard driver with Linux keymaps support.
Parallel port printer driver support.
Floppy disk device driver and DMA management.
IDE/ATA hard disk device driver.
IDE/ATA ATAPI CDROM device driver.
Minimum Hardware Requirements
Standard PC-AT ISA architecture.
x86 32bit processors (i386 and higher).
2MB of RAM memory.
Floppy disk (3.5", 1.44MB).
For more information go to http://www.fiwix.org
Thanks!
I'm pleased to announce the release of Fiwix kernel v0.9.0 (almost self-hosting).
Fiwix is an operating system kernel written from scratch by me, based on the UNIX architecture and fully focused on being POSIX compatible. All my efforts have been focused on kernel only, I pretend to use GNU applications (mostly) for the user space. It runs on the 32-bit x86 hardware platform and is compatible with a good base of existing GNU applications.
Download the live floppy image and play with it. And if you feel the floppy image is not enough to have a good experience, please, download the live hard disk Minix v1 filesystem (200MB) from the Fiwix web site.
I plan to put the Fiwix kernel source code in Github when it reaches the 1.0 version (self-hosting).
Keep in mind that it is in its early stages, no network, no USB, no PCI ... it's just a hobby OS, so please, don't be so hard with it!
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.
Protected task environment (independent memory address per process).
Interrupt and exception handling.
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 (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.
Minix v1 filesystem support.
Linux EXT2 filesystem support (read only) with 1KB, 2KB and 4KB block sizes.
Linux PROC filesystem support.
PIPE pseudo-filesystem support.
ISO9660 filesystem support with Rock Ridge extensions.
RAMdisk device support.
SVGAlib based applications support.
Keyboard driver with Linux keymaps support.
Parallel port printer driver support.
Floppy disk device driver and DMA management.
IDE/ATA hard disk device driver.
IDE/ATA ATAPI CDROM device driver.
Minimum Hardware Requirements
Standard PC-AT ISA architecture.
x86 32bit processors (i386 and higher).
2MB of RAM memory.
Floppy disk (3.5", 1.44MB).
For more information go to http://www.fiwix.org
Thanks!