Ghost Kernel

First window manager attempts 2014/08/25, 20:00:00

Lately I've been reworking the input & windowing system. A bug that caused the PS/2 driver to send wrong mouse coordinates in movement messages when overflow packets were received is also fixed.

Mouse input is now dispatched into different types of events which then are dispatched and can be handled by the affected components (by now only from within the window manager itself). Currently there are some windows implemented which handle drag events and thereby allow resizing/moving:

The next steps regarding the window manager will be creating an API, so programs can create, manipulate components and draw on the screen.


VFS uses shared memory 2014/08/20, 19:51:25

The virtual filesystem is a central application that handles any file-related requests from other applications. It registers itself at the port distributor using the name "vfs".

Absolute paths to files on any device are formatted in the way deviceIdentifier://path/to/file. I decided for this style because I neither like the idea of mountpoints, nor the drive-letter stuff that Windows does. This makes it very clear which device you access using an absolute path, like cdrom0://docs/hello.txt would lead you a file which is then loaded by the VFS by for example contacting the responsible ATA driver. Currently there is an implementation for reading files from the ramdisk, using "ramdisk" as the device identifier.

Data was previously transferred using streams, but now is implemented via shared memory. This allows much higher transfer rates and better performance in general. Detailed information will be added to the documentation pages.


Ghost News! 2014/08/19, 22:03:10

This is the news blog for the project. I'll update this page and add new information from time to time to notify you about the status of Ghost. If you have any feedback, feel free to contact me.