Unidade G - Gerenciamento de memória
Síntese
- O sistema operacional faz o gerenciamento da memória do sistema de forma integrada com o hardware, ou seja, há uma interdependência entre hardware e sistema operacional;
- O sistema operacional trabalha com dois tipos de memória, que são:
- memória física – são os componentes eletrônicos da memória propriamente dita. Os processos não tem acesso direto ao hardware de memória;
- memória lógica – é a memória que o processo vê e utiliza;
- MMU – Memory Management Unit é a unidade de gerenciamento de memória, faz a interface entre memória lógica e memória física, além de implementar diversos mecanismos de proteção da memória física.
- Gerenciamento – exitem diversas formas/mecanismos de gerenciamento da memória, sendo que alguns são mais/menos eficientes:
- Partições fixas – a memória é dividida em espaços fixos de tamanhos variados; problemas são fragmentação externa e interna;
- Partições variáveis - memória é dividida em partições com o tamanho exato solicitado pelo processo; causa muita fragmentação externa, devido a grande quantidade de lacunas entre partições criadas;
- Partições com parágrafos – memória é dividida em blocos de tamanho fixo e os blocos são alocados aos processos conforme a demanda. Possui baixa fragmentação interna e alguma fragmentação externa.
- Paginação – memória lógica e física são dividias em páginas e na MMU há uma tabela que relaciona a página existente na memória lógica com a página existente na memória física. Não possui fragmentação externa e pouca fragmentação interna.
- Segmentação – memória lógica e física são dividias em segmentos e na MMU há uma tabela que relaciona o segmento na memória lógica com o segmento na memória física. Causa fragmentação externa.
- Segmentação paginada – cria um mecanismo de segmentos com páginas; cada segmento tem um conjunto de páginas; a MMU faz o mapeamento entre os segmentos e as páginas da memória lógica com a memória física;
- Swaping – é um mecanismo de expansão da memória física no disco rígido; no caso de falta de memória física disponível, processos podem ser “transferidos” para a área de swap onde normalmente são bloqueados, devido ao baixo tempo de resposta deste tipo de área.