Projects

scroll down
Personal Web and Video Server

Personal Web and Video Server

This project involved building a personal web server capable of serving static files, streaming MP4 videos, and handling token-based authentication via JSON Web Tokens (JWT). The implementation required concurrent client handling using a thread-based or event-driven approach, as well as support for HTTP/1.1 persistent connections and secure authentication mechanisms.

Fork-Join Thread Pool

Fork-Join Thread Pool

This assignment required implementing a fork-join thread pool using a work-stealing approach for parallel task execution. The project focused on optimizing resource utilization, avoiding excessive thread creation, and ensuring efficient task execution using futures and thread synchronization techniques.

Customizable Unix Shell

Customizable Unix Shell

Students designed a custom shell with job control, built-in commands, and support for foreground and background process management. Additional features included signal handling, process groups, and terminal management. The shell also supported advanced functionality such as pipes, I/O redirection, and customizable extensions.