Coursework projects from Distributed and Multiprocessing systems - CSE531 (Fall 2017)
Project 1: Implemented synchronization between pthreads using semaphores
Project 2: Implemented routines that will allow a program to run, with multiple threads, using Non-preemptive scheduling on Linux operating systems
Project 3: Extending project2, implemented routines for semaphores and then used them to implement the readers/writers problem.
Project 4: Developed a module that does message passing between threads via centralized ports implementation.
Project 5: Client-server architecture for file transfer. Clients can upload files and server accept file-name and file data from the client and write them to the server's file system. Developed a single threaded file server that could support up to a specified number of concurrent transfers.