• Nenhum resultado encontrado

Sistemas Operacionais

N/A
N/A
Protected

Academic year: 2021

Share "Sistemas Operacionais"

Copied!
7
0
0

Texto

(1)

Instituto de Informática

-U

FRGS

Sistemas Operacionais

Gerência de memória

Aspectos de implementação

Aula 21

Trabalho sob a Licença Atribuição-SemDerivações-SemDerivados 3.0 Brasil Creative Commons.

Para visualizar uma cópia desta licença, visite http://creativecommons.org/licenses/by-nc-nd/3.0/br/ Instituto

d

e Informática

-UFRGS

Introdução

A alocação não contígua resolve naturalmente o problema de

relocação do código executável

 Código executável (saída do ligador) é do tipo absoluto

 Ajuste de endereços é feito via hardware (amarração dinâmica) pela MMU  Paginação, segmentação ou segmentação com paginação

Sistemas operacionais convencionais empregam paginação

 Hardware de paginação mais simples de implementar

 Software de gerenciamento mais simples, se comparado com a segmentação  Segmentação tem que manter listas de lacunas livres e ocupadas, política

de alocação de lacunas (best-fit, worst-fit, first-fit), compactar, concatenar

2 (c) A. C arissimi -5 maio 17 Instituto d e Informática -UFRGS

Questões para a implementação da paginação

Alocação e gerenciamento do espaço em memória (quadros)

Tabela de páginas

 Tamanho da tabela de páginas

 Conteúdo da entrada da tabela de páginas

 Bits para controle e para indicar o número do quadro

Desempenho da paginação

 Local de armazenamento da tabela em tempo de execução  Formatação do espaço de swap

(c) A. C arissimi -5 maio 17

Se fosse empregado segmentação ou segmentação com paginação os problemas de alocação e gerenciamento do espaço, dimensionamento de tabelas e local de armazenamento seriam similares.

Instituto

d

e Informática

-UFRGS

Alocação e gerenciamento de memória (paginação)

Alocação com memória real

 Necessário alocar quantidade de quadros idêntico a quantidade de páginas  Se não há memória disponível

 Processo não é criado

Executa escalonador de médio prazo para efetuar swap

Gerenciamento da alocação

 Manter informação de quantos quadros estão ocupados e quais quadros estão livres e ocupados

 Contador de quadros ocupados

Criação do processo ou swap-in: incrementa contador em q quadros Término do processo ou swap-out: decrementa contador em q quadros

Bitmap para indicar quadros livres e ocupados

(c) A. C arissimi -5 maio 17

(2)

Instituto d e Informática -UFRGS

Tabelas de páginas

Implementação natural é um vetor

 Uma entrada (elemento) para cada página

Cada entrada na tabela de páginas contém:

 Bits de gerência (compartilhamento, validade, acesso leitura ou leitura/escrita)  Número do quadro que a página ocupa

Problemas com tabelas de páginas

 Quantidade de entradas equivale a de páginas do maior processo possível  Tendência é as tabelas serem grandes e subutilizadas

 Ex.: processador de 32 bits e páginas de 4 Kbyte = 1 mega entradas

 Agravado pelo fato que cada processo tem sua própria tabela de páginas

5 (c) A. C arissimi -5 maio 17 Instituto d e Informática -UFRGS

Dimensionamento das tabelas de páginas

Objetivo é reduzir a área ocupada pelas tabelas de páginas

Usar tabelas de páginas de tamanho variável

 É preciso saber a quantidade de entradas (tamanho)

 Dimensionar conforme a necessidade, mas como armazenar a tabela?  Lembrando que são dados que pertencem ao núcleo do sistema  Estratégias possíveis para essa abordagem

 Empregar uma área contígua em memória

 Paginar a própria tabela de páginas (paginação multinível)  Tabela de páginas invertida

6 (c) A. C arissimi -5 maio 17 Instituto d e Informática -UFRGS

Tabela em área contígua de memória

Memória RAM com gerência mista

 Dividida em páginas (para os espaços de endereçamento de processos)  Dividida em segmentos (para armazenar as tabelas de tamanho variável)

Necessário manter por processo

 Ponteiro para inicio da tabela em memória  Tamanho da tabela

Problemas de gerenciamento da segmentação

 Fragmentação externa

 Lista de lacunas livres e ocupadas  Compactação e concatenação (c) A. C arissimi -5 maio 17 Instituto d e Informática -UFRGS

Paginação multinível

O objetivo final é dimensionar a tabela por demanda

 Consiste em paginar a área de memória necessária a tabela

 A tabela ocupa uma quantidade de páginas suficiente para a quantidade de entradas que ela possui

Organiza a tabela de páginas em níveis hierárquicos

 Diretório(s) de tabelas de páginas  Tabela de páginas propriamente dita

Diretórios de tabela de páginas podem ser em n níveis

Uma entrada do diretório da tabela de páginas de nível n aponta para um diretório de tabelas de páginas de nível n-1

 O último nível (o mais a direita) é a tabela de páginas

(c) A. C arissimi -5 maio 17

(3)

Instituto d e Informática -UFRGS 9 (c) A. C arissimi -5 maio 17

Exemplo: Paginação em dois níveis Família 80x86

Características

 Endereço lógico de 4 Gbytes (32 bits) com páginas de 4 kB (12 bits)  Tamanho da tabela de páginas: 4 Gbytes / 4 kbytes = 1048576 entradas

d t 32 bits 10 12 p 10   d q Memória física

Diretório de tabela de páginas

Tabela de páginas Registrador Especial (CR3) 0 0 1023 1023 Instituto d e Informática -UFRGS 10 (c) A. C arissimi -5 maio 17

Paginação em três níveis

Arquiteturas de processadores de 64 bits

Nível 1 Nível 2 Nível 3 deslocamento

Tabela de página Diretório global Diretório intermediário d q Registrador Especial Memória física Instituto d e Informática -UFRGS

Tabela de páginas invertida

Estratégia

 A tabela possui uma entrada por quadro da memória RAM, em vez de uma entrada por página (espaço de endereçamento do processo)

Endereço lógico é uma tupla (pid, página, deslocamento)

O índice da entrada que tem o endereço lógico é o quadro onde a página está

Prós e contras da estratégia

 Poupa espaço usado para armazenamento de tabelas quando memória lógica dos processos excede a memória real (RAM)

Uso de swap ou memória virtual

 A tradução de páginas para quadros é mais elaborada

Chave de pesquisa é (n, p): necessário varrer a tabela inteira pela ocorrência da página p pertencente ao processo n

(c) A. C arissimi -5 maio 17 Instituto d e Informática -UFRGS (c) A. C arissimi -5 maio 17

Esquema da tabela de páginas invertida

CPU pid d Tabela de páginas Pid | p i d Memória física Endereço lógico Endereço físico p i(equivale ao quadro q) 0 RAM

(4)

Instituto d e Informática -UFRGS 13 (c) A. C arissimi -5 maio 17

Desempenho na tradução do endereço lógico

Depende do local da tabela de páginas durante a execução do

processo

 Compromisso entre tamanho da tabela e desempenho

Locais possíveis

Registradores no hardware do próprio processador (MMU)

 Memória RAM

 Disco (não prático em tempo de execução)

Instituto

d

e Informática

-UFRGS

Tabela de páginas* na MMU

A tabela é armazenada em um banco de registradores na MMU

 Cada registrador é uma entrada da tabela de páginas  Registradores devem ser atualizados a cada troca de contexto

Vantagem:

 Tempo de acesso para tradução de endereço lógico em físico

Desvantagem:

 Tamanho da tabela de páginas

 Número de entradas (páginas) é limitado pelo hardware

 Custo de implementação e viabilidade

14 (c) A. C arissimi -5 maio 17

*Raciocínio válido para segmentação e segmentação com paginação

Instituto d e Informática -UFRGS (c) A. C arissimi -5 maio 17

Tabela de páginas* em banco de registradores

end. Físico q d p d ULA UC GPRs end. lógico q

Memory Management Unit (MMU)

Tabela de páginas

Memória RAM

Processador

*Raciocínio válido para segmentação e segmentação com paginação

Banco de registradores0 n-1 Instituto d e Informática -UFRGS

Tabela de páginas em memória

Acessa tabela de páginas na memória RAM

 Registrador especial para indicar onde ela inicia e termina na memória  PTBR (Page Table Base Register)

PTLR (Page Table Length Register), se não for paginação multinível

Vantagem:

 Tamanho da tabela de páginas não é limitado por hardware

Desvantagem:

 Tempo de acesso

 Necessário pelo menos dois acessos a RAM para acessar um endereço do espaço do processo (c) A. C arissimi -5 maio 17

(5)

Instituto

d

e Informática

-UFRGS

Tabela de páginas* em memória

17 (c) A. C arissimi -5 maio 17

*Raciocínio válido para segmentação e segmentação com paginação

End. Físico q d p d ULA UC GPRs End. lógico

Memory Management Unit (MMU)

Tabela de páginas Memória RAM Processador q PTBR + 1º acesso 2º acesso ≤ PTLR sim não INT Instituto d e Informática -UFRGS

Translation look-aside buffers (TLBs)

Solução que busca aliar

 Desempenho da tradução de endereços lógicos para físicos via banco de registradores

 Tabelas sem limitação de tamanho (armazenamento em memória)

Estratégia básica

 Manter em banco de registradores (MMU) apenas a parte da tabela de páginas* que está em uso no momento (cópia parcial)

Implementação através de uma memória especial na MMU

Translation look-aside buffer – TLB

 Memória associativa (acessada por conteúdo)

Cada entrada possui uma chave (key ou tag) e um valor

 Compara todas as chaves simultaneamente e, se existir, retorna o valor

18 (c) A. C arissimi -5 maio 17

*Raciocínio válido para segmentação e segmentação com paginação

Instituto d e Informática -UFRGS (c) A. C arissimi -5 maio 17

Registradores associativos

Registradores associativos permitem a busca de valores por

conteúdo, não por endereços

 Pesquisa paralela

Funcionamento:

Se valor “key” está na memória associativa, se obtém valor (value).

Key value p d q q d Endereço lógico Endereço físico Instituto d e Informática -UFRGS (c) A. C arissimi -5 maio 17

Tradução de endereços via TLB

End. Físico q d p d CPU End. lógico Página/quadro TLB Tabela de páginas Hit TLB Miss TLB Memória RAM PTBR

+

*Raciocínio válido para segmentação e segmentação com paginação

q p

q

PTLR ≤

(6)

Instituto d e Informática -U FRGS 21 (c) A. C arissimi -5 maio 17

Conceito de hit ratio (h) ou taxa de acerto

Probabilidade do dado referenciado se encontrar na memória

hit ratio (h) é a taxa de acerto e miss ratio (1-h) é a taxa de falhas  Aplicável a diferentes hierarquias de memória (TLB, cache, RAM)

No caso da TLB

 Probabilidade do endereço físico ser traduzido no acesso a TLB

CPU TLB h Mem. Mem. Mem. 1-h Acessa dado Acessa dado Acessa tabela na memória Também chamado de tempo

efetivo de acesso Instituto d e Informática -U FRGS 22 (c) A. C arissimi -5 maio 17

Exemplo da influência do hit ratio no desempenho

CPU TLB h Mem. Mem. Mem. 1-h Acessa dado Acessa dado Acessa tabela na memória Instituto d e Informática -UFRGS (c) A. C arissimi -5 maio 17

Aspectos relacionados com o uso de TLB: paginação

Melhora o desempenho no acesso a tabela de páginas

 Tempo de acesso:1 a 3 ciclos de clock contra 100 a 200 ciclos da memória

Desvantagem é o seu custo (área de silício)

 Tamanho limitado (de 8 a 4096 entradas)

 Processadores atuais tem TLB organizadas em níveis

 TLB pertence a MMU e é compartilhada por todos processos (forma exclusiva)  Apenas as páginas em uso por um processo necessitam estar na TLB

Um acesso é feito em duas partes:

Se página está presente na TLB (hit) a tradução é feita

Se página não está presente na TLB (miss), consulta a tabela em memória e atualiza entrada na TLB

 Se paginação multinível acessa os diferentes níveis

Instituto d e Informática -UFRGS (c) A. C arissimi -5 maio 17

Atenção: TLB não é cache de dados e/ou instruções

q d p d Página/Frame TLB Hit TLB Miss TLB Cache de dados/instruções PTBR + Tabela de páginas (Memória RAM) Memória RAM valor valor q

(7)

Instituto d e Informática -UFRGS

Leituras complementares

25 (c) A. C arissimi -5 maio 17

A. Tanenbaum. Sistemas Operacionais Modernos (4

a

edição),

Pearson Brasil, 2016.

 Capítulo 3: (seções 3.3.2 a 3.3.4)

A. Silberchatz, P. Galvin; Sistemas Operacionais. (7

a

edição).

Campus, 2008.

 Capítulo 8 (seções 8.4 e 8.5)

R. Oliveira, A. Carissimi, S. Toscani; Sistemas Operacionais. Editora

Bookman 4

a

edição, 2010

Referências

Documentos relacionados

Arquitetura de sistemas operacionais: Programas de sistema, programas aplicativos, núcleo, gerência do processador, gerência de memória, gerência de entrada e saída,

São diversos os recursos esquemáticos utilizados pela Engenharia de Métodos, tais como fluxograma, mapofluxograma, gráfico do fluxo do processo, carta de-para,

Metodologicamente, desenvolveu-se este trabalho por meio de etapas fundamentais, sendo que na primeira etapa fez-se a pesquisa bibliográfica; a segunda etapa fundamentou-se na busca

Este artigo dá uma visão geral do projeto e foca na área de TI, discutindo como os conceitos de Pensamento Computacional e Tecnologia da Informação podem ser traba- lhados no

Para melhorar velocidade de acesso, a cada acesso, transfere-se trechos maiores do arquivo para espaços da memória

As políticas distributivas dos governos Lula e Dilma, que tiveram início no ano de 2003 e foram constituídas ao longo de mais de uma década, estarão

KNOWN: Inner and outer radii of a tube wall which is heated electrically at its outer surface and is exposed to a fluid of prescribed h and T. Thermal contact resistance between

Revista Científica Eletrônica de Medicina Veterinária é uma publicação semestral da Faculdade de Medicina Veterinária e Zootecnia de Garça – FAMED/FAEF e Editora FAEF,