Ghost Kernel

Open source - GitHub repository 2015/07/26, 22:00:00

Today I took the time to fix some remaining issues and clean the project up to make it publicly available. You can now obtain the sources on GitHub, the project is licensed as GPLv3.

If you are interested in building the project, there is an explanation on how to set up the toolchain within the repository.

0 comments

Adding userspace IRQ handling support (... and signals) 2015/07/24, 22:00:00

A lot has happened since I kicked out Newlib. There were some minor bugs, but userspace & the window manager are running again.

To improve the performance of interrupt handling, there is now support for thread interruption. This will also be used for implementing signals. Like this, a driver can decide to register a routine as an IRQ handler, and each time the interrupt occurs, the driver's thread is interrupted and may do necessary work. This works fine for keyboard and mouse already. Next thing will be using this mechanism for signals.

0 comments

Terminal is up again! 2015/07/01, 22:00:00

After implementing the basic parts of the custom libc that now replaces Newlib, the system services and applications are up and ready again! There are still some issues with libstdc++-v3 that I'm currently fixing. In a first test, the window manager also turned out to run without a hassle with the new custom C library. Newlib is gone.

I did some cleanup in the project structure and reworked the build process, too. The code base was cleaned up a little. When I've finally decided for a license and eliminated some minor atrocities I'll go for a the first public source release. Stay tuned!

0 comments

The libc is taking shape 2015/06/23, 22:00:00

Making steady progress in my C library implementation. The headers & declarations are done and some parts are implemented.

Moving away from Newlib was painful so far, but writing a custom library in the end gives much more control to the way applications on the system work.

Not doing much else at the moment, I was on vacation and the top priority is bringing the lib to a status where the existing programs work again.

0 comments

Starting a custom libc 2015/05/13, 22:00:00

After struggling with some ugly userspace bugs for a few days that were mainly caused due to the way that the current C library (Newlib) is working and bound into the system, I decided to start writing my own C standard library implementation. Newlib has already caused too many problems and I'll be glad once its gone.

0 comments