This repository contains a simulation of a multiprogramming operating system implemented in C++. The OS handles various jobs, manages errors like time limit exceeded, line limit exceeded, and stores data in virtual memory using segmentation. This project serves as a simulation of an operating system environment.
- Multiprogramming: The OS supports the execution of multiple programs concurrently.
- Job Management: Handles various jobs and processes.
- Error Handling: Manages errors such as time limit exceeded, line limit exceeded, etc.
- Virtual Memory: Stores data in virtual memory using segmentation.
-
Ensure you have GCC (GNU Compiler Collection) installed to run the C++ code.
-
Clone the repository:
git clone https://github.com/Kartik-Katkar/Multiprogramming-Operating-System.git cd Multiprogramming-Operating-System
This diagram provides a high-level overview of the operating system, showcasing components like registers, card reader, printer, and main storage.
This diagram delves deeper into the system, illustrating main memory, auxiliary storage, CPU registers, and multiple card readers.
I encourage contributions from the community to enhance the Multiprogramming Operating System simulation. To ensure a smooth collaboration, please consider the following guidelines:
-
Fork the Repository:
- Fork the repository to your GitHub account.
-
Clone the Repository:
-
Clone the forked repository to your local machine:
git clone https://github.com/your-username/Multiprogramming-Operating-System.git cd Multiprogramming-Operating-System
-
-
Create a Branch:
-
Create a new branch for your contribution:
git checkout -b feature/your-feature
-
-
Make Changes:
- Implement your changes and ensure they adhere to the project's coding standards.
-
Commit Changes:
-
Commit your changes with a descriptive commit message:
git commit -m "Add your descriptive message here"
-
-
Push Changes:
-
Push your changes to your forked repository:
git push origin feature/your-feature
-
-
Submit a Pull Request:
- Open a pull request on the main repository's
main
branch. Provide a clear and concise explanation of your changes.
- Open a pull request on the main repository's