Trabalho de Sistemas Operacionais Gerenciamento de mem ria no linux Atualizado
MEMÓRIA NO LINUX
EQUIPE
PAULO JUNIOR
OTÁVIO AUGUSTO
Thiago bezerra
Ronan lima
INTRODUÇÃO
O Linux é um sistema multiprocessos e multiusuários.
Ele possui dois sistemas de gerenciamento de memória. (Memória Física e
Memória Virtual)
O primeiro cuida da alocação e liberação de blocos de memória.
O segundo tem o papel de “enganar” os processos dizendo que há memória suficiente quando não há.
MEMÓRIA FÍSICA
O administrador de memória física principal no Linux é o alocador de páginas.
O alocador de páginas usa um algoritmo de alocação de regiões vizinhas, que combina unidades de alocação adjacentes em uma única unidade.
Cada região de memória que pode ser alocada possui uma região adjacente correspondente, ou vizinha.
Sempre que duas regiões vizinhas são liberadas, elas são combinadas para formar uma região maior.
quando não existir uma região de memória disponível pequena para satisfazer a uma requisição de uma pequena porção de memória, uma região maior de memória é subdividida em duas vizinhas.
MEMÓRIA FÍSICA
As alocações de memória no núcleo do Linux ocorrem estaticamente, por rotinas de controle que reservam uma área contígua de memória no momento da carga do sistema, ou dinamicamente, pelo controlador de páginas.
As funções do núcleo não precisam usar o alocador de páginas para reservar memória.
Os subsistemas de memória mais importantes são o sistema de memória virtual, o sistema de alocação de áreas de memória de tamanho variável, kmalloc, e o sistema de alocação de espaço.
Tanto o controlador de páginas, quanto o kmalloc, não podem ser interrompidos. MEMÓRIA FÍSICA
As regiões de memória solicitadas pelo sistema kmalloc ficam alocadas até que sejam explicitamente liberadas.
O sistema kmalloc não pode transferir essas regiões de uma posição para outra ou liberá-las em resposta a uma diminuição do espaço livre em memória.
O núcleo usa um contador de referências a cada página na memória