Overview
A shell used to create processes, handle signals and uses both Unix system calls and C library function calls. It also allows for background process creation, file redirection and makes use of POSIX threads (pthreads), including mutual exclusion with pthreads.