Administração de Memória

Documentos relacionados
Capítulo 4 Gerenciamento de Memória

Infra-Estrutura de Software IF677

Modelação de algoritmos de substituição de páginas Anomalia Belady

Gerência de Memória. Gerência de Memória Virtual. Gerência de Memória. Gerência de Memória. Gerência de Memória. Gerência de Memória 17/04/2017

Infra-Estrutura de Software

Infra-Estrutura de Software

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

SSC0640 Sistemas Operacionais I

Infra-Estrutura de Software

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

Organização de um Sistema Operativo

GERENCIAMENTO DE MEMÓRIA

Gerenciamento de Memória

Gerenciamento de memória Memória Virtual

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

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

Gerenciamento de memória

Gerência de Memória. Algoritmos de Substituição de Páginas. (Aula 20)

Segmentação de Memória

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

Substituição de Páginas

Arquitetura de Sistemas Operacionais

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

INE5412 Sistemas Operacionais I

SISTEMAS OPERACIONAIS. 2ª. Lista de Exercícios Parte 2

Sistemas Operacionais

Algoritmos de Substituição de Páginas. Igor Gustavo Hoelscher Renan Arend Rogério Corrêa Medeiros

UFRJ IM - DCC. Sistemas Operacionais I. Unidade III Memória Virtual. 26/05/2014 Prof. Valeria M. Bastos

Sistemas Operacionais

Gerenciamento de Memória

Sistemas Operacionais I Memória Virtual

UFRJ IM - DCC. Sistemas Operacionais I. Unidade III Memória Virtual. Prof. Antonio Carlos Gay Thomé Prof. Aux. Simone Markenson Pech 1

Sistemas Operacionais

Memória virtual. Sistemas de Computação

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

Memória virtual. Pedro Cruz. EEL770 Sistemas Operacionais

Sistemas Operacionais. Prof. MSc. André Yoshimi Kusumoto

Sistemas Operacionais: Memória Virtual

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

Gerência de Memória. Aspectos de Projeto

Gerência de Memória. Gerência de memória. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos. Memória: UCP. Unidade de controle

Gerenciamento de Memória

Sistemas Operacionais

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais

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

Organização e Arquitetura de Computadores I

ARQUITETURA DE COMPUTADORES

Gerenciamento de Memória

SSC0611 Arquitetura de Computadores

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

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

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 Opera r cionais Gerência de Memória

SUMÁRIO. 1.3 CONCEITOS DE SISTEMA OPERACIONAL Processos Arquivos O shell 42

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

Introdução aos Sistemas Operacionais. Gerenciamento de Memória

Sistemas Operacionais

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.

Gerência de Memória As A pe p cto t s d e d P rojeto t

Capítulo 4 Gerenciamento de Memória

Sistemas Operacionais Memória Virtual

Sistemas Operacionais

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

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

SISTEMAS OPERACIONAIS. 3ª. Lista de Exercícios

Arquitetura e Organização de Computadores

Fundamentos de Sistemas Operacionais

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

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

SSC0112 Organização de Computadores Digitais I

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

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

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

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

Capítulo 7 Gerência de Memória

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

Gestão de Memória. Algoritmos de Gestão de Memória

Fundamentos de Sistemas Operacionais

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

Fundamentos de Sistemas Operacionais

Organização de Computadores

SSC0640 Sistemas Operacionais I

Organização e Arquitetura de Computadores I

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

Sistemas Operacionais. Gerenciamento de Memória

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

AULA 14 - Memória Virtual

INE5412 Sistemas Operacionais I

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Arquitetura e Organização de Computadores

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

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

SEM 544 Desenvolvimento de Produtos Mecatrônicos

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

Memória - Gerenciamento. Sistemas Operacionais - Professor Machado

Transcrição:

Administração de Memória 4.1 Administração básica de memória 4.2 Swapping 4.3 Memória Virtual 4.4 Algoritmos de substituição de páginas 4.5 Modelando algoritmos de substituição de páginas 4.6 Tópicos de projeto para sistemas de paginação 4.7 Tópicos de implementação 4.8 Segmentação 1 Administração de Memória Idealmente, programadores querem memória que seja Grande Rápida Não volátil Hierarquia Cache Memória principla Disco Fita O administrador de memória cuida da hierarquia! 2 1

Administração Básica de Memória Monoprogramação sem Swapping ou Paginação - SO com um processo de usuário 3 Multiprogramação com Partições Fixas 4 2

Modelando Multiprogamação Degree of multiprogramming Utilização da CPU = 1 p n Utilização da CPU em função do número de processos na memória 5 Análise da porformance de sistemas Multiprogramados 6 3

Relocação e Proteção Não se pode saber com certeza onde o programa será carregado na memória Endereços de locação de variáveis e rotinas de código não podem ser absolutos Deve manter um programa fora das partições de outros programas Usar valores de base e limite Posições de endereços adicionadas ao valor base para mapear para o endereço físico Posições maiores que o valor limite são erradas 7 Swapping (1) Alocação de memória muda quando processos: Entram na memória Saem da memória Regiões sombreadas são memória não usadas 8 4

Swapping (2) Alocando espaço para um segmento de dados crescente Alocando espaço para segmentos de pilha e dados crescentes 9 Administração de Memória com Bit Maps Parte de memória com 5 processos, 3 buracos Tmarcas indicam unidades de alocação Regiões sombreadas estão livres bit map Mesma informação em uma lista 10 5

Administração de Memória com Listas ligadas Quatro situações para o fim do processo X 11 Memoria Virtual Paginação (1) Posição e Função da MMU 12 6

Paginação (2) Relação entre endereços virtuais e endereços físicos dados pela tabela de páginas 13 Tabelas de Páginas (1) Operação interna da MMU com 16-4 KB paginas 14 7

Tabelas de Páginas (2) Second-level page tables Top-level page table Endereço de 32 bits co 2 campos de tabelas de páginas Tabela de páginas em 2 níveis 15 Tabelas de Páginas(3) Estranda Típica de tabela de páginas 16 8

TLBs Translation Lookaside Buffers (Memória associativa) Uma TLB para acelerar a paginação 17 Tabelas de Páginas Invertidas Comparaçao entra uma tabela de páginas tradicional com uma tabela de páginas invertida 18 9

Algoritmos de Substituição de Páginas Page fault força escolha Qual página deve ser removida para ceder espaço para a página que chega Páginas modificadas devem ser salvas Não modificadas apenas sobrescritas Melhor não usar uma página usada frequentemente 19 Algoritmo Ótimo Trocar a página que será necessária no futuro mais distante Ótima mas impossível Estimativa por logging das páginas usadas em rexecuções anteriores do processo nãoéprático 20 10

Algorítmo Not Recently Used Cada página tem um bit de referência (R) e um de modificado (M) Os bis são setados quando a página é modificada ou referenciada Classificação Das páginas 1. não referenciada, não modified 2. não referenciada, modificada 3. referenciada, não modificada 4. referenciada, modificada NRU remove páginas aleatoriamente A partir das classes mais baixas numerações 21 FIFO Mantém uma lista ligada de todas as páginas Na ordem em que foram carregadas A página no início da lista é substituida Desvantagem Uma página carregada a muito tempo pode ser usada frequentemente 22 11

Segunda Chance Operação da segunda chance As páginas são classificas por FIFO Lista de págins se falta ocorre no tempo 20, A tem R bit ligado (números acima das páginas são tempos de carga) 23 Relógio 24 12

Least Recently Used (LRU) Assume que páginas usadas recentemente serão uadas novamente em breve Discarta a página não usda por mais tempo Deve manter uma lista ligada de todas as páginas Usadas maia recentemente na frente, menos usdas no fundo Atualiza esta lista a cada referência à memória!! Alternativamente, mantem um contador em cada entrada de página Escolhe a página com o menor contgador Periodicamente zera o contador 25 Simulando LRU em Software (1) LRU usando uma matriz referências às páginas na ordem 0,1,2,3,2,1,0,3,2,3 26 13

Simulando LRU em Software (2) O algoritmo do envelhecimento simula LRU em software Note 6 páginas para 5 ticks do relógio, (a) (e) 27 Algoritmo do conjunto de trabalho (Working Set) (1) O Conjunto de Trabalho é o conjunto de páginas usadas pelas k mais recentes referências à memória w(k,t) é o tamanho do conjunto de trabalho no instante, t 28 14

Algoritmo do conjunto de trabalho (Working Set)(2) 29 Relógio do Conjunto de Trabalho (WSClock) 30 15

Revisão dos Algoritmos de Substituição de Páginas 31 Modelando Algoritmos de susbtituição de Páginas Anomalia de Belady FIFO com 3 molduras de páginas P's mostram qual referência de página provoca uma falta de página 32 16

Modelando Algoritmos de susbtituição de Páginas Anomalia de Belady FIFO com 4 molduras de páginas P's mostram qual referência de página provoca uma falta de página 33 Modelando Algoritmos de susbtituição de Páginas Anomalia de Belady FIFO com 3 molduras de páginas FIFO com 4 molduras de páginas P's mostram qual referência de página provoca uma falta de página 34 17

Algoritmos de Pilha 7 4 6 5 Estado da Memória (M), após cada item da string de referência ser processado 35 A String de Distância Funções de Densidade de Probabilidade para duas Strings de Distância Hipotéticas 36 18

A String de Distância Computação da taxa de falte de páginas pela string de distância vetor C vetor F 37 Tópicos de Projeto para Sistemas de Paginação Políticas de Alocação Global vs Alocação Local (1) Configuração Original Substituição de página Local Substituição de página Global 38 19

Políticas de Alocação Global vs Alocação Local (2) Taxa de Faltas de Páginas como uma função do número de molduras atribuidas 39 Fim Apresentar a definição do trabalho de OSP do módulo memória 40 20

Próxima aula 41 Tabelas de Páginas Invertidas Comparaçao entra uma tabela de páginas tradicional com uma tabela de páginas invertida --- Usasdas em arquiteturas de 64 bits 42 21

Controle de Carga Apesar de bons projetos, os sistemas ainda podem entrar em thrashing Quando a Frequência de Faltas de Página indica: Alguns processos precisam de mais memória Nenhum processo precisa de menos memória Solução? 43 Tamanho de Página (1) Vantagens Pequeno Desvantagem 44 22

Tamanho de Página(2) Overhead devido à fragmentação interna e tabela de página Onde s e overhead = + p page table space p 2 s = tamanho médio do processo em bytes p = tamanho da página em bytes e = entrada de página internal fragmentation Optimized when p = 2se 45 Separar espaços de instruções e Dados Um espaço de endereçamento Espaços separados para I e D 46 23

Páginas Compartilhadas 47 Política de Limpeza Requerida para um processo em background process, daemon de paginação Periodicamente inspeciona a memória Quando poucas molduras estão livres Seleciona uma página para ser descartada Pode usar mesmo algoritmo(clock) Como o algoritmos regular de troca de páginas mas com parâmetros diferentes 48 24

Tópicos de Implementação Envolvimento do So com Paginação 1. Criação do processo Determina tamanho do programa Cria a tabela de páginas 2. Execução do processo MMU iniciada para o novo processo TLB flushed 3. Momento da falta de página Determina endereço virtual causando a falta swap página alvo fora e requerida para dentro 4. Termino do processo Libera tabela de páginas e páginas 49 Administração de Falta de páginas (1) 1. Hardware traps para kernel 2. Registradores gerasi salvos 3. SO determina qual página virtual é requerida 4. SO checa validade do endereço, busca a moldura de página 5. Se moldura selecionada estiver suja, escreve-a em disco 50 25

Administração de Falta de páginas (2) 6. SO traz página nova do disco 7. As tabelas de páginas são atualizadas Instrução que provocou a falta volta para seu início 8. Processo de falta restaurado 9. Registradores restaurados Programa continua 51 Backup de Instrução Uma instrução provocando uma falta de página 52 26

Travando páginas em memória Memória virtual e ES interagem ocasionalmente Processo faz uma chamada para uma leitura de um dispositivo em um buffer Enquanto espera por ES, outro processo inicia Ocorre uma falta de página O buffer do primeiro processo pode ser escolhido para page-out É necessário especificar algumas páginas travadas (locked) 53 Backing Store (a) Paginação para área de swap estática (b) Backing up páginas dinamicamente 54 27

Separação de Política e Mecanismo Administração de falta de página com um paginador externo 55 Segmentação (1) Espaço de endereçamnto uni-dimensional com tabelas crescentes Uma tabela pode invadir a outra 56 28

Segmentação (2) Permite cada tabela crescer/encolher independentemente 57 Segmentação (3) Comparação entre paginação e segmentação 58 29

Implementação de segmentação pura (a)-(d) desenvolvimento de xadrez (e) Remoção por compactação 59 Segmentação com paginação: MULTICS (1) Segmento descritor aponta para tabelas de páginas Segmento descritor números são comprimentos dos campos 60 30

Segmentação com paginação : MULTICS (2) Um endereço virtual MULTICS de 34- bit 61 Segmentação com paginação : MULTICS (3) Conversão de um endereço de duas partes em um endereço de memória 62 31

Segmentação com paginação: MULTICS (4) Versão simplificada da MULTICS TLB Existencia de 2 tamanhos de páginas faz a TLB mais complicada 63 Segmentação com paginação: Pentium (1) Um seletor Pentium 64 32

Segmentação com paginação: Pentium (2) Descritor de segmento de código do Pentium Segmentos de dados diferentes (ligeiramente) 65 Segmentação com paginação: Pentium (3) Conversão de (selector, offset) para endereço linear 66 33

Segmentação com paginação: Pentium (4) Mapeamento do endereço linear em endereço físico 67 Segmentação com paginação: Pentium (5) Level Proteção no Pentium 68 34