Eu estava lendo "O Design do Sistema Operacional UNIX", de Maurice J. Bach, e tive uma confusão.
Suponha que um processo solicite um buffer para o bloco de disco número 18. O kernel procura por um buffer livre da lista livre. Deixe o primeiro buffer (digamos, buffer para o bloco número 5) na lista livre ser marcado como gravação atrasada. (função hash para fila hash = número-bloco-do-disco% 4)
O que o kernel fará daqui em diante?
Pelo que entendi, o kernel irá começar a escrever o buffer com o bloco número 5 no disco, alocar o próximo buffer na lista livre para o processo atual e reatribuí-lo à fila hash correta. O cabeçalho da lista livre será ajustado para apontar para o próximo buffer na lista livre após o que foi alocado recentemente. (assumindo que a lista livre segue o algoritmo usado menos recentemente)
Isso está correto?
Tags kernel