A família Windows:
Sistemas de arquivos
Fábio Augusto Salve Dias
Vinícius Geraldo Félix
Histórico
1981
DOS 1.0
1983
DOS 2.0
1985
DOS 3.0
1986
Windows 1.0
1987
1990
1993
1995
Windows 2.0
Windows 3.0
Windows 3.1
Windows 95
NT 3.1
1986
1987
1990
1993
1995
Windows 1.0
Histórico
Windows 2.0
Windows 3.0
Windows 3.1
NT 3.1
Windows 95
Interface
NT 4.0
1996
1998
Windows 98
1999
Interface
2000
Windows ME
2001
2003
2006
Windows
2000
Arquitetura
Windows XP
Windows 2003
Windows Vista (RC1)
Terminologia básica
• Cluster: Menor fatia de disco que pode ser
alocada.
– Costuma variar de 512 bytes até 64Kb.
– Quanto maior o cluster, mais disco pode ser
endereçado e maior o desperdício potencial
de disco.
– Normalmente possui um endereço,
correspondente ao seu deslocamento do
inicio do disco.
A 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”
Variantes
• Existiram diversas variantes da FAT, cuja
diferença primordial é a quantidade de bits
utilizados para endereçar clusters
– FAT12
– FAT16
– FAT32 (VFAT para o win95)
Variantes
FAT12
FAT16
FAT32
Quando
1977 BASIC
Tamanho
máximo:
Arquivo/Partição
32Mib/
32Mib
1988 –
MSDOS
4.0
2Gib/
2Gib (4Gib)
1996 –
Windows
95 OSR2
4GiB/
2Tib
(32Gb)
Vantagens e desvantagens
• Simples, rápida e eficiente para
dispositivos com pequena capacidade
• Não possui segurança, pode ocorrer
fragmentação dos arquivos, não possui
funcionalidades adicionais e não oferece
suporte a dispositivos de alta capacidade.
Estrutura
• Início do disco:
• FAT:
FAT e Long File Names
Windows NT FileSystem (NTFS)
• Introduzido em 1993 (NT 3.1)
• Assim como o NT, criada do zero, sem
preocupações com compatibilidade.
• Introduz METADADOS aos arquivos
– Cada arquivo é composto por atributos.
Características
Max file size
16 TiB with current implementation
(16 EiB architecturally)
32
Max number of files
4,294,967,295 (2 -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 '/'
Funcionalidades
•
•
•
•
•
•
•
Segurança de arquivos
Compressão
Criptografia
Múltiplas streams (fluxos) de dados
Cotas
Arquivos esparsos
(...)
fsutil
Funcionalidades –
arquivos esparsos.
Funcionalidades –
Cotas/Compressão/Criptografia
Funcionalidades –
Múltiplas streams
Metadados dos arquivos
• Conjunto padrão de atributos: Nome,
permissões, etc.
• Podemos adicionar novos metadados aos
arquivos.
• Dados: stream sem nome
• ADS: Várias streams de dados podem
existir
– arquivo:stream
Metadados do NTFS
System 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
MFT
• Master File Table:
– Uma entrada por arquivo
– Cada entrada contém os meta dados do
arquivo
– As primeiras 16 entradas são
reservadas
• MFT, Clusters danificados, livres, etc.
• Trata os próprios meta dados do NTFS
como arquivos, que podem estar em
qualquer lugar.
MFT - Localização
MFT - Exemplo
Armazenando
• Cada arquivo possui uma entrada na MFT
(1kb)
• Os atributos que couberem, são
colocados na MFT. Caso contrário, são
colocados em clusters, e o ponteiro para
este cluster é armazenado.
• Os clusters de um arquivo são
organizados como uma árvore B+.
Armazenando – 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).
Armazenando
WinFS
• Idealizada para ser o sistema de arquivos
do Windows Vista
• Devido a excessivo uso de recursos da
máquina, foi retirado do Vista
• Será lançado posteriormente como
módulo (assim como a .NET framework)
• Partes de sua tecnologia serão inseridos
ao ADO.NET e SQL Server
WinFS - Idéia
• Camada entre NTFS
e aplicações
• “Interpretar” melhor
as informações dos
dados
• Possibilitar consultas
complexas,
envolvendo dados de
múltiplas aplicações
WinFS - Arquitetura
Referências
• http://fabio.dias.googlepages.com
Download

Introduz METADADOS aos arquivos