A família Windows:A família Windows:Sistemas de arquivosSistemas de arquivos
Fábio Augusto Salve DiasFábio Augusto Salve Dias
Vinícius Geraldo FélixVinícius Geraldo Félix
HistóricoHistórico
HistóricoHistórico
Terminologia básicaTerminologia básica
• Cluster: Menor fatia de disco que pode ser Cluster: Menor fatia de disco que pode ser alocada. alocada. – Costuma variar de 512 bytes até 64Kb. Costuma variar de 512 bytes até 64Kb. – Quanto maior o cluster, mais disco pode ser Quanto maior o cluster, mais disco pode ser
endereçado e maior o desperdício potencial endereçado e maior o desperdício potencial de disco.de disco.
– Normalmente possui um endereço, Normalmente possui um endereço, correspondente ao seu deslocamento do correspondente ao seu deslocamento do inicio do disco.inicio do disco.
A FATA FAT
• Criada em 1977 por Bill Gates e Marc McDonald para o BASIC da Microsoft
• Simples, foi utilizada como principal sistema de arquivos até a total adoção do NTFS no WinXP (2001).
• Utilizada ainda em dispositivos menores, como disquetes, cartões de memória, etc.
Os “inventores”Os “inventores”
VariantesVariantes
• Existiram diversas variantes da FAT, cuja Existiram diversas variantes da FAT, cuja diferença primordial é a quantidade de bits diferença primordial é a quantidade de bits utilizados para endereçar clustersutilizados para endereçar clusters– FAT12 FAT12 – FAT16FAT16– FAT32 (VFAT para o win95)FAT32 (VFAT para o win95)
VariantesVariantes
FAT12FAT12 FAT16FAT16 FAT32FAT32QuandoQuando 1977 - 1977 -
BASICBASIC1988 – 1988 –
MSDOS MSDOS 4.04.0
1996 – 1996 – Windows Windows 95 OSR295 OSR2
Tamanho Tamanho máximo:máximo:
Arquivo/PartiçãoArquivo/Partição
32Mib/32Mib/
32Mib32Mib
2Gib/2Gib/
2Gib (4Gib)2Gib (4Gib)
4GiB/4GiB/
2Tib2Tib
(32Gb)(32Gb)
Vantagens e desvantagensVantagens e desvantagens
• Simples, rápida e eficiente para Simples, rápida e eficiente para dispositivos com pequena capacidadedispositivos com pequena capacidade
• Não possui segurança, pode ocorrer Não possui segurança, pode ocorrer fragmentação dos arquivos, não possui fragmentação dos arquivos, não possui funcionalidades adicionais e não oferece funcionalidades adicionais e não oferece suporte a dispositivos de alta capacidade.suporte a dispositivos de alta capacidade.
EstruturaEstrutura
• Início do disco:Início do disco:
• FAT:FAT:
FAT e Long File NamesFAT e Long File Names
Windows NT FileSystem (NTFS)Windows NT FileSystem (NTFS)
• Introduzido em 1993 (NT 3.1)Introduzido em 1993 (NT 3.1)
• Assim como o NT, criada do zero, sem Assim como o NT, criada do zero, sem preocupações com compatibilidade.preocupações com compatibilidade.
• Introduz METADADOS aos arquivosIntroduz METADADOS aos arquivos– Cada arquivo é composto por Cada arquivo é composto por atributosatributos..
CaracterísticasCaracterísticas
Max file size16 TiB with current implementation (16 EiB architecturally)
Max number of files 4,294,967,295 (232-1)
Max filename size 255 characters
Max volume size 256 TiB with current implementation (16 EiB architecturally)
Allowed characters in filenames
Unicode (UTF-16), any character except '\0' (NULL) and '/'
FuncionalidadesFuncionalidades
• Segurança de arquivosSegurança de arquivos• CompressãoCompressão• CriptografiaCriptografia• Múltiplas streams (fluxos) de dadosMúltiplas streams (fluxos) de dados• Cotas Cotas • Arquivos esparsosArquivos esparsos• (...)(...)
fsutilfsutil
Funcionalidades – Funcionalidades – arquivos esparsos.arquivos esparsos.
Funcionalidades – Funcionalidades – Cotas/Compressão/CriptografiaCotas/Compressão/Criptografia
Funcionalidades – Funcionalidades – Múltiplas streamsMúltiplas streams
Metadados dos arquivosMetadados dos arquivos
• Conjunto padrão de atributos: Nome, Conjunto padrão de atributos: Nome, permissões, etc.permissões, etc.
• Podemos adicionar novos metadados aos Podemos adicionar novos metadados aos arquivos.arquivos.
• Dados: stream sem nomeDados: stream sem nome
• ADS: Várias streams de dados podem ADS: Várias streams de dados podem existirexistir– arquivo:streamarquivo:stream
Metadados do NTFSMetadados do NTFSSystem File File Name MFT Record
Master file table $Mft 0
Master file table mirror $MftMirr 1
Log file $LogFile 2
Volume $Volume 3
Attribute definitions $AttrDef 4
Root file name index . 5
Cluster bitmap $Bitmap 6
Boot sector $Boot 7
Bad cluster file $BadClus 8
Security file $Secure 9
Upcase table $Upcase 10
NTFS extension file $Extend 11
12–15
MFTMFT
• Master File Table:Master File Table:– Uma entrada por arquivoUma entrada por arquivo– Cada entrada contém os meta dados do Cada entrada contém os meta dados do
arquivoarquivo– As primeiras 16 entradas são reservadasAs primeiras 16 entradas são reservadas
• MFT, Clusters danificados, livres, etc.MFT, Clusters danificados, livres, etc.• Trata os próprios meta dados do NTFS Trata os próprios meta dados do NTFS
como arquivos, que podem estar em como arquivos, que podem estar em qualquer lugar.qualquer lugar.
MFT - LocalizaçãoMFT - Localização
MFT - ExemploMFT - Exemplo
ArmazenandoArmazenando
• Cada arquivo possui uma entrada na MFT Cada arquivo possui uma entrada na MFT (1kb)(1kb)
• Os atributos que couberem, são Os atributos que couberem, são colocados na MFT. Caso contrário, são colocados na MFT. Caso contrário, são colocados em clusters, e o ponteiro para colocados em clusters, e o ponteiro para este cluster é armazenado.este cluster é armazenado.
• Os clusters de um arquivo são Os clusters de um arquivo são organizados como uma árvore B+.organizados como uma árvore B+.
Armazenando – Entrada na MFTArmazenando – Entrada na MFT
•Os diretórios são armazenados como arquivos, contendo ponteiros para uma árvore B+ que relaciona os arquivos contidos no diretório.
•Arquivos e diretórios pequenos ficam na própria MFT (atributo imediato).
ArmazenandoArmazenando
WinFSWinFS
• Idealizada para ser o sistema de arquivos Idealizada para ser o sistema de arquivos do Windows Vistado Windows Vista
• Devido a excessivo uso de recursos da Devido a excessivo uso de recursos da máquina, foi retirado do Vistamáquina, foi retirado do Vista
• Será lançado posteriormente como Será lançado posteriormente como módulo (assim como a .NET framework)módulo (assim como a .NET framework)
• Partes de sua tecnologia serão inseridos Partes de sua tecnologia serão inseridos ao ADO.NET e SQL Serverao ADO.NET e SQL Server
WinFS - IdéiaWinFS - Idéia
• Camada entre NTFS Camada entre NTFS e aplicaçõese aplicações
• ““Interpretar” melhor Interpretar” melhor as informações dos as informações dos dadosdados
• Possibilitar consultas Possibilitar consultas complexas, complexas, envolvendo dados de envolvendo dados de múltiplas aplicações múltiplas aplicações
WinFS - ArquiteturaWinFS - Arquitetura
ReferênciasReferências• http://fabio.dias.googlepages.comhttp://fabio.dias.googlepages.com