Skip to content

Everbero/fifo-simulator

Repository files navigation

FIFO / FCFS Scheduler Simulator

Um simulador interativo de escalonamento de processos desenvolvido com Next.js, React, TypeScript, Tailwind CSS e shadcn/ui.

O projeto tem como objetivo demonstrar, de forma visual e prática, o funcionamento de conceitos fundamentais de Sistemas Operacionais, como filas de processos, escalonamento FIFO (First In, First Out), FCFS (First Come, First Served), concorrência e paralelismo.

Objetivo Educacional

Esta aplicação foi criada como ferramenta de apoio ao ensino de Sistemas Operacionais, permitindo que estudantes visualizem como o sistema operacional gerencia processos e distribui tarefas para a CPU.

O simulador pode ser utilizado em disciplinas relacionadas a:

  • Ciência da Computação
  • Engenharia de Software
  • Engenharia da Computação
  • Sistemas de Informação
  • Análise e Desenvolvimento de Sistemas
  • Redes de Computadores
  • Tecnologia da Informação

Conceitos Demonstrados

OS Kernel

Representa o sistema operacional em execução contínua, responsável por coordenar todos os processos do sistema.

Process Creator

Permite a criação de novos processos que serão admitidos pelo sistema operacional.

Ready Queue

Fila de processos prontos para execução utilizando a estratégia FIFO (First In, First Out).

Scheduler

Implementa o algoritmo FCFS (First Come, First Served), selecionando sempre o primeiro processo disponível na fila.

Dispatcher

Responsável por encaminhar os processos selecionados pelo Scheduler para os núcleos da CPU.

CPU Execution

Representa a execução dos processos pelos núcleos da CPU, exibindo seu progresso e estado atual.

Concorrência

O simulador demonstra como múltiplos processos podem coexistir no sistema ao mesmo tempo, competindo pelos recursos computacionais.

Paralelismo

Ao aumentar a quantidade de núcleos da CPU, o simulador permite visualizar a execução simultânea de múltiplos processos, demonstrando o conceito de paralelismo.

Tecnologias Utilizadas

  • Next.js
  • React
  • TypeScript
  • Tailwind CSS
  • shadcn/ui
  • Tabler Icons
  • Sonner

Executando o Projeto

Instale as dependências:

pnpm install

Execute o ambiente de desenvolvimento:

pnpm dev

A aplicação estará disponível em:

http://localhost:3000

Funcionalidades

  • Criação dinâmica de processos
  • Escalonamento FIFO / FCFS
  • Simulação de Ready Queue
  • Controle de múltiplos núcleos de CPU
  • Demonstração de concorrência
  • Demonstração de paralelismo
  • Interface moderna construída com shadcn/ui
  • Feedback visual através de notificações e indicadores de estado

Licença

Projeto desenvolvido para fins educacionais e demonstração de conceitos de Sistemas Operacionais.

About

Simulador educacional de Sistemas Operacionais demonstrando escalonamento FIFO/FCFS, filas de processos, concorrência e paralelismo.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors