- Scheduler is an independent process: it should create a shared memory segment (`shmget` and related syscalls)
- Scheduler should read data (a list of random numbers) written by init, sort the list in ascending order, and print the list (sorting algorithm of choice)
- Init should attach to the shared memory created by the scheduler process (`shmat` and related syscalls, any unique key of choice -> `ftok` syscall is a clean way to accomplish this)
- Init should write random numbers from P1-P4 into the shared memory
**Termination:**
- After scheduler prints the data, init should detach from shared memory and scheduler should detach and delete the shared memory segment (`schmdt` and `shmctl` syscalls)