YASH

Systems Programming

Written from scratch in C as the process-management groundwork for the Pintos kernel work that followed. YASH handles command parsing and execution, pipelines between commands, I/O redirection across stdin, stdout and stderr, job control with background processes and fg/bg/jobs, and signal handling with process-group control. Every shell feature you stop noticing is a special case somebody had to write down, and this is the project where I wrote them.

Skills

  • C
  • Systems Programming
  • Unix
  • Shell