1. Memória Virtual: - O sistema operacional divide a memória física em
páginas e atribui a cada página um endereço exclusivo na memória virtual.
- Quando um processo precisa de memória, o sistema operacional aloca um intervalo de endereços virtuais para ele. Se não houver memória física suficiente disponível, o sistema operacional move algumas páginas da memória física para a memória de disco (conhecida como
paginação ), liberando espaço para novas páginas.
2. Algoritmos de substituição de página: - Para gerenciar a substituição de páginas de forma eficaz, o sistema operacional usa algoritmos diferentes. Os mais comuns incluem:
-
Menos usados recentemente (LRU): Substitui a página que está inativa (não utilizada) há mais tempo.
-
Primeiro a entrar, primeiro a sair (FIFO): Substitui a página mais antiga, independentemente do uso.
-
Segunda chance: Variante do FIFO que dá às páginas uma "segunda chance" caso tenham sido referenciadas recentemente.
3. Paginação por demanda: - O sistema operacional traz uma página para a memória física somente quando ela é realmente necessária. Isso reduz o uso de memória e acelera a execução, evitando carregamentos desnecessários de páginas.
4. Métodos de alocação de memória: -
Alocação fixa: Divide a memória em partições de tamanho fixo, que os processos podem usar exclusivamente.
-
Alocação de variáveis: Atribui quantidades variadas de memória com base nas necessidades específicas de cada processo. Isso otimiza o uso da memória, evitando fragmentação e desperdício de espaço.
5. Troca: - Quando toda a memória física está esgotada e é necessária mais, o sistema operacional pode mover processos inteiros da memória física para o armazenamento em disco (
espaço de troca ) usando um processo chamado troca.
- Os processos trocados são restaurados na memória física quando precisam ser executados novamente.
6. Memória Cache: - A CPU utiliza memória pequena e rápida chamada
cache para armazenar dados e instruções usados recentemente para acesso rápido.
- Diferentes níveis de cache operam próximos à CPU com velocidade crescente e tamanho decrescente.
7. Proteção de memória: - O sistema operacional emprega técnicas de proteção de memória para evitar que processos acessem áreas restritas de memória ou sobrescrevam uns aos outros.
- Isso garante a integridade dos dados e aumenta a segurança.
8. Segmentação: - Uma abordagem alternativa ao gerenciamento de memória onde a memória é dividida em segmentos com base na funcionalidade lógica, em vez de páginas de tamanho fixo.
9. Alocação de memória de amigos: - Uma estratégia de alocação de memória que particiona a memória em blocos de tamanhos iguais, que podem ser subdivididos conforme necessário.
10. Tabelas de páginas e tabelas de páginas invertidas: - Tabelas de páginas são estruturas de dados que mapeiam endereços de memória virtual para endereços de memória física, permitindo que o sistema operacional gerencie com eficiência as substituições de páginas e o acesso à memória.
- Tabelas de páginas invertidas armazenam mapeamentos entre endereços de memória física e endereços de memória virtual, aumentando a eficiência das operações de gerenciamento de memória.
Essas técnicas e algoritmos evoluem continuamente à medida que os sistemas de computador se esforçam para melhorar a eficiência e o desempenho do gerenciamento de memória.