• Nenhum resultado encontrado

Sistemas Operacionais

N/A
N/A
Protected

Academic year: 2021

Share "Sistemas Operacionais"

Copied!
7
0
0

Texto

(1)

Si t O i i

F RGS

Sistemas Operacionais

c a - U F

Gerência de memória

Fatores adicionais

o rmáti c d e Inf o tituto d Ins t

Aula 15

Desempenho da paginação por demanda p p g ç p

Uma referência está sempre associada a uma página

 Página pertence ao espaço de endereçamento do processo Pá i tá d ó i ( á i álid )

 Página está carregada na memória (página válida)

 Página está na área de swap (página inválida → falta de página)

 Página não está na memória nem no swap (nova alocação → falta de página)

UFRGS

Página não está na memória, nem no swap (nova alocação → falta de página)

 Comportamento típico da áreas dinâmicas (pilha e heap)

Informações obtidas na entrada da tabela de páginas

rmática -U

ç p g

 Bits de controle

-16uto de Info arissimi -19-out-Institu

Sistemas Operacionais 2

A. Ca

Quando carregar uma página?

Q g p g

Sistema operacional controla as páginas de cada processo

 Quais páginas estão na memória principal (RAM) ou real

Q i á i tã ó i dá i (á d di )

 Quais páginas estão na memória secundária (área de swap no disco)

Momento da carga de páginas

 Na inicialização do processo

UFRGS

 Na inicialização do processo

 Páginas iniciais de código e área para pilha

 A medida que o processo executa e acessa páginas que ainda não estão na

rmática -U

q p p g q

memória

 Procedimento de falta de página (page-fault)

-16uto de Info

E se não houver memória disponível?

 Necessário tirar uma página da memória para “abrir” espaço

 Políticas de substituição de páginas

arissimi -19-out-Institu

 Políticas de substituição de páginas

Sistemas Operacionais 3

A. Ca

Falta de página (page-fault) p g (p g )

Na tradução de endereços consulta o bit de presença, se:

 válido: realiza a tradução

i álid i t ã d f lt d á i ( f lt)

 inválido: gera interrupção de falta de páginas (page fault)

Tratador de falta de páginas (page-fault)

 Há quadros livres disponíveis?

UFRGS

 Há quadros livres disponíveis?

 SIM: realiza page-in (carga da página faltante)

 NÃO: executada política de substituição de página

rmática -U

p ç p g

 Faz page-out * da página selecionada para substituição

 Realiza page-in da página faltante

-16uto de Info

 Atualiza tabela de página do(s) processo(s) envolvido(s)

Processo em falta de página passa para o estado “bloqueado”

arissimi -19-out-Institu

Sistemas Operacionais 4

*Necessário apenas se a página foi modificada (“suja”), senão o page-inpode ser sobreescrever o quadro.

A. Ca

(2)

Esquema geral da paginação por demanda q g p g ç p

Sequência de eventos

Sisop

3

mov ax,m

i

1 2

RAM

UFRGS

i Fn

4

6 Área de swap

ou imagem executável Tabela de página

rmática -U

F 5

-16uto de Info

F0

Páginas associadas ao núcleo do sistema operacional são “pinadas” na memória,

arissimi -19-out-Institu

Sistemas Operacionais 5

g p p ,

isso é, NUNCA vão provocar falta de página.

A. Ca

Ordem de grandeza da duração de tarefas g ç

Acionamento do sistema operacional (trap)

 1 a 100 us

Determinar se a interrupção foi por falta de página

 1 a 100 us

T d (l it ) d á i ó i

UFRGS

Tempo de acesso (leitura) de uma página para memória

 Cerca de 8 ms (melhor caso)

 Depende do disco e da fila de requisição de E/S

rmática -U

 Depende do disco e da fila de requisição de E/S

-16uto de Info arissimi -19-out-Institu

Sistemas Operacionais 6

A. Ca

Tempo de acesso efetivo à memória p

Tempo de acesso à memória “percebido” por um processo

 Tempo consumido pela MMU para a tradução (inclui o hit/miss ratio na TLB e eventuais tempo de acesso tabela de página em memória)

eventuais tempo de acesso tabela de página em memória)

 Tempo consumido pela gerência de memória virtual (considera as operações page-in, page-out , substituição de página e tempo de bloqueio)

UFRGS

 Valores médios

Baseado na probabilidade da entrada estar na TLB e a página estar

rmática -U

na memória

-16uto de Info arissimi -19-out-Institu

Sistemas Operacionais 7

A. Ca

Tempo efetivo de acesso considerando TLB p

Mais precisamente:

TLB MEM

   

TLB MEM

efetivo

pr t t pr pr t t

t

2

     

1 2

    2   

  

TLB MEM TFP TLB MEM

MEM TLB

MEM TLB efetivo

t t

t t t pr

p p p

 1

1

2

1 2

2

UFRGS

Onde:

rmática -U

 pr

1

: probabilidade da página estar em memória

 pr

2

: probabilidade da entrada da página estar na TLB (hit ratio)

 t : tempo de acesso a memória

-16uto de Info

 t

mem

: tempo de acesso a memória

 t

TLB

: tempo de acesso a TLB

 t

TPF

: tempo de tratamento de page fault

arissimi -19-out-Institu TPF

p p g

Sistemas Operacionais 8

A. Ca

(3)

Desempenho da paginação por demanda (aproximação) p p g ç p ( p ç )

Depende da taxa de falta de páginas (p)

Pode ser aproximado por: t h t t1 ht n t

Tempo médio de acesso a tabelas e dado

pt p t

t  1   

atlb amem

   

atlb amem

medio

h t t h t n t

t     1    

UFRGS

onde:

 

acesso page fault

efetivo

p t p t

t  1    

_

rmática -U

t

acesso

é tempo médio para acessar página na memória

t

page_fault

é o tempo médio para o tratamento da falta de páginas e acessar a posição de memória que a provocou

-16uto de Info

posição de memória que a provocou

p é a probabilidade de taxa de falta de páginas (0  p  1.0)

p = 0: todas as referências NÃO provocam faltas de páginas

arissimi -19-out-Institu

p p p g

p = 1, todas as referência provocam uma falta de página

Sistemas Operacionais 9

A. Ca

Exemplo p

Valores

ns

t

acesso

 200 t

page_fault

 8 ms

Valores Típicos

ms p ns p

t

efetivo

 ( 1  )  200  ( )  8

UFRGS

f

Se desejarmos limitar o aumento do tempo médio de execução em 10% (a=0,1)

rmática -U

ns t

efetivo

 220

220 8

) ( 200 ) 1

(    

400.000 Instruções entre

PFs!

uto de Info

220 8 ) ( 200 ) 1 (      ms p ns p

0000025

 0 1

PFs!

Institu

0000025 , 0  p

000 . 400

 1

ou p

Desempenho da paginação p p g ç

O desempenho depende de dois fatores

 De manter uma baixa taxa de faltas de páginas

Número de vezes que há cargas de páginas Número de vezes que há cargas de páginas

 Diminuir o tempo de acesso ao disco

Tempo gasto para carregar as páginas

P t b i t d f lt d á i

UFRGS

Para manter uma baixa taxa de faltas de páginas

 Depende da aplicação!

Para diminuir o tempo de acesso ao disco

rmática -U

Para diminuir o tempo de acesso ao disco

 Usar partição de swap

Organiza os dados no disco de forma diferente do sistema de arquivos i l ibilit d i á id

-16uto de Info

convencional possibilitando um acesso mais rápido

t p t

p

t  ( 1  )   ( ) 

arissimi -19-out-Institu

fault page acesso

efetivo

p t p t

t  ( 1  )   ( ) 

_

11 Sistemas Operacionais

A. Ca

Pré-paginação p g ç

Trazer para a memória todo o working set do processo

 Normalmente, ocorre quando o processo passa de suspenso para apto Obj ti é d i ú d f lt ( )i i i d ã

 Objetivo é reduzir o número de page-fault no (re)inicio da execução

Questão sobre pré-paginação x faltas de página

 Quantas página dentre aquelas pré paginadas são efetivamente usadas?

UFRGS

 Quantas página dentre aquelas pré-paginadas são efetivamente usadas?

 Comparação de custos

rmática -Uuto de InfoInstitu

(4)

Efetividade da pré-paginação p p g ç

Questão é:

 Custo de pré-paginar é menor que o custo de tratar as page-faults?

Considerando que:

s páginas são pré-páginadas para a memória, mas apenas uma fração α é usada ( 0 ≤ α ≤ 1)

UFRGS

usada ( 0 ≤ α ≤ 1)

 Custo a ser avaliado:

 Custo de “economizar” α.s page-faults é maior ou menor que o custo de

rmática -U

pré-paginar, desnecessariamente (1-α) páginas?

-16uto de Info arissimi -19-oct.Institu

Sistemas Operacionais 13

A. Ca

Área de swapp

O swap é um porção de área do disco

 Arquivo P ti ã ífi

 Partição específica

Sistema de arquivos possui uma estrutura de gerenciamento

 Arquivos são representados por metadados (nome localização no disco

UFRGS

 Arquivos são representados por metadados (nome, localização no disco proprietário, data modificação, permissões de acesso, etc)

 Arquivos são organizados em diretórios

rmática -U

 Acessar arquivos implica percorrer estruturas de dados

 Procedimento que pode ser penalizante em tempo

-16uto de Info

Partição de swap

 Customizada para armazenar páginas (unidade ou grupos múltiplos de 2)

 Oferece melhor desempenho ao custo da flexibilidade

arissimi -19-oct.Institu

 Oferece melhor desempenho ao custo da flexibilidade

Sistemas Operacionais 14

A. Ca

Influência do tamanho da página p g

Páginas possuem tamanho múltiplos de 2

 Tipicamente variam entre 2

12

e 2

22

Fatores a serem considerados na definição do tamanho da página

 Tamanho da tabela de páginas

 Fragmentação interna

UFRGS

 Fragmentação interna

 Tempo para page-in e page-out

 Localidade

rmática -U

 Alcance da TLB

uto de InfoInstitu

Tamanho da tabela de páginas p g

Tamanho da tabela de páginas

 Quanto maior a página, menor a tabela

Fragmentação interna

 Quanto menor as páginas, menor a fragmentação

 Em média metade da última página será desperdiçada

UFRGS

 Em média, metade da última página será desperdiçada

 Quanto maior a página, maior o desperdício

Tempo para page-in e page-out

rmática -U

Tempo para page in e page out

 Quanto maior a página, mais eficiente é a transferência

 O tempo total de transferência é seek+ latência rotacional + read/write

uto de Info

 Dobrar a página, dobra o tempo de read/write

Logo, parece ser preferível páginas pequenas

M k l tê i t i l é it i d d/ it

Institu

 Mas o seek e a latência rotacional é muito maior do que o read/write

Portanto, páginas grandes tendem a amortizar custos de leitura

(5)

Localidade

Quanto menor a página, mais preciso será o mecanismo de detecção de localidade

Páginas grandes

 Contém dados fora da localidade que serão trazidas para a memória

 Representa um desperdício de espaço e de tempo

UFRGS

 Representa um desperdício de espaço e de tempo

Com páginas menores

 Melhor resolução

rmática -U

 Melhor resolução

 Permite isolar, precisamente, a memória realmente necessária

uto de InfoInstitu

Estrutura do Programa: questão de localidade g q

Tamanho da página = 128 palavras Tamanho da página = 128 palavras O SO aloca menos de 128 páginas para o programa

Cada linha de “data” está em uma página

UFRGSrmática -U

A cada palavra zerada, é gerada um falta de página

Zera todas as palavras de uma página antes de passar para a próxima

uto de Info

é gerada um falta de página Resultado

128 x 128 = 16.384 faltas de páginas

antes de passar para a próxima Resultado

128

faltas de páginas

Institu

Importância dos programas de sistema (compiladores, ligadores e carregadores) considerar e otimizar a localidade de estrutura de dados e de programas.

Alcance da TLB

Quantidade de memória que a TLB pode endereçar (referências)

 Número de entradas da TLB multiplicado pelo tamanho da página Sit ã id l ki t d b TLB

 Situação ideal: working set de um processo caber na TLB

 Tradução de endereço lógico em físico sem acessar a tabela de páginas em memória

UFRGS

Para aumentar o alcance

 Aumentar a TLB fisicamente (custo)

rmática -U

 Aumentar o tamanho da página (fragmentação interna, localidade, custo de transferência, etc...)

S l ã lt ti

-16uto de Info

Solução alternativa

 Prover tamanho de páginas diferentes (4 KB, 32 KB, 64 KB)

 Desvantagem: deve ser feito controle em software (sistema operacional)

arissimi -19-oct.Institu

Desvantagem: deve ser feito controle em software (sistema operacional)

Sistemas Operacionais 19

A. Ca

Memory-mapped files y pp

Consiste em “mapear” um bloco de disco em memória ocupando uma ou mais páginas

A i ( t d l ) f t d d d t

 Arquivo (parte dele) passa a fazer parte do espaço de endereçamento

 Chamada de sistema específica (ex. mmap)

Princípio básico

UFRGS

Princípio básico

 Primeiro acesso funciona similar a ocorrência de um page-fault

 Acessos subsequentes são feitos em memória

rmática -U

q

 Acelera o desempenho de leitura e escrita

 MAS escritas não são feitas imediatamente no disco

-16uto de Info

Política de atualização

arissimi -19-oct.Institu

Sistemas Operacionais 20

A. Ca

(6)

Alocação de memória para o núcleo ç p

Áreas de código e dados do núcleo não participam da paginação por demanda

Nú l i it ó i t t d d d d t h dif t

 Núcleo requisita memória para estruturas de dados de tamanhos diferentes

 Usar memória sem desperdiçar (fragmentação)

 Determinados dispositivos interagem diretamente em área física de memória

UFRGS

Determinados dispositivos interagem diretamente em área física de memória

 Endereço conhecido (mapeado) e contíguo

 Usos de buffer em requisições de E/S

rmática -U

Duas estratégias para alocação de memória

 Sistema buddy

-16uto de Info

 Alocação via slab

arissimi -19-oct.Institu

Sistemas Operacionais 21

A. Ca

Sistema buddyy

Aloca memória de um segmento de tamanho fixo composto por várias páginas contíguas

M ó i é l d bl d tê i d 2

 Memória é alocada em blocos de potência de 2

 Porção alocada corresponde a potência de 2 que satisfaz a requisição

 Ex : alocar 11 KB de dados implica alocar uma porção de 16 KB

UFRGS

Ex.: alocar 11 KB de dados, implica alocar uma porção de 16 KB

Exemplo:

 Segmento de memória de 256 KB (equivale a 64 páginas de 4 KB)

rmática -U

g ( q p g )

 Requisição de 21 KB (contíguo) leva a alocação de 32 KB

 256 KB → 2 blocos de 128 KB → 1 bloco de 128 KB é dividido em dois d 64 KB d bl d 64 KB é bdi idid d i d 32 KB

-16uto de Info

de 64 KB → um dos blocos de 64 KB é subdividido em dois de 32 KB

arissimi -19-oct.

Problema: fragmentação

Institu

Sistemas Operacionais 22

A. Ca

Alocação slab ç

Considera uma hierarquia para alocação de memória

Slab é formado por uma ou mais páginas contiguas

C h é f d i l b bj t

Cache é formada por um ou mais slabs e armazenam objetos

Associa uma cache para cada classe de objetos do núcleo

 Ex : cache para PCBs cache para descritores de arquivos cache para

UFRGS

 Ex.: cache para PCBs, cache para descritores de arquivos, cache para semáforos, etc...

Princípio

rmática -U

p

Cache é criada para conter um certo número de objetos

 Número de objetos depende do tamanho do slab

-16uto de Info

 Ex: slab 12 KB é composto por 3 páginas contíguas e pode armazenar até

6 objetos de 2 KB cada um

arissimi -19-oct.Institu

Sistemas Operacionais 23

A. Ca

Vantagens da alocação slab g ç

Reduz/elimina a fragmentação

 Cada estrutura de dados é associada a uma cache, cada cache é composta por um ou mais slabs que são divididos em porções do tamanho do objeto por um ou mais slabs, que são divididos em porções do tamanho do objeto que representa

 Alocação de memória retorna a quantidade para o objeto

UFRGS

Acelera a requisição de memória

 Os objetos são criados antes de sua efetiva utilização

rmática -U

 Tão logo o objeto não é mais necessário ele é marcado como free

-16uto de Info arissimi -19-oct.Institu

Sistemas Operacionais 24

A. Ca

(7)

Exemplo: uso de slabs p no Linux

Slab possui 3 estados

Full: todos os objetos estão marcados como ocupados E t t d bj t ã d li

Empty: todos os objetos são marcados como livres

Partial: há objetos livres e ocupados no slab

Na alocação

UFRGS

Na alocação

 Busca por um objeto livre em um partial slab, se não encontra, aloca um objeto de empty slab

rmática -U

 Se não há empty slab, aloca nova área contigua e para formar um novo slab e associa a cache daquela classe de objetos

P i d i l d

-16uto de Info

Possui dois alocadores

 SLOB: para sistemas com pouca memória (pequeno, médio e grande)

 SLUB: implementação do método slab com otimizações

arissimi -19-oct.Institu

SLUB: implementação do método slab com otimizações

Sistemas Operacionais 25

A. Ca

Referências

Documentos relacionados

Depois da ação do último jogador, os jogadores devem novamente jogar ou descartar cartas na ordem de ORGANIZAÇÃO (a ordem pode alterar-se caso algum jogador ganhe ou

O Patrimônio Histórico, concebido aqui como uma relação entre memória social (CARLAN, 2008, p.82) e soma dos bens culturais, agrega conjuntos de informações,

GUILHERME TORRES AFFONSO LUCAS ALMEIDA GONÇALVES MATEUS PEREIRA DOS SANTOS RICARDO LAURINDO PEREIRA ALEXANDRE DE SOUZA FERREIRA RICARDO SILVA PEREIRA DA CRUZ FELIPE GARCIA DOS

Da Silva et al (2020) estudaram a variabilidade espacial do fator k em áreas comerciais de cana-de-açúcar, causadas pelas estruturas multivariadas de perdas de carbono em

Mais do que propor uma metodologia para a musicalização de adultos, esse trabalho deve fazer o leitor refletir sobre a prática do ensino musical atual vigente.. O que

Mestrado em: Nutrição Humana ou Nutrição Clínica ou Saúde Coletiva ou Ciências da Saúde ou Ciências ou Saúde ou Alimentos e Nutrição e Desenvolvimento na

Segundo Éric Laurent, a psicose ordinária se caracteriza pela não resposta aos significantes-mestres tradicionais, manifestando o fim do poder do Nome-do-Pai como

Penalidades: suspensão imediata da conduta vedada, quando for o caso; multa no valor de R$ 5.320,50 a R$ 106.410,00 aos agentes responsáveis, aos partidos políticos, às