Skip to content

Implementation of a Alarm Clock and a MFQ scheduler in PintOS 🖥️

Notifications You must be signed in to change notification settings

felipemfb/pintOS

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 

Repository files navigation

Pintos Project 1: Threads - Alarm Clock and Advanced Scheduler

Overview

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.

Group Members

  • Alberto Guevara de Araújo Franca
  • Felipe Mateus Falcão Barreto
  • Felipe Torres de Macedo

Project Goals

  1. 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.
  2. 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.

Tools Used

  • 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.

Running the Project

  1. Clone this repository:
 https://github.com/ftm2-cin/pintos.git
  1. Go to project directory
cd src/threads
  1. Build the project
make
  1. Run tests
cd build

make check

Project Status

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! 🚀🔧

About

Implementation of a Alarm Clock and a MFQ scheduler in PintOS 🖥️

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 68.9%
  • Perl 24.1%
  • Makefile 3.7%
  • Assembly 2.5%
  • Shell 0.5%
  • C++ 0.1%
  • Other 0.2%