Sistemas de Arquivos
Operação de Computadores e Sistemas Operacionais - Turma 12
O que é um sistema de Arquivos?
Um sistema de arquivos é um conjunto de estruturas lógicas e de rotinas que permite ao sistema operacional o acesso ao disco rígido. Diferentes sistemas operacionais utilizam diferentes sistemas de arquivos.
O sistema de arquivos é a parte do sistema operacional mais visível para o usuário, permitindo que o usuário possa manipular os arquivos.
Dados são armazenados em forma de arquivo e a maneira com que os arquivos são armazenados e manipulados dentro de um disco varia de acordo com o sistema operacional.Na maioria das vezes, o disco é dividido em pequenas porções chamadas setores.
O que é um sistema de Arquivos?
- Atributos
Além do nome, cada arquivo possui uma série de outros atributos que são mantidos pelo sistema operacional.
Os mais usuais são:
Tipo do conteúdo, tamanho, data e hora do último acesso,data e hora da última alteração,identificação do usuário que criou o arquivo, lista de usuários que podem acessar o arquivo.
Sistema de arquivos FAT
FAT é a sigla para File Allocation Table (traduzindo: Tabela de Alocação de Arquivos). A primeira versão do FAT surgiu em 1977, para trabalhar com o sistema operacional MS-DOS, mas foi padrão até o Windows 95.
Trata-se de um sistema de arquivos que funciona com base em uma espécie de tabela que indica onde estão os dados de cada arquivo. Esse esquema é necessário porque o espaço destinado ao armazenamento é dividido em blocos, e cada arquivo gravado pode ocupar vários destes, mas não necessariamente de maneira sequencial: os blocos podem estar em várias posições diferentes. Assim, a tabela acaba atuando como um "guia" para localizá-los.
Com o surgimento de dispositivos de armazenamento mais sofisticados e com maior capacidade, o sistema FAT foi ganhando revisões, as mais conhecidas são FAT16 e FAT32.
Diferenças entre FAT 16 e FAT 32
O FAT16 utiliza 16 bits para endereçamento dos dados (daí o número 16 na sigla), o que, na prática, significa que o sistema de arquivos pode trabalhar com até 65536 clusters, no máximo. Para chegar a este número, basta fazer 2 elevado a 16 (65536).
Se temos então até 65536 clusters e cada um pode ter até 32 KB de tamanho, significa que o sistema FAT16 é capaz de trabalhar com discos ou partições com até 2 GB: 65536 x 32 = 2.097.152 KB, que corresponde a 2 GB.
O sistema de arquivos FAT32 consegue solucionar esse problema por utilizar 32 bits no endereçamento de dados (novamente, aqui você pode perceber o porquê do número na sigla).
No FAT16, quanto maior o espaço em disco (considerando o limite de até 2 GB, é claro), maior o tamanho do cluster. Com o FAT32, é possível usar clusters menores - geralmente de 4 KB - mesmo
Diferenças entre FAT 16 e FAT 32
com a unidade oferecendo maior capacidade de armazenamento. Desta forma, o desperdício acaba sendo menor.
O limite do FAT32 é de 2 TB (terabytes). Perceba, no entanto, que se você fizer o cálculo anterior considerando 32 em vez de 16 (2 elevado a 32) e, posteriormente, multiplicar o resultado pelo tamanho máximo do cluster (também 32), o valor obtido será de 128 TB. Então, qual o motivo do limite de 2 TB?
A explicação está no fato de que a Microsoft limitou o FAT32 a ter 2 elevado a 32 como quantidade máxima de setores, não de clusters (se fosse diferente, poderia haver problemas com a inicialização do sistema operacional devido a limitações na área de boot). Como cada setor, geralmente, possui 512 bytes (ou 0,5 kilobyte), a conta seria 2 elevado a 32 (4.294967296) multiplicado por 0,5, que é igual 2.147.483.648 KB ou 2 TB.
Fonte: http://www.infowester.com/fat.php
Como Funciona o Sistema FAT
Em um disco rígido, a área de armazenamento é dividida em trilhas. Cada trilha é subdividida em setores, cada um com 512 bytes, geralmente. Desse modo, é de se presumir que os sistemas de arquivos FAT trabalhem diretamente com esses setores. Mas não é bem assim.
Na verdade, o FAT trabalha com grupos de setores, onde cada um recebe a denominação cluster (ou unidade de alocação). No caso do FAT16, cada cluster pode ter, comumente, um dos seguintes tamanhos: 2 KB, 4 KB, 8 KB, 16 KB e, por fim, 32 KB. A definição desse tamanho é uniforme, ou seja, não pode haver tamanhos variados de clusters em uma mesma unidade de armazenamento.
Como Funciona o Sistema FAT
Cada arquivo gravado utiliza tantos clusters quanto forem necessários para cobrir o seu tamanho. Se, por exemplo, tivermos um arquivo com 50 KB, é possível guardá-lo em dois clusters de 32 KB cada. Você deve ter percebido então que, neste caso, um cluster ficou com espaço sobrando. Esta área pode ser destinada a outro arquivo, correto? Errado! Acontece que cada cluster só pode ser utilizado por um único arquivo. Se sobrar espaço, este permanecerá vazio. Esse é um dos problemas do sistema FAT: desperdício.
Normalmente, o tamanho dos clusters é definido no procedimento de instalação do sistema operacional, na etapa de formatação da unidade de armazenamento.
http://www.infowester.com/fat.php
VFAT (Virtual File Allocation Table)
O VFAT( Tabela de Alocação de Arquivos Virtual), foi criado inicialmente para "derrubar" a limitaçao de caracteres nos nomes dos arquivos. Arquivos com nomes longos são gravados no diretório raiz respeitando o formato 8.3 (oito letras e uma extensão de até 3 caracteres), sendo o nome verdadeiro armazenado numa área reservada.
VFAT
Se tivéssemos dois arquivos, chamados de "Reunião anual de 1998" e "Reunião anual de 1999", por exemplo, teríamos gravados no diretório raiz "Reunia~1" e "Reunia~2", entao quando o disco é lido atravez do DOS, o sistema leria no sentido simplificado, Lendo o disco através do Windows, é possível acessar as áreas ocultas do VFAT e ver os nomes completos dos arquivos.
Referência Bibliográficas:
www.hardware.com.br
NTFS
O NTFS é um sistema de arquivos mais antigo do que muitos acreditam. Ele começou a ser desenvolvido no início da década de 80, quando o projeto do Windows NT dava os seus primeiros passos. A ideia foi desde o início, criar um sistema de arquivos que pudesse ser usado durante décadas, por mais que os discos rígidos evoluíssem.
Bibliografia: http://www.hardware.com.br/livros/hardware-manual/sistema-ntfs.html
NTFS
Trata-se de um sistema de arquivos avançado estruturado para ser utilizado especificamente com o sistema operacional Windows 2000 até o Windows 7, dando suporte a recuperação do sistema de arquivos, mídia de armazenamento extremamente grande, nomes longos de arquivos e vários recursos. O seu principal recurso e também benefício esta ligado diretamente com a Segurança.
Bibliografia :http://technet.microsoft.com/pt-br/library/cc716477.aspx
NTFS
O grande problema no sistema FAT 16 era o fato de serem usados apenas 16 bits para o endereçamento de cada cluster, permitindo apenas 65 mil clusters por partição, o NTFS incorporou desde o início a capacidade para endereçar os clusters usando endereços de 64 bits. Isso permite mais de 18 bilhões de bilhões de clusters, um número quase infinito. A única limitação agora passa a ser o tamanho dos setores do HD. Como cada setor possui 512 bytes, o tamanho de cada cluster usando NTFS também poderá ser de 512 bytes, independentemente do tamanho da partição.
Características do NTFS
O NTFS possui características importantes, que o fez ser considerado um bom sistema de arquivos. Entre essas qualidades estão: confiança, pois permite que o sistema operacional se recupere de problemas sem perder informações.
Características do NTFS
O NTFS também é capaz de permitir que o usuário defina quem pode e como acessar pastas ou arquivos.
Traz várias vantagens, como menor necessidade de desfragmentação de disco e maior consistência de dados.
Continuando, mais uma vantagem do sistema NTFS é que os nomes de arquivos e pastas utilizam caracteres em Unicode, ao invés de ACSII. O ASCII é o sistema onde cada caracter ocupa 1 byte de dados, mas são permitidas apenas letras, números e alguns caracteres especiais. No Unicode, cada caracter ocupa dois bytes, o que permite 65 mil combinações, o suficiente para armazenar caracteres em vários idiomas. Isso permite que usuários do Japão, China, Taiwan e outros países que não utilizam o alfabeto ocidental, possam criar arquivos usando caracteres do seu próprio idioma, sem a necessidade de instalar drivers e programas adicionais que adicionem o suporte.
Fontes:
www.proflflcampos.xgp.com.br
www.infowester.com
www.hardware.com.br/tutoriais/formatacao-sistemas-arquivo/ntfs.html
Tolerância a Falhas - Arquivo de log no NTFS
O NTFS implementa um sistema interessante de tolerância a falhas, o LFS (Log File Service), que é o principal responsável pela tolerância a falhas do sistema NTFS. Tolerância a falhas, neste caso, significa não perder dados ou estruturas do sistema de arquivos quando o sistema travar, ou houver qualquer outro imprevisto possível.
Tolerância a Falhas - Arquivo de log no NTFS
Para isso, o sistema mantém um log com todas as alterações feitas no sistema de arquivos. Ao gravar um arquivo qualquer, por exemplo, será primeiro gravada uma entrada no log, com os detalhes sobre a operação, qual arquivo está sendo gravado, em que parte do disco, etc.
Tolerância a Falhas - Arquivo de log no NTFS
Caso o sistema seja desligado incorretamente durante a gravação, é possível verificar no próximo boot o que estava sendo feito e fazer as correções necessárias. Periodicamente, o sistema verifica todas as entradas do Log e caso esteja tudo em ordem, deleta o antigo log, para evitar que o arquivo ocupe muito espaço em disco.
Tolerância a Falhas - Arquivo de log no NTFS
Quando o sistema volta depois de uma interrupção no serviço, o seguinte processo é executado:
1) O sistema analisa o log e verifica o que precisa ser corrigido no volume.
2) As transações marcadas como completas do final do log de transações até o último ponto de controle são refeitas.
3) Todas as transações não completadas desde o último ponto de controle são desfeitas.
Tolerância a Falhas - Arquivo de log no NTFS
Permissões do Sistema NTFS
Introdução
A partir do Windows XP, os usuários domésticos tiveram acesso a maiores opções de segurança em seu computador, e uma delas veio de carona com o sistema de arquivos NTFS. Com o sistema de arquivos NTFS podemos dizer exatamente quem pode acessar determinado arquivo/pasta do computador, seja para leitura ou modificação. Os ajustes de permissão estão relacionados ao login do usuário e são regulados definindo explicitamente entre poder e não poder realizar uma determinada tarefa.
Permissões do Sistema NTFS
Gerenciando logins de usuário
Além de permitir que várias pessoas tenham seus próprios arquivos e configurações, o gerenciamento de usuários é a base para definição do que cada pessoa pode ou não pode fazer. Para criar um novo login, acesse o ícone ‘Contas de Usuário’ no painel de controle ou use o ‘compmgmt.msc’ através do Executar.
Permissões do Sistema NTFS
Ajustando acesso a pasta e arquivos
Após criar todos os logins necessários, vamos aplicar as permissões as pastas e arquivos desejados. Para exemplo, crie uma pasta na raíz da partição (c:\) com o nome ‘Pasta Segura’. Com a pasta criada, clique com o botão direito na mesma e selecione a opção ‘Propriedades’. Agora vem um detalhe importante para usuários do Windows XP: Precisamos da aba ‘Segurança’ nesta janela mas, por padrão, o Windows XP não exibe. Para ativar a aba ‘Segurança’, no Windows Explorer clique em ‘Ferramentas > Opções de Pasta > Modos de Exibição’ e desmarque a opção ‘Usar Compartilhamento de Arquivos Simples’.
Bibliografia : http://bdexterholland.wordpress.com/2011/02/15/ntfs-e-o-sistema-de-permisses/
Master File Table (MFT) - NTFS
A MFT (Master File Table) é a principal estrutura do sistema NTFS, que substitui a FAT, armazenando as localizações de todos os arquivos e diretórios, incluindo os arquivos referentes ao próprio sistema de arquivos. Mas, a forma como este mapeamento é feito difere um pouco do sistema FAT.
Cada entrada de arquivo ou diretório no MFT possui 2 KB, onde são armazenados o nome do arquivo e seus atributos. Sobra então uma pequena área de dados, geralmente de 1500 bytes (pode ser maior ou menor, dependendo do espaço ocupado pelo nome e pelos atributos do arquivo) que é usada para guardar o início do arquivo.
Master File Table (MFT) - NTFS
Caso o arquivo seja muito pequeno, ele poderá ser armazenado diretamente na entrada no MFT. Caso contrário, serão armazenados apenas os números dos clusters ocupados pelo arquivo.
Em alguns casos, não é possível armazenar nem mesmo os atributos do arquivo no MFT. Nesse caso, os atributos serão gravados em clusters vagos do HD e a MFT conterá apenas entradas que apontam para eles. Pode parecer estranho que um arquivo possa ter mais de 2 KB só de atributos, mas no NTFS os atributos do arquivo vão muito além dos atributos de arquivo, diretório, oculto, etc. que existem no sistema FAT.
Master File Table (MFT) - NTFS
Os atributos do arquivo incluem seu nome, versão, nome MS-DOS (o nome simplificado com 8 caracteres e extensão), mas, principalmente incluem as permissões do arquivo, quais usuários do sistema poderão acessa-lo ou não, e ainda um espaço reservado para auditoria, que permite armazenar informações sobre quais operações envolvendo o arquivo devem ser gravadas para que seja possível realizar uma auditoria, caso necessário.
Master File Table (MFT) - NTFS
Bibliografia:
Guia do Hardware.
http://www.hardware.com.br/termos/master-file-table
Encrypting File System (EFS) - NTFS
Possibilidade de criptografar os dados gravados, de forma a impedir que sejam acessados por pessoas não autorizadas mesmo caso o HD seja removido e instalado em outro micro. Este recurso de encriptação é interessante, por exemplo, para profissionais de campo, que levam dados secretos em seus laptops. É possível tanto criptografar o disco inteiro, quanto pastas ou arquivos individuais.
Compressão de dados do NTFS
Outro recurso interessante do NTFS é a sua capacidade de lidar com compressão de dados para economizar espaço em disco. Essa compactação consiste, basicamente, em aproveitar estruturas repetidas de arquivos para reduzir seu tamanho.
Compressão de dados do NTFS
Com a possibilidade de compactar pastas individuais, você pode comprimir apenas as pastas contendo um grande volume de arquivos que suportam um bom nível de compressão, deixando de lado pastas com fotos, músicas e arquivos de vídeo, arquivos que já estão comprimidos.
http://www.hardware.com.br/tutoriais/formatacao-sistemas-arquivo/ntfs.html
Sistemas de arquivos em Linux
Os sistemas de arquivos são criados em partições do disco, de forma que seja possível armazenar programas e dados em formato de arquivos e diretórios (pastas). O Linux, assim como praticamente todos os sistemas operacionais baseados em Unix, usa um sistema de arquivos que possuem uma hierarquia, composta de arquivos e diretórios, que podem conter outros diretórios ou arquivos.
Sistemas de arquivos em Linux
Sistemas de arquivos em Linux
Bibliografia: http://www.uniriotec.br/~morganna/guia/sistemas_de_arquivos.html
www.hardware.com.br
Journaling
Basicamente, é um sistema de arquivos que mantém um journal (ou log) onde são armazenadas todas as mudanças feitas em arquivos do disco. Quando qualquer erro inesperado surge, ou o sistema é desligado incorretamente é possível localizar todas as operações que não haviam sido completadas, restaurando a consistência do sistema de arquivos sem a necessidade de vascular arquivo por arquivo, tornando muito mais rápido.
http://www.hardware.com.br/termos/journaling
ext3
Extended File System 3 foi lançado em 1999, substituindo o velho EXT2 que havia muitos bugs. Sendo a principal caracteristica o uso do journaling.
O ext3 possui 3 modos de operação:
Modo ordered ( default ) é atualizado constantemente, pode haver perda de desempenho.
No modo writeback, rapido porém menos seguro.
No modo Journal, mais seguro porém mais lento. Menos usado.
Embora existam diversos sistemas de arquivos para LINUX, o ext3 continua sendo o sistema mais utilizado.
ext4
É a evolução do ext3, diferenças:
ext3 faz partições de no max 32TB e manipula até 2TB.
ext4 faz partições de 1EB (exabyte) e partições de 16TB por arquivo.
Isso não é muito relevante para simples servidores ou desktops, mais muito util para grandes servidores, configurados em Raid e de alta disponibilidade.
O journaling também foi bastante melhorado, sendo mais rapido nas restaurações e aprova de falhas.
Ele vai desfragmentando os arquivos de acordo como são gravados, diferente do ext3 que deixava fragmentos.
Sistema Undelete que impede que certos arquivos são apagados.
Tudo ficou melhor, e mais rapido.