Capítulo 4 Gerenciamento de Memória



Documentos relacionados
Capítulo 4 Gerenciamento de Memória

Memória - Gerenciamento. Sistemas Operacionais - Professor Machado

Capítulo 4 Gerenciamento de Memória

Gerenciamento de memória

Capítulo 3 Gerenciamento de memória

Gerenciamento de memória. Carlos Eduardo de Carvalho Dantas

Sistemas Operacionais

Sistemas Operacionais

FACENS Engenharia Mecatrônica Sistemas de Computação Professor Machado. Memória Armazenamento Sistema de Arquivos

Gerência de Memória. Paginação

Gerenciamento de memória

Capítulo 4 Gestão da memoria

Gerenciamento Básico B de Memória Aula 07

4) Abaixo está representado o nó_i do arquivo SO.txt em um sistema UNIX.

Sistemas Operacionais Arquivos. Carlos Ferraz Jorge Cavalcanti Fonsêca

Arquitetura e Organização de Computadores

Memória cache. Prof. Francisco Adelton

Simulação do Processo de Substituição de Páginas em Gerência de Memória Virtual

AULA 13 - Gerência de Memória

Arquitetura e Organização de Computadores

SOP - TADS Sistemas de Arquivos Cap 4 Tanenmbaum

Sistemas de Arquivos. André Luiz da Costa Carvalho

Sistemas Operacionais. Prof. André Y. Kusumoto

Exercícios de revisão V2. FAT: 300 GB / 2KB = 150MB X 8 bytes (64 bits / 8) = 1.2GB

Organização e Arquitetura de Computadores

Sistemas Operativos. Gestão de memória. Rui Maranhão

Programação de Sistemas

AULA 16 - Sistema de Arquivos

Capítulo 6. Gerenciamento de Arquivos. 6.1 Arquivos 6.2 Diretórios 6.3 Implementação (6.3.1 a 6.3.6) 6.4 Exemplos

Arquitetura de Sistemas Operacionais

Infraestrutura de Hardware. Memória Virtual

Introdução à Computação: Sistemas de Computação

Memória Virtual. Prof. Dr. José Luís Zem Prof. Dr. Renato Kraide Soffner Prof. Ms. Rossano Pablo Pinto

Gerência do Sistema de Arquivos. Adão de Melo Neto

Gerência do Processador

implementação Nuno Ferreira Neves Faculdade de Ciências de Universidade de Lisboa Fernando Ramos, Nuno Neves, Sistemas Operativos,

BC Sistemas Operacionais Sistema de Arquivos (aula 10 Parte 2) Prof. Marcelo Z. do Nascimento

Sistemas Operacionais

Concurso Público para provimento de cargo efetivo de Docentes. Edital 20/2015 CIÊNCIA DA COMPUTAÇÃO I Campus Rio Pomba

Introdução. Uso do disco Vantagens Desvantagens Baixo custo, facilidade de manutenção do software e do hardware, simetria e flexibilidade

MODELAGEM E SIMULAÇÃO

O mecanismo de alocação da CPU para execução de processos constitui a base dos sistemas operacionais multiprogramados.

Sistemas Operacionais

Laboratório de Hardware

Arquitetura de Computadores. Sistemas Operacionais IV

Tudo o que você precisa saber sobre cartões de memória

Sistemas Operacionais Arquivos

Sistemas de Arquivos NTFS, FAT16, FAT32, EXT2 e EXT3

Todos os microprocessadores hoje disponíveis em micros compatíveis com PC utilizam o funcionamento do como ponto de partida.

Capítulo 4 Gerência do Processador. O que sabemos é uma gota, o que ignoramos é um oceano. Isaac Newton

Introdução à Sistemas Operacionais. Glauber Magalhães Pires

Capítulo 4 Gerenciamento de Memória

Montagem e Manutenção. Luís Guilherme A. Pontes

Arquitetura de Computadores II

Prof. Antonio Fundamentos de Sistemas Operacionais UNIP/2015

ARQUITETURA DE COMPUTADORES

Capítulo 11: Implementação de Sistemas de Arquivos. Operating System Concepts 8 th Edition

Sistema de Memórias de Computadores

Algoritmos DCC 119. Introdução e Conceitos Básicos

ARQUITETURA DE COMPUTADORES II

Tecnologias de Construção de Memórias e Memórias RAM, entrelaçada e Virtual

Sistemas Operacionais

Unidade 5: Sistemas de Representação

Nível da Arquitetura do Conjunto das Instruções

Disciplina: Sistemas Operacionais - CAFW-UFSM Professor: Roberto Franciscatto

Integração de livros fiscais com o Microsoft Dynamics AX 2009

Trabalho 7 Fila de prioridade usando heap para simulação de atendimento

Sistemas Operacionais Gerenciamento de Memória. Carlos Ferraz Jorge Cavalcanti Fonsêca

Capítulo 4 Gerenciamento de Memória

Tópicos Avançados em Banco de Dados Gerenciamento de Transações em Banco de Dados. Prof. Hugo Souza

Problema: Solução: Vantagens da estruturação em Níveis: Introdução INTRODUÇÃO À ARQUITETURA DE COMPUTADORES. Introdução

Gerenciamento de Memória

Computador Digital Circuitos de um computador (Hardware)

11- Tornar transparente para o processador os detalhes de operação e controle dos dispositivos periféricos.

Filas: conceitos e implementações

Fundamentos de Sistemas Operacionais

Filas. A ordem de saída corresponde diretamente à ordem de entrada dos elementos. Fila de caixa bancário

Conceitos Básicos de Rede. Um manual para empresas com até 75 computadores

Gestão de Memória. DCC/FCUP Fernando Silva Sistemas de Operação 1

Gerência de Processador

Paralelismo a Nível de Instrução

Processos. Estruturas de Controle

Algoritmos e Programação Parte Teórica

SISTEMAS OPERACIONAIS

Estrutura Interna do KernelUNIX Sistema O. Estrutura Interna de Arquivos (1) Estrutura Seqüência. User application. Standard Unix libraries

Metadados. 1. Introdução. 2. O que são Metadados? 3. O Valor dos Metadados

Gerenciando a memória

- UNIVERSIDADE DO VALE DO RIO DOS SINOS CIÊNCIAS EXATAS E TECNOLÓGICAS Curso: Informática / Ciência da Computação

Sistemas Operacionais

Módulo 12 Gerenciamento Financeiro para Serviços de TI

Banco de Dados I Módulo V: Indexação em Banco de Dados. (Aulas 1, 2 e 3) Clodis Boscarioli

Simulado Banco de Dados I Bimestre 1 Capítulo 1 Projeto Lógico de Banco de Dados

agility made possible

Memória Cache. Prof. Leonardo Barreto Campos 1

Os textos nestas caixas foram adicionados pelo Prof. Joubert

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES SISTEMAS OPERACIONAIS: GERENCIAMENTO DE PROCESSOS E DE MEMÓRIA

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

Transcrição:

Capítulo 4 Gerenciamento de Memória 4.1 Gerenciamento básico de memória 4.2 Troca de processos 4.3 Memória virtual 4.4 Algoritmos de substituição de páginas 4.5 Modelagem de algoritmos de substituição de páginas 4.6 Questões de projeto para sistemas de paginação 4.7 Questões de implementação 4.8 Segmentação Pearson Education Sistemas Operacionais Modernos 2ª Edição 1

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 Pearson Education Sistemas Operacionais Modernos 2ª Edição 2

Gerenciamento Básico de Memória Monoprogramação sem Troca de Processos ou Paginação Três maneiras simples de organizar a memória - um sistema operacional e um processo de usuário Pearson Education Sistemas Operacionais Modernos 2ª Edição 3

Multiprogramação com Partições Fixas Partições fixas de memória a) filas de entrada separadas para cada partição b) fila única de entrada Pearson Education Sistemas Operacionais Modernos 2ª Edição 4

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 maior que o valor limite indicam erro Pearson Education Sistemas Operacionais Modernos 2ª Edição 5

Registrador-base e limite Utilizados em versões simples da realocação dinâmica Limitam o endereçamento de um processo Desvantagem Necessidade de executar uma adição e uma comparação e, cada referência a memória. Pearson Education Sistemas Operacionais Modernos 2ª Edição

Troca de memória Quantidade de RAM p/ todos os processos > memória pode comportar Solução: Swapping Memória virtual Alocação e desalocação de processos criam buracos na memória Podem ser combinados com a compactação de memória Não usada em virtude do tempo de processamento gasto Tamanho do espaço de locação Se processo possui tamanho fixo = alocação exata Se processo possui tamanho variável = alocação extra é uma boa idéia. Pearson 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 Pearson Education Sistemas Operacionais Modernos 2ª Edição 8

Troca de Processos (2) a) Alocação de espaço para uma área de dados em expansão b) Alocação de espaço para uma pilha e uma área de dados, ambos em expansão Pearson Education Sistemas Operacionais Modernos 2ª Edição 9

Gerenciando a Memória Livre Mapa de bits Tamanho da unidade de locação é inversamente proporcional ao tamanho do mapa de bits Unidade grande = muita memória desperdiçada Simples Problema para encontrar sequência de bits livres (busca muito lenta) Lista encadeada Lista com posições de memória livre e ocupada Pearson Education Sistemas Operacionais Modernos 2ª Edição

Gerenciamento de Memória com Mapas de Bits Pearson Education Sistemas Operacionais Modernos 2ª Edição 11

Gerenciamento de Memória com Listas Encadeadas Quatro combinações de vizinhança para o processo X em término de execução Pearson Education Sistemas Operacionais Modernos 2ª Edição 12

Lista Encadeada Algoritmos de busca usados: First fit (primeiro encaixe) Next fit (próximo encaixe) Best fit (melhor encaixe) Mais lento Desperdiça mais memória Worst fit (pior encaixe) Pesquisas mostram não ser uma boa idéia Todos os 4 poderiam ser + rápidos se houvessem listas separadas Quick fit (encaixe mais rápido) Mantém listas separadas p/ alguns tamanhos de memória mais solicitados. Pearson Education Sistemas Operacionais Modernos 2ª Edição

Exercícios 1. Como funciona o esquema de multiprogramação com partições fixas. Por que ele apresenta um sério problema quando trabalha-se com filas de entradas separadas. 2. Pra que servem os registradores base e limite? 3. Qual a principal diferença entre o modelo de multiprogramação com partições fixas e o modelo de multiprogramação com troca de processos. 4. Qual a principal desvantagem do gerenciamento de memória com mapa de bits? 5. Diferencie os algoritmos first fit e next fit. 6. O algoritmo best fit sempre busca o melhor espaço livre que suporte a alocação do processo. Por esta razão é um dos algoritmos que melhor aproveita os espaços de endereçamento. Verdadeiro ou Falso. Justifique. 7. Quais as dificuldades de se trabalhar com listas de unidades de memória livres e ocupadas separadas? Pearson Education Sistemas Operacionais Modernos 2ª Edição

Memória virtual - paginação Tamanho dos softwares aumenta mais rápido que o tamanho das memórias 1960 Divisão manual e sujeita a erros, de programas em módulos chamados módulos de sobreposição Espaço de endereçamento dividido em blocos (páginas) MMU Mapeia endereços virtuais em endereços físicos Transferências de páginas completas Pearson Education Sistemas Operacionais Modernos 2ª Edição

Memória virtual - paginação Pearson Education Sistemas Operacionais Modernos 2ª Edição

Memória virtual - paginação Bit presente/ausente X na figura Falta de página Pearson Education Sistemas Operacionais Modernos 2ª Edição

Memória Virtual Tabela de páginas Pearson Education Sistemas Operacionais Modernos 2ª Edição

Estrutura de uma entrada de uma tabela de páginas Pearson Education Sistemas Operacionais Modernos 2ª Edição

Acelerando a paginação Problemas na implementação da paginação: O mapeamento do endereço virtual para o endereço físico deve ser rápido. Se o espaço virtual for grande, a tabela de páginas será grande. Pearson Education Sistemas Operacionais Modernos 2ª Edição

Buffers para Tradução de Endereços - TLB Mapeia endereços físicos sem passar pela tabela de páginas Apenas endereços mais usados Page miss (ausência de página) Page hit (presença de página) Pearson Education Sistemas Operacionais Modernos 2ª Edição

Gerenciamento da TLB por software TLB feita pelo SO e não por hardware TLB grande = eficiência da TLB por software aceitável, com MMU simples com maior área no CPU p/ outros recursos Estratégias p/ melhorar o desempenho SO usa intuição para descobrir páginas usadas e antecipar carregamento. Ausência na TLB Soft miss (ausência leve) Hard miss (ausência completa) Pearson Education Sistemas Operacionais Modernos 2ª Edição

Tabelas de páginas multinível Pode possuir 3, 4 ou mais níveis Mais níveis = maior flexibilidade Duvidoso se complexidade de hardware > que 3 níveis seja vantajosa. Pearson Education Sistemas Operacionais Modernos 2ª Edição

Tabelas de páginas invertidas Pearson Education Sistemas Operacionais Modernos 2ª Edição

Exercícios 1. O que são páginas em SO? E molduras de páginas? 2. O que é falta de página? 3. Qual a função da TLB? 4. Diferencie soft miss e hard miss. 5. Qual a função de uma tabela de páginas. 6. Como funciona a tabela de páginas multinível? 7. Como funciona a tabela de páginas invertida? Qual sua principal desvantagem? Pearson Education Sistemas Operacionais Modernos 2ª Edição

Memória Virtual Paginação (1) Localização e função da MMU Pearson Education Sistemas Operacionais Modernos 2ª Edição 26

Memória Virtual Paginação (2) A relação entre endereços virtuais e endereços físicos de memória dada pela tabela de páginas Pearson Education Sistemas Operacionais Modernos 2ª Edição 27

Tabelas de Páginas (1) Operação interna de uma MMU com 16 páginas de 4KB26 Pearson Education Sistemas Operacionais Modernos 2ª Edição 28

Tabelas de Páginas(2) a) Endereço de 32 bits com 2 campos para endereçamento de tabelas de páginas b) Tabelas de páginas com 2 níveis Pearson Education Sistemas Operacionais Modernos 2ª Edição 29

Tabelas de Páginas(3) Entrada típica de uma tabela de páginas Pearson Education Sistemas Operacionais Modernos 2ª Edição 30

Memória Associativa ou TLB TLB para acelerar a paginação Pearson Education Sistemas Operacionais Modernos 2ª Edição 31

Tabelas de Páginas Invertidas Comparação de uma tabela de páginas tradicional com uma tabela de páginas invertidas Pearson Education Sistemas Operacionais Modernos 2ª Edição 32

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 Pearson Education Sistemas Operacionais Modernos 2ª Edição 33

O Algoritmo de Substituição de Página Ótimo Substitui a página necessária o mais a frente possível ótimo mas não realizável Estimada através de... registro do uso da página em execuções anteriores do processo... apesar disto ser impraticável Pearson Education Sistemas Operacionais Modernos 2ª Edição 34

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 Pearson Education Sistemas Operacionais Modernos 2ª Edição 35

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 Pearson Education Sistemas Operacionais Modernos 2ª Edição 36

Algoritmo de Substituição de Página Segunda Chance (SC) Operação do algoritmo segunda chance a) lista de páginas em ordem FIFO b) 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) Pearson Education Sistemas Operacionais Modernos 2ª Edição 37

Algoritmo de Substituição de Página Relógio Pearson Education Sistemas Operacionais Modernos 2ª Edição 38

Menos Recentemente Usada (MRU)35 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 Pearson Education Sistemas Operacionais Modernos 2ª Edição 39

Simulação do MRU em Software (1) MRU usando uma matriz páginas referenciadas na ordem 0,1,2,3,2,1,0,3,2,3 Pearson Education Sistemas Operacionais Modernos 2ª Edição 40

Simulação do MRU em Software (2) O algoritmo do envelhecimento (aging) simula o MRU em software Note 6 páginas para 5 tiques de relógio, (a) (e) Pearson Education Sistemas Operacionais Modernos 2ª Edição 41

O Algoritmo de Substituição de Página do Conjunto de Trabalho Paginação pura paginação por demanda Maioria processos apresentam localidade de referência Pequena parte das páginas é referenciada a cada instante Conjunto de trabalho conjunto atual de páginas Modelo de conjunto de trabalho ou pré-paginação tenta assegurar que as páginas estejam presentes na memória antes do processo ser executado. Pearson Education Sistemas Operacionais Modernos 2ª Edição 42

O Algoritmo de Substituição de Página do Conjunto de Trabalho O algoritmo do conjunto de trabalho Pearson Education Sistemas Operacionais Modernos 2ª Edição 43

O Algoritmo de Substituição de Página WSClock Melhoramento do Conjunto de trabalho, baseado no relógio Amplamente utilizado Pearson Education Sistemas Operacionais Modernos 2ª Edição 44

O Algoritmo de Substituição de Página WSClock Operação do Algoritmo WSClock Pearson Education Sistemas Operacionais Modernos 2ª Edição 45

Revisão dos Algoritmos de Substituição de Página Pearson Education Sistemas Operacionais Modernos 2ª Edição 46

Segmentação Em alguns casos ter 2 ou mais espaços de endereçamento separados é melhor do que ter apenas 1 Exemplo: Um compilador tem muitas tabelas que são construídas conforme a compilação ocorre, possivelmente incluindo: O código-fonte sendo salvo para impressão (em sistema em lotes). A tabela de símbolos os nomes e atributos das variáveis. A tabela com todas as constantes usadas, inteiras e em ponto flutuante. A árvore sintática, a análise sintática do programa. A pilha usada pelas chamadas de rotina dentro do compilador. Pearson Education Sistemas Operacionais Modernos 2ª Edição

Segmentação Em um endereçamento único, podemos chegar em uma situação onde haverá entradas livres para determinada tabela e espaço esgotado para outros. Pearson Education Sistemas Operacionais Modernos 2ª Edição

Segmentação Outra possibilidade é trabalhar com segmentos independentes onde o conteúdo do segmento poderá crescer sem encontrar nada em seu espaço de endereçamento capaz de impedir seu crescimento. Pearson Education Sistemas Operacionais Modernos 2ª Edição

Segmentação Comparação entre paginação e segmentação Pearson Education Sistemas Operacionais Modernos 2ª Edição 50

Implementação de Segmentação Pura (a)-(d) Desenvolvimento de fragmentação externa (e) Remoção da fragmentação via compactação Pearson Education Sistemas Operacionais Modernos 2ª Edição 51

Segmentação com Paginação: MULTICS (1) a) Descritores de segmentos apontam para tabelas de páginas b) Descritor de segmento números indicam tamanhos dos campos Pearson Education Sistemas Operacionais Modernos 2ª Edição 52

Segmentação com Paginação: MULTICS (2) Um endereço virtual de 34 bits no MULTICS Pearson Education Sistemas Operacionais Modernos 2ª Edição 53

Segmentação com Paginação: MULTICS (3) Conversão de um endereço MULTICS de duas partes em um endereço da memória principal Pearson Education Sistemas Operacionais Modernos 2ª Edição 54

Segmentação com Paginação: MULTICS (4) Versão simplificada da TLB do MULTICS Existência de dois tamanhos de páginas torna a TLB real mais complicada Pearson Education Sistemas Operacionais Modernos 2ª Edição 55

Exercícios 1. Explique o funcionamento do algoritmo de substituição de página de conjunto de trabalho. 2. Qual a vantagem de existir a segmentação? 3. Como funciona o endereçamento na segmentação. 4. Na sua opinião, quem é melhor: segmentação pura ou paginação Pearson Education Sistemas Operacionais Modernos 2ª Edição