Cap. 10 Gerência de Memória Virtual 1



Documentos relacionados
Organização e Arquitetura de Computadores

Memória Virtual. Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto

Arquitetura de Sistemas Operacionais

Sistemas de Informação. Sistemas Operacionais

Sistemas Operacionais

Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto

Exercícios Gerência de Memória

Exercícios Gerência de Memória

Infraestrutura de Hardware. Memória Virtual

LABORATÓRIO DE SISTEMAS OPERACIONAIS. PROFª. M.Sc. JULIANA HOFFMANN QUINONEZ BENACCHIO

Gerência de Memória. Paginação

Sistemas Operacionais. - Gerência de Memória -

Arquitetura de Computadores. Sistemas Operacionais IV

Arquitetura e Organização de Computadores

Memória - Gerenciamento. Sistemas Operacionais - Professor Machado

Gestão de Memória. DCC/FCUP Fernando Silva Sistemas de Operação 1

Capítulo 8: Gerenciamento de Memória

Sistemas Processadores e Periféricos Aula 9 - Revisão

Sistemas Operativos. Gestão de memória. Rui Maranhão

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais

SOsim: Simulador para o Ensino de Sistemas Operacionais Guia de Utilização

Introdução. Principio de Localidade. Localidade temporal: Localidade Espacial:

Sistemas Operacionais

Capítulo 4 Gerenciamento de Memória

Gerenciamento de Memória

Aula 09. Gerenciamento de Memória Virtual Paginação. Capítulo 10 PLT Pág Gerenciamento de Memória Virtual

Gerenciamento de memória

Sistemas Operacionais. Capítulo 7 Sincronização e Comunicação entre Processos

Sistemas Operacionais

Capítulo 3 Gerenciamento de memória

Sistemas Operacionais

Sistemas Operativos I

Gerenciamento de memória. Carlos Eduardo de Carvalho Dantas

Fundamentos de Sistemas Operacionais. Sistema de Arquivos. Prof. Edwar Saliba Júnior Março de Unidade Sistemas de Arquivos

Sistemas Operacionais

Memória Cache. Prof. Leonardo Barreto Campos 1

Arquitetura e Organização de Computadores

Diminui o gargalo existente entre processador e memória principal; 5 a 10 vezes mais rápidas que a memória principal; Ligada diretamente à MP;

Gerenciamento de memória

AULA 13 - Gerência de Memória

Gerenciamento Básico B de Memória Aula 07

Sistemas Operacionais

Capítulo 7 Gerência de Memória

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Sistema de arquivos. Prof. Valeria M. Bastos Prof. Antonio Carlos Gay Thomé 13/06/2012 1

Os textos nestas caixas foram adicionados pelo Prof. Joubert

ARQUITETURA DE COMPUTADORES

Sistemas Operacionais Memória Virtual

Exercícios de revisão V2. FAT: 300 GB / 2KB = 150MB X 8 bytes (64 bits / 8) = 1.2GB

Programação de Sistemas

Gerência de processos Estudos de caso - BSD Unix

Sistemas Operacionais: Sistema de Arquivos

Sistemas Operacionais. Prof. MSc. André Yoshimi Kusumoto

Memória cache. Prof. Francisco Adelton

Gerência de Processador

Prof. Antonio Fundamentos de Sistemas Operacionais UNIP/2015

Sistemas Operacionais Arquivos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Sistemas de Informação. Sistemas Operacionais 4º Período

Infra-Estrutura de Software

Swapping. Desvantagem:

ARQUITETURA DE COMPUTADORES II

Gerenciamento de Memória

Arquitetura de Sistemas Operacionais

Sistemas de Arquivos. Sistemas Operacionais - Professor Machado

Desenvolvimento de um Simulador de Gerenciamento de Memória

A memória é um recurso fundamental e de extrema importância para a operação de qualquer Sistema Computacional; A memória trata-se de uma grande

Infra-Estrutura de Software IF677

Infra-Estrutura de Software

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

LEIC/LERC 2012/13 2º Teste de Sistemas Operativos 15/Janeiro/2013

Capítulo 6 Sistemas de Arquivos

Gerência de Memória Algoritmos de Substituição de Páginas

Infra-Estrutura de Software

Revisão melhorar desempenho de caches

Tecnologias de Construção de Memórias e Memórias RAM, entrelaçada e Virtual

Sistemas Operacionais Processos e Threads

CAPÍTULO 6 NÍVEL DE SISTEMA OPERACIONAL. Nível de Sistema Operacional. Nível de Máquina Convencional. Nível de Microprogramação

Concurso Público para provimento de cargo efetivo de Docentes. Edital 20/2015 CIÊNCIA DA COMPUTAÇÃO I Campus Rio Pomba

Fundamentos de Sistemas Operacionais

Sistemas Operacionais

Estrutura, Processos e Threads

Organização de Arquivos

Arquitetura de Sistemas Operacionais

Capítulo 4 Gerenciamento de Memória

Arquitetura de Sistemas Operacionais

INFRA-ESTRUTURA DE SOFTWARE. Gerência de Memória

SSC0640 Sistemas Operacionais I

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais Gerência de Dispositivos

6 Sistema de Gerenciamento de Memória

AULA Nº 11 SISTEMAS OPERACIONAIS. Técnicas de Memória Virtual

Gerenciamento de memória Memória Virtual

Introdução à Computação: Sistemas Operacionais II

Capítulo Sistemas de Memória Memória Virtual. Ch7b 1

Administração de Memória

Transcrição:

Arquitetura de Sistemas Operacionais Francis Berenger Machado Luiz Paulo Maia Capítulo 10 Gerência de Memória Virtual Cap 10 Gerência de Memória Virtual 1

Introdução Espaço de Endereçamento Virtual Mapeamento Memória Virtual por Paginação Política de Busca de Páginas Política de Alocação de Páginas Política de Substituição de Páginas Working Set Algoritmo de Substituição de Páginas Tamanho de Página Paginação em Múltiplos Níveis Sumário Cap 10 Gerência de Memória Virtual 2

Memória Virtual por Paginação (cont) Translation Lookaside Buffer Proteção de Memória Compartilhamento de Memória Memória Virtual por Segmentação Memória Virtual por Segmentação com Paginação Swapping em Memória Virtual Thrashing Sumário Cap 10 Gerência de Memória Virtual 3

Introdução Memória virtual é uma técnica que combina memória principal e secundária Maximizar o número de processos na memória Reduzir a fragmentação Permitir estruturas e dados maiores que a memória Cap 10 Gerência de Memória Virtual 4

Espaço de Endereçamento Virtual Vetor de 100 posições Endereço Físico 500 501 502 503 504 599 VET [1] VET [2] VET [3] VET [4] VET [5] VET [100] Cap 10 Gerência de Memória Virtual 5

Espaço de Endereçamento Virtual Espaço de endereçamento virtual e real Espaço de endereçame ento virtual Endereço virtual 0 Endereço virtual 1 Endereço virtual 2 Endereço virtual 3 Endereço virtual 4 Endereço virtual 5 Endereço virtual V Espaço de endere reçamento real Endereço real 0 Endereço real 1 Endereço real 2 Endereço real 3 Endereço real R Cap 10 Gerência de Memória Virtual 6

Espaço de Endereçamento Virtual Espaço de endereçamento virtual Memória Virtual Memória Principal Memória Secundária Cap 10 Gerência de Memória Virtual 7

Mapeamento Mapeamento Memória Virtual Memória Principal Mapeamento Cap 10 Gerência de Memória Virtual 8

Tabela de mapeamento Espaço de endereçamento virtual de A Endereço virtual 1 Mapeamento Tabela de mapeamento de A Memória Principal Processo A Espaço de endereçamento virtual de B Endereço virtual 1 Tabela de mapeamento de B Processo B Cap 10 Gerência de Memória Virtual 9

Mapeamento Espaço virtual x tamanho do bloco Cap 10 Gerência de Memória Virtual 10

Memória Virtual por Paginação Tabela de páginas Memória Virtual Página virtual 0 Memória Principal Página real 0 Página virtual 1 Página virtual 2 Tabela de páginas Página real 1 ETP Página real R Memória Secundária Página virtual V Cap 10 Gerência de Memória Virtual 11

Memória Virtual por Paginação Tradução do endereço virtual Página virtual Deslocamento Endereço virtual NPV Desloc Tabela de páginas ETP End do frame End do frame Desloc Frame Deslocamento Endereço físico Cap 10 Gerência de Memória Virtual 12

Page fault Memória Virtual por Paginação Mecanismo de tradução Endereço virtual Tabela de páginas Memória Principal Bit de validade 0 Page in Memória secundária Tabela de páginas Memória Principal Bit de validade 1 Memória secundária Cap 10 Gerência de Memória Virtual 13

Política de Busca de Páginas Determina quando uma página deve ser carregada para a memória Paginação por demanda Paginação antecipada Cap 10 Gerência de Memória Virtual 14

Política de Alocação de Páginas Determina quantos frames um processo pode ter na memória Alocação fixa Alocação variável Cap 10 Gerência de Memória Virtual 15

Políticas de Substituição Substituição de páginas de Páginas Memória Principal Arquivo de paginação out o Page Page in Cap 10 Gerência de Memória Virtual 16

Working Set Conceito de localidade Página 0 Inicialização Página 1 WHILE () DO BEGIN Página 2 Página 3 END; Página 4 Imprime resultados Cap 10 Gerência de Memória Virtual 17

Working Set Modelo de working set Janela do working set ( t) P2 P3 P2 P8 t 1 t 2 W(t, t) 2 tempo Cap 10 Gerência de Memória Virtual 18

Tamanho do working set Working Set P2 P3 P4 P5 P2 P5 P5 P5 P5 P6 t 1 t 2 t 3 tempo t a t b Cap 10 Gerência de Memória Virtual 19

Working Set Taxa de page fault x limite de páginas reais Taxa de page fault Limite de páginas reais Cap 10 Gerência de Memória Virtual 20

FIFO Algoritmos de Substituição de Páginas saída entrada Página mais antiga Página mais recente Cap 10 Gerência de Memória Virtual 21

Algoritmos de Substituição Ótimo Aleatório FIFO LFU LRU NRU FIFO com buffer de páginas FIFO circular de Páginas Cap 10 Gerência de Memória Virtual 22

Algoritmos de Substituição de Páginas Bits de referência e modificação Cap 10 Gerência de Memória Virtual 23

Algoritmos de Substituição de Páginas FIFO com Buffer de Páginas início Lista de páginas livres fim (a) (c) (b) fim Lista de páginas alocadas início Cap 10 Gerência de Memória Virtual 24

Algoritmos de Substituição FIFO Circular (Clock) de Páginas BR= 1 BR= 0 P1 P1 BR= 1 BR= 0 Pn página mais antiga P2 Pn P2 BR= 0 P3 página selecionada BR= 0 P3 P5 P4 P5 P4 (a) (b) Cap 10 Gerência de Memória Virtual 25

Fragmentação interna Tamanho de Página Página 0 PROGRAM Frag; VAR Página 1 PROCEDURE A; Página 2 END; Página 3 BEGIN Página 4 END Fragmentação Cap 10 Gerência de Memória Virtual 26

Paginação em Múltiplos Níveis Paginação em um nível 0 Tabela de páginas Endereço Virtual NPV Desloc 20 bits 12 bits 1 2 4 Mb 20 (2-1) 32 bits Cap 10 Gerência de Memória Virtual 27

Paginação em Múltiplos Níveis Endereço virtual em dois níveis Endereço Virtual NPV 1 10 bits NPV 2 10 bits Desloc 12 bits Tabela diretório Tabela de páginas frame Cap 10 Gerência de Memória Virtual 28

Paginação em Múltiplos Níveis Paginação em dois níveis 0 1 2 3 Tabela de páginas 0 frame 100 frame 2000 1023 0 1 2 Tabela diretório 0 1 2 3 Tabela de páginas 1 frame 4000 frame 300 100 300 3 2000 1023 4000 1023 Memória Principal Tabela de páginas 1023 0 1 2 3 1023 Cap 10 Gerência de Memória Virtual 29

Translation Lookaside Buffer Translation Lookaside Buffer (TLB) Endereço Virtual NPV Desloc Translation Lookaside Buffer (TLB) BV Tag End Físico 0 1 0 1 0 Memória principal 1 Tabela de mapeamento BV End Físico 1 1 1 0 1 0 1 Memória secundária Cap 10 Gerência de Memória Virtual 30

Translation Lookaside Buffer Campos da TLB Cap 10 Gerência de Memória Virtual 31

Proteção para páginas Proteção de Memória L G Endereço da página/ segmento Bits de proteção Cap 10 Gerência de Memória Virtual 32

Mecanismo de proteção Proteção de Memória LG 00 10 11 Descrição Sem acesso Acesso de leitura Acesso para leitura/gravação Cap 10 Gerência de Memória Virtual 33

Compartilhamento de Memória Espaço de endereçamento virtual de A Endereço virtual 1 Tabela de mapeamento de A Memória Principal Processo A Página Espaço de endereçamento virtual de B Endereço virtual 1 Tabela de mapeamento de B Processo B Cap 10 Gerência de Memória Virtual 34

Segmentação Memória Virtual por Segmentação PROGRAM Segmento; VAR A: ARRAY C: PROCEDURE X; END; FUNCTION Y; Procedimento X Programa Principal Função Y Array A END; BEGIN END Variável C Cap 10 Gerência de Memória Virtual 35

Tradução do endereço virtual Memória Virtual por Segmentação Segmento virtual Deslocamento Endereço virtual Desloc Tabela de segmentos ETS End do segmento Desloc Segmento na memória principal Deslocamento Endereço físico Cap 10 Gerência de Memória Virtual 36

Campos da ETS Memória Virtual por Segmentação Cap 10 Gerência de Memória Virtual 37

Memória Virtual por Segmentação Paginação x segmentação Cap 10 Gerência de Memória Virtual 38

Memória Virtual por Segmentação com Paginação Segmentação com paginação Segmento virtual Endereço virtual Num segmento Num página Deslocamento Tabela de segmentos ETS End da tabela de páginas Tabela de páginas ETP Endereço do frame Endereço do frame Deslocamento Endereço físico Cap 10 Gerência de Memória Virtual 39

Swapping em Memória Virtual Swapping em memória virtual Processo A Memória Principal Processo B Processo F Processo C Processo D out Swap o Processo E Memória Principal Processo C Processo A Processo F Swap in Processo B Arquivo de swapping Processo B Processo D Cap 10 Gerência de Memória Virtual 40

Thrashing Excessiva transferência de páginas e/ou segmentos entre a memória principal e memória secundária Ocorre em dois níveis: no próprio processo no sistema Cap 10 Gerência de Memória Virtual 41

Thrashing 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 sistemas que implementam memória virtual, mas também em sistemas com outros mecanismos de gerência de memória Cap 10 Gerência de Memória Virtual 42