Concurrent Process Manager

Asteroid game-container GitHub

This is a project that targets the fundamentally concurrent nature of Operating Systems, using fork().

C++ Concurrency Operating Systems

How does it work?

Built on fork(), this project maintains a Process Control Block (PCB) to manage the lifecycle of various processes, from creation to kill() using signals. The PCB is responsible for ensuring that no process is left hanging forever, wasting OS resoources.

Features:

  • Job creation, suspension, and killing
  • Waiting for a process to finish
  • Running multiple processes in the background
  • Input/output piping