Loading repository data…
Loading repository data…
aguiarpedrof / repository
[PT-BR] Simulador de algoritmos de escalonamento de processos (FCFS, RR, SJF) em C++. Projeto acadêmico (UNIFEI). [EN-US] CPU Scheduling Simulator (FCFS, RR, SJF) in C++. Academic project (UNIFEI).
Este projeto foi desenvolvido como parte da disciplina de Sistemas Operacionais do curso de Engenharia de Computação na UNIFEI. Ele simula como o kernel de um Sistema Operacional gerencia a fila de processos na CPU através de algoritmos clássicos de escalonamento.
Durante os estudos de Sistemas Operacionais, percebi que o escalonamento de processos é um dos conceitos mais fundamentais — e também um dos mais difíceis de visualizar na prática. Decidi criar este simulador com dois objetivos:
| Algoritmo | Tipo | Descrição |
|---|---|---|
| FCFS (First-Come, First-Served) | Não-preemptivo | Execução por ordem de chegada |
| SJF (Shortest Job First) | Não-preemptivo | Prioriza processos com menor tempo de execução |
| Round Robin (RR) | Preemptivo | Escalonamento com fatia de tempo (Quantum) configurável |
# Compilar
g++ -o simulador src/main.cpp src/escalonador.cpp
# Executar
./simulador
escalonador-de-processos/
├── src/
│ ├── main.cpp # Ponto de entrada e menu interativo
│ ├── escalonador.cpp # Implementação dos algoritmos (FCFS, SJF, RR)
│ └── Processo.hpp # Struct do processo (id, tempos, etc.)
└── README.md
This project was developed for the Operating Systems course in the Computer Engineering program at UNIFEI. It simulates how an OS kernel manages the process queue in the CPU using classic scheduling algorithms.
While studying Operating Systems, I realized that process scheduling is one of the most fundamental concepts — and also one of the hardest to visualize in practice. I decided to build this simulator with two goals:
| Algorithm | Type | Description |
|---|---|---|
| FCFS (First-Come, First-Served) | Non-preemptive | Executes in arrival order |
| SJF (Shortest Job First) | Non-preemptive | Prioritizes the process with the shortest burst time |
| Round Robin (RR) | Preemptive | Scheduling using a configurable time slice (Quantum) |
# Compile
g++ -o simulator src/main.cpp src/escalonador.cpp
# Run
./simulator
Pedro — Estudante de Engenharia de Computação na UNIFEI.
"A melhor forma de aprender é construindo."