The third iteration of my homebrew Operating System. XanaduOS features a variety of advanced features:
- Multitasking support, with Unix-like fork, exec, wait, et al.
- Advanced software capabilities with a work-in-progress LibC. Notable programs which work with XanaduOS:
- Bash
- GNU BC (Calculator)
- Vi (limited due to partially implemented TTY calls)
Doing some basic looking around with my basic testing shell, Xansh.
Framebuffer programs! Displaying a mandelbot fractal overlaid by the iconic shuttle.tga.
Running bash, using it, then GNU BC from bash and doing some calculations, then back to bash, and finally back to Xansh - no problem!
As of the writing of this README (18 Nov. 2024), I am presently working on (in a private branch):
- A complete rewrite of the VFS to support:
- Reading from devices other than ramdisks
- Real filesystem implementations not specific to this OS (SquashFS, Ext2, ISO.9660/ECMA-119)
- A proper ATAPI IDE layer to read from CD
- Once the text-based system is stable enough for proper use, a GUI system for programs to read and write with.
- Likely, this requires at least partial networking capabilities for IPC, since pipes would quickly get unwieldly with multiple GUI processes.
- USB/PCI support
- A userspace-accessible GPU pipeline to allow multiple processes to use the GPU
- A proper ACPI parser to determine and use the full capabilities of the hardware
- Compile flags to optimize specifically for a target device's capabilities
- Once all that is done, whatever logically follows that I've found helpful or necessary while working on this!