![Mind Map: Gerenciamento de Memória](https://www.mindmeister.com/image/xlarge/3541702762/mind-map-gerenciamento-de-mem-ria.png)
1. Alocação de Memória
1.1. Contígua
1.1.1. processo solicita a memória, uma única seção contígua de blocos de memória é atribuída ao processo de acordo com seu requisito
1.1.2. Aloca blocos consecutivos de memória para um processo
1.2. Não contígua
1.2.1. permite que um processo adquira os vários blocos de memória na localização diferente na memória
1.2.2. reduz o desperdício de memória
1.2.3. Aloca blocos separados de memória para um processo.
2. Problemas Comuns
2.1. Fragmentação
2.1.1. interna
2.1.1.1. memória é dividida em blocos de tamanhos montados
2.1.1.2. um método solicita a memória, o bloco de tamanho montado é atribuído ao método
2.1.1.3. penas no caso de a memória alocada ao método ser um pouco maior do que a memória solicitada, então a distinção entre memória alocada e solicitada é que a fragmentação interna.
2.1.2. externa
2.1.2.1. ocorre quando há uma quantidade de área suficiente na memória para satisfazer a solicitação de memória de um método
2.1.2.2. a solicitação de memória do processo não pode ser atendida porque a memória oferecida é de forma não contígua
2.2. Thrashing
2.2.1. onde uma grande quantidade de recurso computacional é utilizada para fazer uma quantidade mínima de trabalho
2.2.2. círculo vicioso até que algo ocorra para remover a situação original que levou àquele estado
2.2.3. dois ou mais processos
2.2.4. pode ocorrer na paginação de memória por demanda
2.2.5. lento e consome recursos de processamento
3. Funções do Sistema Operacional
3.1. Alocação e liberação de memória
3.1.1. limitado e precioso
3.1.2. Gerenciamento de Memória
3.1.2.1. Coleta de Lixo
3.1.2.2. coletor de lixo é responsável por identificar e liberar a memória que não está mais sendo referenciada por nenhum objeto no programa
3.1.3. liberar RAM,CACHE
3.2. Compartilhamento
3.2.1. Swapping é a permuta de conteúdos entre a memória principal e a memória secundária
3.2.2. dividir recursos
3.2.3. aplicativos de mensagens e serviços de armazenamento em nuvem
3.3. Proteção de memória
3.3.1. gerenciar a quantidade de direitos de acesso concedidos à memória do disco rígido de um computador
3.3.2. minimizar o potencial de algum tipo de violação de armazenamento que poderia prejudicar os dados contidos na memória ou danificar uma parte da capacidade da memória do disco rígido
4. Definição de Gerenciamento de Memória
4.1. O que é?
4.1.1. é um componente essencial dos sistemas operacionais modernos
4.1.2. Responsável por controlar e coordenar o uso da memória do computador
4.2. Por que é importante?
4.2.1. Garante que cada processo em execução tenha acesso à memória necessária, evitando conflitos e garantindo a eficiência do sistema
4.2.2. crucial para o desempenho geral do sistema, pois uma alocação inadequada pode levar a lentidão e falhas
5. Técnicas de Gerenciamento
5.1. Particionamento
5.1.1. fixo
5.1.1.1. dinâmico
5.1.1.2. alocação contígua
5.1.1.3. usado para aliviar o problema enfrentado pelo Particionamento Fixo
5.1.1.4. partições não são feitas antes da execução ou durante a configuração do sistema
5.1.2. usada para colocar mais de um processo na memória principal
5.1.3. número de partições da RAM é fixo
5.1.4. partições são feitas antes da execução ou durante a configuração do sistema
5.2. Paginação
5.2.1. divide a memória em blocos de tamanho fixo, chamados de páginas
5.2.2. podem ser alocados de forma não contígua
5.2.3. maximizar
5.2.4. evitar fragmentação
5.3. Segmentação
5.3.1. divide a memória em segmentos de tamanho variável
5.3.2. diferentes partes lógicas de um programa
5.3.3. funções ou dados
6. Memória Virtual
6.1. Conceito
6.1.1. permite que um sistema operacional use espaço em disco como uma extensão da memória RAM
6.2. Benefícios
6.2.1. útil quando a memória física é insuficiente para suportar todos os processos em execução
6.2.1.1. melhorando a multitarefa e a eficiência geral do sistema
6.2.2. permite que os sistemas operacionais executem aplicativos que exigem mais memória do que a disponível fisicamente
6.3. Paginação por demanda
6.3.1. apenas as páginas que o processo acessa são carregadas para a memória física