UFRPE/EAD
Licenciatura em Computação-6P
              2011.1
  Tutor: Rodrigo Lins Rodrigues
   É uma técnica sofisticada e poderosa de gerência de
    memória, onde as memórias principal e secundária são
    combinadas;
   Dar ao usuário a ilusão de existir uma memória muito
    maior que a capacidade real da memória principal;
   Desta forma, programas e suas estruturas deixam de
    estar limitados ao tamanho da memória física, pois
    possuem endereços associados à memória secundária;
   Permitindo um maior número de processos na
    “memória”;
   Um programa no ambiente de
    memória virtual não faz referência a
    endereços físicos de memória, mas
    apenas a endereços virtuais;

   No momento da execução o
    endereço virtual é traduzido para
    um endereço físico, pois o
    processador manipula apenas
    posições de memória principal;
   O mecanismo de tradução do endereço
    virtual para o endereço físico é
    chamado de mapeamento;

   Um programa pode fazer referência a
    endereços virtuais que estejam fora dos
    limites da memória principal;

   Os programas não estão mais limitados
    ao tamanho da memória principal;

   O S.O utiiza memória secundária como
    extensão da memória principal;
   O processador apenas executa
    instruções e referencia dados
    residentes no espaço de
    endereçamento real;
   A tabela de mapeamento relaciona os endereços virtuais do
    processo às suas posições na memória real;

   Cada processo tem o seu espaço de endereçamento virtual
    como se possuísse sua própria memória;

   As tabelas mapeiam blocos de dados, cujo tamanho
    determina o número de entradas existentes nas tabelas de
    mapeamento;

   Existem S.Os que trabalham apenas com blocos de
    tamanho fixo (paginação), enquanto outro utilizam blocos
    de tamanho variável (segmentação), veremos a seguir.
   Permite espalhar processos por áreas não contíguas;

   Divide espaço de endereçamento virtual conjunto de
    páginas,de mesmo tamanho, em potência de 2;

   Espaço de endereçamento virtual está localizado na
    memória secundária Disco rígido;

   O programa armazenado no disco é considerado o
    original e as suas partes que são trazidas para a
    memória são consideradas cópias.
   O espaço de endereçamento virtual contém endereços
    lógicos ou virtuais.
     O endereço virtual deve ser convertido para um endereço real
      (endereço físico) antes de acessar a memória.
     É dividido em páginas lógicas de tamanho fixo.

   O espaço de endereçamento físico, alocado na memória
    principal, é dividido em pedaços com o mesmo tamanho de
    página
       cada partição da memória principal pode armazenar
       exatamente uma página.
       Essa partição também é chamada de frame ou moldura de
       página.
Virtual


          Física




                   9
Exemplo:
     O processo 1 possui 3 páginas, no entanto, apenas duas
estão carregadas na memória principal.




                                                               10
Tabela de páginas

   Estrutura de dados que relaciona endereços virtuais com
   endereços físicos




                                                              11
12
   Tabela de Páginas – Informações adicionais
     Presente/Ausente -indica se a página está na memória física;
     Desabilitar cache -Indica se a página pode ir para a memória cache;
     Referenciada -indica se a página foi referenciada;
     Modificada -indicar se a página já foi modificada;
     Proteção - indica se a página está protegida.




                                                                            13
14
   Baseia-se em: as páginas muito usadas nas últimas
    instruções, provavelmente serão nas próximas
    instruções;

   Escolhe-se uma das páginas da classe com número
    mais baixo para substituição;

     Classe 0 - páginas não-referenciadas e não-modificada;
     Classe 1 - páginas não-referenciadas, mas modificadas;
     Classe 2 - páginas referenciadas e não-modificadas;
     Classe 3 - páginas referenciadas e modificadas;

                                                               15
   A página mais antiga é a primeira a ser substituída e
    a mais recente será a última;

   No caso de necessidade de substituição, a página
    mais antiga será removida e a nova página colocada
    no final da lista;

   O problema encontrado nessa abordagem é que
    existe a possibilidade de remoção de páginas muito
    referenciadas, ainda que estejam há muito tempo
    na memória.

                                                            16

Memória virtual

  • 1.
    UFRPE/EAD Licenciatura em Computação-6P 2011.1 Tutor: Rodrigo Lins Rodrigues
  • 2.
    É uma técnica sofisticada e poderosa de gerência de memória, onde as memórias principal e secundária são combinadas;  Dar ao usuário a ilusão de existir uma memória muito maior que a capacidade real da memória principal;  Desta forma, programas e suas estruturas deixam de estar limitados ao tamanho da memória física, pois possuem endereços associados à memória secundária;  Permitindo um maior número de processos na “memória”;
  • 3.
    Um programa no ambiente de memória virtual não faz referência a endereços físicos de memória, mas apenas a endereços virtuais;  No momento da execução o endereço virtual é traduzido para um endereço físico, pois o processador manipula apenas posições de memória principal;
  • 4.
    O mecanismo de tradução do endereço virtual para o endereço físico é chamado de mapeamento;  Um programa pode fazer referência a endereços virtuais que estejam fora dos limites da memória principal;  Os programas não estão mais limitados ao tamanho da memória principal;  O S.O utiiza memória secundária como extensão da memória principal;
  • 5.
    O processador apenas executa instruções e referencia dados residentes no espaço de endereçamento real;
  • 6.
    A tabela de mapeamento relaciona os endereços virtuais do processo às suas posições na memória real;  Cada processo tem o seu espaço de endereçamento virtual como se possuísse sua própria memória;  As tabelas mapeiam blocos de dados, cujo tamanho determina o número de entradas existentes nas tabelas de mapeamento;  Existem S.Os que trabalham apenas com blocos de tamanho fixo (paginação), enquanto outro utilizam blocos de tamanho variável (segmentação), veremos a seguir.
  • 7.
    Permite espalhar processos por áreas não contíguas;  Divide espaço de endereçamento virtual conjunto de páginas,de mesmo tamanho, em potência de 2;  Espaço de endereçamento virtual está localizado na memória secundária Disco rígido;  O programa armazenado no disco é considerado o original e as suas partes que são trazidas para a memória são consideradas cópias.
  • 8.
    O espaço de endereçamento virtual contém endereços lógicos ou virtuais.  O endereço virtual deve ser convertido para um endereço real (endereço físico) antes de acessar a memória.  É dividido em páginas lógicas de tamanho fixo.  O espaço de endereçamento físico, alocado na memória principal, é dividido em pedaços com o mesmo tamanho de página  cada partição da memória principal pode armazenar  exatamente uma página.  Essa partição também é chamada de frame ou moldura de  página.
  • 9.
    Virtual Física 9
  • 10.
    Exemplo:  O processo 1 possui 3 páginas, no entanto, apenas duas estão carregadas na memória principal. 10
  • 11.
    Tabela de páginas Estrutura de dados que relaciona endereços virtuais com endereços físicos 11
  • 12.
  • 13.
    Tabela de Páginas – Informações adicionais  Presente/Ausente -indica se a página está na memória física;  Desabilitar cache -Indica se a página pode ir para a memória cache;  Referenciada -indica se a página foi referenciada;  Modificada -indicar se a página já foi modificada;  Proteção - indica se a página está protegida. 13
  • 14.
  • 15.
    Baseia-se em: as páginas muito usadas nas últimas instruções, provavelmente serão nas próximas instruções;  Escolhe-se uma das páginas da classe com número mais baixo para substituição;  Classe 0 - páginas não-referenciadas e não-modificada;  Classe 1 - páginas não-referenciadas, mas modificadas;  Classe 2 - páginas referenciadas e não-modificadas;  Classe 3 - páginas referenciadas e modificadas; 15
  • 16.
    A página mais antiga é a primeira a ser substituída e a mais recente será a última;  No caso de necessidade de substituição, a página mais antiga será removida e a nova página colocada no final da lista;  O problema encontrado nessa abordagem é que existe a possibilidade de remoção de páginas muito referenciadas, ainda que estejam há muito tempo na memória. 16