Flexibilidade em um sistema de arquivos componentizado - Soares, Livio Baldini (2004)
O sistema operacional tem como responsabilidade gerenciar de forma eficiente recursos disponíveis no sistema computacional para satisfazer da melhor forma possível as necessidades das aplicações. Nesse contexto, a construção de sistemas de arquivos é uma áreabastante rica em estudo dado o impacto que a manipulação de arquivos exerce no desempenho de uma larga gama de aplicações. A implementação de sistemas de arquivos sofre em complexidade pela necessidade de integração de serviços específicos de arquivamento como criptografia, compressão, replicação e distribuição. As dificuldades em oferecer de forma eficiente serviços de arquivos se tornam ainda mais nítidas em cenários em que as aplicações apresentam necessidades ou comportamentos distintos ou mesmo conflitantes. Este projeto de pesquisa investiga uma solução para esses dois problemas essenciais em serviços de arquivos - evolução e customizabilidade. Propomos o uso de flexibilidade com granularidade fina como base de uma arquitetura de sistemas de arquivos. Este trabalho apresenta o estudo, desenvolvimento e implementação do sistema de arquivos K42 File System (KFS), disponível para os sistemas operacionais K42 e Linux. O KFS usa uma arquitetura baseada em componentes extremamente simples e leve para obter a flexibilidade com granularidade fina. Com essa arquitetura flexível, é possível implementar qualquer arquivo ou diretório do sistema de arquivos como uma composição de componentes distintas. Demonstramos que a arquitetura flexível do KFS é importante e viável para além de apoiar diversas classes de aplicações atuais, possibilitar a inclusão incremental de funcionalidades para as classes de aplicações ainda desconhecidas. Descrevemos duas iniciativas no uso da flexibilidade de nossa arquitetura.