/CS330-Assignments

Solutions to the course assignments for CS330 offered in Fall 2022

Primary LanguageC

CS330-Assignments

This repo contains the solutions to the course assignments for CS330(Operating Systems) offered in Fall 2022 at IIT Kanpur. Our group members were Arnav Gupta, Hitesh Anand, Kushagra Sharma and Mandar Wayal.

Assignment 1

Task: Implement syscalls like getppid(), waitpid(), pinfo(), custom fork() and some user wrapper functions around syscalls like getpid(), pipe(), etc

Score: 97/100.
Remark for deductions: Execution time computation is buggy. (-3)

Assignment 2

Task: Had to implement 4 process scheduling algorithms: \

  1. Non-preemptive FCFS
  2. Non-preemptive SJF
  3. Preemptive RR
  4. Preemptive UNIX scheduler

Also had to compare these 4 algorithms using some statistics like Batch execution time, Average waiting time, Average turnaround time, Completion time, etc.

Score: 100/100

Assignment 3

Task: Had to implement conditional variables and semaphores and use them to solve the Barrier problem and the Multiple Producers-Multiple Consumers Bounded Buffer Problem.

Score: 100/100