This project implements a simplified Unix-like shell with core operating system concepts, including process management, scheduling, and memory management. The shell supports executing scripts and batch programs, along with multiple scheduling policies such as FCFS, SJF, RR, and Aging. A key component of the project is a demand-paging memory system that loads script pages on demand, tracks page tables, and performs page replacement using an LRU policy. Together, these components simulate how an operating system manages programs, memory, and CPU time at a low level.
- Navigate to the
srcdirectorycd project/src - Compile code
make mysh - Run shell
./mysh - (Optional) Clean compiled files
make clean