A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Gerenciamento de Disco e de Buffer - Resumo

Apresentações semelhantes


Apresentação em tema: "Gerenciamento de Disco e de Buffer - Resumo"— Transcrição da apresentação:

1 Gerenciamento de Disco e de Buffer - Resumo
RESUMO DA AULA 2 Profa. Sandra de Amo GBC053 – BCC 2012-2

2 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 Bacharelado em Ciência da Computação

3 Considere o seguinte cenário
Processador de Consultas Solicita dados para consulta (leitura) Gerenciador de Buffer Usuário consulta banco de dados SELECT * From EMP WHERE EMP.CPF = 3/25/2017 Bacharelado em Ciência da Computação

4 Bacharelado em Ciência da Computação - 2012
Hipóteses Dados estão armazenados sequencialmente no disco na ordem em que foram inseridos Relação EMP está armazenada em um arquivo de nome EMP. Existe um arquivo no disco onde se armazena, para cada arquivo, o endereço no disco (cilindro, superficie, trilha, bloco) de sua primeira página. 3/25/2017 Bacharelado em Ciência da Computação

5 O que faz o gerenciador de buffer (1)
Verifica se a página 1 do arquivo EMP está no buffer pool e em que frame. Caso positivo: informa ao processador de consultas o frame onde se encontra a página 1. Incrementa pinout deste frame. Caso negativo: precisa encontrar espaço no buffer pool para alocar página 1 3/25/2017 Bacharelado em Ciência da Computação

6 O que faz o gerenciador de buffer (2)
Verifica se existem frames com pinout = 0 Caso positivo: aciona gerenciador de disco Gerenciador de disco posiciona cabeça de leitura sobre a o endereço da primeira página do arquivo EMP (conhecido do gerenciador de buffer) Gerenciador de disco providencia a transferência da página. Gerenciador de buffer vai alocar a página em um frame com pinout = 0 Qual frame será escolhido ? Usa sua politica de substituição (LRU, MRU, random) Verifica o dirty bit deste frame 3/25/2017 Bacharelado em Ciência da Computação

7 O que faz o gerenciador de buffer (3)
Dirty bit = 1: grava a página atual do frame no disco Aloca a nova página no frame Incrementa pinout do frame Retorna o endereço do frame para o processador de consultas Dirty bit = 0: 3/25/2017 Bacharelado em Ciência da Computação

8 O que faz o gerenciador de buffer (4)
Caso negativo: não existe nenhum frame com pinout = 0 Gerenciador de buffer deve esperar até que um frame se libere (pinout = 0) Caso o tempo de espera ultrapasse um certo limite, envia mensagem de erro para o processador de consultas. 3/25/2017 Bacharelado em Ciência da Computação

9 Considere o seguinte cenário
Processador de Consultas Solicita dados para update (escrita) Usuário consulta banco de dados UPDATE EMP SET EMP.NOME = `Carlos Martins’ WHERE EMP.CPF = ` ` Gerenciador de Buffer 3/25/2017 Bacharelado em Ciência da Computação

10 O que faz o gerenciador de buffer
Executa os mesmos procedimentos feitos para o caso da consulta. Após o processador de consultas executar a modificação na página: o dirty bit é atualizado para 1 (caso fosse 0 antes) o dirty bit só é atualizado para 0 quando todas as transações que usam esta página tenham entrado em commit e a página tenha sido gravada em disco. Observação Importante: Antes de uma operação de escrita ou leitura ser executada em uma página o Gerenciador de Transações é acionado. Protocolo de bloqueio é utilizado para dar permissão ao processador de consultas de ler ou modificar a página. 3/25/2017 Bacharelado em Ciência da Computação


Carregar ppt "Gerenciamento de Disco e de Buffer - Resumo"

Apresentações semelhantes


Anúncios Google