SlideShare a Scribd company logo
1 of 44
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

More Related Content

What's hot

Gerenciamento de Memória
Gerenciamento de MemóriaGerenciamento de Memória
Gerenciamento de Memóriaelliando dias
 
Gerenciamento de memoria
Gerenciamento de memoriaGerenciamento de memoria
Gerenciamento de memoriaJailson Silva
 
Gerenciamento de memória cap 03 (ii unidade)
Gerenciamento de memória cap 03 (ii unidade)Gerenciamento de memória cap 03 (ii unidade)
Gerenciamento de memória cap 03 (ii unidade)Faculdade Mater Christi
 
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çãoEduardo Nicola F. Zagari
 
Sistemas Operacionais 13 gerenciamento de memória
Sistemas Operacionais  13   gerenciamento de memóriaSistemas Operacionais  13   gerenciamento de memória
Sistemas Operacionais 13 gerenciamento de memóriaMauro Duarte
 
Gerencia de memoria
Gerencia de memoriaGerencia de memoria
Gerencia de memoria37193694
 
Sistemas operacionais memória no linux
Sistemas operacionais   memória no linuxSistemas operacionais   memória no linux
Sistemas operacionais memória no linuxCarlos Melo
 
12/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula312/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula3Universal.org.mx
 
Gerenciamento de Memoria
Gerenciamento de MemoriaGerenciamento de Memoria
Gerenciamento de Memoriaaudineisilva1
 
Aula 9 gerenciamento_memoria (1)
Aula 9 gerenciamento_memoria (1)Aula 9 gerenciamento_memoria (1)
Aula 9 gerenciamento_memoria (1)escoteirodabahia
 
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 JaimeWalter Cunha
 
2009 1 - sistemas operacionais - aula 8 - memoria
2009 1 - sistemas operacionais - aula 8 - memoria2009 1 - sistemas operacionais - aula 8 - memoria
2009 1 - sistemas operacionais - aula 8 - memoriaComputação Depressão
 
Apostila 6 gerência de memória
Apostila 6   gerência de memóriaApostila 6   gerência de memória
Apostila 6 gerência de memóriaPaulo Fonseca
 
Sistemas operacionais introdução
Sistemas operacionais introduçãoSistemas operacionais introdução
Sistemas operacionais introduçãoCarlos Melo
 
Memória virtual 2
Memória virtual 2Memória virtual 2
Memória virtual 2jackeline456
 
Resolução de Problemas - Sistemas Operacionais
Resolução de Problemas - Sistemas OperacionaisResolução de Problemas - Sistemas Operacionais
Resolução de Problemas - Sistemas OperacionaisRonildo Oliveira
 
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 PrincipalAlexandre Duarte
 

What's hot (20)

Gerenciamento de Memória
Gerenciamento de MemóriaGerenciamento de Memória
Gerenciamento de Memória
 
Gerenciamento de memoria
Gerenciamento de memoriaGerenciamento de memoria
Gerenciamento de memoria
 
Gerenciamento de memória cap 03 (ii unidade)
Gerenciamento de memória cap 03 (ii unidade)Gerenciamento de memória cap 03 (ii unidade)
Gerenciamento de memória cap 03 (ii unidade)
 
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
 
Sistemas Operacionais 13 gerenciamento de memória
Sistemas Operacionais  13   gerenciamento de memóriaSistemas Operacionais  13   gerenciamento de memória
Sistemas Operacionais 13 gerenciamento de memória
 
Gerencia de memoria
Gerencia de memoriaGerencia de memoria
Gerencia de memoria
 
Sistemas operacionais memória no linux
Sistemas operacionais   memória no linuxSistemas operacionais   memória no linux
Sistemas operacionais memória no linux
 
12/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula312/03/2010 - Sistemas Operacionais Aula3
12/03/2010 - Sistemas Operacionais Aula3
 
Gerenciamento de Memoria
Gerenciamento de MemoriaGerenciamento de Memoria
Gerenciamento de Memoria
 
Aula 9 gerenciamento_memoria (1)
Aula 9 gerenciamento_memoria (1)Aula 9 gerenciamento_memoria (1)
Aula 9 gerenciamento_memoria (1)
 
Gerenciamento memoria
Gerenciamento memoriaGerenciamento memoria
Gerenciamento memoria
 
Gerenciamento de memória
Gerenciamento de memóriaGerenciamento de memória
Gerenciamento de memória
 
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
 
2009 1 - sistemas operacionais - aula 8 - memoria
2009 1 - sistemas operacionais - aula 8 - memoria2009 1 - sistemas operacionais - aula 8 - memoria
2009 1 - sistemas operacionais - aula 8 - memoria
 
Apostila 6 gerência de memória
Apostila 6   gerência de memóriaApostila 6   gerência de memória
Apostila 6 gerência de memória
 
Sistemas operacionais introdução
Sistemas operacionais introduçãoSistemas operacionais introdução
Sistemas operacionais introdução
 
Aula 04-gerenciamento-basico-de-memoria
Aula 04-gerenciamento-basico-de-memoriaAula 04-gerenciamento-basico-de-memoria
Aula 04-gerenciamento-basico-de-memoria
 
Memória virtual 2
Memória virtual 2Memória virtual 2
Memória virtual 2
 
Resolução de Problemas - Sistemas Operacionais
Resolução de Problemas - Sistemas OperacionaisResolução de Problemas - Sistemas Operacionais
Resolução de Problemas - Sistemas Operacionais
 
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
 

Viewers also liked

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óriaWellington Oliveira
 
Aula 2 sistemas operacionais
Aula 2 sistemas operacionaisAula 2 sistemas operacionais
Aula 2 sistemas operacionaisCarlos Melo
 
Gerências de Processos: Sincronização
Gerências de Processos: SincronizaçãoGerências de Processos: Sincronização
Gerências de Processos: SincronizaçãoAlexandre Duarte
 
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 ArquivosAlexandre Duarte
 
Gerência de Processos: Deadlocks
Gerência de Processos: DeadlocksGerência de Processos: Deadlocks
Gerência de Processos: DeadlocksAlexandre Duarte
 
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 ArquivosAlexandre Duarte
 
Mapa mental de memoria virtual
Mapa mental de memoria virtualMapa mental de memoria virtual
Mapa mental de memoria virtualjorge77712
 
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...Leandro Ugioni
 
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 VirtualEduardo Nicola F. Zagari
 
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 MassaAlexandre Duarte
 
Sistemas operativos memoria virtual
Sistemas operativos memoria virtualSistemas operativos memoria virtual
Sistemas operativos memoria virtualandreapab
 

Viewers also liked (12)

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
 
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
 
Mapa mental de memoria virtual
Mapa mental de memoria virtualMapa mental de memoria virtual
Mapa mental de memoria 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
 
Sistemas operativos memoria virtual
Sistemas operativos memoria virtualSistemas operativos memoria virtual
Sistemas operativos memoria virtual
 

More from Alexandre Duarte

Táticas para Projeto de Experimentos
Táticas para Projeto de ExperimentosTáticas para Projeto de Experimentos
Táticas para Projeto de ExperimentosAlexandre Duarte
 
Fazer Ciência é Difícil!
Fazer Ciência é Difícil!Fazer Ciência é Difícil!
Fazer Ciência é Difícil!Alexandre Duarte
 
Escolhendo um Projeto de Pesquisa
Escolhendo um Projeto de PesquisaEscolhendo um Projeto de Pesquisa
Escolhendo um Projeto de PesquisaAlexandre Duarte
 
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ênciaAlexandre Duarte
 
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çãoAlexandre Duarte
 
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 fazerAlexandre Duarte
 
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 UFPBAlexandre Duarte
 
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 NominaisAlexandre Duarte
 
Correlação e Classificação
Correlação e ClassificaçãoCorrelação e Classificação
Correlação e ClassificaçãoAlexandre Duarte
 
Sumarização Estatística 2D
Sumarização Estatística 2DSumarização Estatística 2D
Sumarização Estatística 2DAlexandre Duarte
 
Sumarização Estatística 1D
Sumarização Estatística 1DSumarização Estatística 1D
Sumarização Estatística 1DAlexandre Duarte
 
Preparação e Limpeza de Dados
Preparação e Limpeza de DadosPreparação e Limpeza de Dados
Preparação e Limpeza de DadosAlexandre Duarte
 
Introdução ao Projeto de Experimentos
Introdução ao Projeto de ExperimentosIntrodução ao Projeto de Experimentos
Introdução ao Projeto de ExperimentosAlexandre Duarte
 
Introdução ao Projeto de Surveys
Introdução ao Projeto de SurveysIntrodução ao Projeto de Surveys
Introdução ao Projeto de SurveysAlexandre Duarte
 
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 01Alexandre Duarte
 

More from 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
 

Recently uploaded

DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -Aline Santana
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesMary Alvarenga
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOColégio Santa Teresinha
 
ANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
ANTIGUIDADE CLÁSSICA - Grécia e Roma AntigaANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
ANTIGUIDADE CLÁSSICA - Grécia e Roma AntigaJúlio Sandes
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADOcarolinacespedes23
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfManuais Formação
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxleandropereira983288
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBAline Santana
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfEditoraEnovus
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxLuizHenriquedeAlmeid6
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavrasMary Alvarenga
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManuais Formação
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.silves15
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumAugusto Costa
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Centro Jacques Delors
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividadeMary Alvarenga
 

Recently uploaded (20)

DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das Mães
 
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃOLEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
LEMBRANDO A MORTE E CELEBRANDO A RESSUREIÇÃO
 
ANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
ANTIGUIDADE CLÁSSICA - Grécia e Roma AntigaANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
ANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
 
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdf
 
Pedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptxPedologia- Geografia - Geologia - aula_01.pptx
Pedologia- Geografia - Geologia - aula_01.pptx
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdf
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavras
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envio
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.
 
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividade
 

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