This repository contains assignments for the Operating Systems (OS) course offered to 2nd-year B.Tech students at Indraprastha Institute of Information Technology, Delhi (IIITD). It showcases a variety of projects and exercises completed as part of the OS curriculum.
- Course Name: Operating Systems
- Institution: IIIT Delhi (IIITD)
- Target Audience: 2nd Year B.Tech Students
This repository is organized into folders, one for each assignment:
- Assignment 1: Loader Implementation 🚀
- Focuses on understanding the basics of how programs are loaded into memory.
- Assignment 2: System Calls Exploration 📞
- Involves working with and understanding system calls.
- Assignment 3: Custom Shell and Scheduler 🐚⚙️
- Development of a basic shell and a process scheduler.
- Assignment 4: Smart Loader with Advanced Features 🧠💡
- Enhancements and advanced functionalities for the loader.
- Assignment 5: Multithreading Concepts 🧵✨
- Exercises related to concurrent programming and multithreading.
For detailed information on each assignment, please refer to the README.md and DESIGN.txt (or similar) files within each assignment's folder.
- Each assignment is located in its own dedicated folder (e.g.,
Assignment-1/,Assignment-2/, etc.). - Inside each assignment folder, you will typically find:
- Source code files (e.g.,
.c,.cpp,.h). - A
Makefilefor easy compilation. - A
README.mdfile specific to that assignment, often including team member details and specific instructions. - A
DESIGN.txtor similar text file outlining the design choices and approach for the assignment. - A PDF document (e.g.,
homework-X.pdf) containing the problem statement.
- Source code files (e.g.,
- Navigate to an Assignment:
cd Assignment-X(replace X with the assignment number). - Review Documentation: Read the assignment-specific
README.mdand the problem statement PDF. - Compile Code: Use the provided
Makefile. Typically, you can compile by runningmakein the assignment directory.make
- Run Executables: Execute the compiled programs as per the assignment instructions.
Note: Specific compilation and execution steps might vary. Always refer to the README.md within each assignment folder.
If you have any suggestions or find any issues, feel free to open an issue in this repository.
The solutions and code provided in this repository are for educational purposes and represent student submissions for the Operating Systems course at IIITD.