This repository contains the implementation of Project 1 for the Software Infrastructure (IF677) course at CIn-UFPE. The project focuses on enhancing the Pintos operating system by implementing an alarm clock and an advanced scheduler for thread management.
- Alberto Guevara de Araújo Franca
- Felipe Mateus Falcão Barreto
- Felipe Torres de Macedo
-
Alarm Clock:
- Implement a mechanism to allow threads to wake up at specific times.
- Ensure that threads are correctly unblocked when their alarm time expires.
- Handle thread priority adjustments based on alarm time.
-
Advanced Scheduler:
- Enhance the default scheduler (round-robin) to support multiple priority levels.
- Implement the Multi-Level Feedback Queue (MLFQ) scheduling algorithm.
- Prioritize threads based on their recent CPU usage and execution history.
- Git: Version control system for collaborative development.
- Live Share: Collaborative real-time coding sessions.
- Bochs(2.6.11) and QEMU: Simulators for testing and debugging Pintos.
- Clone this repository:
https://github.com/ftm2-cin/pintos.git
- Go to project directory
cd src/threads
- Build the project
make
- Run tests
cd build
make check
Our project successfully passed all alarm and MLFQ tests. Feel free to add more sections or elaborate on specific details relevant to your project. Good luck with your Pintos project! 🚀🔧