PucaVaz/os-projects

★ 0Forks 0PythonGitHub ↗Compare

README

Operating Systems I Project Repository

Overview

This repository contains two projects developed as part of the Operating Systems I coursework at the Federal University of Paraíba. Each project implements and simulates classic algorithms in computer science, focusing on page replacement and CPU scheduling.

Projects Included

1. Page Replacement Algorithm Simulator

Located in the page-replacement-simulator directory, this project simulates three common page replacement algorithms used in operating systems:

  • FIFO (First In, First Out)
  • OTM (Optimal Replacement)
  • LRU (Least Recently Used)

For detailed information about this project, please refer to its dedicated README file in the page-replacement-simulator directory.

2. CPU Scheduling Algorithms Simulator

Located in the cpu-scheduling directory, this project simulates three fundamental CPU scheduling algorithms:

  • FCFS (First Come, First Served)
  • SJF (Shortest Job First)
  • RR (Round Robin)

For detailed information about this project, please refer to its dedicated README file in the cpu-scheduling directory.

Repository Structure

os-projects/
│
├── README.md
│
├── cpu-scheduling/
│   ├── README.md
│   └── [project files]
│
└── page-replacement-simulator/
    ├── README.md
    └── [project files]

Getting Started

Prerequisites

  • Just python3

Installation

  1. Clone the repository:
    git clone https://github.com/pucavaz/os-projects.git
    
  2. Navigate to the project directory:
    cd os-projects
    

Usage

For specific usage instructions, please refer to the README files in each project's directory:

  • CPU Scheduling: cpu-scheduling/README.md
  • Page Replacement: page-replacement-simulator/README.md

Contributing

Contributions to improve the projects are welcome. Please follow these steps:

  1. Fork the repository
  2. Create a new branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Please ensure you update the relevant project-specific README if your changes affect one of the individual projects.

Acknowledgments

  • Professor FERNANDO MENEZES MATOS for guidance and support
  • Federal University of Paraíba, Center of Informatics

Contributors

PucaVaz

Issues