Your SlideShare is downloading. ×
Memória virtual
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Memória virtual

5,390
views

Published on


0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
5,390
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
102
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. UFRPE/EADLicenciatura 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; 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 duasestã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. 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. 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
  • 17.  A segmentação, assim como a paginação, é uma técnica de memória virtual; Na segmentação, os segmentos têm diferentes tamanhos; Duas maneiras de segmentação são permitidas:  » Segmentação simples ou por swapping;  » Segmentação com paginação; 17
  • 18.  Na segmentação, o uso da técnica não é transparente ao programador, enquanto que na paginação, a transparência ao programador existe; Páginas têm tamanhos fixos e segmentos não; Os segmentos possuem tamanhos diferentes que inclusive podem variar durante a execução; 18
  • 19.  Existem dois principais:  Best-fit: Procura a menor lacuna que caiba o segmento;  First-ft: Procura a primeira lacuna que caiba o segmento. Independentemente do algoritmo utilizado, o S.O precisa realizar a atualização da lista de lacunas existentes na memória; 19
  • 20.  A memória virtual é dividida em segmentose estes são compostos por um conjunto de páginas; Cada segmento tem a sua própria tabela de páginas; 20
  • 21.  Considere um sistema de memória virtual composto de 512 páginas de 2Kbytes o qual é mapeado em um espaço de endereçamento físico de 256 Kbytes. a) Qual o formato do endereço virtual? R: O tamanho da página é igual ao tamanho da moldura = 2Kbytes. Para representar o deslocamento na página, consideraremos 2K linhas, que em potência de 2 = 2¹ x 2¹⁰. São necessários 11 bits para o deslocamento. Para representar 512 páginas = 2 ⁹ → 9bits. O endereço virtual terá 9 bits número de página e 11 bits para deslocamento, totalizando 20 bits. 21
  • 22.  b) Qual o tamanho em bytes da tabela de páginas? Assuma que cada página possui 1 bit de presença, 3 bits de proteção e 1 dirty bit. Considere ainda que os endereços da memória secundária não estão armazenados nesta tabela. Ao dividir 256 Kbytes (espaço de endereço físico) por 2Kbytes (tamanho moldura) obteremos 128 molduras ou páginas físicas. Para representar 128 páginas físicas, precisamos de 7 bits (2 ⁷). Considerando que os deslocamentos não estão presentes na tabela, a tabela terá 21 colunas ou bits (9 bits para número de página virtual + 7 bits para número de páginas físicas + 1 bit de presença + 3 bits de proteção + 1 dirty bit). A tabela terá: 512 páginas virtuais x 21 bits de coluna = 10752 bits = 1344 bytes. Aproximadamente 1,3Kbyte. 22
  • 23.  Considere uma arquitetura com um sistema de memória virtual com as seguintes características: Endereço virtual de 40 bits , Páginas de 16Kbytes e Endereço físico de 36 bits. A) Qual o layout do endereço virtual? Se a página é de 16K, temos em potência de 2 = 2 ⁴ x 2¹⁰, totalizando 14 bits para o deslocamento. Como o endereço virtual é de 40 bits, 14 bits são utilizados para o deslocamento e 26 bits para representar as páginas. 23
  • 24.  B) Qual o layout e tamanho da tabela de páginas em bytes? Assuma que cada página possui um bit de presença, 3 bits de proteção e um dirty bit. Considere ainda que os endereços da memória secundária não estão armazenados nesta tabela. Como o endereço físico possui 36 bits, e 14 são necessários para o deslocamento, 22 bits são necessários para identificar as páginas. Logo, a tabela de páginas terá 53 colunas ou bits( 26 das páginas virtuais + 22 das páginas físicas + 1 bit de presença + 3 bits de proteção + 1 dirty bit).A tabela terá 53 bits de coluna x 2² páginas virtuais = aproximadamente 445Mbytes.. 24
  • 25.  A tabela seguinte descreve a memória virtual de um sistema paginado com páginas de 1024 palavras. O endereço virtual é da forma [p,d] onde p refere-se à página e d ao deslocamento dentro dela. O endereço virtual [0,514] corresponde a que endereço real?R: [3, 514] 25