Sistemas Operacionais

Documentos relacionados
Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais

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

Sistemas Operacionais. Prof. MSc. André Yoshimi Kusumoto

SSC0640 Sistemas Operacionais I

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

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

Memória virtual. Sistemas de Computação

Sistemas Operacionais

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

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

Sistemas Operacionais

Sistemas Operacionais: Memória Virtual

Sistemas Operacionais I Memória Virtual

Sistemas Operacionais Memória Virtual

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

Sistemas Operacionais

Infra-Estrutura de Software IF677

Arquitetura de Sistemas Operacionais

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

Plano da aula. Substituição de Páginas. Alocação igualitária. Alocação de quadros. Lembrando: paginação sob demanda

Gerenciamento de Memória

Gerenciamento de memória

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

Sistemas Operacionais

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

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

Capítulo 4 Gerenciamento de Memória

Notas da Aula 20 - Fundamentos de Sistemas Operacionais

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

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

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

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

Gerenciamento de Memória

Substituição de Páginas

Administração de Memória

Gerenciamento de memória Memória Virtual

GERENCIAMENTO DE MEMÓRIA

Sistemas de Informação. Sistemas Operacionais

Fundamentos de Sistemas Operacionais

Sistemas Operacionais

Infra-Estrutura de Software

Sistemas Operacionais

Infra-Estrutura de Software

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

Infra-Estrutura de Software

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

SSC0112 Organização de Computadores Digitais I

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

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

Organização de um Sistema Operativo

Capítulo 6 Nível do Sistema Operacional

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

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

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

Gerência de Memória. Aspectos de Projeto

Fundamentos de Sistemas Operacionais

Capítulo 7 Gerência de Memória

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

Gestão de Memória algoritmos e políticas

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

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

Sistemas Operacionais. Gerenciamento de Memória

INE5412 Sistemas Operacionais I

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

SISTEMAS OPERACIONAIS. 3ª. Lista de Exercícios

Segmentação de Memória

SSC0611 Arquitetura de Computadores

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

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

Sistemas Operacionais

Gerência de memória III

Algoritmos de Gestão de Memória

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

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

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

Sistemas Operacionais Aula 16 Memória Virtual

Gerenciamento de Memória

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

UNIX Gerência de Memória

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Sistemas Operacionais

Gerência de Memória Memória Virtual e Paginação

Capítulo 9: Memória Virtual

AULA 14 - Memória Virtual

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

Organização de Computadores

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

Memória Virtual. Paulo Sérgio Almeida. Grupo de Sistemas Distribuídos Departamento de Informática Universidade do Minho

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

SOP - TADS Gerência de Memória Cap 3 Tanenmbaum

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

Memória para CAD. Aleardo Manacero Jr.

Capítulo 17 Paginação em disco

Transcrição:

Melhorias Sistemas Operacionais Paginação por demanda Substituição de páginas Trabalho sob a Licença Atribuição-SemDerivações-SemDerivados 30 Brasil Creative Commons Para visualizar uma cópia desta licença, visite http://creativecommonsorg/licenses/by-nc-nd/30/br/ Aula 23 Usar do livro do Dhamdere como base (págs 436 a 447) Usar os exemplos dele para substituição de página Explicação da anomalia de Belady e a propriedade de pilha Arrumar o discurso dos algoritmos de clock Sistemas Operacionais 2 Introdução Política de substituição Gerência da memória virtual executa duas decisões importantes Na ocorrência de uma falta de páginas (page-fault) decidir qual página deve ser substituída política de substituição de páginas Decidir quanto de memória (quantidade de quadros) deve ser alocado para cada processo política de alocação de quadros Substituição de páginas Necessário quando ocorre uma falta de página (page-fault) e não há quadros livres disponíveis Objetivo: escolher uma página (a vítima ) para ir para a área de swap liberando o quadro para a página faltante Paginação por demanda = Política de substituição de páginas + Políticas de alocação de quadro Meta a ser atingida Escolher como página vítima aquela que provavelmente não será referenciada em um futuro próximo Critério básico de escolha Determinar a página menos necessária Possível considerar: Nem toda página necessita sofrer page-out Páginas não modificadas e páginas read-only (código) Páginas que nunca deve ser substituídas (frame locking ou pinning) eg: código e estruturas de dados do sistema operacional, buffers de E/S Sistemas Operacionais 3 Sistemas Operacionais 4

Algoritmos de substituição de página Avaliação dos algoritmos de substituição Implementam uma política com o objetivo de minimizar a taxa de falta de páginas Algoritmos utilizados: FIFO LRU Aproximações de LRU Atuar para diminuir p! Necessário saber a quantidade de quadros disponíveis Adicionar capacidade na RAM aumenta os quadros disponíveis e, portanto, cai a taxa de faltas de páginas Baseado em string de referência Modelo que representa o traço de execução de um programa 1 m n m: número de página alocada em memória por um processo n: número de páginas distintas no string de referência Simula uma sequência de acessos a páginas eg: string de referência: 6 4 7 2 3 1 5 6 7 8 9 1 2 9 3 5 6 Critérios de avaliação Quantidade de falta de páginas Quantidade total de páginas movimentadas de/para a memória Sistemas Operacionais 5 Sistemas Operacionais 6 Algoritmo ótimo First in, First Out (FIFO) Apresenta a menor taxa de falta de páginas Mais simples Objetivo: Substituir a página que não será usada pelo maior período de tempo Critério é baseado na hora que uma página será usada Problema é que necessita conhecer o futuro Princípio Associa a cada página a hora em que foi trazida para memória Substitui a página mais antiga na memória (página vítima) Pode ser implementada por uma fila Não é necessário registrar uma hora Ao ser carregada na memória, a página vai para o final da fila Substitui sempre a que está na frente da fila Problema Solução é usar aproximações do futuro Usado como referência para comparar/avaliar algoritmos Não considera a utilização da página Página pode ser antiga, mas ainda ser útil Sistemas Operacionais 7 Sistemas Operacionais 8

Exemplo de FIFO Problemas com FIFO Quadros na memória principal são alocados a páginas na forma de um buffer circular Substitui a página que está a mais tempo na memória Decisão com base na hora em que a página foi carregada na memória Exemplo: Não considera o uso da página Página substituída pode ser necessária logo em seguida Anomalia de Belady A taxa de falhas aumenta com o aumento dos quadros alocados eg: dez falhas para quatro quadros alocados contra nove falhas para três quadros alocados Causado por um dado padrão de acesso e o emprego de um critério de antiguidade e não pelo uso Sistemas Operacionais 9 Sistemas Operacionais 10 Least Recently Used* (LRU) Implementação de Least Recently Used (LRU) Página a ser substituída é a página que foi referenciada a mais tempo Pelo princípio da localidade esta página deve ser a de menor probabilidade de ser referenciada em um futuro próximo Cada página possui a hora da última referência Decisão com base na hora em que a página foi usada pela última vez Exemplo: Dois mecanismos básicos Contador Pilha Sistemas Operacionais *Menos recentemente usada 11 Sistemas Operacionais 12

Implementação de LRU por contadores Implementação de LRU por pilha Entrada na tabela de páginas recebe um campo de tempo de uso Tempo da última referência (time stamp) por relógio físico ou lógico Valor é transferido para o campo de uso sempre a página for acessada Mantém a última referência Problemas Custo computacional e desempenho Atualização da entrada na tabela de páginas Seleção da página vítima implica varrer a tabela a procura do tempo de uso mais antigo Estouro da representação do relógio Princípio básico Sempre que uma página for referenciada ela é inserida no topo da pilha Topo da pilha está a página referenciada mais recentemente Para substituição Base da pilha está a página referenciada menos recentemente (vítima) Implementação por fila duplamente encadeada Problema Custo de processamento (software) Sistemas Operacionais 13 Sistemas Operacionais 14 Aproximações de LRU via suporte de hardware Algoritmo de histório de bits de referência Mecanismo de contador e pilha oneram o processamento Necessário contar com auxílio de hardware Hardware (MMU) deve suportar bit(s) de referência Mecanismo limitado Bit de referência Posto em 1 sempre que a página for acessada (página não acessada=0) Objetivo é substituir página cujo bit de referência é igual a zero Carregada em memória e não empregada Desvantagem: Bit de referência não indica a ordem de acesso (não se sabe uso passado ) Necessário ter um critério para zerar o bit de referência, senão, com o passar do tempo a tendência é que todas as páginas sejam referenciadas Princípio básico Adicionar a noção de ordem através da manutenção de vários bits de referência Implementação Associar um registrador de deslocamento (shift register) a cada página A cada t consulta o bit de referência e atualiza registrador (shift register) e zera o bit de referência Critério de substituição Cada página possui um número que indica sua ordem de acesso Substitui a que tiver o menor número Sistemas Operacionais 15 Sistemas Operacionais 16

Exemplo: construção de histórico de bits de referência Algoritmo de segunda chance (relógio) Aproxima LRU empregando um único bit de referência (BR ou r) Desvantagem: custo de implementação em hardware (área) e em software (processamento) Implementação Mantém uma lista circular com todas as páginas residentes na memória e um ponteiro para a página próxima vítima (ordenamento FIFO) Se o ponteiro aponta para uma página com: BR = 0: a página é substituída e o ponteiro avança de uma unidade BR = 1 o bit é zerado e o ponteiro é incrementado de uma unidade Segunda chance vem do fato que a página com BR=1, recebe a chance de ficar em memória e ser referenciado antes da próxima seleção de vítima O algoritmo de base é FIFO Degenera para FIFO quando todos os bits de referência estão marcados Força uma passagem completa na lista para zerá-los Sistemas Operacionais 17 Sistemas Operacionais 18 Esquematização do algoritmo de segunda chance Algoritmo de segunda chance melhorado 8 7 Pag 222 Pag 33 n 6 Pag 9 ANTES Pag 67 0 Pag 19 Pag 1 próximo 5 1 Pag 45 Pag 191 Pag 556 Pag 13 4 2 3 8 Page-out Pag 222 Pag 33 7 n Pag 9 6 Pag 67 DEPOIS próximo 0 Pag 19 Pag 1 5 1 Pag 45 Pag 191 Pag 727 Pag 13 Page-in 4 2 3 Seleção da página vítima é feita com base no bit r e no bit sujo (s) Bit r=0; s=0: não usada recentemente, nem modificada substitui a página Bit r=0; s=1: não usada recentemente, mas modificada Zera bit s e incrementa ponteiro Bit r=1; s=0: usada recentemente, mas não modificada zera bit r e incrementa ponteiro de uma unidade Bit r=1; s=1: usada recentemente e modificada zera bit r, incrementa ponteiro de uma unidade Ordem de preferência para a substituição Evitar que página a ser substituída seja escrita no disco (page-out) Páginas não modificadas na memória podem ser sobre-escritas Hardware deve prover bit sujo (dirty bit); indicação se página foi modificada Sistemas Operacionais 19 Sistemas Operacionais 20

Algoritmos com buffer de página Leituras complementares Procedimentos usados junto com um algoritmo de substituição Banco de quadros livres Objetivo: reiniciar o processo com falta de página sem esperar pela vítima liberar um quadro Página que provocou a falta recebe um quadro do banco de livres Escolhe uma página vitima e adiciona-se seu quadro ao banco de livres Variações Lista de páginas modificadas Ir reescrevendo as páginas no disco em background Zera o bit de sujo após a escrita Manter banco de quadros livres, mas marcar a página que ocupava o quadro Ideia é, se for o caso, reaproveitar a página sem fazer um novo page-in A Tanenbaum Sistemas Operacionais Modernos (3 a edição), Pearson Brasil, 2010 Capítulo 3: seção 34 A Silberchatz, P Galvin; Sistemas Operacionais (7 a edição) Campus, 2008 Capítulo 9: seção 94 e 95 R Oliveira, A Carissimi, S Toscani; Sistemas Operacionais Editora Bookman 4 a edição, 2010 Capítulo 7 (seções 72 e 73) Sistemas Operacionais 21 Sistemas Operacionais 22