Dawn is a x86 based operating system (OS) with a process scheduler, virtual memory manager, application loader, a defined set of system calls and a host of other features. This project was undertaken as part of an optional A-level module. The project involved development of a operating system kernel and a set of utility programs, as well as the design of a set of tools designed for the OS which allow the user to interact and perform tasks. The code was primarily written in C (C99), with small amounts of assembly used in the Kernel, as well as some bash or python scripts to automate compilation and deployment of the OS.
In 2014 I began working on the project again, refactoring the older code so that it complies with more modern programming standards and adding new features. I am continuing to work on the project, along with one other developer, to improve the existing code and experiment with potential kernel and OS designs.