University group assignment where we developed a simulation of an operating system. This assignment was created by Tomas Peña, David Gómez, and Pedro Baccaro.
A special mention to David Lozada who helped us during the first couple of weeks with the CPU module. Due to personal issues, he decided to step out of the project.
The following image shows how the modules interact:
- Kernel: Coordinates process scheduling and communication between modules.
- Memoria: Simulates memory management using multi-level paging and frame allocation.
- CPU: Executes instructions, manages process execution cycles, and interacts with the Kernel for context switching.
- IO: Handles input/output operations asynchronously using simulated devices.
- Linux VM
- Programming Language: C
- Inter-process communication: Sockets
- Concurrency: Threads
- Project management: Makefiles,
valgrind
[so-deploy]: https://github.com/sisoputnfrba/so-deploy