SlideShare uma empresa Scribd logo
Sistemas Operacionais I
Gerência de Memória: Memória Virtual
Prof. Alexandre Duarte : http://alexandrend.com
Centro de Informática | Universidade Federal da Paraíba
Estes slides são baseados no material que acompanha o livro Operating
Systems Concepts de Silberschatz, Galvin and Gagne
Objetivos
 Descrever os benefícios de um sistema de
memó ria virtual
 Explicar os conceitos de paginaç ão sob
demanda, algoritmos de substituiç ão de
páginas e alocaç ão de quadros
Contextualização
 Memó ria virtual: separação da memó ria ló gica do usuário
da memó ria física.
 Apenas uma parte do programa precisa estar na memó ria para
execuç ão
 Portanto, o espaç o de endereç amento ló gico pode ser muito
maior que o espaç o de endereç amento físico
 Permite que os espaç os de endereç amento sejam
compartilhados por vários processos
 Permite que a criaç ão de processos seja mais eficiente
 Memó ria virtual pode ser implementada de duas formas:
 Paginaç ão sob demanda
 Segmentaç ão sob demanda
Memória virtual maior que a memória
física
⇒
Espaço de endereçamento virtual
Biblioteca compartilhada utilizando
memória virtual
Paginação sob demanda
 Traz uma página para a memó ria apenas quando ela
é necessária
 Menos operações de E/S
 Menor utilização de memó ria
 Resposta mais rápida
 Mais usuários/processos
 Página é necessária ⇒ referenciada
 Referência invalida ⇒ aborta execução
 Fora da memó ria ⇒ página é carregada
 Lazy swapper – nunca traz uma página para
memó ria a menos que ela seja necessária
 Um Swapper que liga com páginas é chamada paginador
Transferência de memória paginada para
disco
Bit válido/inválido
 Associa-se um bit de validade a cada entrada
da tabela de paginaç ão
 (v ⇒ na memó ria, i ⇒ fora da memó ria)
 Inicialmente setado para I para todas as
entradas
 Durante a traduç ão de um endereç o, se o bit
vale I ⇒ falta de página!
Tabela de paginação com algumas páginas fora da
memória principal
Falta de página
 A primeira referência a uma página fora da memó ria
causa uma exceç ão:
falta de página
1. O Sistema Operacional uma outra tabela para decidir
se houve uma:
 Referência inválida ⇒ aborta o processo
 Apenas uma referência a uma página fora da memó ria
1. Obtém um quadro livre
2. Carrega a página no quadro
3. Reconfigura as tabelas
4. Seta o bit de validade para v
5. Re-executa a instruç ão que gerou a falta de página
Sequência de passos para tratar
uma falta de página
Desempenho da paginação sob
demanda
 Taxa de falta de páginas 0 ≤ p ≤ 1.0
 se p = 0 não háfalta de páginas
 se p = 1, toda referência causa uma falta
 Tempo efetivo de acesso (EAT)
EAT = (1 – p) x tempo de acesso a memó ria
+ p (tempo para tratar falta de página
+ tempo de swap out
+ tempo de carga da página
+ tempo para reiniciar a execuç ão)
Exemplo de paginação sob
demanda
 Tempo de acesso à memó ria = 200 nanossegundos
 Tempo médio para tratamento de uma falta de página
= 8 milissegundos
 EAT = (1 – p) x 200 + p (8 milissegundos)
= (1 – p x 200 + p x 8,000,000
= 200 + p x 7,999,800
 Se um acesso a cada 1.000 causa uma falta de página
então EAT = 8.2 microssegundos.
40 vezes mais lento!!
Criação de Processos
 O uso de memó ria virtual possibilita outros
benefícios durante a criaç ão de um processo:
 Copy-on-Write
 Arquivos mapeados em memó ria (mais tarde)
Copy-on-Write
 Copy-on-Write (COW) permite que processos pai
e filho compartilhem inicialmente as mesmas
páginas de memó ria
 Uma página só é copiada quando algum dos
processos realiza uma operaç ão de escrita
 COW permite uma criaç ão mais eficiente de
processo pois apenas páginas modificadas são
copiadas
Antes do processo 1 modificar a
página C
Após o processo 1 modificar a página
C
O que acontece quando não há quadro livre?
 Substituiç ão de página – encontra alguma
página na memó ria mas que não esteja
realmente em uso e a salva no disco (swap
out)
 algoritmo!
 desempenho – queremos um algoritmo que
resulte no menor número possível de faltas de
página
 Algumas páginas podem ser trazidas para a
memó ria várias vezes
Substituição de página
 Impede que haja uma super-alocaç ão de
memó ria ao modificar a rotina de tratamento de
falta de página para incluir a substituiç ão
 Usa um bit de modificaç ão (dirty) para reduzir
o tempo de transferência – apenas páginas
modificadas precisam ser gravadas no disco
 Substituiç ão de páginas completa a separaç ão
entre memó ria ló gica e memó ria física – uma
memó ria virtual muito grande pode conviver com
uma memó ria física bem menor
Exemplo da necessidade uma
substituição de página
Processo básico de substituição
1. Localize a página desejada no disco
2. Localize um quadro livre:
- Se háum quadro livre, utilize-o
- Se não hátal quadro, utilizar um algoritmo de
substituiç ão para escolher um quadro vítima
3. Carregue a página desejada no quadro
(recentemente) livre; atualize as tabelas de páginas e
de quadros
4. Re-execute a instruç ão que causou a falta de página
Substituição de página
Algoritmos de substituição de páginas
 Queremos a menor taxa possível de faltas de página
 Avaliamos um algoritmo utilizando uma sequência de
acessos a memó ria (sequência de referência) e
contando a quantidade de faltas de páginas
 Em nossos exemplos utilizaremos as seguintes
sequências:
1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5
7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7,
0, 1
Gráfico de faltas de páginas versus número
de quadros
First-In-First-Out (FIFO)
 Sequência de referência: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5
 3 quadros (3 páginas na memó ria ao mesmo tempo)
 4 quadros
 Anomalia de Belady: mais quadros ⇒ mais faltas de página
1
2
3
1
2
3
4
1
2
5
3
4
9 faltas
1
2
3
1
2
3
5
1
2
4
5 10 faltas
44 3
FIFO ilustrando a Anomalia de Belady
Substituição FIFO
Algoritmo Ótimo
 Substitui a página que não seráacessada pelo maior período
de tempo
 Exemplo com 4 quadros
1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5
 Como obter essa informação?
 Útil para comparação com outros algoritmos
1
2
3
4
6 faltas
4 5
Algoritmo Ótimo
Menos Recentemente Usada (LRU)
 Sequência de referência: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5
 Implementação com contador
 Cada página possui um contador que é atualizado com o valor
do reló gio sempre que a página é referenciada
 Quando uma página precisa ser substituída, consultar o contador
para remover a que possuir o menor valor
5
2
4
3
1
2
3
4
1
2
5
4
1
2
5
3
1
2
4
3
Menos Recentemente Usada (LRU)
Menos Recentemente Usada (LRU)
 Implementaç ão com pilha – mantem uma pilha
duplamente encadeada com os números das
páginas:
 Página referenciada
 Move a página para o topo
 Não requer algoritmo de busca
LRU com a utilização de uma pilha
Aproximações do LRU
 Bit de referência
 Associar um bit a cada página, inicialmente = 0
 Quando a página é referenciada, bit = 1
 Substitui a página com bit = 0 (se existir alguma)
 Não se conhece a ordem
 Segunda chance
 Requer um bit de referência
 Substituiç ão do reló gio
 Se a página a ser substituída (em sentido horário) tem bit = 1,
então
 Seta bit = 0
 Deixa a página na memó ria
 Repete o processo para a pró xima página (em sentido horário)
Algoritmo da Segunda Chance
Algoritmo de Contagem
 Mantem um contado para o número de
referências a cada página
 Algoritmo LFU: substitui a página com o
menor contador
 Algoritmo MFU: substitui a página com o
maior contador
Alocação de Quadros
 Cada processo precisa de um número mínimo
de quadros
 Dois esquemas principais de alocaç ão
 Alocaç ão fixa
 Alocaç ão por prioridade
Alocação fixa
 Alocaç ão igualitária: se há
100 quadros e 5
processos, alocar 20
quadros para cada um
 Alocaç ão proporcional:
quadros são alocados de
acordo com o tamanho
dos processos
si = tamanho do processo pi
S = si∑
m = número total de quadros
ai = alocação para pi =
si
S
× m
5964
137
127
564
137
10
127
10
64
2
1
2
≈×=
≈×=
=
=
=
a
a
s
s
m
i
Alocação por prioridade
 Usa uma alocaç ão proporcional baseada na
prioridade ao invés do tamanho
 Se o processo Pi causa uma falta de página
 Seleciona um de seus quadros para substituiç ão
 Seleciona um quadro de um processo de menor
prioridade para substituiç ão
Alocação global versus local
 Substituiç ão global: o processo seleciona
um quadro para substituiç ão de uma lista com
todos os quadros de memó ria - um processo
pode tomar um quadro de outro
 Substituiç ão local: cada processo só
seleciona para substituiç ão os seus pró prios
quadros
Thrashing
 Se um processo não tem páginas “suficiente” a
taxa de falta de páginas pode ser muito alta.
Isso leva a :
 Baixa utilizaç ão da CPU
 O Sistema Operacional conclui que precisa
aumentar o grau de multi-programaç ão
 Um novo processo é adicionado à memó ria
 Thrashing ≡ um processo fica paralisado
com operaç ões de swap in e swap out
Thrashing
Monitorando a taxa de faltas de página
 Definimos uma taxa aceitável de faltas de página
 Se a taxa atual é muito baixa o processo perde um
quadro
 Se a taxa atual é muito alta o processo ganha um
quadro

Mais conteúdo relacionado

Mais procurados

Arquitetura de-computadores
Arquitetura de-computadoresArquitetura de-computadores
Arquitetura de-computadores
Pimentel
 
Trabalho sobre as memórias ram
Trabalho sobre as memórias ramTrabalho sobre as memórias ram
Trabalho sobre as memórias ram
jfranca1984
 
Sistema operacional
Sistema operacionalSistema operacional
Sistema operacional
Michael Soto
 
Resumo sistemas operacionais
Resumo sistemas operacionaisResumo sistemas operacionais
Resumo sistemas operacionais
Daniel Brandão
 
Processos e threads
Processos e threadsProcessos e threads
Processos e threads
Silvino Neto
 

Mais procurados (20)

Gerenciamento de memória
Gerenciamento de memóriaGerenciamento de memória
Gerenciamento de memória
 
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre ProcessosSistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos
 
Gerencia de memoria
Gerencia de memoriaGerencia de memoria
Gerencia de memoria
 
Questões de hardware
Questões de hardwareQuestões de hardware
Questões de hardware
 
Processos e threads cap 02 (i unidade)
Processos e threads   cap 02 (i unidade)Processos e threads   cap 02 (i unidade)
Processos e threads cap 02 (i unidade)
 
IMEI Módulo 8 (Curso profissional de Gestão de Equipamentos Informáticos)
IMEI Módulo 8 (Curso profissional de Gestão de Equipamentos Informáticos)IMEI Módulo 8 (Curso profissional de Gestão de Equipamentos Informáticos)
IMEI Módulo 8 (Curso profissional de Gestão de Equipamentos Informáticos)
 
Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)Sistemas Operacionais - Aula 07 (Thread e Processos)
Sistemas Operacionais - Aula 07 (Thread e Processos)
 
Slide disco rigido
Slide disco rigidoSlide disco rigido
Slide disco rigido
 
Arquitetura de-computadores
Arquitetura de-computadoresArquitetura de-computadores
Arquitetura de-computadores
 
Gerenciamento de Memoria
Gerenciamento de MemoriaGerenciamento de Memoria
Gerenciamento de Memoria
 
ApresentaçãO Tipos De Memorias
ApresentaçãO  Tipos De MemoriasApresentaçãO  Tipos De Memorias
ApresentaçãO Tipos De Memorias
 
Trabalho sobre as memórias ram
Trabalho sobre as memórias ramTrabalho sobre as memórias ram
Trabalho sobre as memórias ram
 
Sistema operacional
Sistema operacionalSistema operacional
Sistema operacional
 
Apostila 5 processos e threads
Apostila 5   processos e threadsApostila 5   processos e threads
Apostila 5 processos e threads
 
Arquitectura Interna Do Computador
Arquitectura Interna Do ComputadorArquitectura Interna Do Computador
Arquitectura Interna Do Computador
 
Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)Sistemas Operacionais - Aula 05 (Concorrência)
Sistemas Operacionais - Aula 05 (Concorrência)
 
SO-05 Gerenciamento de Memória e Alocação
SO-05 Gerenciamento de Memória e AlocaçãoSO-05 Gerenciamento de Memória e Alocação
SO-05 Gerenciamento de Memória e Alocação
 
Aula 04-gerenciamento-basico-de-memoria
Aula 04-gerenciamento-basico-de-memoriaAula 04-gerenciamento-basico-de-memoria
Aula 04-gerenciamento-basico-de-memoria
 
Resumo sistemas operacionais
Resumo sistemas operacionaisResumo sistemas operacionais
Resumo sistemas operacionais
 
Processos e threads
Processos e threadsProcessos e threads
Processos e threads
 

Destaque

Aula 2 sistemas operacionais
Aula 2 sistemas operacionaisAula 2 sistemas operacionais
Aula 2 sistemas operacionais
Carlos Melo
 
Mapa mental de memoria virtual
Mapa mental de memoria virtualMapa mental de memoria virtual
Mapa mental de memoria virtual
jorge77712
 
Gerência de Memória
Gerência de MemóriaGerência de Memória
Gerência de Memória
elliando dias
 

Destaque (19)

Sistemas Operacionais Modernos - Gerenciamento de Memória
Sistemas Operacionais Modernos - Gerenciamento de MemóriaSistemas Operacionais Modernos - Gerenciamento de Memória
Sistemas Operacionais Modernos - Gerenciamento de Memória
 
Aula 2 sistemas operacionais
Aula 2 sistemas operacionaisAula 2 sistemas operacionais
Aula 2 sistemas operacionais
 
Gerências de Processos: Sincronização
Gerências de Processos: SincronizaçãoGerências de Processos: Sincronização
Gerências de Processos: Sincronização
 
Gerenciamento de memoria
Gerenciamento de memoriaGerenciamento de memoria
Gerenciamento de memoria
 
Gerência de Armazenamento: Implementação do Sistema de Arquivos
Gerência de Armazenamento: Implementação do Sistema de ArquivosGerência de Armazenamento: Implementação do Sistema de Arquivos
Gerência de Armazenamento: Implementação do Sistema de Arquivos
 
Gerência de Processos: Deadlocks
Gerência de Processos: DeadlocksGerência de Processos: Deadlocks
Gerência de Processos: Deadlocks
 
Memoria Virtual - Gerenciamento
Memoria Virtual - GerenciamentoMemoria Virtual - Gerenciamento
Memoria Virtual - Gerenciamento
 
Gerência de Armazenamento: Interface do Sistema de Arquivos
Gerência de Armazenamento: Interface do Sistema de ArquivosGerência de Armazenamento: Interface do Sistema de Arquivos
Gerência de Armazenamento: Interface do Sistema de Arquivos
 
Memória virtual
Memória virtualMemória virtual
Memória virtual
 
Mapa mental de memoria virtual
Mapa mental de memoria virtualMapa mental de memoria virtual
Mapa mental de memoria virtual
 
Gerência de Memória
Gerência de MemóriaGerência de Memória
Gerência de Memória
 
Memória virtual
Memória virtualMemória virtual
Memória virtual
 
Automação de testes de desempenho para sistemas web utilizando a ferramenta j...
Automação de testes de desempenho para sistemas web utilizando a ferramenta j...Automação de testes de desempenho para sistemas web utilizando a ferramenta j...
Automação de testes de desempenho para sistemas web utilizando a ferramenta j...
 
SO-07 Gerenciamento de Memória: Memória Virtual
SO-07 Gerenciamento de Memória: Memória VirtualSO-07 Gerenciamento de Memória: Memória Virtual
SO-07 Gerenciamento de Memória: Memória Virtual
 
Gerência de Armazenamento: Sistemas de Armazenamento em Massa
Gerência de Armazenamento: Sistemas de Armazenamento em MassaGerência de Armazenamento: Sistemas de Armazenamento em Massa
Gerência de Armazenamento: Sistemas de Armazenamento em Massa
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Sistemas operativos memoria virtual
Sistemas operativos memoria virtualSistemas operativos memoria virtual
Sistemas operativos memoria virtual
 
Memoria Virtual
Memoria VirtualMemoria Virtual
Memoria Virtual
 
Gerência de Memória: Memória Principal
Gerência de Memória: Memória PrincipalGerência de Memória: Memória Principal
Gerência de Memória: Memória Principal
 

Semelhante a Gerência de Memória: Memória Virtual

Semelhante a Gerência de Memória: Memória Virtual (8)

Memória virtual 2
Memória virtual 2Memória virtual 2
Memória virtual 2
 
Senai sistemas operacionais gerenciamento memoria
Senai   sistemas operacionais gerenciamento memoriaSenai   sistemas operacionais gerenciamento memoria
Senai sistemas operacionais gerenciamento memoria
 
Memória Virtual - Aspectos Básicos
Memória Virtual - Aspectos BásicosMemória Virtual - Aspectos Básicos
Memória Virtual - Aspectos Básicos
 
355862 slide12-mem virt
355862 slide12-mem virt355862 slide12-mem virt
355862 slide12-mem virt
 
Cap04
Cap04Cap04
Cap04
 
Amostra Resolucao da Prova Sefaz 2007 Prof Jaime
Amostra   Resolucao da Prova Sefaz 2007   Prof JaimeAmostra   Resolucao da Prova Sefaz 2007   Prof Jaime
Amostra Resolucao da Prova Sefaz 2007 Prof Jaime
 
Gerenciamento de memoria
Gerenciamento de memoriaGerenciamento de memoria
Gerenciamento de memoria
 
Aumente a performance de seu site de maneira disciplinada
Aumente a performance de seu site de maneira disciplinadaAumente a performance de seu site de maneira disciplinada
Aumente a performance de seu site de maneira disciplinada
 

Mais de Alexandre Duarte

Mais de Alexandre Duarte (20)

Projeto de Experimentos
Projeto de ExperimentosProjeto de Experimentos
Projeto de Experimentos
 
Táticas para Projeto de Experimentos
Táticas para Projeto de ExperimentosTáticas para Projeto de Experimentos
Táticas para Projeto de Experimentos
 
Causalidade e Abdução
Causalidade e AbduçãoCausalidade e Abdução
Causalidade e Abdução
 
Fazer Ciência é Difícil!
Fazer Ciência é Difícil!Fazer Ciência é Difícil!
Fazer Ciência é Difícil!
 
Atividades Científica
Atividades CientíficaAtividades Científica
Atividades Científica
 
Escolhendo um Projeto de Pesquisa
Escolhendo um Projeto de PesquisaEscolhendo um Projeto de Pesquisa
Escolhendo um Projeto de Pesquisa
 
Ciência da Computação como Ciência
Ciência da Computação como CiênciaCiência da Computação como Ciência
Ciência da Computação como Ciência
 
Metodologia da Pesquisa Científica: Introdução
Metodologia da Pesquisa Científica:  IntroduçãoMetodologia da Pesquisa Científica:  Introdução
Metodologia da Pesquisa Científica: Introdução
 
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazer
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazerGráficos: 10 dicas sobre o que fazer e sobre o que não fazer
Gráficos: 10 dicas sobre o que fazer e sobre o que não fazer
 
Panorama de Pesquisas em Análise de Dados na UFPB
Panorama de Pesquisas em Análise de Dados na UFPBPanorama de Pesquisas em Análise de Dados na UFPB
Panorama de Pesquisas em Análise de Dados na UFPB
 
Agrupamento com K-Means
Agrupamento com K-MeansAgrupamento com K-Means
Agrupamento com K-Means
 
Sumarização Estatística 2D: Variáveis Nominais
Sumarização Estatística 2D: Variáveis NominaisSumarização Estatística 2D: Variáveis Nominais
Sumarização Estatística 2D: Variáveis Nominais
 
Correlação e Classificação
Correlação e ClassificaçãoCorrelação e Classificação
Correlação e Classificação
 
Sumarização Estatística 2D
Sumarização Estatística 2DSumarização Estatística 2D
Sumarização Estatística 2D
 
Sumarização Estatística 1D
Sumarização Estatística 1DSumarização Estatística 1D
Sumarização Estatística 1D
 
Transformação de Dados
Transformação de DadosTransformação de Dados
Transformação de Dados
 
Preparação e Limpeza de Dados
Preparação e Limpeza de DadosPreparação e Limpeza de Dados
Preparação e Limpeza de Dados
 
Introdução ao Projeto de Experimentos
Introdução ao Projeto de ExperimentosIntrodução ao Projeto de Experimentos
Introdução ao Projeto de Experimentos
 
Introdução ao Projeto de Surveys
Introdução ao Projeto de SurveysIntrodução ao Projeto de Surveys
Introdução ao Projeto de Surveys
 
Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01Introdução à Análise de Dados - Aula 01
Introdução à Análise de Dados - Aula 01
 

Último

Evolução - Teorias evolucionistas - Darwin e Lamarck
Evolução - Teorias evolucionistas - Darwin e LamarckEvolução - Teorias evolucionistas - Darwin e Lamarck
Evolução - Teorias evolucionistas - Darwin e Lamarck
luanakranz
 
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdf
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdfHans Kelsen - Teoria Pura do Direito - Obra completa.pdf
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdf
rarakey779
 
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdfGRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
rarakey779
 
OFICINA - CAFETERIA DAS HABILIDADES.pdf_20240516_002101_0000.pdf
OFICINA - CAFETERIA DAS HABILIDADES.pdf_20240516_002101_0000.pdfOFICINA - CAFETERIA DAS HABILIDADES.pdf_20240516_002101_0000.pdf
OFICINA - CAFETERIA DAS HABILIDADES.pdf_20240516_002101_0000.pdf
AndriaNascimento27
 

Último (20)

A NEUROPEDAGOGIA NO PROCESSO DE ENCINAGEM.pdf
A NEUROPEDAGOGIA NO PROCESSO DE ENCINAGEM.pdfA NEUROPEDAGOGIA NO PROCESSO DE ENCINAGEM.pdf
A NEUROPEDAGOGIA NO PROCESSO DE ENCINAGEM.pdf
 
PowerPoint Folha de cálculo Excel 5 e 6 anos do ensino básico
PowerPoint Folha de cálculo Excel 5 e 6 anos do ensino básicoPowerPoint Folha de cálculo Excel 5 e 6 anos do ensino básico
PowerPoint Folha de cálculo Excel 5 e 6 anos do ensino básico
 
CIDADANIA E PROFISSIONALIDADE 4 - PROCESSOS IDENTITÁRIOS.pptx
CIDADANIA E PROFISSIONALIDADE 4 - PROCESSOS IDENTITÁRIOS.pptxCIDADANIA E PROFISSIONALIDADE 4 - PROCESSOS IDENTITÁRIOS.pptx
CIDADANIA E PROFISSIONALIDADE 4 - PROCESSOS IDENTITÁRIOS.pptx
 
Evolução - Teorias evolucionistas - Darwin e Lamarck
Evolução - Teorias evolucionistas - Darwin e LamarckEvolução - Teorias evolucionistas - Darwin e Lamarck
Evolução - Teorias evolucionistas - Darwin e Lamarck
 
DIFERENÇA DO INGLES BRITANICO E AMERICANO.pptx
DIFERENÇA DO INGLES BRITANICO E AMERICANO.pptxDIFERENÇA DO INGLES BRITANICO E AMERICANO.pptx
DIFERENÇA DO INGLES BRITANICO E AMERICANO.pptx
 
Evangelismo e Missões Contemporânea Cristã.pdf
Evangelismo e Missões Contemporânea Cristã.pdfEvangelismo e Missões Contemporânea Cristã.pdf
Evangelismo e Missões Contemporânea Cristã.pdf
 
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdf
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdfHans Kelsen - Teoria Pura do Direito - Obra completa.pdf
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdf
 
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdfGRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
GRAMÁTICA NORMATIVA DA LÍNGUA PORTUGUESA UM GUIA COMPLETO DO IDIOMA.pdf
 
Eurodeputados Portugueses 2019-2024 (nova atualização)
Eurodeputados Portugueses 2019-2024 (nova atualização)Eurodeputados Portugueses 2019-2024 (nova atualização)
Eurodeputados Portugueses 2019-2024 (nova atualização)
 
Atividade com a música Xote da Alegria - Falamansa
Atividade com a música Xote  da  Alegria    -   FalamansaAtividade com a música Xote  da  Alegria    -   Falamansa
Atividade com a música Xote da Alegria - Falamansa
 
Atividade-9-8o-ano-HIS-Os-caminhos-ate-a-independencia-do-Brasil-Brasil-Colon...
Atividade-9-8o-ano-HIS-Os-caminhos-ate-a-independencia-do-Brasil-Brasil-Colon...Atividade-9-8o-ano-HIS-Os-caminhos-ate-a-independencia-do-Brasil-Brasil-Colon...
Atividade-9-8o-ano-HIS-Os-caminhos-ate-a-independencia-do-Brasil-Brasil-Colon...
 
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdf
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdfHans Kelsen - Teoria Pura do Direito - Obra completa.pdf
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdf
 
04_GuiaDoCurso_Neurociência, Psicologia Positiva e Mindfulness.pdf
04_GuiaDoCurso_Neurociência, Psicologia Positiva e Mindfulness.pdf04_GuiaDoCurso_Neurociência, Psicologia Positiva e Mindfulness.pdf
04_GuiaDoCurso_Neurociência, Psicologia Positiva e Mindfulness.pdf
 
Fotossíntese para o Ensino médio primeiros anos
Fotossíntese para o Ensino médio primeiros anosFotossíntese para o Ensino médio primeiros anos
Fotossíntese para o Ensino médio primeiros anos
 
OFICINA - CAFETERIA DAS HABILIDADES.pdf_20240516_002101_0000.pdf
OFICINA - CAFETERIA DAS HABILIDADES.pdf_20240516_002101_0000.pdfOFICINA - CAFETERIA DAS HABILIDADES.pdf_20240516_002101_0000.pdf
OFICINA - CAFETERIA DAS HABILIDADES.pdf_20240516_002101_0000.pdf
 
Apresentação de vocabulário fundamental em contexto de atendimento
Apresentação de vocabulário fundamental em contexto de atendimentoApresentação de vocabulário fundamental em contexto de atendimento
Apresentação de vocabulário fundamental em contexto de atendimento
 
Sequência Didática - Cordel para Ensino Fundamental I
Sequência Didática - Cordel para Ensino Fundamental ISequência Didática - Cordel para Ensino Fundamental I
Sequência Didática - Cordel para Ensino Fundamental I
 
O autismo me ensinou - Letícia Butterfield.pdf
O autismo me ensinou - Letícia Butterfield.pdfO autismo me ensinou - Letícia Butterfield.pdf
O autismo me ensinou - Letícia Butterfield.pdf
 
América Latina: Da Independência à Consolidação dos Estados Nacionais
América Latina: Da Independência à Consolidação dos Estados NacionaisAmérica Latina: Da Independência à Consolidação dos Estados Nacionais
América Latina: Da Independência à Consolidação dos Estados Nacionais
 
História do Brasil e Geral - Cláudio Vicentino
História do Brasil e Geral - Cláudio VicentinoHistória do Brasil e Geral - Cláudio Vicentino
História do Brasil e Geral - Cláudio Vicentino
 

Gerência de Memória: Memória Virtual

  • 1. Sistemas Operacionais I Gerência de Memória: Memória Virtual Prof. Alexandre Duarte : http://alexandrend.com Centro de Informática | Universidade Federal da Paraíba Estes slides são baseados no material que acompanha o livro Operating Systems Concepts de Silberschatz, Galvin and Gagne
  • 2. Objetivos  Descrever os benefícios de um sistema de memó ria virtual  Explicar os conceitos de paginaç ão sob demanda, algoritmos de substituiç ão de páginas e alocaç ão de quadros
  • 3. Contextualização  Memó ria virtual: separação da memó ria ló gica do usuário da memó ria física.  Apenas uma parte do programa precisa estar na memó ria para execuç ão  Portanto, o espaç o de endereç amento ló gico pode ser muito maior que o espaç o de endereç amento físico  Permite que os espaç os de endereç amento sejam compartilhados por vários processos  Permite que a criaç ão de processos seja mais eficiente  Memó ria virtual pode ser implementada de duas formas:  Paginaç ão sob demanda  Segmentaç ão sob demanda
  • 4. Memória virtual maior que a memória física ⇒
  • 7. Paginação sob demanda  Traz uma página para a memó ria apenas quando ela é necessária  Menos operações de E/S  Menor utilização de memó ria  Resposta mais rápida  Mais usuários/processos  Página é necessária ⇒ referenciada  Referência invalida ⇒ aborta execução  Fora da memó ria ⇒ página é carregada  Lazy swapper – nunca traz uma página para memó ria a menos que ela seja necessária  Um Swapper que liga com páginas é chamada paginador
  • 8. Transferência de memória paginada para disco
  • 9. Bit válido/inválido  Associa-se um bit de validade a cada entrada da tabela de paginaç ão  (v ⇒ na memó ria, i ⇒ fora da memó ria)  Inicialmente setado para I para todas as entradas  Durante a traduç ão de um endereç o, se o bit vale I ⇒ falta de página!
  • 10. Tabela de paginação com algumas páginas fora da memória principal
  • 11. Falta de página  A primeira referência a uma página fora da memó ria causa uma exceç ão: falta de página 1. O Sistema Operacional uma outra tabela para decidir se houve uma:  Referência inválida ⇒ aborta o processo  Apenas uma referência a uma página fora da memó ria 1. Obtém um quadro livre 2. Carrega a página no quadro 3. Reconfigura as tabelas 4. Seta o bit de validade para v 5. Re-executa a instruç ão que gerou a falta de página
  • 12. Sequência de passos para tratar uma falta de página
  • 13. Desempenho da paginação sob demanda  Taxa de falta de páginas 0 ≤ p ≤ 1.0  se p = 0 não háfalta de páginas  se p = 1, toda referência causa uma falta  Tempo efetivo de acesso (EAT) EAT = (1 – p) x tempo de acesso a memó ria + p (tempo para tratar falta de página + tempo de swap out + tempo de carga da página + tempo para reiniciar a execuç ão)
  • 14. Exemplo de paginação sob demanda  Tempo de acesso à memó ria = 200 nanossegundos  Tempo médio para tratamento de uma falta de página = 8 milissegundos  EAT = (1 – p) x 200 + p (8 milissegundos) = (1 – p x 200 + p x 8,000,000 = 200 + p x 7,999,800  Se um acesso a cada 1.000 causa uma falta de página então EAT = 8.2 microssegundos. 40 vezes mais lento!!
  • 15. Criação de Processos  O uso de memó ria virtual possibilita outros benefícios durante a criaç ão de um processo:  Copy-on-Write  Arquivos mapeados em memó ria (mais tarde)
  • 16. Copy-on-Write  Copy-on-Write (COW) permite que processos pai e filho compartilhem inicialmente as mesmas páginas de memó ria  Uma página só é copiada quando algum dos processos realiza uma operaç ão de escrita  COW permite uma criaç ão mais eficiente de processo pois apenas páginas modificadas são copiadas
  • 17. Antes do processo 1 modificar a página C
  • 18. Após o processo 1 modificar a página C
  • 19. O que acontece quando não há quadro livre?  Substituiç ão de página – encontra alguma página na memó ria mas que não esteja realmente em uso e a salva no disco (swap out)  algoritmo!  desempenho – queremos um algoritmo que resulte no menor número possível de faltas de página  Algumas páginas podem ser trazidas para a memó ria várias vezes
  • 20. Substituição de página  Impede que haja uma super-alocaç ão de memó ria ao modificar a rotina de tratamento de falta de página para incluir a substituiç ão  Usa um bit de modificaç ão (dirty) para reduzir o tempo de transferência – apenas páginas modificadas precisam ser gravadas no disco  Substituiç ão de páginas completa a separaç ão entre memó ria ló gica e memó ria física – uma memó ria virtual muito grande pode conviver com uma memó ria física bem menor
  • 21. Exemplo da necessidade uma substituição de página
  • 22. Processo básico de substituição 1. Localize a página desejada no disco 2. Localize um quadro livre: - Se háum quadro livre, utilize-o - Se não hátal quadro, utilizar um algoritmo de substituiç ão para escolher um quadro vítima 3. Carregue a página desejada no quadro (recentemente) livre; atualize as tabelas de páginas e de quadros 4. Re-execute a instruç ão que causou a falta de página
  • 24. Algoritmos de substituição de páginas  Queremos a menor taxa possível de faltas de página  Avaliamos um algoritmo utilizando uma sequência de acessos a memó ria (sequência de referência) e contando a quantidade de faltas de páginas  Em nossos exemplos utilizaremos as seguintes sequências: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5 7, 0, 1, 2, 0, 3, 0, 4, 2, 3, 0, 3, 2, 1, 2, 0, 1, 7, 0, 1
  • 25. Gráfico de faltas de páginas versus número de quadros
  • 26. First-In-First-Out (FIFO)  Sequência de referência: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5  3 quadros (3 páginas na memó ria ao mesmo tempo)  4 quadros  Anomalia de Belady: mais quadros ⇒ mais faltas de página 1 2 3 1 2 3 4 1 2 5 3 4 9 faltas 1 2 3 1 2 3 5 1 2 4 5 10 faltas 44 3
  • 27. FIFO ilustrando a Anomalia de Belady
  • 29. Algoritmo Ótimo  Substitui a página que não seráacessada pelo maior período de tempo  Exemplo com 4 quadros 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5  Como obter essa informação?  Útil para comparação com outros algoritmos 1 2 3 4 6 faltas 4 5
  • 31. Menos Recentemente Usada (LRU)  Sequência de referência: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5  Implementação com contador  Cada página possui um contador que é atualizado com o valor do reló gio sempre que a página é referenciada  Quando uma página precisa ser substituída, consultar o contador para remover a que possuir o menor valor 5 2 4 3 1 2 3 4 1 2 5 4 1 2 5 3 1 2 4 3
  • 33. Menos Recentemente Usada (LRU)  Implementaç ão com pilha – mantem uma pilha duplamente encadeada com os números das páginas:  Página referenciada  Move a página para o topo  Não requer algoritmo de busca
  • 34. LRU com a utilização de uma pilha
  • 35. Aproximações do LRU  Bit de referência  Associar um bit a cada página, inicialmente = 0  Quando a página é referenciada, bit = 1  Substitui a página com bit = 0 (se existir alguma)  Não se conhece a ordem  Segunda chance  Requer um bit de referência  Substituiç ão do reló gio  Se a página a ser substituída (em sentido horário) tem bit = 1, então  Seta bit = 0  Deixa a página na memó ria  Repete o processo para a pró xima página (em sentido horário)
  • 37. Algoritmo de Contagem  Mantem um contado para o número de referências a cada página  Algoritmo LFU: substitui a página com o menor contador  Algoritmo MFU: substitui a página com o maior contador
  • 38. Alocação de Quadros  Cada processo precisa de um número mínimo de quadros  Dois esquemas principais de alocaç ão  Alocaç ão fixa  Alocaç ão por prioridade
  • 39. Alocação fixa  Alocaç ão igualitária: se há 100 quadros e 5 processos, alocar 20 quadros para cada um  Alocaç ão proporcional: quadros são alocados de acordo com o tamanho dos processos si = tamanho do processo pi S = si∑ m = número total de quadros ai = alocação para pi = si S × m 5964 137 127 564 137 10 127 10 64 2 1 2 ≈×= ≈×= = = = a a s s m i
  • 40. Alocação por prioridade  Usa uma alocaç ão proporcional baseada na prioridade ao invés do tamanho  Se o processo Pi causa uma falta de página  Seleciona um de seus quadros para substituiç ão  Seleciona um quadro de um processo de menor prioridade para substituiç ão
  • 41. Alocação global versus local  Substituiç ão global: o processo seleciona um quadro para substituiç ão de uma lista com todos os quadros de memó ria - um processo pode tomar um quadro de outro  Substituiç ão local: cada processo só seleciona para substituiç ão os seus pró prios quadros
  • 42. Thrashing  Se um processo não tem páginas “suficiente” a taxa de falta de páginas pode ser muito alta. Isso leva a :  Baixa utilizaç ão da CPU  O Sistema Operacional conclui que precisa aumentar o grau de multi-programaç ão  Um novo processo é adicionado à memó ria  Thrashing ≡ um processo fica paralisado com operaç ões de swap in e swap out
  • 44. Monitorando a taxa de faltas de página  Definimos uma taxa aceitável de faltas de página  Se a taxa atual é muito baixa o processo perde um quadro  Se a taxa atual é muito alta o processo ganha um quadro