December 2025 Status Update

Published on December 29, 2025

It has been two months since the last status update. In that post, I mentioned restarting the project as a rewrite of BrutalOS, but I decided to abandon those plans and continue developing the original codebase. Since then, there have been some interesting developments!

Migration to Codeberg

The project has been moved from GitHub to Codeberg. Initially, I published this project on GitHub because I believed it would help gain visibility, but I realized that GitHub doesn’t significantly contribute to publicity (especially compared to other channels). With GitHub becoming increasingly buggy and slow, I concluded that switching to a different platform was the better choice.

Userspace Libc

Work has begun on the libc library for userspace programs. At this stage, it includes only a few functions and is statically linked.

I do not plan to introduce dynamic linking support to this operating system in the near future, as I believe the memory savings from dynamic linking are not significant enough to outweigh the tradeoffs.

A new desktop interface

I have prototyped a new desktop interface. It is mostly written by AI and does not have any actual functionality yet. It will eventually be rewritten at some point, but for now, it works as a nice demo.

Desktop

Multi-tasking support

Preemptive multi-tasking has been implemented. The current version uses a basic round-robin scheduling algorithm and relies on the PIT to trigger the scheduler.

Although the scheduler has significant room for improvement, it is functional as a prototype.

Additionally, support for usermode crash handling has been added, allowing the operating system to continue running even when a usermode task crashes.

More syscalls

The following syscalls have been added:

Meanwhile, the syscalls for registering mouse and keyboard event callbacks have been replaced with a polling-based approach, which uses the following syscalls:

Code refactoring

A significant amount of code refactoring has been completed, including:

What’s next?

There is still much to accomplish, but my goals for the next month include: