/Operating-Systems

Codes for my Operating Systems' Class

Primary LanguageC

OS

Codes for my Operating Systems' Class

Assignments

Complete OS Assignment Aims are included in Assignments.md

Assignment 1 : Shell Programming

Assignment 2 : Process Control System Calls

Assignment 3 : Multi-Threading

Assignment 4 : Thread Synchronization using Counting Semaphores

Assignment 5 : Thread Synchronization and Mutual Exclusion using Mutex

Assignment 6 : Deadlock Avoidvance using Semaphores (Dining Philosophers' Problem)

Assignment 7 : Inter Process Communication using Anonymous and Named Pipes

Assignment 8 : Inter Process Communication using Shared Memory

Assignment 9 : File Handling System Calls

Assignment 10 : Kernel Compilation

Final Codes only

Write these files into your disc. Warning: These Program are correct but may not contain all the changes.

Sample Programs

Sample Programs are simple programs used to demonstrate concepts used in the final assignment.

All Sample Programs like creating a Thread, that prints Hello World, are saved in a Folder called Sample Programs in their Respective Assignments. i.e. The above Program is saved in

'Assignment 2/Sample Programs'

unistd.h not Found Error

Resolve this Error by installing g++ compiler

sudo apt install g++

Now you should be able to compile your .c Files

Compiling Programs with Multi-Threading

gcc -pthread demo.c

This is done to explicitly tell gcc to include pthread Library during compilation.

Credits

Assignment 1 and Bug Fixes : Sujay Mahadik

Assignment 2 and Bug Fixes: Abhijeet Nawale

Assignment 2 (Binary Search) : Ashish Gaurav

Sample Shell Programs (Assignment 1) : Neeraj Lagwankar

Assignment 6 : Suraj Kulkarni

Assignment 10 : Chinmay Bhate

Writeups : Gauri Karekar