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



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

SSC0640 Sistemas Operacionais I

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

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

Sistemas Operacionais

SISTEMAS OPERACIONAIS. 3ª. Lista de Exercícios

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

Gerenciamento de Memória

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

Organização de um Sistema Operativo

Sistemas Operacionais

Sistemas Operacionais

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

Memórias Cache. Memória

INE5412 Sistemas Operacionais I

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

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

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 IF677

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

Substituição de Páginas

Sistemas Operacionais. Prof. André Y. Kusumoto

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

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

Sistemas Operacionais I Memória Virtual

Sistemas Operacionais. Prof. MSc. André Yoshimi Kusumoto

Capítulo 4 Gerenciamento de Memória

Gerência de Memória. Aspectos de Projeto

Administração de Memória

Capítulo 4 Gerenciamento de Memória

Sistemas Operacionais Memória Virtual

Gerenciamento de Memória

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

Aula 01 TEOREMAS DA ANÁLISE DE CIRCUITOS. Aula 1_Teoremas da Análise de Circuitos.doc. Página 1 de 8

GERENCIAMENTO DE MEMÓRIA

Gerenciamento de memória Memória Virtual

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

SSC0112 Organização de Computadores Digitais I

Notas da Aula 20 - Fundamentos de Sistemas Operacionais

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

Capítulo 4 Gerenciamento de Memória

Capítulo 4 Gerenciamento de Memória

Arquitetura de Computadores - Operação da Unidade de Controle. por Helcio Wagner da Silva

Gerenciamento de Memória

Memória - Gerenciamento. Sistemas Operacionais - Professor Machado

Sistemas Operacionais

CAPÍTULO 2 SISTEMAS DE NUMERAÇÃO E CÓDIGOS

Arquitetura de Sistemas Operacionais

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

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

Microprocessadores. Memórias

Capítulo 4 Gerenciamento de Memória

Gerenciamento de Memória Minix 3.1.7

Infra-Estrutura de Software

- Campus Salto. Disciplina: Sistemas de Arquivos Docente: Fernando Santorsula

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

Aula 01 Introdução Custo de um algoritmo, Funções de complexidad e Recursão

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

Structural Patterns - Proxy

Hierarquia de Memória

Capítulo 6 Nível do Sistema Operacional

Arquitetura de Computadores

Sistemas Operacionais: Memória Virtual

Sistemas Digitais Ficha Prática Nº 7

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

Infra-Estrutura de Software

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

Memória virtual. Sistemas de Computação

MATA49 Programação de Software Básico

Capítulo 4 Gerenciamento de Memória

Organização e Arquitetura de Computadores. Ivan Saraiva Silva

Infra-Estrutura de Software

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

Caminho de Dados e Controle. Prof. Leonardo Barreto Campos 1

Sistemas Operacionais. BC Sistemas Operacionais

Usando o painel do operador

Introdução à Informática. Alexandre Meslin

SSC0611 Arquitetura de Computadores

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

Fundamentos de Arquitetura e Organização de Computadores

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

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

Sistemas de Informação. Sistemas Operacionais

Escalonamento de Processos

Algoritmos e Programação : Conceitos e estruturas básicas. Hudson Victoria Diniz

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

Sistemas Digitais II. Interface com o mundo analógico. Prof. Marlon Henrique Teixeira Abril/2014

Estruturas de Repetição

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

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

Sistemas Operacionais II. Windows: Gerenciamento de Memória

Correção de Erros. Erros de memória de semicondutores podem ser:

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

Tipos de problemas de programação inteira (PI) Programação Inteira. Abordagem para solução de problemas de PI. Programação inteira

Circuitos Lógicos Aula 3

Lista de Exercícios Critérios de Divisibilidade

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

Construção de uma via de dados, abordagem monociclo, multiciclo e pipeline

Transcrição:

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

Introdução Quando ocorre um Page Fault, o S.O. deve escolher que página remover para abrir espaço em memória. Se a página foi alterada (bit Modified setado) é preciso salvála em disco. Senão foi, basta sobreescrevê-la. É melhor não escolher para remoção uma página que é usada freqüentemente, pois ela pode ter que voltar para a memória logo. Troca ótima de página Substituir a página para a qual falta mais tempo até ser necessária novamente Marcar p/ cada página, quantas instruções faltam p/ que ela seja referenciada Solução ótima, mas inviável! 2 Sistemas Operacionais

Algoritmo NRU Not Recently Used (1) Ou seja, algoritmo de substituição da página não usada recentemente Na maioria dos computadores com memória virtual, as entradas nas tabelas de páginas têm 2 bits de status Reference bit (R) ; Modified bit (M) Algoritmo Qdo o processo é iniciado, os bits R e M das páginas são zerados Bits são sempre alterados quando a página é referenciada/modificada Periodicamente o bit R é zerado (por exemplo, a cada tique de clock) Quando acontece um Page fault, o S.O. inspeciona todas as páginas que encontram-se na memória e as separa em categorias... 3 Sistemas Operacionais

Algoritmo NRU Not Recently Used (2) Páginas são classificadas Classe 0: Not referenced, not modified (R=0, M=0) Classe 1: Not referenced, modified (R=0, M=1) Classe 2: referenced, not modified (R=1, M=0) Classe 3: referenced, modified (R=1, M=1) O S.O. remove uma das páginas (aleatoriamente) da classe mais baixa não vazia. Vantagens Algoritmo fácil de entender e implementar Desempenho adequado Isso pode ocorrer??? 4 Sistemas Operacionais

Algoritmo FIFO Mantem-se uma lista encadeada de páginas ordenada pela chegada das páginas à memória. Quando ocorre um Page Fault, a página no início da lista (que é a mais antiga) é a escolhida para a troca Vantagem: Baixo custo Desvantagem: A página mais antiga pode ser também uma página usada muito freqüentemente. Não empregado! 5 Sistemas Operacionais

Algoritimo SC - Segunda Chance (1) Tenta melhorar o FIFO Cada página tem um bit R (referenciada) Antes de remover a página mais antiga (cabeça da fila), seu bit R é verificado Se R=0, a página é substituída (a página referenciada ocupará o seu lugar na memória) Se R=1, a página vai para fim da fila, como se houvesse sido carregada agora e seu bit é setado para 0 Verifica-se a página que virou cabeça da fila Se todas as páginas tiverem seu bit R=1, haverá uma volta completa 6 Sistemas Operacionais

Algoritimo SC - Segunda Chance (2) Instantes em que a pag. entrou na fila R=1 R=0 No instante 20 ocorre um Page Fault (tentativa de acesso à página X) R=0 R=0 A página B é substituída 7 R=0 R=1 Sistemas Operacionais

Algoritmo do Relógio Visa melhorar o desempenho do algoritmo SC, diferenciando apenas na implementação da fila O ponteiro sempre aponta para a página mais antiga Na ocorrência de um Page fault Se o bit R desta página for 0, ela é substituída, e o ponteiro roda uma casa Se R=1, R é resetado e o ponteiro avança para a próxima página até encontrar uma página com R=0 8 Sistemas Operacionais

Algoritmo LRU Least Recently Used (1) Ou MRU Menos Recentemente Usada Assume que as páginas usadas recentemente voltarão a ser usadas em breve Substitui páginas que estão há mais tempo sem uso. Mantém lista encadeada de todas as páginas que estão na memória (muito custoso!) página usada mais recentemente vai para o início da lista; lista é reordenada a cada referência a memória A página referenciada vai para o início da fila qdo há Page Fault, escolhe-se a última página da fila 9 Sistemas Operacionais

Algoritmo LRU Least Recently Used (2) Uma outra solução: manter uma idade para cada página. Exige um contador C de 64 bits incrementado a cada instrução (em hardware) Cada entrada da tabela de páginas deve ter um campo extra para armazenar o valor do contador (campo C) A cada referência à memória o valor corrente de C é armazenado na entrada da tabela de páginas na posição correspondente à página referenciada Quando ocorre um Page Fault, a tabela de páginas é examinada, a entrada cujo campo C é de menor valor é a escolhida Substitui página com o menor valor no campo do contador (maior idade) 10 Sistemas Operacionais

Algoritmo LRU Least Recently Used (3) Seq. de instruções: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Page Fault Pag. 1 P Campo C Pag. 0 1 1..10 Pag. 2 Pag. 3 Pag. 4 Pag. 5 1 0 1 0 0 7 4 10 Tabela de Páginas Referências à Mem. Prin. CONTADOR 10 147 Página que será substituída! 11 Sistemas Operacionais

Algoritmo LRU Least Recently Used (4) LRU usando matrizes HW especial que mantém uma matriz n x n, onde n é o número de molduras Inicialmente todos os bits da matriz são 0 Sempre que a moldura k é referenciada, o hardware seta todos os bits da linha k para 1, e depois zera todos os bits da coluna k para zero Deste modo, a qualquer instante a linha com o menor valor binário é a menos recentemente usada 12 Sistemas Operacionais

Algoritmo LRU Least Recently Used (5) LRU usando matrizes (cont.) moldura 0 moldura 1 moldura 2 moldura 3 moldura 2 moldura 1 moldura 0 moldura 3 moldura 2 moldura 3 13 Sistemas Operacionais

Algoritmo LRU Simulando LRU em Software (1) Problema das abordagens em HW Dependem de um HW especial Procurar uma solução em SW Simulando LRU em Software Algoritmo NFU - Not Frequently Used Um contador por página na memória A cada tick, o S.O. percorre todas as páginas na memória e soma o bit R (0 ou 1) de cada página ao seu respectivo contador Na ocorrência de Page Fault, a página c/ o menor contador é substituída Problema: o algoritmo nunca esquece (reseta) o contador 14 Sistemas Operacionais

Algoritmo LRU Simulando LRU em Software (2) Algoritmo Aging Desloca o contador de 1 bit p/ a direita Soma R ao bit mais significativo do contador 15 Sistemas Operacionais

Referências A. S. Tanenbaum, ''Sistemas Operacionais Modernos'', 3a. Edição, Editora Prentice-Hall, 2010. Seção 3.4 Silberschatz A. G.; Galvin P. B.; Gagne G.; ''Fundamentos de Sistemas Operacionais'', 6a. Edição, Editora LTC, 2004. Seção 10.4 Deitel H. M.; Deitel P. J.; Choffnes D. R.; Sistemas Operacionais, 3ª. Edição, Editora Prentice-Hall, 2005 Seções 11.5 e 11.6 16 Sistemas Operacionais