This remote CLI shell simulates some services of the OS including the current Linux shell features, multi-processing, multi-threading, socket communication, scheduling, etc. The project is divided in four related phases. The solutions require the use of:
- process creation
- inter-process communication using sockets and pipes
- multiprocessing
- multithreading
- scheduling and synchronization
In this project, my teammate and I created a fully functional remote shell including our own time-based scheduler.