Gerenciamento de Memória

61
1 n Sistemas Operacionais Moder Gerenciamento de Memória Parte I •Gerenciamento básico de memória •Troca de processos •Memória virtual •Algoritmos de substituição de páginas Parte II •Modelagem de algoritmos de substituição de páginas •Questões de projeto para sistemas de paginação •Questões de implementação •Segmentação

description

Gerenciamento de Memória. Parte I Gerenciamento básico de memória Troca de processos Memória virtual Algoritmos de substituição de páginas Parte II Modelagem de algoritmos de substituição de páginas Questões de projeto para sistemas de paginação Questões de implementação Segmentação. - PowerPoint PPT Presentation

Transcript of Gerenciamento de Memória

Page 1: Gerenciamento de Memória

1Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Gerenciamento de MemóriaParte I•Gerenciamento básico de memória•Troca de processos•Memória virtual•Algoritmos de substituição de páginas

Parte II•Modelagem de algoritmos de substituição de páginas•Questões de projeto para sistemas de paginação•Questões de implementação•Segmentação

Page 2: Gerenciamento de Memória

2Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Gerenciamento de Memória• Idealmente, o que todo programador deseja é dispor de

uma memória que seja– grande– rápida– não volátil

• Hierarquia de memórias – pequena quantidade de memória rápida, de alto custo - cache – quantidade considerável de memória principal de velocidade

média, custo médio– gigabytes de armazenamento em disco de velocidade e custo

baixos

• O gerenciador de memória trata a hierarquia de memórias

Page 3: Gerenciamento de Memória

3Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Multiprogramação com Partições Fixas

• Partições fixas de memóriaa) filas de entrada separadas para cada partiçãob) fila única de entrada

Page 4: Gerenciamento de Memória

4Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Modelagem de Multiprogramação

Utilização da CPU como uma função do número de processos na memória

Maioria dos processos é CPU-Bound

Maioria dos processos é IO-Bound

Page 5: Gerenciamento de Memória

5Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Análise de Desempenho de Sistemas de Multiprogramação

• Chegada de 4 jobs e suas necessidades de trabalho• Utilização da CPU por até 4 jobs com 80% de espera por E/S• Sequência de eventos entre chegada e término dos jobs

– Note que os números mostram quanto tempo da CPU cada job obtém em cada intervalo

Page 6: Gerenciamento de Memória

6Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Relocação e Proteção

• Não se sabe com certeza onde o programa será carregado na memória– Localizações de endereços de variáveis e de código de

rotinas não podem ser absolutos• Uma possível solução: instruções do programa são

modificadas segundo a partição de memória em que ele será carregado

• Uma solução para relocação e proteção: uso de valores base e limite – localizações de endereços são somadas ao valor base

antes de serem mapeadas na memória física– localizações de endereços maiores que o valor limite

indicam erro

Page 7: Gerenciamento de Memória

7Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Troca de Processos (1)

• Alterações na alocação de memória à medida que processos entram e saem da memória

• Regiões sombreadas correspondem a regiões de memória não utilizadas naquele instante

Page 8: Gerenciamento de Memória

8Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Troca de Processos (2)

a) Alocação de espaço para uma área de dados em expansãob) Alocação de espaço para uma pilha com código e uma área

de dados, ambos em expansão

Page 9: Gerenciamento de Memória

9Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Gerenciamento de Memória com Mapas de Bits

a) Parte da memória com 5 segmentos de processos e 3 segmentos de memória livre

− pequenos riscos simétricos denotam as unidades de alocação − regiões sombreadas denotam segmentos livres

b) Mapa de bits correspondentec) Mesmas informações em uma lista encadeada

Page 10: Gerenciamento de Memória

10Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Gerenciamento de Memóriacom Listas Encadeadas

Quatro combinações de vizinhança para o processo X em término de execução

Page 11: Gerenciamento de Memória

11Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Memória VirtualPaginação (1)

Localização e função da MMU

Page 12: Gerenciamento de Memória

12Pearson Education Sistemas Operacionais Modernos – 2ª Edição

A relação entre endereços virtuais e endereços físicos de memória dada pela tabela de páginas

Memória Virtual - Paginação (2)

Page 13: Gerenciamento de Memória

13Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Tabelas de Páginas

a) Endereço de 32 bits com 2 campos (PT1, PT2) para endereçamento de tabelas de páginas

b) Tabelas de páginas com 2 níveis

Page 14: Gerenciamento de Memória

15Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Tabelas de Páginas

Entrada típica de uma tabela de páginas

Page 15: Gerenciamento de Memória

16Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Memória Associativa ou TLB

TLB para acelerar a paginaçãoTLB = Translation Lookaside Buffer

(tabela das traduções de endereços mais recentes em um dispositivo; funciona como uma cache para tabelas de página)

Page 16: Gerenciamento de Memória

18Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Algoritmos de Substituição de Páginas

• A falta de página força uma escolha– qual página deve ser removida– alocação de espaço para a página a ser trazida

para a memória

• A página modificada deve primeiro ser salva– se não tiver sido modificada é apenas sobreposta

• Melhor não escolher uma página que está sendo muito usada– provavelmente precisará ser trazida de volta logo

Page 17: Gerenciamento de Memória

20Pearson Education Sistemas Operacionais Modernos – 2ª Edição

O Algoritmo de Substituição de Página Não Usada Recentemente (NUR)

• Cada página tem os bits Referenciada (R) e Modificada (M)– Bits são colocados em 1 quando a página é

referenciada e modificada

• As páginas são classificadas Classe 0: não referenciada, não modificada Classe 1: não referenciada, modificada Classe 2: referenciada, não modificada Classe 3: referenciada, modificada

• NUR remove página aleatoriamente – da classe de ordem mais baixa que não esteja vazia

Page 18: Gerenciamento de Memória

21Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Algoritmo de Substituição de Página Primeira a Entrar, Primeira a Sair

• Mantém uma lista encadeada de todas as páginas– página mais antiga na cabeça da lista– página que chegou por último na memória no final da

lista

• Na ocorrência de falta de página• página na cabeça da lista é removida• nova página adicionada no final da lista

• Desvantagem– página há mais tempo na memória pode ser usada com

muita freqüência

Page 19: Gerenciamento de Memória

22Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Algoritmo de Substituição de Página Segunda Chance (SC)

• Operação do algoritmo segunda chancea) lista de páginas em ordem FIFOb) estado da lista em situação de falta de página no instante 20, com o bit R da página A em 1 (números representam instantes de

carregamento das páginas na memória)

Page 20: Gerenciamento de Memória

23Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Algoritmo de Substituição de Página Relógio

Page 21: Gerenciamento de Memória

24Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Menos Recentemente Usada (MRU)

• Assume que páginas usadas recentemente logo serão usadas novamente– retira da memória página que há mais tempo não é usada

• Uma lista encadeada de páginas deve ser mantida– página mais recentemente usada no início da lista, menos

usada no final da lista– atualização da lista à cada referência à memória

• Alternativamente manter contador em cada entrada da tabela de página– escolhe página com contador de menor valor – zera o contador periodicamente

Page 22: Gerenciamento de Memória

29Pearson Education Sistemas Operacionais Modernos – 2ª Edição

O Algoritmo de Substituiçãode Página WSClock

Operação

do Algoritmo WSClock

Page 23: Gerenciamento de Memória

30Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Revisão dos Algoritmos de Substituição de Página

Page 24: Gerenciamento de Memória

31Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Gerenciamento de Memória

Parte IIModelagem de algoritmos de substituição de páginas

Projeto para sistemas de paginaçãoQuestões de implementação

Segmentação

Page 25: Gerenciamento de Memória

32Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Modelagem de Algoritmos de Substituição de Página – Anomalia de Belady

• FIFO com 3 molduras de página• FIFO com 4 molduras de página• P mostra quais referências de página causaram faltas de página

Esperado: quanto mais molduras de página a memória possuir, menos faltas de página o programa terá.

Anomalia: neste exemplo, o algoritmo de substituição FIFO tem mais faltas de página (10P) para mais molduras (4)...

Page 26: Gerenciamento de Memória

33Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Algoritmo de Pilha

Estado do vetor de memória, M, após cada item na cadeia de referências ter sido processado

memória

disco

distância

Page 27: Gerenciamento de Memória

34Pearson Education Sistemas Operacionais Modernos – 2ª Edição

A Cadeia de Distâncias: serve paraPrevisão de Frequência de Faltas de Página

Cálculo da freqüência de faltas de páginaa) o vetor Cb) o vetor F

Possivelmente, melhor custo-

benefício

3

3

3

1

0

20

14

11

9

8

Page 28: Gerenciamento de Memória

35Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Controle de Carga

• Mesmo com um bom projeto, o sistema ainda pode sofrer paginação excessiva (thrashing)

• Quando o algoritmo PFF (frequência de falta de páginas) indica– alguns processos precisam de mais memória– mas nenhum processo precisa de menos (ou seja, nenhum pode ceder

páginas)

• Solução :Reduzir o número de processos que competem pela memória– levar alguns deles para disco (swap) e liberar a memória a eles alocada– reconsiderar grau de multiprogramação

Page 29: Gerenciamento de Memória

36Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Tamanho de Página

Tamanho de página pequeno

• Vantagens– menos fragmentação interna – menos programa não usado na memória

• Desvantagens– programas precisam de mais páginas, tabelas

de página maiores

Page 30: Gerenciamento de Memória

37Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Espaços Separados de Instruções e Dados

a) Espaço de endereçamento únicob) Espaços separados de instruções (I) e dados (D)

Page 31: Gerenciamento de Memória

38Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Páginas Compartilhadas

Dois processos que compartilham o mesmo código de programa e, por conseqüência, a mesma tabela de páginas para instruções

Dad

os d

o pr

oces

so 1

Dad

os d

o pr

oces

so 2

P1

P2

Page 32: Gerenciamento de Memória

39Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Envolvimento do S.O. com Paginação

Quatro circunstâncias de envolvimento:1. Criação de processo

determina tamanho do programa cria tabela de página

2. Execução de processo Inicia MMU (Unidade de Gerenciamento de Memória) para novos

processos

3. Ocorrência de falta de página determina endereço virtual que causou a falta descarta, se necessário, página antiga carrega página requisitada para a memória (swap)

4. Terminação de processo Libera tabela de páginas, páginas, e espaço em disco que as

páginas ocupam

Page 33: Gerenciamento de Memória

40Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Gerenciamento da falta de páginas

1) Chamadas do kernel pela MMU - hardware desvia a execução para o núcleo (kernel)

2) Salvamento dos registradores de uso geral

3) S.O. determina página virtual requerida

4) S.O. valida endereço e remove página da memória

5) Se página modificada, escreve para o disco

6) S.O. lê página do disco e põe na memória principal

7) Atualiza tabelas de páginas

8) Executa do começo a instrução que provocou a falta

9) Processo colocado em “pronto”

10) Registradores restaurados

11) Programa continua

Page 34: Gerenciamento de Memória

41Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Fixação de Páginas na Memória

• Memória virtual e E/S interagem ocasionalmente• Processo (1) emite chamada ao sistema para ler do

disco para o buffer– enquanto espera pela E/S, outro processo (2) inicia– ocorre uma falta de página para o processo 2– buffer do processo 1 pode ser escolhido para ser levado

para disco – problema!

• Solução possível– Fixação de páginas envolvidas com E/S na memória

Page 35: Gerenciamento de Memória

42Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Memória Secundária

(a) Paginação para uma área de troca estática(b) Páginas alocadas dinamicamente em disco

Page 36: Gerenciamento de Memória

43Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Segmentação (1)

• Espaço de endereçamento unidimensional com tabelas crescentes

• Uma tabela pode atingir outra…

, que contém a análise sintática do programa

variáveis

Page 37: Gerenciamento de Memória

44Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Segmentação (2)

Permite que cada tabela cresça ou encolha, independentemente

Page 38: Gerenciamento de Memória

45Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Comparação entre paginação e segmentação

Page 39: Gerenciamento de Memória

46Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Sistemas de Arquivos

Infra-estrutura de Software

•Arquivos •Diretórios •Implementação do sistema de arquivos•Gerenciamento de espaço em disco

Page 40: Gerenciamento de Memória

47Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Armazenamento da Informação a Longo Prazo

1. Deve ser possível armazenar uma quantidade muito grande de informação

2. A informação deve sobreviver ao término do processo que a usa – persistência

3. Múltiplos processos devem ser capazes de acessar a informação concorrentemente – compartilhamento

Page 41: Gerenciamento de Memória

48Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Nomeação de Arquivos

Extensões típicas de arquivos

Page 42: Gerenciamento de Memória

49Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Estrutura de Arquivos

• Três tipos de arquivosa) seqüência de bytesb) seqüência de registrosc) árvore

Page 43: Gerenciamento de Memória

50Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Tipos de Arquivos

(a) Um arquivo executável (b) Um repositório (archive)

Identifica arquivo como executável

Endereço no qual a execução deve

iniciar

Mais adiante...

Para uso na memória

Para depuração

Page 44: Gerenciamento de Memória

51Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Acesso aos Arquivos

• Acesso sequencial– lê todos os bytes/registros desde o início– não pode saltar ou ler fora de seqüência– conveniente quando o meio era a fita magnética

• Acesso aleatório– bytes/registros lidos em qualquer ordem– essencial para sistemas de bases de dados– ler pode ser …

• mover marcador de arquivo (seek), e então ler ou …• ler e então mover marcador de arquivo

Page 45: Gerenciamento de Memória

52Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Atributos de Arquivos

Possíveis atributos (flags) de arquivos

para quando registro é

consultado usando uma

‘chave’

Page 46: Gerenciamento de Memória

53Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Operações com Arquivos

1. Create

2. Delete

3. Open

4. Close

5. Read

6. Write

7. Append

8. Seek: ponteiro para acesso aleatório

9. Get attributes

10.Set Attributes

11.Rename

Page 47: Gerenciamento de Memória

54Pearson Education Sistemas Operacionais Modernos – 2ª Edição

DiretóriosSistemas de Diretório em Nível Único

• Um sistema de diretório de nível único– contém 4 arquivos– propriedades de 3 pessoas diferentes, A, B, e C

Page 48: Gerenciamento de Memória

55Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Sistemas de Diretórios em Dois Níveis

As letras indicam os donos dos diretórios e arquivos

Page 49: Gerenciamento de Memória

56Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Sistemas de Diretórios Hierárquicos

Um sistema de diretório hierárquico

Page 50: Gerenciamento de Memória

57Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Uma árvore de diretórios UNIX

Nomes de Caminhos (pathnames)

Page 51: Gerenciamento de Memória

58Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Operações com Diretórios

1. Create

2. Delete

3. Opendir

4. Closedir

5. Readdir

6. Rename

7. Link

8. Unlink

Page 52: Gerenciamento de Memória

59Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Implementação do Sistema de Arquivos

Um possível layout de sistema de arquivo

Master Boot Record: Registro Principal do Boot,

usado para iniciar o computador

Principais parâmetros do sistema de arquivo – ex. tipo

do sistema de arquivos, número de blocos do

sistema

Estrutura de dados com informações sobre um

arquivo, sendo um i-node por arquivo

Page 53: Gerenciamento de Memória

60Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Implementação de Arquivos (1)

(a) Alocação contígua do espaço em disco para 7 arquivos(b) Estado do disco depois dos arquivos D e E terem sido removidos

Page 54: Gerenciamento de Memória

61Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Implementação de Arquivos (2)

Armazenamento de um arquivo como uma lista

encadeada de blocos de disco

Término de A

Término de B

Page 55: Gerenciamento de Memória

62Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Implementação de Arquivos (3)

Um exemplo de i-node

Page 56: Gerenciamento de Memória

63Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Implementação de Diretórios

(a) Um diretório simplesentradas de tamanho fixoendereços de disco e atributos na entrada de diretório

(b) Diretório no qual cada entrada se refere apenas a um i-node

Page 57: Gerenciamento de Memória

64Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Arquivos Compartilhados (1)

Sistema de arquivo contendo um arquivo compartilhado

Page 58: Gerenciamento de Memória

65Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Arquivos Compartilhados (2)

(a) Situação antes da ligação(b) Depois de a ligação ser criada(c) Depois de o proprietário (C) remover o arquivo (i-node deixado

intacto para evitar erro, já que B não é o proprietário – e continua na conta de alocação de C…)

Page 59: Gerenciamento de Memória

66Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Gerenciamento do Espaço em Disco

Considerações relevantes:• Tamanho do bloco: eficiência• Monitoramento de blocos livres (ex. mapas de

bits)• Cotas de usuários

Page 60: Gerenciamento de Memória

67Pearson Education Sistemas Operacionais Modernos – 2ª Edição

O que vimos:Módulo I

• Conceitos: SO (“máquina estendida”), Processo e outros

• Escalonamento de Processos

• Entrada/Saída

• Gerenciamento de Memória

• Sistemas de Arquivos

S e g u e…S e g u e…

Page 61: Gerenciamento de Memória

68Pearson Education Sistemas Operacionais Modernos – 2ª Edição

Próximas Datas Importantes

• 22/04/2008 Lab: Processos, Escalonamento, I/O,

Memória e

Aula de revisão

• 24/04/2008 1º Exercício Escolar

• 29/04/2008 Entrega dos projetos