Gerência de Memória e Sistemas de Arquivos

Classificado em Computação

Escrito em em português com um tamanho de 7,75 KB.

Memória Principal

Necessária para reduzir o número de operações de E/S à memória secundária.

Gerência de memória do SO

Função: manter o maior número de processos residentes, permitindo maximizar o compartilhamento do processador e demais recursos computacionais.

Estratégias para determinar onde o programa será carregado na MP:

  • Best-fit: A melhor partição é escolhida, selecionando a partição na qual o programa deixa o menor espaço sem utilização.
  • Worst-fit: Escolhe a pior partição, isto é, aquela em que o programa a ser alocado deixa o maior espaço sem utilização.
  • First-fit: Seleciona a primeira partição livre de tamanho suficiente para carregar o programa.

Objetivo: evitar ou diminuir o problema da fragmentação externa.

Swapping: Utilizada para contornar a insuficiência de memória principal.

Para que a técnica de swapping foi introduzida?

Utilizada para contornar a insuficiência de memória principal.

Funcionamento: Processos que ficam na memória principal para serem executados são selecionados para esperarem na memória secundária, liberando espaço na memória principal. Quando um processo é tirado da memória principal, este é colocado em um arquivo de swap no disco. Posteriormente, esse processo pode ser carregado para a memória principal e então executado.

  • Swap Out: é tirar o processo da MP e colocar ele no arquivo de swap (o processo é transferido da memória principal para a memória secundária em forma de arquivo).
  • Swap In: é tirar o processo do arquivo de swap e colocar ele na memória (o processo é carregado da memória secundária para a memória principal).

Conceitos vinculados à técnica de swapping:

  • Arquivo de Swap: Arquivo que representa um processo armazenado em disco.
  • Relação dinâmica de programas: sistema implementado para alocar e desalocar os programas (processos);

Para que servem políticas de busca, alocação e substituição de páginas?

Como a gerência de memória virtual permite a execução de um programa sem que seu código esteja completamente residente na memória virtual, é necessário um mecanismo que permita a busca de páginas na memória virtual.

  • Paginação por antecipação: traz todas as páginas do processo da memória secundária para a memória primária.
  • Paginação por demanda: traz, da memória secundária para a principal, as páginas de acordo com que vão sendo necessárias para a execução do processo.

As páginas que são alocadas na memória por cada processo podem ser de maneira fixa ou variável.

  • Fixa: cada processo possui uma quantidade física a alocar.
  • Variável: é conforme o espaço.

Políticas que determinam que um processo pode ser retirado da MP:

  • Política de substituição de página local: apenas as páginas do processo que gerou o page fault são candidatas à realocação.
  • Política de substituição global: as páginas alocadas na memória principal são candidatas à substituição, independente do processo que gerou o page fault.
  • Page fault: situação em que um processo procura a página de um processo na memória principal e não encontra, é necessária a alocação dessa página. A alocação do page in deve ser realizada.

Quando não existe espaço suficiente na memória principal para alocar novos processos, qual é o procedimento realizado pelo S.O? Qual a importância e aplicação da gerência de memória virtual?

A gerência de memória virtual é a técnica que utiliza um dispositivo de armazenamento secundário (HD) para "conseguir" mais espaço para a alocação de processos. Nos sistemas multiprogramáveis, a Gerência de Memória Virtual não vincula o endereço feito pelo programa aos endereços físicos da memória principal. As vantagens em se utilizar a gerência de memória virtual são:

  • Programas e suas estruturas de dados deixam de estar limitados ao tamanho da memória física disponível;
  • Apenas partes de cada processo estarão residentes da memória, e não o todo;
  • Permite que um número maior de processos compartilhem a memória principal.

A GMV trabalha com endereços reais (endereços na MP) e endereços virtuais (MV - memória virtual), um mecanismo chamado mapeamento utiliza de uma tabela para mapear endereços reais de endereços virtuais. Em gerência de memória virtual, parte somente do processo fica alocado na memória principal, outra parte fica na memória virtual. Um conceito chamado "Paginação" é realizado pelo sistema operacional para trabalhar com vários endereços. A partir de então, as páginas na memória virtual ficam conhecidas como páginas virtuais e as páginas na memória real ficam conhecidas como páginas de memória real.

Políticas de Substituição de Página: seleção, dentre as diversas páginas alocadas, qual deverá ser liberada da memória principal para o acesso de outra página.

Tamanho da página: O tamanho da página está associado ao hardware e varia de acordo com o processador.

Memória Virtual por Segmentação: Técnica de gerência de memória onde o espaço de endereçamento virtual é dividido em blocos de tamanhos diferentes.

Memória Virtual por Segmentação com Paginação: Técnica na qual o espaço de endereçamento é dividido em segmentos e, por sua vez, cada segmento é dividido em páginas.

Swapping em Memória Virtual: Processo no qual faz o uso do swap out, swap in e swap file.

Exercícios sobre Gerência de Memória

Armazenar e recuperar informações são atividades essenciais para toda aplicação. Todo processo deve ler e gravar dados em dispositivos em discos. Para executar essas atividades, o Sistema Operacional utiliza-se do "Sistema de Arquivos" para armazenar, organizar e acessar os arquivos nos diretórios.

O que é um arquivo? Informações logicamente relacionadas.

Como os arquivos são organizados? Organização de Arquivos: Consiste em como os dados estão internamente armazenados.

Quais os métodos de acesso? Métodos de Acesso: Mecanismo pelo qual se recupera e grava informações em um registro.

Quem faz a interface entre as aplicações e os dispositivos? Operações de Entrada e Saída: consiste das rotinas do sistema de arquivos.

O que são diretórios? Unidades raízes que permitem a leitura e gravação de dados.

Gerência de Alocação de Espaço em Disco: preocupa-se em como os arquivos são gravados em disco.

Entradas relacionadas: