Skip to content

Repositório do ultimo projeto da disciplina de Sistemas Operacionais

Notifications You must be signed in to change notification settings

marcosquadross/virtual-memory-simulator

Repository files navigation

Algoritmos de Substituição de Páginas

Projeto proposto na disciplina de sistemas operacionais. Tem como objetivo simular 3 algoritmos de substituição de páginas. Os algoritmos escolhidos para serem implementados foram: FIFO, NRU e Segunda Chance.

Sobre os Algoritmos

NRU - Not Recently Used

Esse algoritmo dividi as páginas acessadas em classes. A classe mais páginas é escolhida como vítima para ser substituida. As páginas recebem suas classes seguindo a seguinte regra:

  • Classe 0: bit R=0, bit M=0
  • Classe 1: bit R=0, bit M=1
  • Classe 2: bit R=1, bit M=0
  • Classe 3: bit R=1, bit M=1

FIFO - First in, First out

Esse algoritmo utiliza uma filas de páginas acessadas. A página vitima sempre é a primeira da fila. Páginas acessadas sempre vão para o fim da fila.

Segunda Chance

Muito parecido com o FIFO, o algoritmo da segunda chance utiliza uma lista de páginas acessadas. Para escolher uma página vitima, deve-se pegar a primeira página da lista que tiver o bit R=0. Caso a página tenha o bit R=1, o valor 0 é atribuido para esse bit e a página é adicionada ao final da lista.

Como Executar o Projeto

  # clonando o repoositório
  $ git clone https://github.com/DiogoRodriguees/ALGORITMOS_SUBSTITUICAO_PAGINAS.git

  # abrindo o diretório do arquivo principal
  $ cd ./implementacao

  # copilação
  $ make

  # execução
  $ ./main.exe entrada1.conf

Autores


Diogo Rodrigues

Marcos Vinicius de Quadros

About

Repositório do ultimo projeto da disciplina de Sistemas Operacionais

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages