Bacharelado em Ciência da Computação – UFU Disciplina GBC053 – Gerência de Banco de Dados Profa. Sandra de Amo Soluções dos Exercícios – AULA 2 1(a) 512* 50 = 25600 bytes = 25,6 Kb 1(b) 25,6 * 2000 = 51.200Kb = 51,2Mb 1(c) 51,2 * 10 = 512Mb 1(d) 2000 1(e) tamanhos válidos de blocos: tem de ser um múltiplo de setor e não pode exceder o tamanho de uma trilha. • 256 bytes não é um tamanho válido de bloco pois corresponde a ½ setor. • 2048 bytes é um tamanho válido de bloco pois corresponde a 4 setores e não ultrapassa o tamanho de uma trilha que é de 25,6Kb • 51.200 bytes não é um tamanho válido de bloco pois ultrapassa o tamanho de uma trilha que é de 25,6Kb • 1(f) latência rotacional máxima = tempo que leva para a cabeça de leitura/gravação se posicionar no inicio do bloco a ser lido/gravado. Logo, o tempo de latência rotacional máxima é igual ao tempo que leva para ser executada uma rotação completa no disco. Temos 5400 rotações em 60 segundos. Logo, 1 rotação é executada em 60/5400 = 1/90 seg = 0,011seg = 11mseg. A latência rotacional média = 11mseg/2 = 5,5 mseg. 1(g) Capacidade de 1 trilha = 25,6Kb. 1 trilha é transferida durante uma rotação do disco = 11mseg Logo, a taxa de transferência é de 25,6Kb por 0,011seg = 25,6/0,011 = 2327Kb por seg. 2(a) 10 registros 2(b) 10.000 blocos. Uma trilha (25,6Kb) contém 25 blocos (= 25600/1024). Quando uma trilha é ocupada, passa-­‐se para a trilha do mesmo cilindro na próxima superfície. 1 cilindro corresponde a 10 trilhas. Logo 250 blocos cabem em 1 cilindro. Precisamos de 10.000/250 cilindros para armazenar o arquivo = 40 cilindros. O arquivo vai ser espalhado nas 10 superfícies do disco, ocupando 40/2000 = 1/50 de cada superfície. 2(c) 1 superfície = 50.000 blocos disco = 10 superficies = 500.000 blocos Pode-­‐se armazenar 10 registros por bloco. Portanto, pode-­‐se armazenar 5 milhões de registros neste arquivo, considerando a restrição que um registro não pode ser espalhado em diversos blocos. 2(d) 1 trilha = 25 blocos. Após a primeira trilha ser ocupada, passa-­‐se imediatamente para a trilha no mesmo cilindro, na próxima superfície. Logo, a página 26 será armazenada no bloco 1 da trilha 1 da próxima superfície. 2(e) O arquivo ocupa 40 cilindros do disco. Tempo de acesso a cada cilindro = 10mseg Tempo de latência médio para encontrar o primeiro bloco do arquivo dentro de uma trilha = 5,5mseg Considerando a taxa de transferência do exercicio 1(g) = 2327Kb por seg temos que um bloco é transferido em 0,44mseg Tempo de transferência de um cilindro = tempo de busca + tempo de latência rotacional média + tempo de transferência de 10 trilhas = 10mseg+ 5,5 mseg + 0,44 * 25 * 10 = 125,5mseg Tempo de transferência de 40 cilindros = 40*125,5mseg = 5020mseg = 5,02 seg 2(f) caso fosse possível ler/gravar dos 10 cabeçotes em paralelo: Tempo de transferência de um cilindro = tempo de busca + tempo de latência rotacional média + tempo de transferência de 1 trilha = 10mseg+5,5mseg+0,44*25 = 26,5mseg Tempo de transferência de 40 cilindros = 40*26,5 = 1060mseg = 1,06 seg 2(g) Este exercício pede o tempo necessário par ler todo o arquivo, incluindo o tempo de CPU utilizado para escanear cada bloco trazido para o buffer pool. Suponha que o tempo de processamento na CPU é de T bytes por segundo. 1 registro = 100 bytes. Logo o tempo de processamento de um registro é de 100T 1 cilindro corresponde a 250 blocos 1 bloco corresponde a 10 registros 1 cilindro corresponde a 2500 registros. Tempo total para buscar, transferir e escanear 1 cilindro de dados = 125,5mseg + 100T*2500 = 125,5mseg + 25000T Por exemplo, supondo que T = 1 microsegundo = 10-­‐3 mseg Tempo total para buscar, transferir e escanear 1 cilindro de dados = 125,5mseg + 25mseg = 150,5mseg Tempo total para buscar, transferir e escanear 40 cilindros de dados = 40*150,5mseg = 6,02 seg 
Download

Solução - Sandra de Amo