OperatingsystemalGorithms
Índice
- Introdução
- Demonstração
- Algoritmos
- Configuração local
- Autor
- Licença
Introdução
- Simulador de alocação de memória construído com Java, para uma melhor compreensão de como a alocação de memória funciona em um sistema operacional . Simula estratégias de alocação de memória comuns:
- Primeiro ajuste
- Melhor ajuste
- Pior ajuste
Este repositório também contém o código para
- Algoritmos de agendamento
- Algoritmos de substituição de página
- Simulador de paginação
- Políticas de agendamento de disco
Demonstração
- Bem -vindo ao simulador de alocação de memória.
- Primeiro, perguntamos se o usuário deseja inserir valores ou não, se não, alguns valores já estão codificados.
- Os valores codificados são importantes para entender, depurar e economizar tempo.

- Depois de obter o valor de entrada das divisões de memória, seu status atual (gratuito/não gratuito) e os números do processo, imprimimos a tabela atual da alocação de memória.

- Então agora, pegamos o tamanho do processo de entrada e um menu aparece.

- Saída para o primeiro ajuste

- Saída para o melhor ajuste


Algoritmos
Um simulatório de alocação de memória simples construído com Java, para uma melhor compreensão de como a alocação de memória funciona em um sistema operacional . Simula estratégias de alocação de memória comuns:
- Primeiro ajuste
- Na primeira abordagem de ajuste, é alocar a primeira partição gratuita ou buraco grande o suficiente, que pode acomodar o processo.
- Vantagem : termina depois de encontrar a primeira partição gratuita adequada. Algoritmo mais rápido porque pesquisa o mínimo possível.
- Desvantagem : Fragmentação interna - As áreas de memória não utilizadas restantes deixadas após a alocação se tornam desperdiçadas se for muito menor. Assim, a solicitação de maior requisito de memória não pode ser cumprida.
- Melhor ajuste
- O melhor ajuste lida com a alocação da menor partição gratuita que atende ao requisito do processo de solicitação. Esse algoritmo primeiro pesquisa toda a lista de partições gratuitas e considera o menor buraco adequado.
- Vantagem : então tenta encontrar um orifício próximo ao tamanho real do processo necessário. A utilização da memória é muito melhor do que o primeiro ajuste, pois pesquisa a menor partição gratuita disponível primeiro.
- Desvantagem : é mais lento e pode até encher a memória com pequenos orifícios inúteis.
- Pior ajuste
- Na pior abordagem de ajuste, é localizar a maior parte gratuita disponível, para que a parte restante seja grande o suficiente para ser útil. É o inverso do melhor ajuste.
- Vantagem : reduz a taxa de produção de pequenas lacunas.
- Desvantagem : Se um processo que requer memória maior chega a um estágio posterior, ela não poderá ser acomodada, pois o maior buraco já está dividido e ocupado.
Antes de processar todas as simulações, o usuário deve inserir a divisão/alocação de memória atual , ou seja, divisão de memória, status, nome do processo.
Atualmente, a alocação de memória é codificada para economizar tempo e fácil depuração deste exemplo.
Alocação de memória atual

Se o processo de entrada for do tamanho de 200 kb, então:
Alocação de memória - primeiro ajuste

Alocação de memória - Melhor ajuste

Alocação de memória - pior ajuste

Configuração local
- Baixe a versão mais recente do Java - Java SE - Downloads | Oráculo.
- Clone o repositório:
git clone https://github.com/tusharnankani/MemoryAllocationSimulator.git - Abra este diretório no comando prós ou shell.
- Compilar o arquivo usando o comando:
javac MemoryAllocation.java - Execute o arquivo usando o comando:
java MemoryAllocation
Autor
Tushar Nankani
LinkedIn | Twitter
Licença
Licença de GPU