Giter Club home page Giter Club logo

segunda-chance's Introduction

🔧 Segunda Chance

Gerenciamento de memória

  • O algoritimo Segunda chance implementa FIFO (first in, first out) modificado, ele acresenta um bit R para cada bloco de memória com a intenção manter na memória as páginas que mais estão sendo utilizadas.

  • O bit dos blocos de memória possui dois estados 0 ou 1.

  • Toda vez que a página é acessada o seu bit é atualizado para 1.

  • No momento que o Sistema Operacional (SO) tenta remover a página, ele verifica o bit R.

    • Se for 0 (página não foi acessada), remova-a.
    • Se for 1, zere-o e de uma segunda chance à pobre da página.

Como utilizar o programa?

  • Quando executamos o programa ele nós leva para o menu com seis opções:
  1. Exibir Dados.
  2. Alocar Dados.
  3. Acessar Dados.
  4. Excluir Dados.
  5. Simular Preenchimento.
  6. Sair.

Exibir Dados.

Exibir Dados

Essa função é muito simplis, ela mostra a página de memória e seus respectivos conteúdos e o bit R como na figura acima.

Alocar Dados.

Alocar Dados

Essa função permite escolher uma posição da página, e substituir ou setar um valor para posição, como consequência o bit R será setado para 1.

Acessar Dados.

Acessar Dados

Essa função permite acessar a posição da página, essa ação permite setar o bit R para 1, caso tenha alguma informação na posição de memória.

Excluir Dados.

A função excluir realiza a consulta do bit R e realiza a exclusão do conteúdo caso o bit esteja vazio. No caso que ele esteja setado com 1, ele apenas será decrementado para todos os bits (neste caso).

Excluir Dados Excluir Dados

Simular preenchimento.

Simular Preenchimento

A função simular preenchimento realiza de forma aleatória a inicialização dos dados e do Bit R.

Sair

Sair

A função sair fecha a aplicação.

Melhorias

  • Temos a intenção de usar alguma biblioteca grafica para obter uma interface gráfica.
  • Melhorar a escrita do código atraves de tecnicas de cleanCode.

Autores

segunda-chance's People

Contributors

anselmomendes avatar fernandofreire01 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.