[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

RE: Jbase



 > 	Professor, na classe BufferManager eu vou ter uma tabela de
 > hashing, uma lista com os frames desocupados e uma lista duplamente ligada
 > com paginas candidatas a substituicao. Mas algumas coisas eu nao
 > entendi:

Como mais gente pode ter as mesmas dúvidas, estou respondendo para a
lista toda.

 > 	- A tabela de hashing so contera os frames que estao no
 > bufferPool? E se eu substituir uma das paginas do pool, ela deve ser
 > removida da tabela? 	

Sim para as duas perguntas. No caso da substituição de página, a página
que sai do pool sai da tabela e a que entra no pool entra na tabela.

 > 	- Qual a diferenca entre as paginas candidatas a substituicao e
 > aos frames desocupados? (ambos nao tem pinCount igual a zero?)

Os frames desocupados não contém páginas. Para esses frames o pinCount
não tem significado (o valor do pinCount pode ser um lixo qualquer).

O pinCount só faz sentido para os frames que contém páginas. Ele indica
quantos "alfinetes" estão prendendo a página ao frame. As páginas
candidadas a substituição são aquelas que estão no bufferPool e tem
pinCount igual a zero. 

Note no caso de um frame desocupado não é preciso fazer
"substituição". É só ocupá-lo (ler uma página do disco para o frame) e
pronto! No caso de uma substituição voce pode ter que gravar em disco
a página que está no frame antes de substituí-la por outra.

 > 	- No inicio, todos os frames devem ser incluidos na lista de
 > desocupados? 

Sim.

 > 	- Ao achar uma pagina por hashing, como vou saber qual o indice i
 > do bufferPool em que a pagina se encontra?

No enunciado eu sugeri uma tabela de hash associando page ids a frames
(objetos Page). Com uma tabela assim você não precisa saber o índice de
um frame no bufferPool. Você obtém da tabela uma referência para um
objeto Page e o utiliza sem saber qual o seu índice no bufferPool. 

 > 	Mais uma coisa, a data de entrega sera adiada? (sim)

Não sei... Espero que não seja preciso.

Reverbel