CS39002-Operating-System-Lab

Authors

  • Group Number: 35 (CS39002-Spring-2022)
  • Members:
    • Pritkumar Godhani (19CS10048)
    • Debanjan Saha (19CS30014)

Description

This repository contains all the implementations of the systems programming concepts learnt in the Operating Systems course.

The directories present in this repository are as follows:

  • a1-shell-scripting : Implementatation and familiarization with shell scripting and popular/frequently used shell commands.

  • a2-custom-shell : Implementation of a command-line interpreter like Linux shell in C++ with support for foreground/background command execution, I/O redirection, process termination, multi-process status monitoring,command auto-completion searchable history etc using POSIX system calls like fork, exec, signal, pipe etc.

  • a3-parallel-matrix-multiplication : Implementation of parallel matrix multiplication as a deadlock-free producer consumer problem using shared memory and semaphores.

  • a4-threads-and-locks : Implementation of a producer consumer problem in the form of a job dependency tree with the use of threads,locks and shared memory.

  • a5-memory-management-unit : Implementation of a basic memory management library in C++ to ensure efficient usage of resources with functionalities like word alignment, 4 custom data types, garbage collection using threads and mutex locks to prevent data corruption.