Developer Bananymous has just released a new OS written from scratch that already supports many features of modern-day operating systems. Banan-OS reflects two years of effort by the developer and is written almost entirely in C++, with some 16-bit real mode assembly utilized for the BIOS bootloader. The project even uses Bananymous' own custom C++ library. Currently, the OS supports x86_64 and i686 architectures. However, there is no need to install it locally, as the developer is hosting a live example that users can use to see what it has to offer.
Though still in its infancy, Banan-OS has several general functions that showcase how far it has come as a full-blown OS. These features include:
- Ring3 userspace
- SMP (multiprocessing)
- Linear framebuffer (VESA and GOP)
- Network stack
- ELF executable loading
- AML interpreter (partial)
- Basic graphical environment
The GUI is especially impressive as it features a terminal and a basic status bar. There are currently no applications or a program launcher, but those features are next on the list to be implemented.
Banan-OS also features support for a host of different drivers, networking options, filesystems, and bootloaders that are sure to entice some collaboration efforts from other developers. The following are a few highlights from each of these categories:
- Drivers: NVMe disks, PS2 keyboards and mice, USB keyboards, USB mice, and USB mass storage
- Networks: ARP, ICMP, IPv4, UDP, UNIX domain sockets
- Filesystems: Virtual filesystem, Ext2, FAT12/16/32, Dev, Ram, Proc
- Bootloaders: GRUB and Custom BIOS bootloader
For those interested in learning more about Banan-OS's code structure or contributing to the project, users can check out the project's GitHub page. There, Bananymous provides in-depth details on the project and specific instructions on how to contribute.