32
1 1 Sistemas de Arquivos Prof. Clodoaldo Ap. Moraes Lima 2 Sistemas de Arquivos - Exemplos • FAT; • NTFS; • Sun NFS; • Ext2/3;

Sistemas de Arquivos - thewaysx.files.wordpress.com · – Possibilitar um ambiente de rede coorporativo; 9 17 Sistemas de Arquivos - Exemplos NTFS ... – Bloco de boot tem o endereço

  • 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