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
- merge the commit to main by @ranjan42 in #45
- Userland creation: 1° step - Add SYS_WRITE syscall by @dmarro89 in #46
- Feat: Create SYS_EXIT syscall (#47) by @ranjan42 in #56
- Feat: Add command suggestions (#17) by @rivenbryan in #55
- Feat: Implement persistent storage infrastructure (ATA + FAT16) by @ranjan42 in #57
- Add Hello World for UserLand by @Sujeev-Uthayakumar in #58
- feat(keyboard): add support for shift and caps lock by @mohak1 in #63
- Improved task runner + added stubs for CI + added unit tests running in CI by @dmarro89 in #60
- Adding documentation by @dmarro89 in #65
- Update README.md by @dmarro89 in #66
- feat: add SYS_GETTICKS syscall (int 0x80, eax=3) by @ranjan42 in #67
- Running a program with the task runner by @dmarro89 in #68
New Contributors
- @rivenbryan made their first contribution in #55
- @Sujeev-Uthayakumar made their first contribution in #58
- @mohak1 made their first contribution in #63
Full Changelog: v0.2.0...v0.3.0