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 System V Application Binary Interface and is also Linux 2.0 System Call ABI mostly compatible
Developer | Jordi Sanfeliu |
---|---|
Written in | C, Assembly |
OS family | Unix-like |
Working state | Current |
Source model | Open source |
Initial release | 1.0.0 (April 23, 2018 ) |
Latest release | 1.4.0 / (November 15, 2022 ) |
Available in | English |
Platforms | i386 |
Kernel type | Monolithic |
Default user interface | Command-line interface |
License | MIT License |
Official website | www |
The FiwixOS 3.2 operating system is a Fiwix distribution. It uses the Fiwix kernel, includes the GNU toolchain (GCC, Binutils, Make), it uses Newlib v4.2.0 as its C standard library, and Ext2 as its primary file system.
Features
Features according to the official website include:
- 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 and signals.
- UNIX System V IPC (semaphores, message queues and shared memory).
- 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).
- 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).
- ISO9660 filesystem support with Rock Ridge extensions.
- RAMdisk device support.
- Initial RAMdisk (initrd) image support.
- SVGALib based applications support.
- PCI local bus support.
- Virtual consoles support (up to 12).
- Keyboard driver with Linux keymaps support.
- Frame buffer device support for VESA VBE 2.0+ compliant graphic cards.
- Serial port RS-232 driver support.
- Remote serial console support.
- QEMU Bochs-style debug 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.
External links
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.