Upload
vokien
View
214
Download
0
Embed Size (px)
Citation preview
1
1
Sistemas de Arquivos
Prof. Clodoaldo Ap. Moraes Lima
2
Sistemas de Arquivos -Exemplos
• FAT;• NTFS;• Sun NFS;• Ext2/3;
2
3
Sistemas de Arquivos - ExemplosFAT
• MS-DOS– Limite de nome de arquivo 8 + 3 (8.3)
caracteres;– Hierarquia de diretórios árvore começam
no diretório raiz (root directory);– Não existe o conceito de diferentes usuários,
portanto, todos os arquivos podem ser acessados por todos os usuários;
– Cada entrada de diretório possui um tamanho fixo de 32 bytes;
4
Sistemas de Arquivos - ExemplosFAT
Bytes 8 3 1 10 2 2 2 4
Extensão Atributos Número do 1º bloco
Data5 bits para dia;4 bits para mês;7 bits para ano;Limite: 2107
Hora*5 bits para segundos;6 bits para minutos;
5 bits para horas
Entrada de diretório do MS-DOS
* Defasagem de 2 segundosTamanho de arquivo: 2Gb, apesar de se ter 32 bits;
Nome do arquivo Reservado Tamanho
3
5
Sistemas de Arquivos - ExemplosFAT
• FAT (File AllocationTable): contém o número dos blocos nos quais arquivos estão armazenados;
• FAT também pode ser utilizada para indicar os blocos livres do disco (MS-DOS);
• Entrada do Diretório fornece o primeiro bloco no qual o arquivo está armazenado;
0123456789101112131415
10117
32
1214-1
-1
AB
6
Sistemas de Arquivos - ExemplosFAT
• FAT surgiu por volta de 1976 idealizada por Bill Gates;
• Foi incorporada ao Sistema Operacional do Intel 8086;
4
7
Sistemas de Arquivos - ExemplosFAT
• Se tivermos um endereço de bloco de 16 bits (2 bytes) podemos endereçar quantos blocos?
• Se tivermos um bloco de 60 GB, qual tem que ser o tamanho de cada bloco?
• Qual o tamanho da tabela de alocação?• E se usuarmos 32 bits de endereço?
8
Sistemas de Arquivos - ExemplosFAT
• Se fixarmos o tamanho do bloco de 1 Kb. Quantos blocos vai ter no disco de 60 Gb?
• Quantos bits de endereçamento serão necessários?
• Quantos registros haverá na tabela de alocação?
• Qual o tamanho em bytes da tabela?
5
9
Sistemas de Arquivos - ExemplosFAT
• Três versões: FAT12, FAT16, FAT32 (VFAT), dependendo de quantos bits o endereço de disco contém;
• FAT12:– Tamanho de bloco: 512bytes, 1K, 2 K e 4K;– Tamanho de partição até 16 Mb;
• FAT16:– Tamanho de bloco: 8k, 16k e 32k;– Tamanho de partição até 2Gb;
10
Sistemas de Arquivos - ExemplosFAT
• FAT32: iniciou-se com a segunda versão do Windows95 (Win95 OSR2 – OEM ServiceRelease 2)– Tamanho de bloco: 4k, 8k, 16k e 32k;– Tamanho de partição – 2Tb;
• Controle de blocos livres é feito utilizando a FAT;
• Windows98 utiliza FAT32 e permite arquivos com nomes longos (mais de 8 caracteres);
6
11
Sistemas de Arquivos - ExemplosFAT
Nome do arquivo TamanhoBytes 8 3 1 2 2 4
ExtensãoAtributos
Hora e data da últimamodificaçãoHora e data
de criação
Entrada de diretório do Windows98
NT
1 1
Sec*
* Defasagem de 10mseg.
4 2 4
Último acesso
- NT compatibilidade com o NT
Bloco inicial
16 bits mais Significativos do bloco inicial
16 bits menos Significativos do bloco inicial
12
Sistemas de Arquivos - ExemplosFAT
• Para compatibilidade com o MS-DOS, o Windows98 armazena dois nomes de arquivos:– Um com o número total de caracteres
utilizados;– E outro com o número permitido pelo MS-
DOS uso do ~1, ~2...~n (dois últimos caracteres do nome do arquivo);
– Análise dos 6 primeiros caracteres: os caracteres não válidos para o MS-DOS (+ , ; = [ ]) são trocados por “_”(underscores);
7
13
Sistemas de Arquivos - ExemplosFAT
– Todas as letras minúsculas são convertidas para letras maiúsculas;
– Espaços em branco são removidos;– Ex.:
• “Mega Corporation – fourth results.doc” MEGACO~1.DOC;
• “Mega Corporation – fifth results.doc” MEGACO~2.DOC;
14
Sistemas de Arquivos - ExemplosFAT
00100000Archive
00010000Diretório
00001000Volume Label
00000100System
00000010Hidden
00000001Read-only
Código Binário
Atributos * Soma do código bináriocombina os atributos
+ 00010011
Backup:Setado modificado;Valor zero copiado;
8
15
Sistemas de Arquivos - ExemplosFAT
2Tb2048Mb (2Gb)-32kb
2Tb1024Mb (1Gb)-16kb
2Tb512Mb-8kb
1Tb256Mb16Mb4kb
-128Mb8Mb2kb
--4Mb1kb
--2Mb512bytes
FAT32FAT32FAT16FAT16FAT12FAT12Tamanho de Tamanho de blocobloco
16
Sistemas de Arquivos - ExemplosNTFS
• Surgiu com o Windows NT (NewTechnology);
• NTFS foi idealizado com os seguintes objetivos: – Flexibilidade;– Adaptabilidade;– Alta segurança;– Alta confiabilidade;– Possibilitar um ambiente de rede
coorporativo;
9
17
Sistemas de Arquivos - ExemplosNTFS
• NTFS não está baseado no Sistema de Arquivos FAT, mas se utiliza de algumas características do HPFS (HighPerformance File System - sistema de arquivos do OS/2);
• Características:– Confiabilidade capacidade de se recuperar
de problemas sem perda de dados; melhorar a tolerância a falhas;
18
Sistemas de Arquivos - ExemplosNTFS
– Segurança e Controle de Acesso (DAC –Discretionary Access Control): estabelece diretivas que permitem implementar controle de acesso em arquivos e diretórios, inexistente no Sistema de Arquivos FAT;
– Tamanho de partições: projetado para permitir maiores partições no disco;
– Armazenamento mais eficiente estrutura de armazenamento;
– Nome de arquivo: até 255 caracteres;– Sistema de caracteres: UNICODE;– Caminho: até 32.767 caracteres;
10
19
Sistemas de Arquivos - ExemplosNTFS
– Suporta Case Sensitive, no entanto, essa característica é perdida devido ao Win32 API;
– Suporte à rede;– Compressão de arquivos;– Tamanho de blocos 512bytes até 64Kb;
• Windows2000 4Kb;– Baseado no conceito de transações tarefa
é cumprida até o fim ou é abortada;– Links simbólicos;
20
Sistemas de Arquivos - ExemplosNTFS
– Cada arquivo é um conjunto de atributos, cada qual representado por um stream de bytes;
– Sistema de arquivos hierárquico diretório de trabalho corrente, caminho relativo e absoluto;
– Master File Table (MFT): armazena a estrutura do NTFS e as informações sobre arquivos/diretórios;
– Bloco de boot tem o endereço do MFT;
11
21
Sistemas de Arquivos - ExemplosNTFS
• MFT é uma seqüência linear de registros de 1kb é um arquivo;
• Cada registro descreve um arquivo ou diretório informações como nome, lista de endereço onde seus blocos estão alocados;
• Até 248 registros;
22
Sistemas de Arquivos - ExemplosNTFS - MFT
1Kb
Primeiro arquivo do usuário
Reservado
$LogFIle Log file to recovery$MftMirr Mirror copy of MFT$Mft Master File Table
1514131211109876543210
16
Metadados
$Volume Volume file$AttrDef Attribute definitions$ Root Directory
$BadClus List of bad blocks$Boot Bootstrap loader$Bitmap Bitmap of blocks used
$Extend Extentions: quotas, etc.$Upcase Case conversion table$Secure Security descriptors for all files
12
23
Sistemas de Arquivos - ExemplosNTFS - MFT
Exemplo de um Registro MFT
24
Estrutura do Sistema de Arquivos
Um arquivo que requer três registros MFT para armazenartodas as suas séries
13
25
O registro da MFT para um pequeno diretório
Estrutura do Sistema de Arquivos
26
Busca por Nomes de Arquivos
Passos na busca do arquivo C:\maria\web.htm
14
27
Compressão de Arquivos
a)Exemplo de arquivo com 48 blocos sendo comprimido para 32 blocos
b) O registro da MFT para o arquivo depois da compresão
28
Sistemas de Arquivos - ExemplosFAT
NT4, NT5Win98, NT4, NT5
DOS, Win9x, NT
Sistemas
SimNãoNãoCompressão
SimNãoNãoSegurança
Vários Conjunto básicoConjunto básicoAtributos
IlimitadoIlimitado65000Número de arquivos
Ilimitada2Tb2GbPartição
NTFSNTFSFAT32FAT32FATFATCaracterísticasCaracterísticas
15
29
Sistemas de Arquivos - ExemplosSun NFS
• Arquitetura• Protocolos• Implementação• Proteção de arquivos• Transparência• Escalabilidade
30
Sistemas de Arquivos - ExemplosSun NFS
• Criado pela Sun em 1985;• NFS é um sistema de arquivos distribuído
que permite aos usuários (clientes) acessar arquivos e diretórios localizados em computadores remotos (servidores) e tratá-los como se fossem locais;
• É possível usar comandos convencionais para criar, remover, ler (...) e manipular arquivos e diretórios remotos;
16
31
Sistemas de Arquivos - ExemplosSun NFS
• NFS pode ser utilizado em uma grande variedade de tipos de máquinas, sistemas operacionais e arquiteturas de rede. Essa independência é alcançada utilizando-se Remote Procedure Call (RPC)
• Nível de transporte: UDP/IP;• Transparência;
32
Sistemas de Arquivos - ExemplosSun NFS: Arquitetura
• Na maioria dos casos, clientes e servidores estão localizados em uma mesma rede local;
• Cada servidor exporta um ou mais de seus diretórios;– nfs.server;– Lista de diretórios que um servidor exporta:
mantida no arquivo /etc/dfs/dfstab;
• Clientes montam os diretórios exportados;– nfs.client;– Lista de diretório que um cliente monta (boot):
mantida no arquivo /etc/vfstab;
17
33
Sistemas de Arquivos - ExemplosSun NFS: Arquitetura
/
/bin /usr
/usr/ast
Cliente 1 Cliente 2
/bin
Servidor 1 Servidor 2
/proj1 /proj2
/
/bin /mnt
mount
/projects
34
Sistemas de Arquivos - ExemplosSun NFS: Protocolos
• Heterogeneidade interface entre clientes e servidores bem definida;
• Dois Protocolos:• Protocolo de Montagem dos arquivos;• Protocolo para Acesso a Diretórios e a Arquivos;
18
35
Sistemas de Arquivos - ExemplosSun NFS: Protocolos
• Protocolo de Montagem dos arquivos
Cliente Servidor
1- Nome de caminho, solicitação permissão
2 - Autorização para manipulação de arquivo (tipo do sistema de arquivo, disco onde está, número do nó-I do diretório, informações segurança)
36
Sistemas de Arquivos - ExemplosSun NFS: Protocolos
• Protocolo de Montagem dos arquivos– Montagem automática durante o boot da
máquina cliente;– Automontagem:
• Nenhum diretório remoto é montado durante o boot;
• Montagem dinâmica de um sistema de arquivos;
19
37
Sistemas de Arquivos - ExemplosSun NFS: Protocolos
• Protocolo para Acesso a Diretórios e a Arquivos:– Clientes enviam mensagens aos servidores
solicitando autorização para ler ou escrever em arquivos;
– Não guarda informações sobre o estado dos arquivos abertos (stateless);
38
Sistemas de Arquivos - ExemplosSun NFS: Implementação
V-node
20
39
Sistemas de Arquivos - ExemplosSun NFS: Proteção de Arquivos
• Utiliza o mecanismo de proteção do UNIX: bits rwx;
• Utilização de sistema de criptografia: validação do cliente e do servidor a cada pedido e resposta;– Chaves usadas na autenticação: mantidas
pelo NIS (Network Information Service);
40
Sistemas de Arquivos - ExemplosSun NFS: Transparência
• Transparência de Localização:– Arquivos remotos podem estar associados a
diferentes caminhos em diferentes clientes;
21
41
Sistemas de Arquivos - ExemplosSun NFS: Escalabilidade
• Projetado originalmente para permitir cada servidor suportar 5-10 clientes;– As versões mais novas não possuem um
limite;• Número de clientes que podem acessar
simultaneamente um arquivo compartilhado é limitado;
42
Sistemas de Arquivos - ExemplosSun NFS
• Outras implementações do NFS:– WebNFS;– Solstice Network Client 3.2; MS Windows
3.x, Win95, Win98 e Windows NT;
22
43
O Sistema de Arquivos do Unix
Alguns diretórios importantes encontrados na maioria dos sistemas Unix
44
Sistema de Arquivos do Unix
(a) Antes da ligação (b) Depois da ligação
23
45
O Sistema de Arquivos do Unix
(a) Sistemas de arquivos separados (b) Após a montagem
46
Esquema do disco em sistemas Unix clássicos
Sistema de Arquivos do Unix
24
47
O Sistema de Arquivos do UNIX V7
Uma entrada de diretório do UNIX V7
48
Sistema de Arquivos do UNIX V7
Um i-node UNIX
25
49
O Sistema de Arquivos do UNIX V7
Os passos para localizar /usr/ast/mbox
50
O sistema de Arquivos rápido de Berkeley
• Primeira Inovação– Aumento do nome de arquivo para 255 caracteres;
• Segunda Inovação– Divisão do disco em chamados grupos de cilindros– Cada um com seu proprio superbloco, i-nodes e
blocos de dados– A idéia
• Manter próximos os blocos de dados e o i-node de um arquivo a fim de evitar longos posicionamentos
• Terceira Inovação– Introdução de dois tamanhos de blocos
26
51
Sistemas de Arquivos - ExemplosExt2
• Tamanho de blocos: 1kb, 2kb, 4kb;• Estrutura hierárquica de diretórios;• Assim como o UNIX, o LINUX também se utiliza
da estrutura de i-nodes vinculada a cada arquivo:– informações de proteção e uso do arquivo; – Informações de ponteiros para os blocos de dados
que formam o arquivo;– 12 endereços diretos e três endereços indiretos
• Unix – 10 endereços diretos e três endereços indiretos
52
Sistemas de Arquivos - ExemplosExt2
27
53
Sistemas de Arquivos - ExemplosExt2
• Um arquivo de diretório é composto por uma série de registros (entradas);
• Cada entradas possui, entre outros campos, o número do i-nodecorrespondente aquela entrada e o nome do arquivo;
54
Sistemas de Arquivos - ExemplosExt2
Esquema do sistema de arquivos Ext2 do Linux
28
55
Sistemas de Arquivos - ExemplosExt2
1 .
7 tmp6 usr4 bin2 ..
Diretório Raiz *Tarefa: Encontrar /usr/ant/texto.txt
Encontra /usrcom i-node 6
modo
132hora
tamanho
I-node 66 .
20 ant26 ana19 dick
1 ..
Bloco 132 tem o sub-diretório/usr
Bloco 132
/usr/ant está no i-node 26
modo
406hora
tamanho
I-node 26
Bloco 406 tem o sub-diretório/usr/ant
26 .
72 texto.txt66 teste.c64 notas
6 ..Bloco 406
O arquivo texto.txtestá no i-node 72
56
Sistemas de Arquivos - ExemplosExt2
• Controle de blocos livres mapa de bits; • Tanto o mapa de bits quanto a tabela de i-nodes
são armazenados no disco; • Diversos são os sistemas de arquivos utilizados
pelo LINUX:– Ext2; Ext3;– CFS, TCFS, VFS, GFV;– ReiserFS; JFS (IBM);
• Primeiro FS do LINUX foi baseado no Minix (SO desenvolvido por Tanenbaum para ensinar Sistemas Operacionais)
29
57
Sistemas de Arquivos - ExemplosExt2
• Virtual File System (camada): facilita a adição de novos sistemas de arquivos no kernel do LINUX;
• ExtFS (Extended File System - 1992): – Tamanho de partição: 2Gb;– Tamanho de arquivo: 2Gb;– Nome de arquivo: até 255 caracteres;– Baixa performance devido às listas encadeadas de
blocos livres e i-nodes Fragmentação;
58
Sistemas de Arquivos - ExemplosExt2
Hardware
Processo do UsuárioChamadas de sistema
Interface
VFS
ExtFS Ext2FS Ext3FS
Cache
Drivers
Controlador
Kernel do Linux
VFS possui informaçõesdos sistemas de arquivos;
30
59
Sistemas de Arquivos - ExemplosExt2
• Ext2FS (Second Extended File System -1993); – Até Red Hat 7.2;
• Ext3FS (Third Extended File System);– Red Hat 7.3;– Conectiva 8;
60
Sistemas de Arquivos - ExemplosExt2
• Características: – 5% dos blocos são armazenados para o
administrador do sistema (root);– Permite atualizações síncronos; (write-
through do MS-DOS);– Links simbólicos; – Controla o status do sistema de arquivos
utilizando um Superbloco;– Uso intensivo de cache;
31
61
Sistemas de Arquivos - ExemplosExt2
– Pré-alocação de blocos contíguos (adjacentes) 8 blocos;
– Partições são divididas em grupos de blocos, cada qual com um Superbloco, mapa de bits, i-nodes;
• Confiabilidade;• Desempenho acessos;
– Limite de tamanho de arquivo: 2Gb;– Limite de tamanho de partição: 4Tb;– Limite de tamanho de nome de arquivos: 255
caracteres (podendo ser estendido para 1012);– Tipos de arquivos: arquivos comuns, diretórios,
arquivos de dispositivos de E/S, links simbólicos;
62
Sistemas de Arquivos - ExemplosExt2
– Diretórios são gerenciados como listas ligadas com entradas de tamanho variado;
– Cada entrada possui quatro campos: • Número do i-node;• Tamanho da entrada (Tent);• Tamanho do nome (Tnome);• Nome;
I-node Nome arquivo
Entrada de um diretório Ext2FSTent Tnome
i1 file116 05
i2 Long_file_name40 14
32
63
Sistemas de Arquivos - ExemplosExt2
• Ext2FS possui uma baixa tolerância à falhas;
• Ext3: principal diferença journaling; – O sistema mantém logs dos eventos;
permitindo uma recuperação rápida;
64
Sistemas de Arquivos - ExemplosExt2 X Ext3
NãoSimPerda de dados em caso de problemas
Curto (rápido)LongoTempo de reboot após um problema
SimSimFerramentas para recuperar arquivos removidos
BoaExcelenteEstabilidade
Ext3FSExt2FSCaracterística