• Nenhum resultado encontrado

SICO Aulas106 108

N/A
N/A
Protected

Academic year: 2021

Share "SICO Aulas106 108"

Copied!
42
0
0

Texto

(1)

Instituto Federal de Educação,

Ciência e Tecnologia - Alagoas

Sistemas de Computação

Gerência de Memória Virtual

Aulas 106-108

(2)

Sumário

1. Introdução  2. Espaço de Endereçamento Virtual 3. Mapeamento 4. Memória Virtual por Paginação 5. Memória Virtual por Segmentação 6. Memória Virtual por Segmentação com Paginação 7. Swapping em Memória Virtual 8. Thrashing

(3)

Sumário

1. Introdução  2. Espaço de Endereçamento Virtual 3. Mapeamento 4. Memória Virtual por Paginação 5. Memória Virtual por Segmentação 6. Memória Virtual por Segmentação com Paginação 7. Swapping em Memória Virtual 8. Thrashing

(4)

1. Introdução

Capítulo 9 – Gerência de Memória

»

Apresentou diversas técnicas evolutivas de 

gerenciamento de memória

 Contudo, essas técnicas tornaram­se ineficientes com 

o passar do tempo.

»

Nova abordagem:

Gerência de Memória Virtual

(5)

Sumário

1. Introdução  2. Espaço de Endereçamento Virtual 3. Mapeamento 4. Memória Virtual por Paginação 5. Memória Virtual por Segmentação 6. Memória Virtual por Segmentação com Paginação 7. Swapping em Memória Virtual 8. Thrashing

(6)
(7)

2. Espaço de Endereçamento Virtual

Analogia com vetor

»

No momento da execução de uma instrução, o endereço virtual referenciado é traduzido para um endereço físico. E n d e r e ç o F í s i c o 5 0 0 5 0 1 5 0 2 5 0 3 5 0 4 . . . V E T [ 1 ] V E T [ 2 ] V E T [ 3 ] V E T [ 4 ] V E T [ 5 ] . . . . . .

(8)

2. Espaço de Endereçamento Virtual

Processo:

Contexto de hardware Contexto de software Espaço de endereçamento

»

Quando se utiliza memória virtual Espaço de endereçamento virtual Espaço de endereçamento real

(9)

2. Espaço de Endereçamento Virtual

Es p a ço d e e n d er eç a m e n to v ir tu a l Es p a ço d e en d er eç a m en to r ea l E n d e r e ç o v i r tu a l 0 E n d e r e ç o v i r tu a l 1 E n d e r e ç o v i r tu a l 2 E n d e r e ç o v i r tu a l 3 E n d e r e ç o v i r tu a l 4 E n d e r e ç o v i r tu a l 5 . . . E n d e r e ç o r e a l 0 E n d e r e ç o r e a l 1 E n d e r e ç o r e a l 2 E n d e r e ç o r e a l 3 . . . E n d e r e ç o r e a l R

(10)

2. Espaço de Endereçamento Virtual

Observações

»

O espaço de endereçamento virtual não tem 

nenhuma relação direta com os endereços no 

espaço real Logo ­> é possível referenciar endereços fora do limite  da memória principal De que forma? – Utiliza­se a memória secundária como extensão da memória  principal

(11)

2. Espaço de Endereçamento Virtual

Observe:

»

Somente uma parte do programa é carregada

»

Permite aumentar o compartilhamento da memória principal entre muitos processos M e m ó r i a V i r t u a l . . . . M e m ó r i a P r i n c i p a l M e m ó r i a S e c u n d á r i a . . .

(12)

2. Espaço de Endereçamento Virtual

Observações:

»

Compiladores e linkers se encarregam de gerar o  código executável em função do espaço de 

(13)

Sumário

1. Introdução  2. Espaço de Endereçamento Virtual 3. Mapeamento 4. Memória Virtual por Paginação 5. Memória Virtual por Segmentação 6. Memória Virtual por Segmentação com Paginação 7. Swapping em Memória Virtual 8. Thrashing

(14)

3. Mapeamento

Note:

»

O processador só executa instruções e referencia 

dados residentes no espaço de endereçamento  real...

(15)

3. Mapeamento

...

M e m ó r i a V i r t u a l M e m ó r i a P r i n c i p a l M a p e a m e n t o . . . . . .

(16)

3. Mapeamento

O Mapeamento é uma tarefa conjunta:

»

Sistema Operacional 

»

Hardware

»

Objetivo:  Não sobrecarregar o S. O. com essa tarefa

»

MMU – Memory Management Unit  Dispositivo de hardware responsável por essa tradução

(17)

3. Mapeamento

P r o c e s s o A E s p a ç o d e e n d e r e ç a m e n t o v i r t u a l d e A E n d e r e ç o v i r t u a l 1 . . . T a b e l a d e m a p e a m e n t o d e A E s p a ç o d e e n d e r e ç a m e n t o v i r t u a l d e B E n d e r e ç o v i r t u a l 1 . . . T a b e l a d e m a p e a m e n t o d e B M e m ó r i a P r i n c i p a l

(18)

3. Mapeamento

Tabelas de tradução

»

Mapeiam blocos de dados, cujo tamanho determina 

o número de entradas existentes nas tabelas de  mapeamento

(19)

3. Mapeamento

Observações

»

Existem Sistemas Operacionais que trabalham  com: Blocos de tamanho fixo – Nome da Técnica: Paginação  Blocos de tamanho variável – Nome da Técnica: Segmentação  Ambas as técnicas – Nome da Técnica: Segmentação com paginação 

(20)

Sumário

1. Introdução  2. Espaço de Endereçamento Virtual 3. Mapeamento 4. Memória Virtual por Paginação 5. Memória Virtual por Segmentação 6. Memória Virtual por Segmentação com Paginação 7. Swapping em Memória Virtual 8. Thrashing

(21)

4. Memória Virtual por Paginação 

Nome dos blocos: 

páginas

 

Há blocos de mesmo tamanho para:

»

Espaço de endereçamento virtual

»

Espaço de endereçamento real

»

Mapeamento: Realizado através de tabelas de páginas

(22)

4. Memória Virtual por Paginação 

Tabela de Páginas

M e m ó r i a V i r t u a l . . . . P á g i n a v i r t u a l 0 P á g i n a v i r t u a l 1 P á g i n a v i r t u a l 2 T a b e l a d e p á g i n a s E T P M e m ó r i a P r i n c i p a l M e m ó r i a S e c u n d á r i a . . . P á g i n a r e a l 0 P á g i n a r e a l 1 P á g i n a r e a l R

(23)

4. Memória Virtual por Paginação

Formato do endereço virtual

»

Formado por 2 componentes NPV: Número de Página Virtual – Identificador da página, ou seja, de um bloco de endereços reais Deslocamento: – Posição do endereço procurado em relação ao início da página

»

(24)

4. Memória Virtual por Paginação 

Tradução do 

endereço virtual

»

NPV ● P á g i n a v i r t u a l D e s l o c a m e n t o E n d e r e ç o v i r t u a l D e s l o c . N P V E n d . d o f r a m e E T P T a b e l a d e p á g i n a s E n d . d o f r a m e D e s l o c .

(25)

4. Memória Virtual por Paginação 

As ETPs contém ainda:

Bit de validade

– Indica se uma página está ou não na memória principal

● 0(zero): não se encontra na memória principal ● 1(um): encontra­se na memória principal

Page fault 

– Quando a unidade de gerência de verifica o bit de validade e a  página não se encontra na memória principal, diz­se que 

(26)

4. Memória Virtual por Paginação 

Mecanismo 

de tradução

E n d e r e ç o v i r t u a l T a b e l a d e p á g i n a s B i t d e v a l i d a d e 0 M e m ó r i a P r i n c i p a l M e m ó r i a s e c u n d á r i a P a g e fau l t T a b e l a d e p á g i n a s B i t d e v a l i d a d e M e m ó r i a P r i n c i p a l P a g e i n

(27)

4. Memória Virtual por Paginação 

Observações sobre page faults:

»

Taxa de page faults: Número de page faults gerados por cada processo, em  um determinado intervalo de tempo.

»

O que ocorre com um processo quando o mesmo  referencia um endereço e ocorre um page fault? Passa do estado de execução para o estado de espera... ...até que a página seja transferida do disco para a  memória principal Execução Espera

(28)

4. Memória Virtual por Paginação 

Políticas de Busca de Páginas

»

Determinam quando uma página deve ser  carregada para a memória

»

Há duas técnicas: Paginação por demanda: – Páginas do processo são transferidas da memória secundária  para a memória principal apenas quando são referenciadas Paginação antecipada: Sistema carrega páginas que podem ou não ser necessárias à 

(29)

4. Memória Virtual por Paginação 

Políticas de Alocação de Páginas

»

Determina quantos frames cada processo pode  manter na memória principal

»

Há duas alternativas: Alocação fixa – Cada processo apresenta um número máximo de frames que  pode ser utilizado durante a execução do programa. Alocação variável – Número máximo de páginas alocadas ao processo pode variar  em função da taxa de paginação e da ocupação na memória 

(30)

4. Memória Virtual por Paginação 

Políticas de Substituição de Páginas

»

São utilizadas quando um processo atinge seu  limite de utilização de frames e, mesmo assim,  precisa de mais memória principal.

»

O S.O. deve decidir quais páginas alocadas devem  ser liberadas Page out: retirada das páginas em uso da memória  principal, salvando­as nos arquivos de paginação.

(31)

4. Memória Virtual por Paginação 

Políticas de Substituição de Páginas

M e m ó r i a P r i n c i p a l A r q u i v o d e p a g i n a ç ã o P a g e o u t

(32)

4. Memória Virtual por Paginação 

Políticas de Substituição de Páginas

»

Política de substituição local  Apenas as páginas do processo que gerou o page fault  são candidatas à realocação

»

Política de substituição global   Todas as páginas alocadas na memória principal são  candidatas à realocação

(33)

Sumário

1. Introdução  2. Espaço de Endereçamento Virtual 3. Mapeamento 4. Memória Virtual por Paginação 5. Memória Virtual por Segmentação 6. Memória Virtual por Segmentação com Paginação 7. Swapping em Memória Virtual 8. Thrashing

(34)

5. Memória Virtual por Segmentação

 

Espaço de Memória Virtual

»

Dividido em blocos de diferentes tamanhos: Segmentos 

»

Há uma relação entre o tamanho dos segmentos e  as estruturas de dados que compõem a lógica do  programa

»

Observe ...

(35)

5. Memória Virtual por Segmentação

 

P R O G R A M S e g m e n t o ; V A R A : A R R A Y . . . C : . . . P R O C E D U R E X ; E N D ; F U N C T I O N Y ; E N D ; B E G I N E N D . P r o c e d i m e n t o X P r o g r a m a P r i n c i p a l F u n ç ã o Y A r r a y A V a r i á v e l C . . .

(36)

5. Memória Virtual por Segmentação

 

Definição de segmentos:

»

Normalmente realizada através do compilador

»

Mapeamento: Semelhante ao da paginação: – Tabelas de Mapeamento de Segmentos(TMS) – Endereços: ● Número de Segmentos Virtuais(NSV) ● deslocamento

(37)

5. Memória Virtual por Segmentação

 

Definição de segmentos

D e s l o c a m e n to E n d e r e ç o v i r tu a l D e s l o c . E n d . d o s e g m e n to E T S T a b e l a d e s e g m e n to s D e s l o c . S e g m e n t o n a S e g m e n t o v i r tu a l

(38)

5. Memória Virtual por Segmentação

 

(39)

Sumário

1. Introdução  2. Espaço de Endereçamento Virtual 3. Mapeamento 4. Memória Virtual por Paginação 5. Memória Virtual por Segmentação 6. Memória Virtual por Segmentação com Paginação 7. Swapping em Memória Virtual 8. Thrashing

(40)

6.  Memória Virtual por 

Segmentação com Paginação

Técnica híbrida

»

O espaço de endereçamento é dividido em  segmentos e, por sua vez, são divididos em  páginas Oferece as vantagens de ambas as técnicas

(41)

Bibliografia

[MACHADO, 2004] MACHADO, F. B.; MAIA, L. P. Arquitetura de Sistemas  Operacionais.  4ª edição. Rio de Janeiro: LTC, 2002. [SILBERSCHATZ, 2006] SILBERSCHATZ, A; GAGNE, G; GALVIN P.  Fundamentos de Sistemas Operacionais. 4ª edição. Rio de Janeiro: LTC,  2006. [LINUX JORNAL, 2005] Monitoring Virtual Memory with vmstat Disponível  em : <http://www.linuxjournal.com/article/8178>. Acessado em: nov. de  2009.

(42)

Instituto Federal de Educação,

Ciência e Tecnologia - Alagoas

Sistemas de Computação

Gerência de Memória Virtual

Aulas 106-108

Referências

Documentos relacionados

Programas são escritos como se houvesse memória principal suficiente para todo o espaço de endereçamento virtual, apesar de não ser este o caso.. Programas podem carregar

Trabalhou na elaboração e coordenação de projetos de diagnóstico e avaliação de áreas para instalação de usinas de açúcar e álcool, licenciamento ambiental, projetos

Visando garantir a idoneidade da promoção, no caso de apresentação de mais de (i) 02 (duas) notas/cupons fiscais e/ou comprovantes de compras emitidos para a mesma pessoa, pela

Os fanclipes e os inúmeros videoclipes feitos pelos fãs (recombinando imagens, ressignificando sonoridades) parecem ser a premissa para a criação neste período amplamente

Requisitos: Curso de graduação em Medicina, fornecido por instituição de ensino oficial e reconhecida pelo Ministério de Educação e registro no Órgão da Classe.

A clareza deve ser a qualidade básica de todo texto oficial. Claro é aquele texto que possibilita imediata compreensão pelo leitor. A clareza não é algo que se atinja

[r]

• Se existirem mais processos para serem executados que memória real disponível, a única solução é a expansão da memória principal. • Este problema não ocorre apenas em