Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

60
zeque - Grad. CC 1 Sistemas Operacionais Sistemas Operacionais Gerenciamento do Espaço Gerenciamento do Espaço Prof. José Queiroz - ZEQUE Prof. José Queiroz - ZEQUE

Transcript of Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

Page 1: 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

Page 2: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. 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

Page 3: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 4: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 5: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 6: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 7: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 8: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 9: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 10: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 11: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 12: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 13: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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)

Page 14: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 15: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 16: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 17: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 18: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 19: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 20: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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?

Page 21: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

RIA

FÍS

ICA

SISTEMAOPERACIONAL

APLICAÇÃO

000000

ffffff

MONOPROGRAMAÇÃO

SEM USO999999

Page 22: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 23: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 24: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 25: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 26: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 27: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 28: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 29: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

zeque - Grad. CC 29

Registradores de BASE e LIMITERegistradores de BASE e LIMITE

Endereço Virtual

Endereço Físico

limite

+>

ERRO

base

Page 30: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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)

Page 31: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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>

Page 32: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 33: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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>

+

Page 34: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 35: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 36: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 37: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 38: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 39: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 40: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 41: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 42: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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 ?

Page 43: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

zeque - Grad. CC 43

Quando Carregar?Quando Carregar? Carregamento por demandaCarregamento por demanda Carregamento por antecipaçãoCarregamento por antecipação

Page 44: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 45: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 46: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 47: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 48: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 49: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 50: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 51: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 52: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 53: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 54: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 55: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 56: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 57: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 58: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 59: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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

Page 60: Zeque - Grad. CC1 Sistemas Operacionais Gerenciamento do Espaço Prof. José Queiroz - ZEQUE.

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