This repository contains assignments related to multithreading and multiprocessing concepts in operating systems. The assignments cover topics such as:
- Heap Search Optimization using multiple threads
- Multi-threaded Directory Copy (
cp -Rimplementation) - Multi-process Download Manager
- Automated Compilation and Execution
- Stack Memory Handling
.
├── Heap_Search/ # Searching elements in a heap using threads
├── MultiThreaded_Copy/ # Custom implementation of `cp -R`
├── MultiProcess_Download/ # Parallel download manager using `curl`
├── Auto_Compile_Run/ # Automating compilation & execution
├── Stack_Memory/ # Managing stack memory limits
└── README.md # This file
Performs heap search using multithreading and multiprocessing to optimize search time. The task involves implementing a parallelized approach to checking if an element exists in a heap.
Reimplements the cp -R command using multithreading to improve file copy performance in Linux. This involves reading directories using dirent.h and handling file operations concurrently.
Develops a parallel file downloader using multiple processes. It utilizes curl/curl.h to handle multiple file downloads simultaneously, preventing a single slow file from blocking the queue.
Creates a script to automatically compile and execute a C program in a single step, instead of manually running gcc and then executing the output binary.
Implements a program that takes n numbers from the user and sums them, ensuring that stack memory constraints are handled properly.