Você deseja começar com o FUSE - tudo o que é necessário é a implementação de chamadas do sistema, como open
e unlink
.
Um tutorial, escrito usando as ligações do Python, está disponível no FUSE Wiki .
Eu preciso desenvolver um sistema de arquivos para Linux para o meu trabalho de diploma.
Qual caminho seguir realmente depende se você quer fazer programação do kernel ou não. Se não, então sua única escolha razoável é o FUSE.
Se você é mais novato e nunca trabalhou no kernel, vale a pena olhar para o FUSE. Se você tiver sólida experiência em programação, especialmente no kernel, escrever um driver real produzirá melhor desempenho e estabilidade. Claro, isso pressupõe que o programador e a experiência não estão na equação. Você poderia sempre escrever um driver FS do kernel, de uma qualidade tão horrível, que uma implementação comparável do FUSE poderia ser melhor.
Se você quiser fazer uma programação real do kernel, especificamente no FS, você pode querer considerar o Linux NTFS. O kernel realmente precisa de um driver NTFS completo de gravação / leitura de alto desempenho / estabilidade. ... Dois pássaros com uma pedra, grande contribuição e tese em um.
Como para qualquer projeto desse tipo: sugiro que você saia com as pessoas fazendo o trabalho do sistema de arquivos, e ajude em algumas das partes existentes do código: é normal que um novo sistema de arquivos leve cerca de 5 anos de desenvolvimento sólido trabalhe com hackers experientes para chegar ao ponto em que pessoas normais ousarão tocá-lo com um poste de 10 pés.
Na verdade, isso pode levar muito tempo, mesmo que você tenha experiência no desenvolvimento de baixo nível, além do conhecimento do kernel. Eu recomendo que você faça parte de qualquer projeto estabelecido e ofereça algumas melhorias. Mesmo isso também pode resultar em um trabalho exigente e reconhecido pela instituição educacional e pela comunidade de desenvolvedores.
Tags development filesystems