Skip to content

Releases: dmarro89/go-dav-os

v0.3.0

15 Feb 19:39
a8c9a87

Choose a tag to compare

This is the first step to the creation of a real userland.
We implemented 3 syscalls (SYS_WRITE, SYS_EXIT and SYS_GETTICKS) and improved the existing task runner.
In this way, now the user can run a custom program using the syscalls.
For testing the feature, we created an example binary and added a command into the shell to run it.
@ranjan42 also implements a FAT filesystem to store persistent data, including the commands into the shell.

Thanks to:

  • @ranjan42 for the incredible contribution in the implementation of the two syscall SYS_WRITE and SYS_GETTICKS and for the implementation of all the FAT filesystem.
  • @rivenbryan for implementing the command suggestions in the shell
  • @Sujeev-Uthayakumar for the creation of the binary to run as program
  • @mohak1 for the shell improvement, capable now of understanding the shift and the caps lock

What's Changed

New Contributors

Full Changelog: v0.2.0...v0.3.0

v0.2.0

25 Jan 09:52

Choose a tag to compare

The most important thing of this feature is the migration from a 32 bit architecture to a 64 bit one.
Thanks to all the contributors that made this new version possible.

What's Changed

New Contributors

Full Changelog: v0.1.0...v0.2.0

v0.1.0

06 Jan 08:06

Choose a tag to compare

First version of a 32-bit Go kernel (gccgo, freestanding) booted via GRUB/Multiboot.

  • VGA text-mode terminal (80x25) with cursor handling, scrolling, newline and backspace
  • PS/2 keyboard input with Italian layout + non-blocking ring buffer feeding the shell
  • IDT + PIC remap + PIT init, tick counter, and hlt-based idle loop
  • Debug shell commands: mem (hexdump), mmap (Multiboot memory map), ticks
  • Bitmap-based 4KB page frame allocator initialized from the Multiboot memory map (pfa/alloc/free)
  • Minimal in-memory filesystem (ls/write/cat/rm/stat)
  • Freestanding runtime kept intentionally small, plus tiny memcmp to stay libc-free

What's Changed

New Contributors

Full Changelog: https://github.com/dmarro89/go-dav-os/commits/v0.1.0