Software:Fiwix
From HandWiki
Short description: Operating system
This article does not cite any external source. HandWiki requires at least one external source. See citing external sources. (November 2023) (Learn how and when to remove this template message) |
FiwixOS 3.3 with Fiwix kernel v1.5.0 | |
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 | )
|Final release|Latest release}} | 1.5.0 / (November 15, 2023 | )
Available in | English |
Platforms | i386 |
Kernel type | Monolithic |
Default user interface | Command-line interface |
License | MIT License |
Official website | www |
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 UNIX System V application binary interface and is also mostly Linux 2.0 system call ABI compatible.
The FiwixOS 3.3 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:
- Written in ANSI C language (Assembly used only in the needed parts).
- 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 splits (user/kernel): 3GB/1GB and 2GB/2GB.
- 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.
- Kexec support.
- 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.
- Framebuffer console (fbcon) support.
- 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.
Further reading
- Sanfeliu, Jordi (2003-10-16). "The GNU/Fiwix Operating System". osnews.com. https://www.osnews.com/story/4839/the-gnufiwix-operating-system/.
External links
Original source: https://en.wikipedia.org/wiki/Fiwix.
Read more |