Gerenciamento do Disco Gerenciamento do Buffer

Slides:



Advertisements
Apresentações semelhantes
Coerência de Cache em Multiprocessadores
Advertisements

Integridade de Dados em Memórias Cache
Estratégias Pipelined
Sistemas operacionais
Sistemas operacionais
Sistemas operacionais
Técnicas para operações E/S
SISTEMAS DE INFORMAÇÃO
Conhecendo o Disco Rígido ou HD (Hard Disk). O que é HD? O Hd é o dispositivo de armazenamento de dados mais usado nos computadores. Nele, é possível.
Ambientes Operacionais
Gerenciamento de Disco e de Buffer - Resumo
Organização de Arquivos Introdução
Organização de Arquivos Tipos de Indices Cálculo de Custos de I/O
AULA 10 Profa. Sandra de Amo GBC053 – BCC
Gerenciamento de Arquivos, Páginas e Registros
Introdução aos Métodos de Acesso AULA 7 – Parte II Profa. Sandra de Amo GBC053 – BCC
Cap Recuperação Pretende garantir a atomicidade e durabilidade das transações. Atomicidade => É responsabilidade do gerente de recuperação voltar.
Arquitetura de Sistemas Operacionais
Dispositivos de Entrada/Saída
Sumário 1 SQL Embutida 2 Processamento de Consultas
Sistemas Operacionais II - Sistemas de Arquivos -.
Dispositivos de Entrada/Saída Permitem a comunicação homem-máquina Dispositivos de entrada: Teclado, mouse Dispositivos de saída: Monitor de vídeo, impressora.
Componentes Arquitetônicos de um Banco de Dados Oracle
Banco de Dados Oracle AESO.
SSC SISTEMAS OPERACIONAIS I Aula 12 – Gerenciamento de Memória 3
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação SSC541 - SISTEMAS OPERACIONAIS I Aula.
Indexação e Hashing Muitas consultas referenciam apenas uma pequena porção dos registros em uma tabela. Portanto necessitamos ser capaz de localizar estes.
Capítulo 6 Sistemas de Arquivos 6.1 Arquivos 6.2 Diretórios
Debian Gerência de Memória.
Listas Encadeadas.
RECUPERAÇÃO APÓS FALHA
Sistemas Operacionais I
Algoritmos para Operação de Junção Loops Aninhados
Sistemas Operacionais I
Sistemas Operacionais
Arquitectura de Computadores II
Fundamentos da Arquitetura de Computadores
Fundamentos da Arquitetura de Computadores
SISTEMAS OPERACIONAIS
Cálculo de Custos de I/O Heap Files AULA 4 Profa. Sandra de Amo Gerenciamento de Banco de Dados – BCC.
Arquivos Estruturados por Ordenação– Custos I/O AULA 5 Profa. Sandra de Amo GBC053 – BCC.
Indices: Estruturas Auxiliares para Otimizar Acesso aos Dados
Estruturas de Dados com Jogos
Sistemas Operacionais
Montagem e Manutenção de Computador I
Gerência de Memória Virtual
Organização de um computador
SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS Hélder Lima e Silva - hmls
Agenda Memória Secundária Disco Magnético.
Agenda - Aula 03 Introdução (Computador Digital) Memória
Sistemas Operacionais
Capítulo 5 Entrada/Saída 5.1 Princípios do hardware de E/S
Sistemas Operacionais Entrada e Saída – Aula II Prof. Galvez.
Bancos de Dados Estrutura e Funcionamento de um SGBD
Sistemas Operacionais: Sistema de Arquivos
Ch7b-1 Capítulo Sistemas de Memória - Memória Virtual.
Infra-Estrutura de Software
Otimização de Consultas em SQL Comparação: Joins em pipeline versus Joins materializados AULA 26 – Parte I Profa. Sandra de Amo GBC053 – BCC.
DB Buffer Management LEIC-Tagus – TDB 05/06 Bruno Azenha nº
Gerenciamento de Memória - Capítulo 7 - Sistemas Operacionais Prof. Dr. José Carlos Becceneri Luciana Sêda Cardoso.
Memória.
Gerenciamento de Arquivos
Sistemas de Arquivos Sistemas Operacionais Profa. Priscila Facciolli
Sistemas Operacionais IV – Gerenciamento de E/S
Memória Cache.
Memória Virtual.
Sistemas de Arquivos. Alocação em memória – Problemas Quantidade Limitada de Informações Perda de informações quando o processo é terminado Vários processos.
Integridade de Dados em Memórias Cache ARQUITETURAS DE COMPUTADORES II Prof. César Augusto M. Marcon.
Gerenciamento do Disco Gerenciamento do Buffer
Transcrição da apresentação:

Gerenciamento do Disco Gerenciamento do Buffer AULA 2 Profa. Sandra de Amo Gerenciamento de Banco de Dados – BCC

Perguntas a serem respondidas: Como os dados são armazenados no disco Como são trazidos para memória principal Como os dados são encontrados nos arquivos Como a informação é organizada em uma página de dados

Conteúdo da Aula Gerenciador de Disco (Disk manager) Gerenciador de Buffer (Buffer Manager) 3/25/2017 BCC- 2013-1

Hierarquia de Memória Armazenamento Primário : cache e memória principal acesso rápido - opera dados Armazenamento Secundário Discos magnéticos dados acessados com certa frequência Armazenamento Terciário fitas dados que não acessados com frequência

Vantagens e Desvantagens Primários versus Secundários e Terciários ST : dispositivos mais lentos ST : mais baratos ST : grande capacidade de armazenamento ST : não volátil Fitas versus Discos Fita : armazenamento sequencial Fita : acesso mais lento do que o disco 3/25/2017

Estrutura do Disco Braço do disco Cabeça Setor Trilha Bloco Prato Cilindro Rotação Movimento do braço 3/25/2017

Discussão sobre as unidades Setor: menor unidade. Configuração inerente ao disco, de fábrica Bloco = conjunto de setores. Tamanho pode ser configurado quando o disco for inicializado. Uma trilha é composta de um número INTEIRO de setores Um bloco é composto de um número INTEIRO de setores. Um bloco pode ficar parte em uma trilha e parte em outra, mas seu tamanho não pode ultrapassar o tamanho de uma trilha. Exemplo: Setor = 512 bytes Trilha = 50 setores = 50*512 bytes = 25600 bytes Podemos configurar um bloco como sendo igual a 4 setores. Logo: tamanho de um bloco = 2048 bytes Neste caso uma trilha contém 12 blocos e meio = 12*2048 + 1024 bytes = 25600 bytes

EXEMPLOS SIM NÃO ! 1 bloco = 6 setores 1 setor 1 bloco = 5,5 setores 1 trilha = 5,5 blocos 1/2 bloco 1/5 bloco 1 bloco 1 trilha = 5 + 1/5 blocos 1 bloco 1 trilha = 33 setores 3 setores 1 bloco 6/5 setores 1 trilha = 30 + 6/5 blocos

Disco Memória Principal Dados precisam estar na memória principal para serem operados. Unidade de transferência de dados entre disco e memória principal = bloco Se um único item num bloco é necessário, todo o bloco é transferido Ler ou escrever um bloco = operação de I/O Tempo de Acesso = busca + rotação + transferência 3/25/2017

Tempos de Acesso Procura (ou busca) Rotação Transferência Tempo para mover as cabeças dos discos para a trilha na qual um bloco desejado está localizado. Rotação Tempo para que o bloco desejado se posicione sob a cabeça do disco = meia rotação em média; menor do que tempo de busca. Transferência Tempo para ler ou escrever no bloco = tempo de rotação do disco sobre o bloco. 3/25/2017 BCC- 2013-1

Exemplo Disco Seagate Hawk 2XL 2.15GB Tempo de acesso médio = 15msec Tempo médio de procura = 9 msec Tempo máximo de procura = 22msec Tempo de latência rotacional = 5.55 msec Passagem de uma trilha p/ outra = 1 msec 512 bytes por setor, 4569 cilindros, 4 pratos duplos Taxa de transferência = 5 MB/sec Acesso a uma locação de memória < 5microsec 3/25/2017 BCC- 2013-1

Ordem de proximidade em um disco No mesmo bloco Na mesma trilha No mesmo cilindro Em cilindros adjacentes 3/25/2017 BCC- 2013-1

Tamanhos Trilha: Bloco: tamanho é uma caracteristica do disco Não pode ser alterado Bloco: Tamanho pode ser configurado quando o disco é inicializado Deve ser um múltiplo do tamanho de 1 setor 3/25/2017 BCC- 2013-1

Gerenciamento de espaço no disco Unidade de dados = 1 página 1 página = 1 bloco no disco Páginas frequentemente acessadas são armazenadas sequencialmente. Operação de I/O = leitura e escrita de uma página no disco 3/25/2017 BCC- 2013-1

Gerenciador de Espaço em Disco Quais blocos estão em uso ? Que páginas estão em que blocos ? Inserções e supressões de páginas = criação de “buracos”. Páginas são alocadas quando da criação de arquivos. Gerenciamento de espaço livre 1a alternativa Lista de blocos livres. Ponteiro para primeiro bloco livre é estocado num local do disco. 2a alternativa Array de 0 e 1 : se o bloco i está livre ou não 3/25/2017 BCC- 2013-1

Interação Disco e Memória Principal: Esquema Geral Processador de Consultas Solicita dados para consulta (leitura) ou alterações (escritura) Informa modif Gerenciador de Buffer Propaga modif aloca Busca DB 3/25/2017 BCC- 2013-1

Buffer Pool = coleção de páginas Memória Principal Página Frame livre DB Disco 3/25/2017 BCC- 2013-1

Gerenciador de Buffer Testa se dado procurado está no buffer Traz página do disco para a memória Procura frame livre para alocar a página Aciona algoritmo para liberar frame Aloca página É informado se modificação foi feita na página. Caso o frame tiver que ser reutilizado, propaga modificação no disco. 3/25/2017 BCC- 2013-1

Algoritmo de Gerenciamento Frame no pool 3 Dirty bit : página suja ou não Pin-count = número de vezes que a página contida no frame foi solicitada para consultas ou modificações mas não foi liberada ainda. Inicialmente : Dirtybit := 0 Pin-count := 0 3/25/2017 BCC- 2013-1

Algoritmo de Gerenciamento de Buffer Quando o processador de consultas aciona o Buffer Manager para alocar uma página na memória principal: Testa se buffer pool contém a página desejada e incrementa o pin-count do frame onde a página está contida Se não : procura frame com pin-count = 0 Frame com pin-count = 0 : frame está liberado por transações que o utilizavam – nenhuma transação está utilizando a página contida no frame. Caso não encontre frame com pin-count = 0 Espera até que as transações sendo executadas liberem páginas em uso. Caso encontre diversos frames com pin-count = 0: utiliza politica de substituição para escolher qual frame será utilizado. 3/25/2017 BCC- 2013-1

Algoritmo de Gerenciamento de Buffer Uma vez escolhido o frame: Se dirty-bit = 0, escreve página nova no frame. Se dirty-bit = 1: escreve página do frame no disco Escreve nova página no frame Incrementa pin-count do frame (já que alguma transação solicitou a página) Retorna o endereço (em memória principal) do frame contendo a página solicitada para o processador de consulta. A cada vez que uma transação libera um frame o pin-count do frame é decrementado. 3/25/2017 BCC- 2013-1

Políticas de Substituição de Páginas Que frames com pin-count = 0 escolher para substituição ? LRU : Least recently used Lista de ponteiros para frames com pin-count = 0 Ponteiros dos frames são adicionados no fim da lista MRU : Most recently used Ponteiros dos frames são adicionados no início da lista Random 3/25/2017 BCC- 2013-1

Lista de frames livres Frame_livres=[F1,F2,...,Fn] Politica LRU Frames livres são adicionados no final da lista O primeiro frame livre F1 é o que foi liberado menos recentemente. Politica MRU Frames livres são adicionados no inicio da lista O primeiro frame livre F1 é o que foi liberado mais recentemente.

Exemplo : LRU Arquivo Sequencial em DISCO Buffer Pool: 10 frames P1 P2 3 4 5 P6 P7 P8 P9 P10 6 7 8 9 10 Lista de Frames Livres = [ F1, ...., F10] P11 F2 F3 F4 .... F10 F1 F3 F4 .... F10 F1 F2 E assim por diante até a pag. 10 ... F1 F2 .... F10

Exemplo : MRU Arquivo Sequencial em DISCO Buffer Pool: 10 frames P1 P2 3 4 5 P6 P7 P8 P9 P10 6 7 8 9 10 Lista de Frames Livres = [ F1, ...., F10] P11 F1 F2 F3 F4 .... F10 F1 F2 F3 F4 .... F10 E assim por diante até a pag. 10 ...

Gerenciamento de Buffer versus SO SGBD necessita maior controle quando uma página é escrita no disco – problemas de gerenciamento de transações. SGBD pode estabelecer o padrão das páginas solicitadas por consultas SQL. SGBD pode pré-carregar as páginas antes de serem solicitadas Ler páginas em sequência de blocos é mais rápido do que ler as mesmas em diferentes momentos. Leitura de sequências de páginas pode ser feita concorrentemente com cálculos na CPU SGBD requer controle de recuperação de falhas – protocolo WAL. 3/25/2017