Top Qs
Timeline
Chat
Perspective
Fiwix
Operating system From Wikipedia, the free encyclopedia
Remove ads
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[1] 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.
This article needs additional citations for verification. (April 2024) |
The FiwixOS 3.4 operating system is a Fiwix distribution. It uses the Fiwix kernel, includes the GNU toolchain (GCC, Binutils, Make), it uses Newlib v4.4.0 as its C standard library, and Ext2 as its primary file system.
Between October 2022 and the whole 2023[2] the Fiwix kernel accepted a series of patches that were necessary to be able to be compiled with TCC. This was a necessary step into the whole bootstrapping process[3] to build a complete Linux distribution from scratch,[4] with Fiwix being currently a crucial part[5] of it.
Remove ads
Features
Summarize
Perspective
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, signals and UNIX-domain sockets.
- 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.
- PS/2 mouse 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.
Remove ads
References
Further reading
External links
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads