Enhanced NACHOS functionality by implementing system calls, multi-threading, multi-processing and memory management using locks and condition variables (wait, Signal, broadcast) for mutual exclusion. Also added RPC’s to the enhanced NACHOS and implemented a fully distributed system to run a multithreaded application.