Ghost Kernel

Changelog 0.4.3 2015/08/29, 16:00:00

  • Idle task uses "HLT" to prevent 100% processor usage
  • fixed some problems in the standard I/O implementation, piping now works
  • Directory reading functionality is reworked
  • Spawner and others uses variable messages
  • Color in the terminal, and a fancy start screen
  • Minor bugfixes here and there
  • g_atomic_wait is now g_atomic_lock
  • g_spawn has slightly changed, its now possible to specify in and out descriptors of a process when spawning it


Open source - GitHub repository 2015/07/26, 16: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.


Adding userspace IRQ handling support (... and signals) 2015/07/24, 16: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.


Terminal is up again! 2015/07/01, 16: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!


The libc is taking shape 2015/06/23, 16: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.