- Sistema de Arquivos Adriano da Silva Castro Guilherme Ribeiro Morisson Túlio César Faria Pinto Wallace de Menezes Gerheim Sistemas de Arquivos Baseados em disco: ◦ XFS ◦ JFS ◦ ReiserFS ◦ Ext2 ◦ Ext3 ◦ Ext4 ◦ iso9660 Baseados em rede: ◦ NFS ◦ AFS ◦ SMBfs Especiais ◦ Diretório /proc ◦ Diretório /devfs ◦ Diretório /ramfs XFS Sistema desenvolvido em 64 bits, compatível com sistemas 32 bits. Alocação por extensões em vez de alocação por blocos; Alocação dinâmica de nós-i; Journaling: Registro de transações cuja finalidade é recuperar o sistema em caso de desligamento não programado. JFS Sistema desenvolvido pela IBM ; Journal; Permite que as partições do sistema sejam redimensionadas sem que seja necessário desligar o computador. ReiserFS Primeiro sistema de arquivos com suporte a journaling; Tamanho de blocos variáveis, suporte a arquivos de 1 EiB (260 bytes) de tamanho e o acesso mhash à arvore de diretórios é um pouco mais rápido que o ext3. Ext2 Similar ao FAT32; Cada bloco armazena um arquivo ou parte de um arquivo e existe uma tabela com os endereços de cada arquivo no disco. Ext3 Evolução do Ext2: totalmente compatível; Journaling: iso9660 Norma internacional de armazenamento de dados que faz a descrição da estrutura de arquivos e diretórios de um CD-ROM; /mnt/cdrom; Conteúdo acessado normalmente como qualquer outro arquivo; AFS Nasceu com o intuito de prover compartilhamento de arquivos entre os 7 mil usuários da Carnegie Mellon University (EUA); Unidade básica de tráfego: arquivo inteiro; Callback: Quando um arquivo é aberto, é posto em cache no sistema de arquivos local e o servidor guarda essa informação. Sempre que algum outro cliente alterar o mesmo arquivo, ele é avisado via callback de que o arquivo foi alterado. Toda alteração é checada vi callback. NFS Compartilhamento de arquivos e diretórios entre computadores conectados em rede, formando um diretório virtual; Acesso remoto transparente para o usuário. SMBfs Mapeamento de arquivos e diretórios compartilhados por servidores Windows ou SAMBA em um diretório local. Diretório /proc Pseudo sistema de arquivos que contém informações sobre o sistema e processos que estão sendo executados; /proc/kcore – arquivo que contém uma cópia do conteúdo da memória do computador. Diretório /devfs Oferece espaço ao kernel para os dados referentes aos nomes de dispositivos, no sistema de arquivos global; Ao invés de ter que criar e modificar os nós de dispositivos, devfs mantém este sistema de arquivos particular. Diretório /ramfs Mantém todos os arquivos na RAM; Permite acesso de leitura e escrita. Ext4 O Ext4 apresenta inúmeros novos aprimoramentos quanto a desempenho, escalabilidade e confiabilidade. Foi implementado por uma equipe de desenvolvedores, liderados por Theodore Tso (responsável pela manutenção do ext3) e introduzido no kernel 2.6.19. Porém, ele vinha marcado como alpha. Ext4 Encontra-se agora estável no kernel 2.6.28 (desde dezembro de 2008). É possível montar um sistema de arquivos ext4 como ext3. No sistema ext3 o numero máximo de sub-diretórios (pastas) era de 32000. No ext4 esse numero foi duplicado, ou seja, agora é de 64000. Ext4 No Ext3 ◦ uma partição de, no máximo, 32 TB (terabytes) e manipular arquivos de até 2 TB de tamanho. No Ext4 ◦ partições de no máximo1024 PB (petabytes) ou 1EB (exabyte) e 16TB por arquivo. Ext4 O Ext4 implementa a verificação de checksum do journal já que o mesmo é muito utilizado e corre sempre riscos de acabar corrompido. Melhorias na pré-alocação: O ext4 vai permitir pré-alocação de arquivos sem marcar de zeros no Inode de arquivos, o que vai garantir uma melhoria na performance,. Ext4 O ext4 marca os grupos de blocos não utilizados na tabela do Inode, permitindo que o processo fsck ignore-os totalmente, para aumentar a velocidade do processo de verificação. Ext4 Alocação com atraso: essa otimização no desempenho atrasa a alocação dos blocos físicos no disco até que eles sejam sincronizados nele. Isso gera uma menor utilização da CPU e conseqüentemente um ganho de velocidade no sistema. ◦ Atrasando a alocação dos blocos físicos até que estes precisem ser gravados no disco, mais blocos são apresentados para alocar e gravar nos blocos adjacentes. Organização de Diretórios Arquivos organizados em diretórios; Grande árvore; Raiz em /. mount anexa o sistema de arquivos encontrado em um dispositivo à árvore. Arquivos e diretórios podem ter o tamanho de até 255 caracteres. Organização de Diretórios Case-sensitive; Nomes de arquivo e diretório podem conter quaisquer caracteres exceto ‘/’. Cada arquivo ou diretório é designado por um nome de arquivo totalmente qualificado, nome de arquivo absoluto, ou um caminho. Estrutura i-node. Curingas "*" – nome completo/restante; "?" – letra na posição; [padrão] – faixa de caracteres, por exemplo: ◦ [a-z][0-9]; ◦ [a,z][1,0]. {padrões} – strings para pesquisa de padrões de um arquivo/diretório, por exemplo: ◦ X{ab,01} - Faz referência a seqüencia de caracteres Xab ou X01 Permissões de acesso Categorias: • Usuário • Grupo • Outros Usuários Ações: ◦ Ler ◦ Escrever ◦ Executar Arquivo: ◦ Ler: Examinar o conteúdo ◦ Escrever: Modificar ◦ Executar: Executar com comando Diretório ◦ Ler: Listar conteúdo ◦ Escrever: Adicionar ou remover arquivos ◦ Executar: Acessar arquivos Tipos de Arquivos -: arquivo normal d: diretório l: ligação simbólica c: nó de dispositivo caracter b: nó de dispositivo bloco p: pipe nomeada s: soquete Outras Informações Permissões Número de links diretos Usuário Grupo Tamanho Data e Hora Nome -rw-r--r-- 1 root root 1051 Jan 26 08:29 /etc/passwd crw-rw---- 1 root dip 108, 0 Jan 18 13:32 /dev/ppp Permissões especiais s ◦ Dono: ajusta a identificação efetiva do usuário do processo durante a execução de um programa (setuid). ◦ Grupo: ajusta a identificação efetiva do grupo do processo durante a execução de um programa (setgid). S ◦ Significa que não existe a permissão "x“ naquele diretório. t ◦ Salva a imagem do texto do programa no dispositivo swap. T ◦ Significa que não existe a permissão "x" naquele diretório. X ◦ a permissão de execução somente é afetada se o arquivo já tiver permissões de execução Alguns comandos para manipulação de arquivos cat : mostra o conteúdo de um arquivo binário ou texto tac : semelhante ao cat mas inverte a ordem tail: mostra as últimas 10 linhas de um arquivo (util para ler logs) head : mostra as primeiras 10 linhas de um arquivo less : mostra o conteúdo de um arquivo de texto com controle rm : remoção de arquivos (também remove diretórios) mv : move ou renomeia arquivos e diretórios chmod altera as permissões de arquivos ou diretórios chown altera o dono de arquivos ou diretórios Referências http://www.vivaolinux.com.br/artigo/Sistemas-de-arquivos-EXT3-eReiserFS-no-GNU-Linux?pagina=2 http://www.infowester.com/linext3.php http://linuxgazette.net/102/piszcz.html http://www.debian.org/doc/manuals/reference/ch-tutorial.ptbr.html#s-file-system http://focalinux.cipsga.org.br/guia/inic_interm/index.html http://www.ibm.com/developerworks/br/library/l-anatomyext4/index.html