Skip to content

A powerful collection of Bash scripts πŸ–₯️ designed to automate tasks, streamline workflows, and simplify system operations ⚑. Perfect for developers, sysadmins, and automation enthusiasts! πŸ§πŸ’‘

License

Notifications You must be signed in to change notification settings

amanantuley/Operating_System

🧠 Operating Systems Lab in C (OSL-C)

Welcome to the Operating Systems Lab repository! πŸ–₯️
This repository includes various OS-based programs implemented in C, covering core concepts such as process scheduling, memory management, synchronization, and system calls.


πŸ“˜ About

This repository serves as a hands-on resource for understanding key Operating System principles through practical C programs. Ideal for students, developers, and anyone interested in systems programming.


πŸ” Key Topics Covered

🧾 Process Management

  • FCFS_10.c: First Come First Serve scheduling
  • FIFO.c: Page replacement using FIFO algorithm
  • FSFC.c: File system with First Fit allocation
  • First_Fit.c: Memory allocation using First Fit
  • Bankers_Algorithm.c: Deadlock avoidance using Banker’s algorithm

πŸ” Process Creation & Termination

  • Exp-04(Fork).c: Demonstration of fork() system call
  • Exp-04(Wait).c: Use of wait() and exit() for child-parent synchronization

πŸ”„ Synchronization

  • Producers_Consumers.c: Producer-Consumer problem using semaphores

πŸ–₯️ Shell Scripting

  • EXP_02.sh: Shell script demonstrating basic Linux commands
  • Basic_Terminal_Commands/: Collection of commonly used Linux terminal commands

πŸ“Š Experiments

  • Experiment-03.c: Custom logic (based on course experiments)

πŸ› οΈ Requirements

  • GCC Compiler (e.g., sudo apt install build-essential)
  • Linux OS (recommended)
  • Basic understanding of C and system calls

πŸš€ Getting Started

πŸ”§ Compilation & Execution

gcc filename.c -o output
./output

For shell scripts:

chmod +x script.sh
./script.sh

πŸ—‚οΈ Repository Structure

πŸ“ OS-Lab-C
β”œβ”€β”€ Basic_Terminal_Commands/
β”œβ”€β”€ Bankers_Algorithm.c
β”œβ”€β”€ FCFS_10.c
β”œβ”€β”€ FIFO.c
β”œβ”€β”€ FSFC.c
β”œβ”€β”€ First_Fit.c
β”œβ”€β”€ Producers_Consumers.c
β”œβ”€β”€ Exp-04(Fork).c
β”œβ”€β”€ Exp-04(Wait).c
β”œβ”€β”€ Experiment-03.c
β”œβ”€β”€ EXP_02.sh
β”œβ”€β”€ LICENSE.md
└── README.md

🀝 Contributing

You’re welcome to contribute:

  • Add more scheduling/memory algorithms
  • Fix bugs or suggest improvements
  • Include documentation or test cases

Steps:

1. Fork this repository
2. Create a new branch: git checkout -b feature-name
3. Commit your changes: git commit -m "Add feature"
4. Push to the branch: git push origin feature-name
5. Create a Pull Request

πŸ“œ License

This project is licensed under the MIT License. See the LICENSE.md file for more details.


πŸ“ž Contact

Developer: Aman Antuley πŸ“§ Email: amanantuley@gmail.com 🐦 Twitter: @amanantuley πŸ’Ό LinkedIn: Aman Antuley


πŸ“Œ Explore, learn, and master OS concepts the practical way! πŸ§©πŸ§‘β€πŸ’»

About

A powerful collection of Bash scripts πŸ–₯️ designed to automate tasks, streamline workflows, and simplify system operations ⚑. Perfect for developers, sysadmins, and automation enthusiasts! πŸ§πŸ’‘

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published