Conceitos Essenciais de Gerência e Alocação de Memória

Enviado por Bruno Akamine e classificado em Computação

Escrito em em português com um tamanho de 4,62 KB

Conceitos Fundamentais em Gerência de Memória

1. Funções Básicas da Gerência de Memória

As funções essenciais da gerência de memória são:

  • Permitir que novos programas sejam aceitos mesmo que não exista espaço livre de memória.
  • Permitir a execução de programas maiores do que a memória física.
  • Proteger as áreas de memória ocupadas por cada processo.

2. Estratégias de Escolha de Partição Dinâmica

Considerando as estratégias para escolha de partição dinamicamente, conceitue as estratégias Best-fit e Worst-fit, especificando prós e contras de cada uma:

Best-fit

Escolhe a melhor partição, ou seja, aquela que o programa deixa o menor espaço sem utilização. A lista de áreas livres é alocada por tamanho, diminuindo o tempo de busca.

  • Pró: Busca rápida se a lista for ordenada.
  • Contra: Deixa pequenas áreas não contíguas, aumentando o problema da fragmentação externa.

Worst-fit

Escolhe a pior partição, ou seja, aquela que o programa deixa o maior espaço sem utilização.

  • Pró: Diminui o problema de fragmentação, deixando espaços livres maiores que permitem a um maior número de programas utilizar a memória.
  • Contra: Pode fragmentar rapidamente os maiores blocos disponíveis.

3. O que é Overlay?

Técnica que busca dividir o programa em módulos, permitindo a execução independente de cada módulo, utilizando a mesma área de memória (sobreposição).

4. O que é Swapping e para que é utilizada esta técnica?

Swapping é uma técnica criada na tentativa de melhorar o problema da insuficiência de memória durante a execução de alguns processos em ambientes multiprogramados. Consiste em mover processos entre a memória principal e a memória secundária.

5. Explique a Alocação Contígua Simples

Implementada nos primeiros sistemas operacionais. A memória principal é dividida em duas partes: uma para o sistema operacional (S.O.) e a outra para o programa do usuário. Todos os programas estão limitados ao tamanho da memória principal disponível para o usuário.

Notas Adicionais sobre Alocação de Memória

Contexto e Otimização da RAM

A RAM é subdividida em duas áreas: S.O. e Programa do Usuário. Historicamente, o usuário tinha o controle sobre toda a memória principal, inclusive a área do S.O. Como a memória é um recurso escasso e caro, o S.O. deve ser capaz de otimizar seu uso, maximizando o número de usuários e aplicações.

  • Programas e Aplicações são armazenados na memória secundária.
  • O processador executa apenas instruções da memória principal (RAM), que oferece acesso direto e mais rápido.

Alocação Particionada Estática

Consiste na divisão da RAM em tamanhos fixos (partições). O tamanho das partições é definido em função do tamanho dos programas que seriam executados no ambiente.

  • Alocação Particionada Estática Absoluta: Programas com códigos absolutos, fazendo referência direta ao endereço RAM.
  • Alocação Particionada Estática Relocável: Código relocável, com referências relativas ao código e não ao endereço físico.

Proteção de Memória

A proteção é baseada em dois registradores que definem os limites inferior e superior da partição onde o programa está sendo executado. Se o programa extrapolar esses limites, uma violação de acesso é gerada pelo S.O.

Alocação Particionada Dinâmica

Esta estratégia resolve o problema da fragmentação interna e aumenta o grau de compartilhamento da memória, pois cada programa utiliza apenas o espaço necessário, tornando este o tamanho de sua partição.

Problema e Solução (Coalescing)

Problema: Programas vão terminando e deixando espaços cada vez menores na memória, impedindo a alocação de novos programas (fragmentação externa).

Solução: Apenas espaços livres adjacentes são reunidos (coalescing). Em casos mais extremos, é necessária a relocação de todas as partições ocupadas, eliminando os espaços entre elas e criando uma única área livre contígua.

Estratégia First-fit

A primeira partição livre de tamanho suficiente para carregar o programa é escolhida. É a estratégia mais rápida, consumindo menos recursos de processamento para a busca.

Entradas relacionadas: