Simulation of an operating system using Java. This project handles running multiple processes at the same time and how the processor schedules them to ensure that all processes have a good chance to run. The Round-Robin scheduling algorithm was used in this system and a simulation of the memory and PCBs of the processes was also implemented.