Substituição de Páginas

Documentos relacionados
Memória virtual. Pedro Cruz. EEL770 Sistemas Operacionais

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

Segmentação de Memória

SSC0640 Sistemas Operacionais I

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

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

Capítulo 4 Gerenciamento de Memória

GERENCIAMENTO DE MEMÓRIA

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

Arquitetura de Sistemas Operacionais

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

Gerência de Memória. Aspectos de Projeto

Infra-Estrutura de Software IF677

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

Sistemas Operacionais Memória Virtual

Sistemas Operacionais

Gerenciamento de Memória

Sistemas Operacionais

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

Sistemas de Informação. Sistemas Operacionais

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

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

Administração de Memória

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

Memória virtual. Sistemas de Computação

Sistemas Operacionais. Prof. André Y. Kusumoto

Capítulo 6 Nível do Sistema Operacional

Gerência de memória III

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

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

Organização de um Sistema Operativo

Sistemas Operacionais

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

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

ARQUITETURA DE COMPUTADORES

INE5412 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: Memória Virtual

Organização e Arquitetura de Computadores I

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

Fundamentos de Sistemas Operacionais

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

Gerenciamento de memória

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

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

Gerenciamento de Memória

Sistemas Operacionais

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

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Gerenciamento de memória Memória Virtual

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

Sistemas Operacionais. Prof. MSc. André Yoshimi Kusumoto

Gerenciamento de Memória

Gerência de memória II

Gerenciamento de Memória

Fundamentos de Sistemas Operacionais

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

Sistemas Operacionais. Gerenciamento 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

Sistemas Operacionais

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

Swapping. Desvantagem:

Gerência da Memória. Adão de Melo Neto

AULA 14 - Memória Virtual

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

Infra-Estrutura de Software

Infra-Estrutura de Software

Memória virtual. Sistemas Segmentados

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

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

Sistemas Operacionais I Memória Virtual

Infra-Estrutura de Software

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

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

EA075 Memória virtual

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

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

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

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

Sistemas Operacionais II. Windows: Gerenciamento de Memória

SISTEMAS OPERACIONAIS. 3ª. Lista de Exercícios

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

Sistemas Operacionais

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

Sistemas Operacionais

Gerenciamento de memória

SSC0611 Arquitetura de Computadores

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

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

Sistemas Operacionais

Notas da Aula 20 - Fundamentos de Sistemas Operacionais

Sistemas de Memória III

Arquitectura de Computadores

Entrada/Saída. Capítulo 5. Sistemas Operacionais João Bosco Junior -

SSC0640 Sistemas Operacionais I

Sistemas Operacionais II. Linux 2: Threads, Escalonamento, Gerenciamento de Memória e Sistemas de Arquivos

Transcrição:

Substituição de Páginas Pedro Cruz EEL770 Sistemas Operacionais

Lembranças sobre memória Tempo virtual Segmentação de memória Realocação Estática Dinâmica Sobreposições MMU Memory Management Unit Página Quadro de página Conjunto de trabalho Conjunto residente Tabela de página TLB (Translation Lookaside Buffers) Page fault Leve (soft) Pesado (hard) Inválido Swapping Processo Página Bit sujo 2

Substituição de página Processos usando mais do que a memória primária Páginas ociosas mapeadas na memória secundária Acesso à página que está em memória secundária Page fault Substituição de páginas Página A sai da memória primária Vai para memória secundária Quando? Página B entra na memória primária Sai da memória secundária Quando? 3

Caso ótimo Operacional sabe quantas instruções até que cada página seja referenciada Mantém em memória as páginas que serão referenciadas a seguir Retira as páginas que serão referenciadas em futuro muito distante 4

Algoritmos factíveis Substituição de páginas não usadas recentemente Substituição de páginas primeira a entrar, primeira a sair Substituição de páginas segunda chance Substituição de páginas do relógio Substituição de páginas usadas menos recentemente Substituição de páginas não usadas frequentemente Substituição de páginas do conjunto de trabalho Substituição de páginas WSClock 5

Hardware necessário Indicadores Referenciada (R) Ativado sempre que página é referenciada Modificada (M) Ativado sempre que página é escrita Página R M 0 0 0 1 1 0 2 1 1 3 0 0 6

Substituição de páginas não usadas recentemente Operacional Apaga o bit R regularmente Interrupções de relógio Inspeciona as páginas antes da substituição Divide em classes Operacional remove ao acaso página da classe mais baixa Página R M Classe 0 0 0 0 1 0 1 1 2 1 0 2 3 1 1 3 7

Substituição de páginas não usadas recentemente Ideia principal Página referenciada será referenciada novamente Página modificada, nem sempre Página R M Classe 0 0 0 0 1 0 1 1 2 1 0 2 3 1 1 3 8

Substituição de páginas primeiro a entrar, primeiro a sair Páginas são ordenadas por tempo em que estão na memória Quando ocorre uma falta de página, operacional remove a página mais antiga para dar espaço para a mais nova Você usaria esse algoritmo? 9

Substituição de páginas segunda chance Páginas são ordenadas da mais antiga para a mais recente Lista encadeada Sistema Operacional busca a página mais antiga Se R for 0 Remove a página Se R for 1 Coloca 0 em R Coloca a página no fim da lista Finge que página acabou de ser carregada Busca a nova página mais antiga Se todas as páginas foram referenciadas, vira FIFO 10

Substituição de páginas segunda chance - Exemplo As tabelas representam a lista encadeada Pág. R M Pág. R M Pág. R M Pág. R M 0 1 0 1 1 1 2 0 0 3 0 1 1 1 1 2 0 0 3 0 1 0 0 0 2 0 0 3 0 1 0 0 0 1 0 1 3 0 1 0 0 0 1 0 1 4 0 0 11

Substituição de páginas do relógio Páginas ficam em uma lista circular ordenada por chegada Ponteiro aponta para a mais antiga Operacional verifica a página mais antiga Se R for 0 Remove a página Coloca nova página no lugar Avança o ponteiro Se R for 1 Coloca 0 em R Avança o ponteiro Coloca a página no fim da lista Repete verificação 12

Substituição de páginas do relógio - Exemplo Pág. R M 1) 2) 0 1 0 Pág. R M 0 0 0 Pág. R M Pág. R M Pág. R M Pág. R M 3 0 1 1 1 1 3 0 1 1 1 1 Pág. R M Pág. R M 2 0 0 2 0 0 Pág. R M 3) 4) 0 0 0 Pág. R M Pág. R M 3 0 1 1 0 1 Pág. R M 2 0 0 Pág. R M 0 0 0 Pág. R M Pág. R M 3 0 1 1 0 1 Pág. R M 4 0 0 13

Substituição de páginas usadas menos recentemente Páginas são ordenadas pelo tempo de acesso Página acessada é colocada no início da lista Falta de página gera remoção da última página da lista Nova página é carregada no lugar Problema? 14

Substituição de páginas menos usadas Cada página possui um contador de acessos A cada referência de memória, o contador da página acessada é incrementado Quando há falta de página, operacional substitui página de menor contador pela nova página Problema? 15

Substituição de páginas não usadas frequentemente Contador de referências é mantido para cada página Contador é incrementado no bit mais significativo Em cada clock, contador é dividido por dois Envelhecimento Em uma falta de página, página com menor contador é escolhida 16

Substituição de páginas do conjunto de trabalho Conjunto de trabalho Páginas referenciadas nas últimas k referências Páginas referenciadas no último intervalo de tempo t Operacional define o conjunto de trabalho dos processos A cada falta de página Verifica R de todas as páginas Mantém instante de último uso de cada página No tempo virtual de cada processo Idade da página Tempo virtual do processo menos instante de último uso 17

Substituição de páginas do conjunto de trabalho - Exemplo Quando ocorre falta de página Para cada página p na memória principal Se R=1 p está sendo usada (é parte do conjunto de trabalho)» Instante de último uso(p) = agora Se R=0 Se idade de p é maior que t» Remove p» Termina Se não» Armazena qual a página com maior idade Operacional remove página com maior idade 18

Substituição de páginas WSClock Páginas são mantidas em lista circular com ponteiro Instante de último uso R M 19

Substituição de páginas WSClock - Exemplo Ao ocorrer falta de página Página apontada é inspecionada Se R = 1 Página é mantida e ponteiro movido adiante e R recebe 0 Se R = 0: Se idade > t e M = 0» Página é reivindicada Se M = 1:» Escrita é escalonada» Ponteiro movido adiante 20

WSClock - final Não garante que alguma página seja escolhida Opção 1: escolher ao acaso página com M=0 Também não garante que alguma seja escolhida Opção 2: escolher página mais velha Não garante boa escolha Opção 3: escolher página ao acaso Não garante boa escolha Não dá trabalho 21

Questões de projeto Política global vs local Controle de carga Tamanho de página Espaços separados de instruções e dados Páginas compartilhadas Bibliotecas compartilhadas Arquivos mapeados Política de limpeza Interface de memória virtual 22

Política global vs local Algoritmos de substituição global Processos possuem frações variáveis de memória Substitui de página, independentemente de processo Falta de página significa mais memória para processo Algoritmos de substituição local Processos possuem fração fixa da memória Substitui página do processo que gerou a falta de página Processo que precisa de muita memória fica preso em faltas de página Frequência de falta de página (Page fault frequency-pff) Quanto mais page fault, mais memória um processo recebe 23

Controle de carga Processos podem precisar de mais páginas do que disponível Todos vão ter PFF alto Enviar processos inteiros para o disco 24

Espaços separados de instruções e dados Normalmente, dados e programa ficam no mesmo espaço de endereçamento Se não, deve haver paginação de ambos espaços 25

Páginas compartilhadas Compartilhamento geralmente de código Direto quando há diferentes endereçamentos de código e dados Processos A e B compartilham código Remoção do processo A gera falha de página em B Processos A e B compartilham dados Ambos processo recebem permissão de leitura dos dados Tentativa de escrita gera cópia dos dados (copy-on-write) A e B passam a ter cópias distintas dos dados 26

Bibliotecas compartilhadas Bibliotecas de Ligação Dinâmica (DLL Dynamic Link Library, no Windows) Carregadas como Singletons Só existem em um lugar da memória São acessíveis e executáveis por todos os processos ligados a elas 27

Bibliotecas compartilhadas Causam problemas na realocação dinâmica Processos têm a biblioteca em pedaços diferentes de seu endereçamento virtual Processos conseguem acessar a biblioteca Biblioteca não sabe como acessar seus endereços Deslocamentos relativos» Biblioteca faz referências utilizando endereço atual como base» Código independente de posicionamento» Gerado pelo compilador 28

Arquivos mapeados Um pedaço do que está no disco é escrito na memória primária Páginas são trocadas de acordo com a leitura 29

Política de limpeza Daemon de paginação Deixa páginas disponíveis para saírem da memória principal Percorre a memória de tempos em tempos Procura páginas modificadas Escreve em disco 30

Interface de memória virtual Se processos puderem nomear seus espaços de memória, comunicação entre processos é mais fácil Memória compartilhada distribuída Processos em máquinas diferentes podem compartilhar memória 31

Substituição de Páginas Pedro Cruz EEL770 Sistemas Operacionais