Gerenciamento de memória: diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
Alterei o segundo paraágrafo.
Etiquetas: Remoção considerável de conteúdo Editor Visual
Alterei o segundo paragrafo da alocação de memória e apaguei tudo.
Etiquetas: Possível resumo indevido Editor Visual
Linha 6:
 
== Gerência de Memória ==
A cada dia que passa os programadores necessitam de mais memória e mais programas rodando simultaneamente para poderem tratar cada vez mais informações. O tratamento necessário da memória utilizada não é uma tarefa fácil de ser implementada. Existem vários requisitos que devem ser observados para o correto funcionamento, tais como, segurança, isolamento, performance, entre outros. Para isto a função de gerenciar a memória passa a ser do [[sistema operacional]] e não mais do aplicativo.
 
Para que uma memória funcione de maneira correta, é necessário que se tome cuidado com vários elementos como segurança e isolamento, e para isso é utilizado o gerenciamento de memória. Este desenvolve sua função a partir de duas tarefas, a Alocação de Memória e a Fragmentação:
* A Alocação pode ser tanto estática, feita quando o programa é compilado, e a dinâmica, adiada até a execução.
* A Fragmentação, desperdício de memória, por sua vez pode ser interna, sobra na memória reservada ao programa, e externa que acontece quando após o termino dos programas são deixadas pequenas lacunas entre as páginas.
O conjunto de [[registradores]] especiais rápidos chama-se Translation Lookaside Buffer, estes são subdivididos em chave valor que lhe é dado em todos os registradores ao mesmo tempo, e valor.
 
O gerenciamento de memória virtual pode ocasionar vazamento de memória, ou seja, quando determinada quantia de memória é alocada e não liberada mesmo que não sendo utilizada, assim dados perdem a referencia sem ao menos terem usado memória.
O gerenciamento automático chama-se [[Coletor de lixo (informática)|Garbage collector]]. Ele retira os blocos de memória automaticamente. Seus algoritmos são divididos em duas famílias: a Identificação direta, por contagem de referência, e a Identificação indireta, por varrimento.
=== Alocação ===
A alocação de memória está dividida em 3(três) partes: