Mem ria virtual
This presentation is the property of its rightful owner.
Sponsored Links
1 / 63

Memória Virtual PowerPoint PPT Presentation


  • 63 Views
  • Uploaded on
  • Presentation posted in: General

Memória Virtual. O problema é que temos um espaço limitado de memória RAM e, cada vez mais, os aplicativos consomem partes maiores dela. E o que o processador faz quando a memória RAM acaba? Muito simples: utiliza a memória virtual. Memória Virtual.

Download Presentation

Memória Virtual

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Mem ria virtual

Memória Virtual

O problema é que temos um espaço limitado de memória RAM e, cada vez mais, os aplicativos consomem partes maiores dela.

E o que o processador faz quando a memória RAM acaba? Muito simples: utiliza a memória virtual.


Mem ria virtual1

Memória Virtual

  • A memória virtual é uma espécie de arquivo que é criado no computador e o processador utiliza para armazenar dados que ele costuma deixar na memória RAM. É como se ele simulasse a memória RAM dentro do seu HD, por isso que se chama memória virtual.


Mem ria virtual2

Memória Virtual

  • Memória Virtual é um espaço variável e reservado no disco onde o Sistema Operacional continua armazenando os dados que não couberam na memória RAM.

  • Na memória RAM ficam os dados temporários usados enquanto o computador está ligado, se ela enche, os dados vão sendo gravados no HD.

  • O desempenho de processamento é menor, pois o HD é muito mais lento que a memória.


Mem ria virtual3

Memória Virtual

  • O sistema operacional é capaz de executar aplicações mesmo que a soma de todos os programas em execução simultânea supere a da memória RAM  instalada no computador.   


So mem ria

SO - Memória

  •  O SO move ao disco rígido o conteúdo da memória RAM, liberando espaço para novas aplicações,se esses dados movidos ao HD voltem a ser necessários.

  • O SO automaticamente realiza a operação inversa, carregando-os na memória RAM, razão pela quais muitos chamam este tipo de procedimento de troca de memória.


Fun es mem ria virtual

Funções – Memória Virtual

Relocação (ou recolocação), para assegurar que cada processo tenha o seu próprio espaço de endereçamento.

Proteção, para impedir que um processo utilize um endereço de memória que não lhe pertença.

Paginação (paging) ou troca (swapping), que possibilita a uma aplicação utilizar mais memória do que a fisicamente existente (essa é a função mais conhecida).


Mem ria virtual4

Memória Virtual


Mem ria virtual5

Memória Virtual

No Windows recebe o nome de: PAGE FILE

No Linux recebe o nome de: SWAP


Conceito swap

Conceito- Swap

  • O SO escolhe um programa residente que é levado da memória para o disco (swap-out ) retornando posteriormente para a memória (swap-in).


Conceito pagina o

Conceito - Paginação

  • Permite que o programa possa ser espalhado por áreas não contíguas de memória.


Conceito segmenta o

Conceito - Segmentação

  • Técnica de gerência de memória onde programas são divididos em segmentos de tamanhos variados cada um com seu próprio espaço de endereçamento.


Mem ria virtual

Swap

  • Acontece toda vez em que um processo esgota seu um certo tempo e surge outro processo na fila com uma prioridade maior que a dele.

  • O tempo no entanto deve ser relativamente grande, pois a comunicação memória e disco rígido consome certo tempo,


Mem ria virtual

Swap


Mem ria virtual

Swap

  • O disco rígido é mais lento que o armazenamento em memória principal, e o processo consiste de trazer um processo ao disco e levar outro a memória, essa troca de não deve ser realizado em espaço de tempo muito curto.


Mem ria virtual

Swap

  • Em sistemas UNIX particularmente o processo de swap é desabilitado por padrão e só usado quando a memória está realmente comprometida, isto se deve ao tempo de troca que é alto.


Pagina o

Paginação

  • Na paginação a memória física é dividida em blocos de bytes contíguos denominados molduras de páginas (Page frames), geralmente com tamanho de 4 KiB (arquiteturas x86 e x86-64).


Pagina o1

Paginação


Pagina o2

Paginação

  • O espaço de memória de um processo (contendo as instruções e dados do programa) é dividido em páginas que são fisicamente armazenadas nas molduras e possuem o mesmo tamanho destas.


Pagina o3

Paginação


Novidade

Novidade!

  • O kibibyte é um múltiplo do byte. 1 kibibyte 1024bytes. 

    O símbolo da unidade para o kibibyte é KiB.

    A unidade foi criada pelo Comissão Eletrotécnica Internacional (IEC), em 1999.


Kibibyte

kibibyte

 Foi aceite para ser usado por todos os principais padrões organizações. Ele foi projetado para substituir o kilobyte usada em alguns contextos de ciência da computação, que conflita com a definição do prefixo quilo.


Segmenta o

Segmentação

Na segmentação existem vários espaços de endereçamento para cada aplicação (os segmentos). Neste caso, o endereçamento consiste em um par ordenado [segmento:deslocamento], onde o deslocamento é a posição do byte dentro do segmento.


Segmenta o1

Segmentação


Segmenta o2

Segmentação


Diferen as

Diferenças

  • A principal diferença entre a paginação e a segmentação é a alocação da memória de maneira não fixa, a alocação depende da lógica do programa.


Resumindo

Resumindo

  • Na arquitetura x86 (32 e 64 bits), são usadas a segmentação e a paginação. O espaço de endereçamento de uma aplicação é dividido em segmentos, onde é determinado um endereço lógico, que consiste no par [segmento:deslocamento].


Resumindo1

Resumindo

  • O dispositivo de segmentação converte esse endereço para um  espaço de endereçamento linear (virtual).

  • Finalmente, o dispositivo de paginação converte o endereço virtual para físico, localizando a moldura de página que contém os dados solicitados


Resumindo2

Resumindo


Mmu memory management unit

MMU -Memory Management Unit

  • O endereço virtual é encaminhado para a unidade de gerenciamento de memória (MMU -Memory Management Unit).

  • MMU - dispositivo do processador, cuja função é transformar o endereço virtual em físico e solicitar este último endereço ao controlador de memória.


Tabela de p ginas

Tabela de Páginas

  • A conversão de endereços virtuais em físicos baseia-se em tabelas de páginas, que são estruturas de dados mantidas pelo Sistema Operacional.


Tabela de p ginas1

Tabela de Páginas

  • Descrevem cada página da aplicação (num sistema em execução, existe pelo menos uma tabela de páginas por processo).

  • Cada tabela é indexada pelo endereço virtual e contém o endereço físico ou a indicação de que a página está em um dispositivo de armazenamento secundário.


Tabela de p ginas2

Tabela de Páginas


Tabela de p ginas3

Tabela de Páginas

  • Como o acesso à tabela de páginas é muito lento, pois está em memória, a MMU possui uma memória(cache) associativa chamada buffer de tradução de endereços (TLB - TranslationLookaside Buffer).


Tlb translation lookaside buffer

TLB - TranslationLookaside Buffer

  • TLB - Consiste em uma pequena tabela contendo os últimos endereços virtuais solicitados e seus correspondentes endereços físicos.


Tlb translation lookaside buffer1

TLB - TranslationLookaside Buffer


Linux em 32 bits

Linux em 32 Bits

Na arquitetura x86 de 32 bits, o Linux pode endereçar até 4 GB de memória virtual.

Este espaço é dividido em dois: o espaço do núcleo e o espaço do usuário.

  • Kernel space - É único e protegido das aplicações comuns, e armazena, uma estrutura que descreve toda a memória física; este espaço é limitado a 1 GB.


Linux em 32 bits1

Linux em 32 Bits

  • User space - Cada aplicação recebe um espaço de endereçamento de até 3 GB.

  • Caso a memória física seja menor do que a necessária, o Linux pode alocar espaço em meios de armazenamento diversos (disco rígido, dispositivo de rede e outros).


Linux em 32 bits2

Linux em 32 Bits

  • Este espaço é tradicionalmente conhecido como espaço de troca (swap space), embora o mecanismo adotado seja a paginação.


Windows em 32 bits

Windows em 32 Bits

  • Na arquitetura x86 de 32 bits, o Windows pode endereçar até 4 GB de memória virtual, dividido em duas partes.

  • Por padrão, o Windows reserva 2 GB para o núcleo e para as aplicações até 2 GB. Entretanto, é possível alterar essa configuração, podendo usar até 3 GB.


Windows em 32 bits1

Windows em 32 Bits

  • Diferentemente do Linux, o Windows usa apenas arquivos para paginação (paging files). Pode usar até 16 desses arquivos, e cada um pode ocupar até 4095 MB de espaço em disco.


Aten o

Atenção!

  • Páginas acessadas com menos frequência na RAM vão para disco (para o Pagefile.sys ), dando lugar à uma outra página prioritária no momento.


Aten o1

Atenção!

  • Quando a aplicação finalmente acessar o dado que está naquela página agora em disco, o sistema aloca espaço na RAM para trazer de volta a página. Isso pode resultar em outras páginas que estavam em RAM a serem paginadas para o disco.


Resumindo3

Resumindo...

  • No Linux a memória virtual é dimensionada quanto ao seu tamanho na instalação e não poderá mais ser mudada.

  • Somente poderá ser mudado se o disco rígido for reparticionado novamente para utilizar uma partição maior de swap. Assim deixando a swap maior você terá que diminuir a raiz.


Resumindo4

Resumindo...

  •  A memória virtual também é chamado de arquivo de paginação. Recomenda-se que se use 2x a 3x de memória virtual do que você tiver de memória RAM, mas não siga isso a risca, pois, se você tiver um computador com memória de 4 GB.


Resumindo5

Resumindo...

  • No Windows o usuário tem livre arbítrio ou Windows escolher qual é a melhor opção de quantidade de memória RAM,mas geralmente o Windows por si só pega pouca memória RAM.

  • O usuário pode ainda escolher de quanto quer usar de seu disco rígido para memória virtual, ou seja.


Resumindo6

Resumindo...

  • A memória virtual deixou os programadores despreocupados com quanto de memória seu programa irá precisar, pois a memória virtual é muito maior do que os pentes de memória RAM, podendo o programador se preocupar mais com a tarefa de programação.


Mem ria virtual6

Memória Virtual

Por que

que a memória RAM é mais cara?

  • Não seria mais fácil simplesmente utilizar o HD para armazenar os dados?


Mem ria virtual7

Memória Virtual

  • Porque a memória virtual é extremamente mais devagar do que a memória RAM. Dessa forma se computador dispor de pouca memória RAM e precisar usar a memória virtual para armazenar dados o desempenho será comprometido


Espa o de kernel e o espa o do usu rio

Espaço de Kernel e o Espaço do Usuário

  •  Compactar a área do kernel pode causar problemas, como restringir o número de usuários que podem se conectar simultaneamente ou o número de processos que podem ser executados. Um espaço do usuário menor significa que o programador do aplicativo tem menos espaço para trabalhar.


Mem ria virtual

  • Só mais uma coisa: utilize o mesmo valor em "Tamanho inicial" 400 e "Tamanho final" 400, por exemplo. Isso evita que o arquivo fique fragmentado e o sistema consegue acessá-lo de forma mais eficiente...


Mem ria virtual

  • Mas muito cuidado ao alterar estes valores, se tu alterar pra valor e depois aumentar a RAM altera esse valor antes, já vi começar a dar erro de tela azul por causa disso...


Mem ria virtual

  • Pq não deixar em tamanho gerenciado pelo sistema??

  • Não acho interessante deixar o sistema gerenciar porque o mesmo criaria um arquivo de memória virtual que não teria um valor fixo. Logo ele ficaria muito fragmentado com o uso e deixaria o sistema ainda mais lento.


Mem ria virtual

  • Por padrão, o Windows armazena o arquivo de paginação na partição de inicialização (a partição contém o sistema operacional e seus arquivos de suporte). O tamanho padrão do arquivo de paginação é 1,5 vezes a RAM total.

  • http://support.microsoft.com/?scid=kb%3Bpt-br%3B314482&x=11&y=11


Mem ria virtual

  • Para melhorar o desempenho, é uma prática recomendada colocar o arquivo de paginação em uma partição e unidade de disco rígido diferentes. Dessa forma, o Windows pode tratar várias solicitações E/S mais rapidamente.


Gerenciamento de mem ria

Gerenciamento de Memória

  • Endereço de memória é um identificador único para um local de memória no qual um processador ou algum outro dispositivo pode armazenar pedaços de dados.


Gerenciamento de mem ria1

Gerenciamento de Memória

  • Em computadores modernos com endereçamento por byte, cada endereço representa um byte distinto de armazenamento.


Gerenciamento de mem ria2

Gerenciamento de Memória

  • Dados maiores que um byte podem residir em múltiplos bytes, ocupando uma seqüência de bytes consecutivos.

  • Alguns microprocessadores foram desenvolvidos para trabalhar com endereçamento por palavra, tornando a unidade de armazenamento maior que um byte


Gerenciamento de mem ria3

Gerenciamento de Memória

  • Tanto memória virtual quanto memória física utilizam endereçamento de memória.


Gerenciamento de mem ria4

Gerenciamento de Memória

  • Para facilitar a cópia de memória virtual em memória real, os sistemas operacionais dividem a memória virtual em páginas, cada uma contendo um número fixo de endereços.


Gerenciamento de mem ria5

Gerenciamento de Memória

  • Cada página é armazenada em disco até que seja necessária, sendo então copiada pelo sistema operacional do disco para a memória, transformando o endereço virtual em endereço real.


Gerenciamento de mem ria6

Gerenciamento de Memória

  • Tal transformação é invisível ao aplicativo, e permite que aplicativos operem independente de sua localização na memória física, fornecendo aos sistemas operacionais liberdade para alocar e realocar memória conforme necessário para manter o computador executando eficientemente.


Gerenciamento de mem ria7

Gerenciamento de Memória

  • Freqüentemente, ao citar tamanho de palavra em computadores modernos, é citado também o tamanho de endereços de memória virtual em tal computador.


Gerenciamento de mem ria8

Gerenciamento de Memória

  • Por exemplo, um computador de 32 bits geralmente trata os endereços de memória como valores inteiros de 32 bits, tornando o espaço de endereçamento igual a 232 = 4.294.967.296 bytes de memória, ou 4 GB.


  • Login