Gerenciamento de memória

Documentos relacionados
Memória para CAD. Aleardo Manacero Jr.

Sistemas Operacionais Gerenciamento de Memória. Carlos Ferraz Jorge Cavalcanti Fonsêca

Infra-Estrutura de Software IF677

CURSO TÉCNICO EM INFORMÁTICA SISTEMAS OPERACIONAIS II MEMÓRIA VIRTUAL

UFRJ IM - DCC. Sistemas Operacionais I. Unidade III Memória Primária. 29/04/2014 Prof. Valeria M. Bastos

Arquitetura de Sistemas Operacionais

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

Capítulo 4 Gerenciamento de Memória

Capítulo 6 Nível do Sistema Operacional

Divisão da lacuna em espaços na base 2: Eficiente quanto à velocidade e Ineficiente quanto à fragmentação.

Fundamentos de Sistemas Operacionais

Memória virtual. Sistemas de Computação

Sistemas Operacionais

ARQUITETURA DE COMPUTADORES

Administração de Memória

Capítulo 8: Memória Principal. Operating System Concepts 8 th Edition

Memória Virtual. Adriano J. Holanda 1/3/2016

Sistemas Operacionais

MEMÓRIA LÓGICA E FÍSICA (1)

Gestão de Memória. Espaço de Endereçamento

Gerência de Memória. Gerência de Memória Introdução e Particionamento. Novo capítulo. Aulas anteriores. Plano da aula. Memória lógica & física

Organização e Arquitetura de Computadores I

Sistemas Operacionais: Memória Virtual

William Stallings Arquitetura e Organização de Computadores 8 a Edição

SSC0640 Sistemas Operacionais I

Sistemas operacionais P A G I N A Ç Ã O D E M E M Ó R I A

Fundamentos de Sistemas Operacionais

Organização e Arquitetura de Computadores I

Gestão de Memória. Espaço de Endereçamento

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Gerenciamento de memória Memória Virtual

Princípio da Localidade Apenas uma parte relativamente pequena do espaço de endereçamento dos programas é acessada em um instante qualquer Localidade

Infra-Estrutura de Software

Sistemas Operacionais

FUNDAMENTOS DE ARQUITETURAS DE COMPUTADORES MEMÓRIA CACHE CONTINUAÇÃO CAPÍTULO 5. Cristina Boeres

Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.

Segmentação com paginação Intel 386. Esquema de tradução de endereço Intel 386

Sistemas Opera r cionais Gerência de Memória

Sistemas Operacionais

Subsistema de Memória. Aleardo Manacero Jr.

Organização e Arquitetura de Computadores

Capítulo 5 Livro do Mário Monteiro Conceituação. Elementos de projeto de memória cache

Aula 15. Memória Virtual - Desempenho. 1.1 Contexto 1.2 Políticas de Reposição de Páginas 1.3 Working-Set 1.4 Trashing

Memória Cache. Memória Cache. Localidade Espacial. Conceito de Localidade. Diferença de velocidade entre Processador/MP

SSC0611 Arquitetura de Computadores

Gerência de Memória. Endereçamento Virtual (1) Paginação. Endereçamento Virtual (2) Endereçamento Virtual (3)

Infra-Estrutura de Software

Memória Cache. Adriano J. Holanda. 12 e 16/5/2017

Organização de Computadores

Memória virtual. Pedro Cruz. EEL770 Sistemas Operacionais

Infra-Estrutura de Software

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

Durante a evolução das arquiteturas de computadores e principalmente dos Sistemas Operacionais, muitas tecnologias tiveram que ser aprimoradas para

SSC0640 Sistemas Operacionais I

Memoria. UNIVERSIDADE DA BEIRA INTERIOR Faculdade de Engenharia Departamento de Informática

Arquitectura de Computadores (ACom)

Sistemas Operacionais Aula 16 Memória Virtual

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

Sistemas Operacionais. Prof. MSc. André Yoshimi Kusumoto

Memoria Virtual (parte 2) Algoritmos de substituicao (cont)

SSC0640 Sistemas Operacionais I

Sistemas Operacionais. Gerenciamento de Memória

SSC0112 Organização de Computadores Digitais I

Capítulo 9: Memória Virtual. Operating System Concepts 8th Edition

Organização e Arquitetura de computadores

ELECTRÓNICA DE COMPUTADORES. Sumário

Hierarquia de Memória

GERENCIAMENTO DE MEMÓRIA

Gerenciamento de Memória

Memória. Gestão do espaço lógico Paginação Segmentação com paginação

Arquitetura e Organização de Processadores. Aulas 9 e 10. Memória cache

Sistemas Operacionais Aula 12: Gerência de Memória. Ezequiel R. Zorzal

Sistemas de Computação. Gerenciamento de memória

Memória cache (cont.) Sistemas de Computação

Sistemas Operacionais

Arquitectura de Computadores (ACom)

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

Memória Virtual. Ciclo 4 AT2. Prof. Hermes Senger

Gerenciamento de Memória

Fundamentos de Sistemas Operacionais

Arquitectura de Computadores

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Instituto de Ciência e Tecnologia - ICT

Memória Cache. Walter Fetter Lages.

Sistemas Operacionais I Memória Virtual

Arquitectura de Computadores

Sistemas Operacionais Memória Virtual

Segmentação de Memória

Sistemas Operacionais

Arquitectura de Computadores (ACom)

Gerência de memória III

GERÊNCIA DE MEMÓRIA. INF009 Laboratório de Sistemas Operacionais

Substituição de Páginas

Sistemas Operacionais

Sistemas de Informação. Sistemas Operacionais

Arquitetura de Computadores

Organização e Arquitetura de Computadores I

Universidade Federal de Campina Grande Departamento de Sistemas e Computação Curso de Bacharelado em Ciência da Computação.

Sistemas de Informação. Sistemas Operacionais

Sistemas Operacionais. Rômulo Silva de Oliveira Alexandre da Silva Carissimi Simão Sirineo Toscani

Transcrição:

Gerenciamento de memória

O que faz? Controla o uso dos espaços em memória Controla os modos de endereçamento dos processos Como funciona a memória?

Hierarquia de memória

A falta de desempenho A velocidade de memória dobra a cada sete anos A velocidade do processador dobra a cada 18 meses Isso exige melhor gerenciamento de memória processador memória XT (1980) 210ns 200ns PII (1999) 3ns 50ns P4 (2005) 0,3ns 30ns

Tecnologias de construção Dinâmica DRAM memórias capacitivas, necessitando refresh. Tempo efetivo de acesso da ordem de 60ns Estática SRAM usam portas lógicas, dispensando refresh. Tempo de acesso da ordem de 7ns

Endereçamento A função de endereçamento diz respeito ao modo em que os endereços lógicos (existentes no código armazenado em disco) são transformados em endereços físicos (endereços na memória de fato)

Formas de endereçamento Relocação estática endereços são convertidos durante o carregamento do programa Relocação dinâmica endereços são convertidos apenas durante a execução do programa Segmentação faz relocação dinâmica separando segmentos estruturais dos programas

Relocação estática Endereços físicos são calculados no momento do carregamento

Relocação dinâmica Endereços físicos são calculados apenas em tempo de execução

Hardware para endereçamento Uso de TLB (Translation Lookahead Buffer) ou MMU (Memory Management Unit) Faz a conversão de endereços virtuais (vindos da relocação dinâmica) em endereços físicos (com a localização real na memória)

Mecanismos do i486

Mecanismos do i486 Operação da TLB

Mecanismos do i486 Esquema de paginação

Esquema geral da TLB

Exemplo de implementação Modelo de endereço virtual (split cache)

Exemplo de implementação Modelo de endereço físico (split cache)

Alocação de Memória Controla o espaço físico de memória que cada processo irá usar Usa dois modelos básicos de alocação: Em espaços contíguos Em blocos

Alocação em espaços contíguos Todos os bytes do segmento são armazenados seqüencialmente Problemas com mapeamento dos espaços vazios Necessidade de constantes recompactações para corrigir o problema de fragmentação externa (existência de espaço disponível em posições não seqüenciais) Soluções como uso de espaços de tamanho fixo, sistemas Buddy e outras não corrigem esses problemas, criando ainda a fragmentação interna

Alocação em espaços contíguos Disso resulta que: Apresenta problemas relacionados ao uso da memória (grande desperdício por fragmentação externa) Usada apenas para sistemas dedicados

Alocação em blocos Os bytes dos segmentos são armazenados em páginas de tamanho fixo, não necessariamente seqüenciais Elimina a fragmentação externa, porém mantém a fragmentação interna Volume do desperdício com fragmentação interna depende do tamanho do bloco (ou página) Esse tamanho é determinado pelo compromisso entre complexidade de gerenciamento e redução na fragmentação

Memória em blocos

Memória em blocos (com cache) Uso de memórias associativas

Memória virtual Elimina o limite de tamanho da memória para a execução de programas Trabalha com o conceito de paginação por demanda (blocos ou páginas vão para a RAM apenas se requisitadas) Usa algoritmos de retirada de páginas a partir do Princípio da Localidade

Princípio da Localidade Diz que existem endereços mais prováveis de serem acessados do que outros. Na prática, se um processo executa uma instrução da página X, com dados da página Y, então a próxima instrução a ser executada deverá também estar na página X e acessar dados da Y

Localidade de referências

Parâmetros importantes Seqüência de referência Conjunto residente Tamanho do conjunto residente Faltas de página Swap in e Swap out Bits de controle de uso

Bits de controle de uso IN OUT BIT: bloco está na memória (1) ou no disco (0) USAGE BIT: bloco usado recentemente (1) DIRTY BIT: bloco foi modificado na memória (1) O átomo

Algoritmos de paginação A eficiência da MV depende do algoritmo de retirada de páginas Exemplos de algoritmos: FIFO LRU opt Segunda chance

FIFO Retira a página que entrou primeiro na memória Funcionamento e implementação simples Pode apresentar piora de desempenho ao aumentar se o tamanho do conjunto residente (anomalia de Belady)

Anomalia de Belady

Anomalia de Belady

Anomalia de Belady

LRU (Least Recently Used) Corrige o problema da anomalia de Belady através do conceito de pilha Retira sempre a página que está no topo da pilha, que é a página usada há mais tempo Assim, o aumento no tamanho do conjunto residente implica apenas no aumento do tamanho da pilha

OPT (optimal) Também trabalha com o conceito de pilha, retirando a página que está no seu topo Aqui, porém, a página que fica no topo é aquela que demorará mais para ser necessária Tem uso apenas teórico, como referencial para comparação de algoritmos

Segunda Chance E uma implementação prática (simplificada) do conceito de pilha Baseia se numa fila de páginas, sendo que a página que sairá da memória deve ser uma que tenha pouco uso e não tenha sido alterada (preferencialmente)

Comparação de algoritmos

Implicações de desempenho Taxa de faltas de página Nível de multiprogramação Thrashing Coerência de cache

Taxa de faltas de página O uso de memória virtual implica em maior tempo de processamento na ocorrência de faltas de página Assim, quanto maior essa taxa, pior será o desempenho do sistema

Nível de multiprogramação Compartilhamento da memória entre muitos segmentos diminui o espaço de trabalho de cada processo Isso implica em menos páginas fazendo parte do conjunto residente do processo

Thrashing A diminuição do conjunto residente implica numa maior taxa de faltas de páginas Dependendo do nível de multiprogramação, o volume de faltas de páginas pode levar o sistema ao fenômeno de thrashing Num sistema em thrashing o desempenho cai severamente para um pequeno aumento no nível de multiprogramação

Coerência de cache Múltiplas cópias devem permanecer idênticas Técnicas para manutenção de coerência: write through escreve a alteração na memória imediatamente write back escreve na memória quando a linha sair do cache