O Problema: Baixo Desempenho do Sistema de Arquivos Antigo

Havia, inicialmente, uma falta de consciência acerca do disco: (i) Inodes e blocos de dados ficavam muito disntantes um do outro, tornando o acesso lento; (ii) O bloco em si era consideravelmente pequeno (512 bytes), o que tornava a transferência de dados consideravelmente pequena.

A Solução do FFS (fast file system): Consciência do Disco e Localidade

A inovação crítica é que cada grupo de blocos é como um mini sistema de arquivos autocontido. Ele possui:

  • Uma cópia do superbloco (para redundância e recuperação de falhas).

  • Bitmaps de alocação para os inodes e blocos de dados daquele grupo. Os bitmaps facilitam a localização de grandes porções contíguas de espaço livre, ajudando a evitar a fragmentação.

  • Uma região para inodes e uma região para blocos de dados.

Politicas

Política para Diretórios: Um novo diretório é colocado em um grupo de blocos que tenha um número baixo de diretórios já alocados e um número alto de inodes livres.

Política para Arquivos: (i) Os blocos de dados de um arquivo são alocados no mesmo grupo de blocos de seu inode. Isso resolve o problema de inodes ficarem longe de seus dados. (ii) Arquivos que estão no mesmo diretório são colocados no mesmo grupo de blocos do diretório.

Arquivos grandes: para arquivos grandes, um bloco pode não ser o bastante. O arquivo é, então, fragmentado em chunks, no qual os primeiros ficam no mesmo grupo de blocos do inode e os outros são apontados pelo inode e ficam em outros de preferência próximos e pouco utilizados.