Systems programming / C · POSIX · TCP sockets · pthreads

A shell in C.

An operating systems project connecting an interactive command line with the processes, pipes, and sockets underneath it.

View repository ↗

What happens after pressing Enter?

The shell includes built-in commands, external command execution, parsing with quotes and escapes, and pipelines. The remote version uses TCP connections, client threads, and a dispatcher with a FIFO job queue and timing metadata.

Concepts explored

  • Process creation and external command execution
  • Pipes and standard-stream redirection
  • Persistent sockets, threads, and queued jobs

Project notes

The implementation targets Linux and WSL. This is a coursework shell; its remote execution interface should be treated as a development exercise.