Operating Systems course using C/C++
Assignment 1:
Part 1 -> Answers to the concept questions in the pdf file on course website.
Part 2 -> Two programming solutions to the Sleeping Barber Problem.
First solution uses pipes to communicate between the three
processes while the second uses Semaphores and shared memory
to communicate between the three processes.
Included in this folder is a README file explaining how
to compile and run the code and two .txt files explaining
conditons, if any, that lead to deadlock between the three
processes and a brief explanation of the execution order of
these processes.
Assignment 2:
This assignment was done using peer programming techniques.
Part 1 -> Answers to the concept questions in the pdf file on course website.
Part 2 -> Designing and Implementating a Scheduler Simulator using
FCFS (First Come First Serve) scheduler and a externally
based Priority scheduler.
part2.c -> C source file that contains both schedulers
Input.txt -> input file containing the "processes" that
the simulation needs to schedule.
README.txt -> General information about the assingment, including
list of files submitted, how to read the input file,
how to compile and run the simulation, and how to test
the simulation.
Report.docx -> This document contains the results of the 10 different
test cases that we tested the simulation against to ensure
that it worked properly.
Assignment 3:
Part 1 -> Answers to the concept questions in the pdf file on course website.
Part 2 -> Two different implementation of a simple prototype of an ATM
machine system that uses IPC services (message queues). The
first implementationuses processes while the second uses
posix threads.