CacatOS
Context
This project was conducted by me and a friend in the context of our Operating System and Computer Networks course at the ENS. We were not given much help apart from being advised to used QEmu and to look up on the internet for examples.
Features
Our OS for the x86 architecture accumulated the following features. It can schedule multiple processes, each having its own virtual memory. Any process can chose to display things, if multiple active processes do so, the user can chose which one to look at. Programs can be developed in C using a custom ‘standard library’. Many Syscalls are implemented and enable, among other things, a Filesystem, communication between processes and dynamic memory allocation. A basic shell program is implemented.
Code
The code is available on GitHub.