socket program
The project involved implementing the following multiserver models:
When the user requests a URL, the requested URL displays the file contents if the requested URL is a file or the directory listing if the requested URL is a directory. The web server also stores request statistics in shared memory, the access to which is controlled by semaphore locking mechanisms and is used to display information like number of requests made to the server, successful and failed responses.
The project was undertaken as a part of the course 'Operating Systems' offered at Columbia University. The project was implemented in C language and was done in a team of 2 members comprising of Jay Karp and Umang Raj.
The GitHub repository of the project cannot be made public, owing to the course policy. For more details, please send Umang Raj an email at ur2136@columbia.edu.
References: Assignment specification provided by Professor Jae Wo Lee as a part of the course COMS-4118 (Operating Systems).