Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.
-
Upload
elza-neusa-desconhecida-fontes -
Category
Documents
-
view
214 -
download
0
Transcript of Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.
zeque - Grad. CC 1
Sistemas OperacionaisSistemas Operacionais
Gerenciamento do EspaçoGerenciamento do Espaço
Prof. José Queiroz - ZEQUEProf. José Queiroz - ZEQUE
zeque - Grad. CC 2
Sistemas OperacionaisSistemas Operacionais Gerenciamento do EspaçoGerenciamento do Espaço
Plano de ApresentaçãoPlano de Apresentação IntroduçãoIntrodução
ArmazenamentoArmazenamento Hierarquia de MemóriaHierarquia de Memória Memória RealMemória Real Memória VirtualMemória Virtual Memória RealMemória Real
x Memória Virtualx Memória Virtual Mapeamento de EndereçosMapeamento de Endereços Espaço de Endereçamento Espaço de Endereçamento
VirtualVirtual Funcionamento de Funcionamento de
ProgramasProgramas
IntroduçãoIntrodução RelocaçãoRelocação CompartilhamentoCompartilhamento ProteçãoProteção
ObjetivosObjetivos EstratégiasEstratégias Particionamento da MemóriaParticionamento da Memória
Partições FixasPartições Fixas Partições VariáveisPartições Variáveis
Tradução de EndereçosTradução de Endereços
zeque - Grad. CC 3
Sistemas OperacionaisSistemas Operacionais Gerenciamento do EspaçoGerenciamento do Espaço
Plano de Apresentação (cont.)Plano de Apresentação (cont.) Suporte de Hardware para a Suporte de Hardware para a
TraduçãoTradução buffersbuffers de tradução de tradução look-look-
asideaside registradores base-limiteregistradores base-limite
Organização da MemóriaOrganização da Memória PaginaçãoPaginação SegmentaçãoSegmentação Paginação/SegmentaçãoPaginação/Segmentação MultiníveisMultiníveis
Operação em modo DualOperação em modo Dual Modo SistemaModo Sistema Modo UsuárioModo Usuário
SwappingSwapping Alocação de MemóriaAlocação de Memória
quando carregar?quando carregar? onde carregar?onde carregar? quem retirar?quem retirar?
Políticas de SubstituiçãoPolíticas de Substituição randômicarandômica FIFOFIFO ótimaótima não, menos e mais usada não, menos e mais usada
recentementerecentemente
zeque - Grad. CC 4
Sistemas OperacionaisSistemas Operacionais Gerenciamento do EspaçoGerenciamento do Espaço
Plano de Apresentação (cont.)Plano de Apresentação (cont.) Políticas de SubstituiçãoPolíticas de Substituição
segunda chance cíclicasegunda chance cíclica relógio de páginasrelógio de páginas péssimapéssima
Conjunto de TrabalhoConjunto de Trabalho ObjetivosObjetivos DescriçãoDescrição
Outras Características da Outras Características da PaginaçãoPaginação
zeque - Grad. CC 5
ArmazenamentoArmazenamento principal ou primárioprincipal ou primário
usado para guardar instruções e dados de um programa usado para guardar instruções e dados de um programa durante o durante o tempo de execuçãotempo de execução do mesmo do mesmo
secundário ou secundário ou on-lineon-line usado para guardar com baixo custo, grandes volumes de usado para guardar com baixo custo, grandes volumes de
programas e dados, tornando-os programas e dados, tornando-os disponíveisdisponíveis para um para um pronto processamentopronto processamento
terciário ou terciário ou off-lineoff-line usado para guardar com baixo custo e abundância, grandes usado para guardar com baixo custo e abundância, grandes
volumes de programas e dados volumes de programas e dados não disponíveisnão disponíveis para um para um pronto processamentopronto processamento
zeque - Grad. CC 6
Hierarquia de MemóriaHierarquia de Memória CachingCaching x Arquivamento x Arquivamento
REGISTRADORESREGISTRADORES
MEMÓRIA CACHEMEMÓRIA CACHE
MEMÓRIA PRINCIPALMEMÓRIA PRINCIPAL
MEMÓRIA SECUNDÁRIAMEMÓRIA SECUNDÁRIA
MEMÓRIA TERCIÁRIAMEMÓRIA TERCIÁRIA
arquivamentoca
chin
g
zeque - Grad. CC 7
Hierarquia de MemóriaHierarquia de Memória Quanto mais baixo for o nível da memória:Quanto mais baixo for o nível da memória:
Tempo de AcessoTempo de Acesso menor é o tempo de acessomenor é o tempo de acesso
Velocidade de AcessoVelocidade de Acesso maior é a velocidade de acessomaior é a velocidade de acesso
Capacidade de ArmazenamentoCapacidade de Armazenamento menor é a capacidade de armazenamentomenor é a capacidade de armazenamento
Custo de ArmazenamentoCusto de Armazenamento maior é custo por bit armazenadomaior é custo por bit armazenado
zeque - Grad. CC 8
Hierarquia de MemóriaHierarquia de Memória TabelaTabela
Latência Tamanho CustoRegistradores 5 ns >128 BCache(on-chip) 10 ns 4 KBCache(off-chip) 25 ns 64 KBPrincipal 200 ns 128 MBSecundária 10M ns 2 GBTerciária 10B ns 1 TB
zeque - Grad. CC 9
Memória RealMemória Real também conhecida como também conhecida como Memória PrincipalMemória Principal ou ou
Memória PrimáriaMemória Primária memória contínua suprida pelo hardwarememória contínua suprida pelo hardware endereços disponíveis na memória principal são endereços disponíveis na memória principal são
chamados de endereços reaischamados de endereços reais espaço de endereços reais é o intervalo de endereços espaço de endereços reais é o intervalo de endereços
disponíveis em uma memória principaldisponíveis em uma memória principal
zeque - Grad. CC 10
Memória VirtualMemória Virtual memória contínua vista pelos processosmemória contínua vista pelos processos espaço de endereçamento virtual é o intervalo de espaço de endereçamento virtual é o intervalo de
endereços que um processo pode referenciarendereços que um processo pode referenciar dissociação entre espaço de endereçamento de um dissociação entre espaço de endereçamento de um
processo do espaço de endereços da memória processo do espaço de endereços da memória principalprincipal
endereços referenciados por um processo são endereços referenciados por um processo são chamados de endereços virtuaischamados de endereços virtuais
endereços virtuais devem ser mapeados em endereços virtuais devem ser mapeados em endereços reais durante o tempo de execuçãoendereços reais durante o tempo de execução
zeque - Grad. CC 11
Memória Real x Memória VirtualMemória Real x Memória Virtual Memória RealMemória Real
físicafísica sem proteçãosem proteção tamanho limitadotamanho limitado compartilhamentocompartilhamento
visívelvisível compartilhamento de compartilhamento de
dadosdados
Memória VirtualMemória Virtual abstrataabstrata protegidaprotegida tamanho ilimitadotamanho ilimitado compartilhamento compartilhamento
transparentetransparente compartilhamento de compartilhamento de
dados e de códigodados e de código
x
zeque - Grad. CC 12
Mapeamento de EndereçosMapeamento de Endereços endereço virtual deve ser mapeado em endereço real endereço virtual deve ser mapeado em endereço real
para a execução da instrução que o referenciapara a execução da instrução que o referencia
Memória Virtual
Memória RealMecamismo de Mapeamentode Endereços
zeque - Grad. CC 13
Espaço de Endereçamento VirtualEspaço de Endereçamento Virtual LocalizaçãoLocalização
parte na memória principalparte na memória principal parte no discoparte no disco
SwappingSwapping troca entre partes de programas que se encontram em troca entre partes de programas que se encontram em
memória principal e disco (memória secundária)memória principal e disco (memória secundária)
zeque - Grad. CC 14
Funcionamento de ProgramasFuncionamento de Programas Fluxo de ExecuçãoFluxo de Execução
programas não executam programas não executam randomicamenterandomicamente REGRA 90-10REGRA 90-10
programas gastam 90% do seu tempo em 10% do programas gastam 90% do seu tempo em 10% do seu códigoseu código
zeque - Grad. CC 15
Funcionamento de ProgramasFuncionamento de Programas Princípio da LOCALIDADEPrincípio da LOCALIDADE
execução futura se comporta como execução passadaexecução futura se comporta como execução passada localidade temporallocalidade temporal
serão referenciadas as mesmas localidades que foram serão referenciadas as mesmas localidades que foram referenciadas no passado recente:referenciadas no passado recente:
laços de execução, subrotinas, pilhas e contadoreslaços de execução, subrotinas, pilhas e contadores localidade espaciallocalidade espacial
serão referenciadas as localidades próximas daquelas serão referenciadas as localidades próximas daquelas referenciadas no passado recente:referenciadas no passado recente:
varreduras de arrays, execução de código seqüencial, estilos de varreduras de arrays, execução de código seqüencial, estilos de descrições de variáveis relacionadas próximas umas das outrasdescrições de variáveis relacionadas próximas umas das outras
zeque - Grad. CC 16
RelocaçãoRelocação capacidade que um processo tem de poder executar capacidade que um processo tem de poder executar
uma das suas partições em qualquer partição da uma das suas partições em qualquer partição da memória que possa contê-lamemória que possa contê-la
o espaço de endereços de um processo pode ser alocado o espaço de endereços de um processo pode ser alocado em endereços físicos distintosem endereços físicos distintos
suporte de hardwaresuporte de hardware registradores: registradores: base - limitebase - limite
zeque - Grad. CC 17
CompartilhamentoCompartilhamento permissão de acesso controlado a uma região de permissão de acesso controlado a uma região de
memóriamemória reentrânciareentrância compartilhamentocompartilhamento
redução da quantidade de memória necessária ao redução da quantidade de memória necessária ao armazenamentoarmazenamento
zeque - Grad. CC 18
ProteçãoProteção garantir que o espaço de endereços de um processo garantir que o espaço de endereços de um processo
não será invadido por um processo não autorizadonão será invadido por um processo não autorizado do Sistema Operacionaldo Sistema Operacional dos processos de usuáriodos processos de usuário
suporte de hardwaresuporte de hardware registradores limiteregistradores limite
registrador baixo (base) ou alto (limite)registrador baixo (base) ou alto (limite) registrador de tamanhoregistrador de tamanho
tradução de endereçostradução de endereços operação em modo dualoperação em modo dual
zeque - Grad. CC 19
Gerenciamento do EspaçoGerenciamento do Espaço ObjetivosObjetivos
obter o melhor uso dos recursos de armazenamentoobter o melhor uso dos recursos de armazenamento conhecer o uso da memória feito pelos processosconhecer o uso da memória feito pelos processos esconder detalhes do hardware e com isso criar a esconder detalhes do hardware e com isso criar a
ilusão que a memória não tem limiteilusão que a memória não tem limite dar a cada processo a impressão que ele executa dar a cada processo a impressão que ele executa
sozinho apesar de ter outros processos em execuçãosozinho apesar de ter outros processos em execução permitir que processos possam ser executados permitir que processos possam ser executados
independentemente da necessidade de memóriaindependentemente da necessidade de memória
zeque - Grad. CC 20
Gerenciamento do EspaçoGerenciamento do Espaço EstratégiasEstratégias
de cargade carga quando carregar uma porção do programa?quando carregar uma porção do programa?
por demandapor demanda por antecipaçãopor antecipação
de alocaçãode alocação onde carregar uma porção do programa?onde carregar uma porção do programa?
de substituiçãode substituição qual a porção de um programa deve ser substituída?qual a porção de um programa deve ser substituída?
zeque - Grad. CC 21
Particionamento da MemóriaParticionamento da Memória Partições FixasPartições Fixas
tradução e carga absolutastradução e carga absolutas tradução e carga relocáveistradução e carga relocáveis
SISTEMAOPERACIONAL
APLICAÇÃO2
APLICAÇÃO1
000000
400000
ffffff
MULTIPROGRAMAÇÃO
ME
MÓ
RIA
FÍS
ICA
SISTEMAOPERACIONAL
APLICAÇÃO
000000
ffffff
MONOPROGRAMAÇÃO
SEM USO999999
zeque - Grad. CC 22
Particionamento da MemóriaParticionamento da Memória Partições VariáveisPartições Variáveis
sem sem swappingswapping com com swappingswapping
SistemaOperacionalprocessoA
processoB
processoD
processoC
processoE
processoF
livre
SistemaOperacionalprocessoA
livre
processoD
processoC
processoE
processoF
livre
SistemaOperacionalprocessoA
processoB
processoD
processoC
processoE
livre
processoFtermina
processoBtermina
zeque - Grad. CC 23
Particionamento da MemóriaParticionamento da Memória Partições VariáveisPartições Variáveis
fragmentaçãofragmentação causada por cargas de processos que não utilizam uma partição causada por cargas de processos que não utilizam uma partição
completamentecompletamente uniãounião
quando uma partição é liberada, ela é unida a partições livres quando uma partição é liberada, ela é unida a partições livres adjacentes formando uma partição únicaadjacentes formando uma partição única
compactaçãocompactação transferência de todas as partições ocupadas que seguem uma transferência de todas as partições ocupadas que seguem uma
partição livre para a criação de uma única partição livre de partição livre para a criação de uma única partição livre de grande tamanhogrande tamanho
zeque - Grad. CC 24
Tradução de EndereçosTradução de Endereços execução associada a referência à memóriaexecução associada a referência à memória toda referência à memória é traduzida de um toda referência à memória é traduzida de um
endereço virtual em um endereço realendereço virtual em um endereço real
CPU
Tradução deEndereço
MemóriaFísica
EndereçoVirtual
EndereçoFísico
Leitura/Escritade dados
zeque - Grad. CC 25
Tradução de EndereçosTradução de Endereços Com Suporte do HardwareCom Suporte do Hardware
Endereço Virtual
Endereço Físico
Tradução deEndereços
CPU
MMU
Memória Física
Mapeamento
zeque - Grad. CC 26
Suporte de Hardware para a TraduçãoSuporte de Hardware para a Tradução Mecanismos para tradução DinâmicaMecanismos para tradução Dinâmica
tabelas de traduçãotabelas de tradução buffersbuffers de tradução de tradução look-asidelook-aside registradoresregistradores
basebase limitelimite
relocaçãorelocação proteçãoproteção
zeque - Grad. CC 27
Tabelas de TraduçãoTabelas de Tradução Indica que partições da memória virtual se Indica que partições da memória virtual se
encontram na memória real e onde elas estãoencontram na memória real e onde elas estão tamanho das tabelas x tamanho das partiçõestamanho das tabelas x tamanho das partições
maior a partição/menor a tabelamaior a partição/menor a tabela overheadoverhead do mecanismo de tradução do mecanismo de tradução tempo de transferência da memória secundáriatempo de transferência da memória secundária necessidade de memória físicanecessidade de memória física
endereçamento bi-dimensional: endereçamento bi-dimensional: v=(p,d)v=(p,d)
# Partição: p Deslocamento: d
Endereço virtual: v
zeque - Grad. CC 28
BuffersBuffers de Tradução de Tradução Look-asideLook-aside - TLB - TLB evitar busca na tabela de páginas para traduções evitar busca na tabela de páginas para traduções
freqüentesfreqüentes
CPUMemória
Física
EndereçoVirtual
EndereçoFísico
Leitura/Escritade dados
TLB?
TraduçãoMMU
Tradução deEndereço
lembra
nãolembra
zeque - Grad. CC 29
Registradores de BASE e LIMITERegistradores de BASE e LIMITE
Endereço Virtual
Endereço Físico
limite
+>
ERRO
base
zeque - Grad. CC 30
PaginaçãoPaginação Divisão do espaço de endereços em PÁGINAS Divisão do espaço de endereços em PÁGINAS
de igual tamanhode igual tamanho Divisão da memória principal em PÁGINAS de Divisão da memória principal em PÁGINAS de
igual tamanho às do espaço de endereçosigual tamanho às do espaço de endereços(MOLDURAS DE PÁGINAS)(MOLDURAS DE PÁGINAS)
zeque - Grad. CC 31
PaginaçãoPaginação
moldura # deslocamento
endereço físico
tabela de páginasmoldura permissão presença
0001...n
página # deslocamento
endereço virtual
endereço databela de páginas
tamanho databela de páginas
ERRO>
zeque - Grad. CC 32
SegmentaçãoSegmentação Divisão do espaço de endereços em Divisão do espaço de endereços em
SEGMENTOSSEGMENTOS um segmento é uma região lógica de memória um segmento é uma região lógica de memória
contíguacontígua segmentos: procedimentos, módulos de programa, segmentos: procedimentos, módulos de programa,
dadosdados
zeque - Grad. CC 33
SegmentaçãoSegmentação
endereço físico
segmento # deslocamento
endereço virtual
tabela de segmentosinício tamanho permissão
0001...n
presença
endereço físico
endereço databela de segmentos
ERRO>
+
zeque - Grad. CC 34
Paginação / SegmentaçãoPaginação / Segmentação FragmentaçãoFragmentação
externa: espaço livre entre regiões de memória externa: espaço livre entre regiões de memória alocadasalocadas
interna: espaço livre dentro de uma região de interna: espaço livre dentro de uma região de memória alocadamemória alocada
zeque - Grad. CC 35
Paginação / SegmentaçãoPaginação / Segmentação prós&contrasprós&contras
segmentaçãosegmentação+ eficiente para endereços esparsos+ eficiente para endereços esparsos+ de fácil compartilhamento+ de fácil compartilhamento- alocação complexa da memória- alocação complexa da memória
paginaçãopaginação+ de fácil compartilhamento+ de fácil compartilhamento+ alocação simples da memória+ alocação simples da memória- tabelas de páginas para endereços esparsos- tabelas de páginas para endereços esparsos
zeque - Grad. CC 36
MultiníveisMultiníveis Árvore de TabelasÁrvore de Tabelas
o mais baixo nível: páginaso mais baixo nível: páginas mais alto níveis: tipicamente segmentosmais alto níveis: tipicamente segmentos
moldura # deslocamentoendereço físico
página # deslocamentoendereço virtual
segmento #
moldura # deslocamentoendereço físico
tabela de páginasmoldura permissão presença00
01...n
tabela de segmentosend tab de pág tam tab pág00
01...n
>ERRO
zeque - Grad. CC 37
MultiníveisMultiníveis Alocação de TabelasAlocação de Tabelas
de segmentos: usualmente em registradores especiaisde segmentos: usualmente em registradores especiais de páginas: usualmente na memória principalde páginas: usualmente na memória principal
prós&contrasprós&contras+ alocar somente as entradas necessárias das tabelas de páginas+ alocar somente as entradas necessárias das tabelas de páginas+ fácil alocação da memória+ fácil alocação da memória+ compartilhamento a nível de segmento ou página+ compartilhamento a nível de segmento ou página- um apontador para cada página- um apontador para cada página- tabelas de páginas devem ser contíguas- tabelas de páginas devem ser contíguas- duas consultas às tabelas por referência à memória- duas consultas às tabelas por referência à memória
zeque - Grad. CC 38
Operação em Modo DualOperação em Modo Dual Modos de execução suportados pelo hardwareModos de execução suportados pelo hardware ModosModos
Modo de SistemaModo de Sistema Modo de UsuárioModo de Usuário
zeque - Grad. CC 39
Modo UsuárioModo Usuário SISTEMA SISTEMA USUÁRIO USUÁRIO
executando programa de usuárioexecutando programa de usuário cria processocria processo aloca e inicia espaço de endereçosaloca e inicia espaço de endereços carrega programa em memóriacarrega programa em memória aloca e inicia tabela de traduçãoaloca e inicia tabela de tradução executa programaexecuta programa
inicializa registradoresinicializa registradores inicializa apontadores para tabela de traduçãoinicializa apontadores para tabela de tradução inicializa a palavra de status do processadorinicializa a palavra de status do processador inicia a execução do programainicia a execução do programa
zeque - Grad. CC 40
Modo SistemaModo Sistema Usuário Usuário Sistema Sistema
voluntário: Chamada ao Sistemavoluntário: Chamada ao Sistema involuntário: Interrupção/Exceçãoinvoluntário: Interrupção/Exceção quando de uma Chamada ao Sistema, Interrupção ou quando de uma Chamada ao Sistema, Interrupção ou
Exceção:Exceção: passa o status do sistema para o modo sistemapassa o status do sistema para o modo sistema muda a pilha de execução para o kernelmuda a pilha de execução para o kernel salva o contador de programa atualsalva o contador de programa atual desvia para o kerneldesvia para o kernel salva o estado anterior de todos os registradores usadossalva o estado anterior de todos os registradores usados
zeque - Grad. CC 41
SWAPPINGSWAPPING transferência de processos entre a memória transferência de processos entre a memória
principal e a memória secundáriaprincipal e a memória secundária Espaço de Toca: espaço de memória secundária Espaço de Toca: espaço de memória secundária
reservado ao SWAPPINGreservado ao SWAPPING swapping inswapping in
secundária secundária principal principal swapping outswapping out
principal principal secundária secundária
zeque - Grad. CC 42
Alocação de MemóriaAlocação de Memória Quando carregar na memória ?Quando carregar na memória ? Onde Carregar na memória ?Onde Carregar na memória ? Quem deve ser substituído na memória ?Quem deve ser substituído na memória ?
zeque - Grad. CC 43
Quando Carregar?Quando Carregar? Carregamento por demandaCarregamento por demanda Carregamento por antecipaçãoCarregamento por antecipação
zeque - Grad. CC 44
Quando Carregar?Quando Carregar? mecanismo de carregamentomecanismo de carregamento
se presente então acessa a memória senão PAGE FAULT se presente então acessa a memória senão PAGE FAULT ou TLB MISSou TLB MISS
solicita carregamento ao SO solicita carregamento ao SO escolhe memória para carregamento, se memória não disponível escolhe memória para carregamento, se memória não disponível
então escolhe memória a ser substituída reescrevendo, se então escolhe memória a ser substituída reescrevendo, se necessário, dessa memória para o disco e atualizando a sua tabela necessário, dessa memória para o disco e atualizando a sua tabela e TLBe TLB
carrega do disco para memóriacarrega do disco para memória atualiza tabelaatualiza tabela
transparente aos processos: hardware deve salvar instrução transparente aos processos: hardware deve salvar instrução de falhade falha
zeque - Grad. CC 45
Onde Colocar?Onde Colocar? PaginaçãoPaginação
simplicidadesimplicidade o carregamento de uma página virtual é feito sobre o carregamento de uma página virtual é feito sobre
uma MOLDURA qualquer da memóriauma MOLDURA qualquer da memória
zeque - Grad. CC 46
Onde Colocar?Onde Colocar? SegmentaçãoSegmentação
políticas de alocaçãopolíticas de alocação melhor ajuste - melhor ajuste - best fitbest fit: escolhe o segmento de memória disponível : escolhe o segmento de memória disponível
que cause o menor fragmento externoque cause o menor fragmento externo lista de segmentos em ordem crescente de tamanhoslista de segmentos em ordem crescente de tamanhos
pior ajuste - pior ajuste - worst fitworst fit: escolhe o segmento de memória disponível que : escolhe o segmento de memória disponível que cause o maior fragmento externocause o maior fragmento externo
lista de segmentos em ordem decrescente de tamanhoslista de segmentos em ordem decrescente de tamanhos primeiro ajuste - primeiro ajuste - first fitfirst fit: escolhe o primeiro segmento de memória : escolhe o primeiro segmento de memória
disponível que possa conter o segmento disponível que possa conter o segmento (variação: primeiro ajuste circular)(variação: primeiro ajuste circular) lista de segmentos em ordem crescente de endereçoslista de segmentos em ordem crescente de endereços
zeque - Grad. CC 47
Quem Retirar?Quem Retirar? substituiçãosubstituição
decisão sobre quais são as páginas que devem ser decisão sobre quais são as páginas que devem ser retiradas da memória (SWAPPING OUT) que novas retiradas da memória (SWAPPING OUT) que novas páginas sejam carregadas (SWAPPING IN)páginas sejam carregadas (SWAPPING IN)
candidatas ao SWAPPINGcandidatas ao SWAPPING páginas de processos já concluídospáginas de processos já concluídos páginas de processos bloqueados há muito tempopáginas de processos bloqueados há muito tempo páginas de processos prontos mas que foram acessados há páginas de processos prontos mas que foram acessados há
muito tempomuito tempo páginas que não foram modificadas desde que foram páginas que não foram modificadas desde que foram
carregadascarregadas
zeque - Grad. CC 48
Políticas de SubstituiçãoPolíticas de Substituição decisão sobre qual a moldura a ser substituídadecisão sobre qual a moldura a ser substituída
zeque - Grad. CC 49
Substituição RandômicaSubstituição Randômica selecionar randomicamente uma moldura de página a ser selecionar randomicamente uma moldura de página a ser
substituídasubstituída descrição simplesdescrição simples método pobre: páginas retiradas podem estar frequentemente em uso método pobre: páginas retiradas podem estar frequentemente em uso
gerando alta taxa de gerando alta taxa de page faultspage faults
zeque - Grad. CC 50
Substituição FIFOSubstituição FIFO seleciona a página que foi carregada a mais temposeleciona a página que foi carregada a mais tempo
manter lista de todas as páginas da memória por ordem cronológica manter lista de todas as páginas da memória por ordem cronológica de carregamentode carregamento
cada página reside na memória por um mesmo tempocada página reside na memória por um mesmo tempo retira páginas que podem estar sendo usadas pesadamenteretira páginas que podem estar sendo usadas pesadamente
zeque - Grad. CC 51
Substituição Ótima (MIN ou OPT)Substituição Ótima (MIN ou OPT) selecionar a moldura que será referenciada no futuro mais selecionar a moldura que será referenciada no futuro mais
distantedistante método ótimo por apresentar a mais baixa taxa de método ótimo por apresentar a mais baixa taxa de page faultspage faults não é implementável pela sua incapacidade de estabelecer o futuro de não é implementável pela sua incapacidade de estabelecer o futuro de
acessosacessos primeira execução para coletar os tempos de referênciaprimeira execução para coletar os tempos de referência execução segunda para medir o desempenho da política execução segunda para medir o desempenho da política utilização comparativautilização comparativa sem utilidade práticasem utilidade prática
zeque - Grad. CC 52
Não Usada Recentemente - NRUNão Usada Recentemente - NRU NRU - NRU - not recently usednot recently used
selecionar a moldura considerando o seu passado recente de selecionar a moldura considerando o seu passado recente de acessoacesso
relógio para marcar o passado recente é necessário (“agora” e “antes”)relógio para marcar o passado recente é necessário (“agora” e “antes”) implementação inclui bits R (referência: leitura/escrita) e M implementação inclui bits R (referência: leitura/escrita) e M
(modificação: escrita) para cada página(modificação: escrita) para cada página classificação das páginas segundo o estado dos bits R e Mclassificação das páginas segundo o estado dos bits R e M
fácil, eficiente, performantefácil, eficiente, performante variações:variações:
estratégias para zerar o relógioestratégias para zerar o relógio lista circular para escolha mais justalista circular para escolha mais justa consideração deconsideração de timestamp timestamp
zeque - Grad. CC 53
Menos Usada Recentemente Menos Usada Recentemente - - LRULRU
LRU - LRU - least recently usedleast recently used substitui a página que não está sendo usada há mais temposubstitui a página que não está sendo usada há mais tempo
é uma aproximação da política ótimaé uma aproximação da política ótima necessidade de hardware especial para a sua implementação ou de necessidade de hardware especial para a sua implementação ou de
software que o substituasoftware que o substitua devido a uma implementação cara, uma aproximação desta política é devido a uma implementação cara, uma aproximação desta política é
usualmente escolhidausualmente escolhida classificação das páginas onde as páginas mais usadas recentemente classificação das páginas onde as páginas mais usadas recentemente
estão na frente e as menos usadas estão atrásestão na frente e as menos usadas estão atrás
zeque - Grad. CC 54
Mais Usada Recentemente - Mais Usada Recentemente - MRUMRU
MRU - MRU - most recently usedmost recently used substitue a página que foi acessada há menos tempo substitue a página que foi acessada há menos tempo
considera que uma página usada recentemente não será mais usada no considera que uma página usada recentemente não será mais usada no futuro próximofuturo próximo
método pobremétodo pobre
zeque - Grad. CC 55
Segunda Chance CíclicaSegunda Chance Cíclica dá outra canche à página que deveria ser substituída e que foi dá outra canche à página que deveria ser substituída e que foi
recentemente usadarecentemente usada manter lista ordenada de páginasmanter lista ordenada de páginas se página a ser substituída foi referenciada no passado recente, marca se página a ser substituída foi referenciada no passado recente, marca
esta página como “não referenciada” e a coloca no final da listaesta página como “não referenciada” e a coloca no final da lista se na busca de uma página para substituição uma página a qual foi se na busca de uma página para substituição uma página a qual foi
dada uma outra chance for encontrada, esta página será a escolhidadada uma outra chance for encontrada, esta página será a escolhida aproximação da política LRUaproximação da política LRU
zeque - Grad. CC 56
Relógio de PáginasRelógio de Páginas variação da variação da segunda chance cíclicasegunda chance cíclica
manter lista circular de páginasmanter lista circular de páginas
zeque - Grad. CC 57
Substituição Péssima (MAX ou PES)Substituição Péssima (MAX ou PES) selecionar a moldura que será referenciada no futuro mais selecionar a moldura que será referenciada no futuro mais
próximopróximo método péssimo por apresentar a mais alta taxa de método péssimo por apresentar a mais alta taxa de page faultspage faults não é implementável pela sua incapacidade de estabelecer o futuro de não é implementável pela sua incapacidade de estabelecer o futuro de
acessosacessos primeira execução para coletar os tempos de referênciaprimeira execução para coletar os tempos de referência execução segunda para medir o desempenho da política execução segunda para medir o desempenho da política utilização comparativautilização comparativa sem utilidade práticasem utilidade prática
zeque - Grad. CC 58
Conjunto de TrabalhoConjunto de Trabalho ObjetivoObjetivo
redução da taxa de redução da taxa de page faultspage faults DescriçãoDescrição
estimar páginas de um processo que estão sendo usadas estimar páginas de um processo que estão sendo usadas correntementecorrentemente
um um conjunto de trabalhoconjunto de trabalho é constituído pelas páginas é constituído pelas páginas correntemente usadas de um processocorrentemente usadas de um processo
zeque - Grad. CC 59
Conjunto de TrabalhoConjunto de Trabalho DescriçãoDescrição
conjunto de trabalho e estado de processoconjunto de trabalho e estado de processo um processo um processo prontopronto é aquele pode ter o seu é aquele pode ter o seu conjunto de trabalhoconjunto de trabalho
residindo na memóriaresidindo na memória conjunto de trabalho e substituiçãoconjunto de trabalho e substituição
um um conjunto de trabalhoconjunto de trabalho deve ser deve ser substituídosubstituído integralmente por integralmente por outro outro conjunto de trabalhoconjunto de trabalho
tamanho do conjunto de trabalhotamanho do conjunto de trabalho estático: quantidade fixaestático: quantidade fixa dinâmico: número de páginas varia com o tempodinâmico: número de páginas varia com o tempo
zeque - Grad. CC 60
Relativos à PaginaçãoRelativos à Paginação trashingtrashing
sobrecarga da memória, páginas são retiradas da memória sobrecarga da memória, páginas são retiradas da memória mesmo que elas ainda sejam referenciadas no futuro próximomesmo que elas ainda sejam referenciadas no futuro próximo
localitylocality durante uma fase de execução de programa, as referencias são durante uma fase de execução de programa, as referencias são
feitas unicamente sobre um pequeno número de páginas feitas unicamente sobre um pequeno número de páginas prefetching / prepagingprefetching / prepaging
carregamento das páginas de um processo antes mesmo que carregamento das páginas de um processo antes mesmo que elas sejam referenciadaselas sejam referenciadas