paulo1205
(usa Ubuntu)
Enviado em 23/03/2018 - 17:39h
Você vai criar seu próprio formato de sistema de arquivos, ou vai implementar um formato já existente?
No caso de sistemas de arquivos tradicionalmente usados com UNIX, cada arquivo é associado a um inode, e cada inode tem um número finito de slots que apontam para os primeiros blocos de dados do arquivo, um ponteiro para blocos indiretos (esse bloco contém um número finito de ponteiros para os próximos blocos de dados), e um ponteiro para blocos duplamente indiretos (blocos que contém ponteiros para blocos indiretos). Algumas versões de sistema de arquivos contam ainda com blocos triplamente indiretos.
Qualquer bloco do disco pode funcionar como bloco direto, bloco indireto ou bloco duplamente/triplamente/...mente indexado. Os blocos vão sendo alocados ou liberados de acordo com a disponibilidade de blocos no disco e a necessidade de cada arquivo, a fim de acomodar seu crescimento (ou truncamento!). Para saber quais blocos estão livres para alocação, o sistema utiliza um bitmap, com um bit para cada bloco contido no disco a indicar se tal bloco está em uso ou não.
Esse lay-out é relativamente simples e flexível, mas tem algumas desvantagens, tais como tamanhos e quantidades fixos de inodes e blocos, os quais são definidos em tempo de formatação.
Se você vai fazer algo parecido no seu sistema de arquivos, é você quem tem de dizer.