Document details

Sistema de ficheiros transaccional sobre FUSE

Author(s): Luís, Nuno Lopes cv logo 1

Date: 2009

Persistent ID: http://hdl.handle.net/10362/3364

Origin: Repositório Institucional da UNL

Subject(s): Sistema transaccional; Sistema de ficheiros; Sistema de ficheiros transaccional; FUSE; Controlo de concorrência


Description
Dissertação apresentada na Faculdade de Ciências e Tecnologia da Universidade Nova de Lisboa para a obtenção do Grau de Mestre em Engenharia Informática Com o surgimento e generalização do uso de microprocessadores com múltiplos núcleos (multi-cores), verifica-se um interesse crescente pela programação concorrente e, em particular, pela programação paralela, tanto pela comunidade académica, como pela indústria de desenvolvimento de software. Contudo, o desenvolvimento de programas concorrentes é difícil, em parte devido à complexidade inerente acrescida destes programas. Os mecanismos de controlo de concorrência que mais frequentemente são usados nos programas concorrentes apresentam um nível de abstracção baixo, sendo portanto de difícil utilização e dando origem a muitos erros de sincronização e controlo de concorrência. O modelo transaccional é utilizado com sucesso no contexto dos sistemas de bases de dados há muitos anos. Estes sistemas permitem que múltiplos clientes acedam à bases de dados em concorrência, garantido que esses acessos beneficiam do conjunto de propriedades ACID (Atomicidade, Consistência, Isolamento e Durabilidade). Estas propriedades das transacções permitem o desenvolvimento de aplicações que, apesar de acederem em concorrência ao repositório de informação, beneficiam de uma semântica essencialmente sequencial, mais previsível e fácil de usar. Os sistemas de bases de dados podem ser usados para guardar grandes quantidades de informação de forma persistente e com suporte para processamento de transacções. No entanto, o acesso a estes sistemas é feito através de uma interface específica que requer software adicional, impondo assim limitações ao seu uso. Por outro lado, os sistemas de ficheiros estão disponíveis em praticamente todos os sistemas computacionais, sendo acessíveis através de uma interface bem definida e normalizada e utilizados com frequência pela maioria das aplicações para guardar os seus dados de forma permanente. No entanto, o controlo de concorrência em sistemas de ficheiros obtémse através de uma interface com baixo nível de abstracção e funcionalmente limitada, difícil de usar a tendencialmente causadora de erros de utilização.Nesta dissertação propõe-se a arquitectura e desenho de um sistema de ficheiros que suporta o modelo transaccional para controlo de concorrência. Descreve-se também uma implementação do sistema de ficheiros proposto sobre o FUSE, uma infraestrutura base para implementação de sistemas de ficheiros. Neste novo sistema de ficheiros transaccional, as transacções podem ser iniciadas pelas aplicações de forma explícita ou implícita. No primeiro caso, o programador indica explicitamente o início e fim de um conjunto de acessos ao sistema de ficheiro que deverão ser tratados como uma transacção (bloco transaccional). No segundo caso, necessário para garantir a compatibilidade com aplicações e sistemas legados, os blocos transaccionais serão delimitados implicitamente pelas operações clássicas de abertura (open) e fecho (close) de ficheiros. O sistema propostos e implementado foi ainda avaliado nas perspectivas de funcionalidade e desempenho. A primeira para garantir que a semântica transaccional estava a ser correctamente suportada e disponibilizada às aplicações. A segunda para melhor permitir avaliar a penalização no desempenho resultante do suporte transaccional no sistema de ficheiros.
Document Type Master Thesis
Language Portuguese
delicious logo  facebook logo  linkedin logo  twitter logo 
degois logo
mendeley logo