Você está na página 1de 141

Sistema de Arquivos

Prof. Marcos Ribeiro Quinet de Andrade Universidade Federal Fluminense - UFF Plo Universitrio de Rio das Ostras - PURO

Sistema de Arquivos
Parte do Sistema Operacional mais visvel ao usurio Os arquivos de um sistema computacional so manipulados por meio de chamadas (system calls) ao Sistema Operacional;

Sistema de Arquivos
Trs importantes requisitos so considerados no armazenamento de informaes:
Possibilidade de armazenar e recuperar uma grande quantidade de informao; Informao gerada por um processo deve continuar a existir aps a finalizao desse processo:
Ex.: banco de dados;

Mltiplos processos podem acessar informaes de forma concorrente:


Informaes podem ser independentes de processos;

Sistema de Arquivos
Para atender a esses requisitos, informaes so armazenadas em discos (ou alguma outra mdia de armazenamento) em unidades chamadas arquivos; Processos podem ler ou escrever em arquivos, ou ainda criar novos arquivos; Informaes armazenadas em arquivos devem ser persistentes, ou seja, no podem ser afetadas pela criao ou finalizao de um processo;

Sistema de Arquivos
Arquivos so manipulados pelo Sistema Operacional; Tarefas:
Estrutura de arquivos; Nomes; Acessos (uso); Proteo; Implementao;

Sistema de arquivos: parte do SO responsvel por manipular arquivos!!!

Sistema de Arquivos
Usurio: Alto nvel
Interface como os arquivos aparecem; Como arquivos so nomeados e protegidos; Quais operaes podem ser realizadas;

SO: Baixo nvel


Como arquivos so armazenados fisicamente; Como arquivos so referenciados (links);

Sistema de Arquivos Arquivos


Arquivos:
Nomes; Estrutura; Tipos; Acessos; Atributos; Operaes;

Sistema de Arquivos Nomes de arquivos


Quando arquivos so criados, nomes so atribudos a esses arquivos, os quais passam a ser referenciados por meio desses nomes; Tamanho: at 255 caracteres;
Restrio: MS-DOS aceita de 1-8 caracteres;

Letras, nmeros, caracteres compor nomes de arquivos:

especiais

podem

Caracteres permitidos: A-Z, a-z, 0-9, $, %, , @, {, }, ~, `, !, #, (, ), & Caracteres no permitidos: ?, *, /, \, , |, <, >, :

Sistema de Arquivos Nomes de arquivos


Alguns Sistemas Operacionais so sensveis a letras maisculas e minsculas (case sensitive) e outros no;
UNIX sensvel :
Ex.: exemplo.c diferente de Exemplo.c;

MS-DOS no sensvel:
Ex.: exemplo.c o mesmo que Exemplo.c;

Win95/Win98/WinNT/Win2000/WinXP/WinVista caractersticas do sistema de arquivos do MS-DOS;

herdaram

No entanto, WinNT/Win2000/WinXP/WinVista possuem um sistema de arquivos prprio NTFS (New Technology File System);

Sistema de Arquivos Nomes de arquivos


Alguns sistemas suportam uma extenso relacionada ao nome do arquivo:
MS-DOS: 1-3 caracteres; suporta apenas uma extenso; UNIX:
Extenso pode conter mais de 3 caracteres; Suporta mais de uma extenso: Ex.: exemplo.c.Z (arquivo com compresso); Permite que arquivos sejam criados sem extenso;

10

Sistema de Arquivos Nomes de arquivos


Uma extenso, geralmente, associa o arquivo a algum aplicativo (associao feita pelo aplicativo):
.doc Microsoft Word; .c Compilador C;

SO pode ou no associar as extenses aos aplicativos:


Unix no associa; Windows associa;

11

Sistema de Arquivos Estrutura de arquivos


Arquivos podem ser diferentes maneiras: estruturados de

a) Seqncia no estruturada de bytes


Para o SO arquivos so apenas conjuntos de bytes; SO no se importa com o contedo do arquivo; Significado deve ser atribudo pelos programas em nvel de usurio (aplicativos); Vantagem: Flexibilidade: os usurios nomeiam seus arquivos como quiserem; Ex.: UNIX e Windows;
12

Sistema de Arquivos Estrutura de arquivos


b) Seqncia de registros de tamanho fixo, cada qual com uma estrutura interna leitura/escrita so realizadas em registros;
SOs mais antigos caracteres); mainframes e cartes perfurados (80

Nenhum sistema atual utiliza esse esquema;

c) rvores de registros (tamanho variado), cada qual com um campo chave em uma posio fixa:
SO decide onde colocar os arquivos; Usado em mainframes atuais;

13

Sistema de Arquivos Estrutura de arquivos


1 byte 1 registro

a)

b)

c)
14

Sistema de Arquivos Tipos de arquivos


Arquivos regulares so aqueles que contm informaes dos usurios; Diretrios so arquivos responsveis por manter a estrutura do Sistema de Arquivos; Arquivos especiais de caracteres so aqueles relacionados com E/S e utilizados para modelar dispositivos seriais de E/S;
Ex.: impressora, interface de rede, terminais;

Arquivos especiais de bloco utilizados para modelar discos;

so aqueles

15

Sistema de Arquivos Tipos de arquivos


Arquivos regulares podem ser de dois tipos:
ASCII:
Consistem de linhas de texto; Facilitam integrao de arquivos; Podem ser exibidos e impressos como so; Podem ser editados em qualquer editor de texto; Ex.: arquivos com extenso txt;

Binrio:
Todo arquivo no ASCII; Possuem uma estrutura interna conhecida pelos aplicativos que os usam; Ex.: programa executvel;

16

Sistema de Arquivos Acessos em arquivos


SOs mais antigos ofereciam apenas acesso sequencial no disco leitura em ordem byte a byte (registro a registro); SOs mais modernos fazem acesso randmico ou aleatrio;
Acesso feito por chave; Mtodos para especificar onde iniciar leitura:
Operao Read Operao Seek seqencial; posio do arquivo em que se inicia a leitura; marca posio corrente permitindo leitura

17

Sistema de Arquivos Atributos de arquivos


Alm do nome e dos dados, todo arquivo tem outras informaes associadas a ele atributos; A lista de atributos varia de SO para SO;

18

Sistema de Arquivos Atributos de arquivos


Atributo
Proteo Senha Criador Dono Flag de leitura Flag de oculto

Significado
Quem acesso o arquivo e de que maneira Chave para acesso ao arquivo Identificador da pessoa que criou o arquivo Dono corrente 0 para leitura/escrita; 1 somente para leitura 0 para normal; 1 para no aparecer

Flag de sistema 0 para arquivos normais; 1 para arquivos do sistema Flag de repositrio 0 para arquivos com backup; 1 para arquivos sem backup
19

Sistema de Arquivos Atributos de arquivos


Atributo
Flag ASCII/Binary Flag de acesso aleatrio Flag de temporrio Flag de impedido Tamanho do registro Posio da chave Tamanho da chave

Significado
0 para arquivo ASCII; 1 para arquivo binrio 0 para arquivo de acesso seqencial; 1 para arquivo de acesso randmico 0 para normal; 1 para temporrio 0 para arquivo desimpedido; diferente de 0 para arquivo impedido Nmero de bytes em um registro Deslocamento da chave em cada registro Nmero de bytes no campo chave (key)
20

Sistema de Arquivos Atributos de arquivos


Atributo
Momento da criao Momento do ltimo acesso Momento da ltima mudana Tamanho Tamanho Mximo

Significado
Data e hora que o arquivo foi criado Data e hora do ltimo acesso ao arquivo Data e hora da ltima modificao do arquivo

Nmero de bytes do arquivo Nmero mximo de bytes que o arquivo pode ter

21

Sistema de Arquivos Operaes em arquivos


Diferentes sistemas provm diferentes operaes que permitem armazenar e recuperar arquivos; Operaes mais comuns (system calls): Create; Delete; Open; Close; Read; Write; Append; Seek; Get attributes; Set attributes; Rename;

22

Sistema de Arquivos Arquivos mapeados em memria


Alguns SOs permitem que arquivos sejam mapeados diretamente no espao de endereamento (virtual) de um processo em execuo acesso mais rpido; System Calls: Map e unmap; Funciona melhor em sistemas que suportam segmentao;

23

Sistema de Arquivos Arquivos mapeados em memria


Problemas:
Difcil prever o tamanho de arquivos de sada; Compartilhamento de arquivos entre diferentes processos SO no deve permitir acesso a arquivos com dados inconsistentes; Arquivo pode ser maior que um segmento ou maior que o espao virtual utilizado partes do arquivo; mapear pequenas

24

Sistema de Arquivos Diretrios


Diretrios so arquivos responsveis por manter a estrutura do Sistema de Arquivos;
Organizao; Operaes;

25

Sistema de Arquivos Diretrios


Organizao pode ser feita das seguintes maneiras:
Nvel nico (Single-level); Dois nveis (Two-level); Hierrquica;

26

Sistema de Arquivos Diretrios Nvel nico


Apenas um diretrio contm todos os arquivos diretrio raiz (root directory); Computadores antigos utilizavam esse mtodo, pois eram monousurios; Exceo: CDC 6600 supercomputador que utilizava-se desse mtodo, apesar de ser multiusurio; Vantagens:
Simplicidade; Eficincia;

27

Sistema de Arquivos Diretrios Nvel nico


04 arquivos; Trs diferentes proprietrios; Desvantagens:
Sistemas multiusurios: Diferentes usurios podem criar arquivos como mesmo nome; Exemplo:
Usurios A e B criam, respectivamente, um arquivo mailbox; Usurio B sobrescreve arquivo do usurio A
28

Diretrio raiz

Sistema de Arquivos Diretrios Dois nveis


Cada usurio possui um diretrio privado; Diretrio raiz Sem conflitos de nomes de arquivos; Diretrio Procedimento de login: do usurio identificao; A B C Compartilhamento de arquivos programas executveis do A A B C C sistema; Desvantagem:
Usurio com muitos arquivos;

Arquivos

29

Sistema de Arquivos Diretrios Hierrquico


Hierarquia diretrios; de diretrios rvores de

Usurios podem querer agrupar seus arquivos de maneira lgica, criando diversos diretrios que agrupam arquivos;

Sistemas operacionais modernos utilizam esse mtodo; Flexibilidade;

30

Sistema de Arquivos Diretrios Hierrquico


Diretrio raiz Diretrio do usurio
A A A B B C B B B C C C C C C C do usurio C
Sub-diretrios

Arquivos
31

Sistema de Arquivos Diretrios Caminho (path name)


O mtodo hierrquico requer mtodos pelos quais os arquivos so acessados; Dois mtodos diferentes:
Caminho absoluto (absolute path name); Caminho relativo (relative path name);

32

Sistema de Arquivos Diretrios Caminho (path name)


Caminho absoluto: consiste de um caminho a partir do diretrio raiz at o arquivo;
NICO; Funciona independentemente de qual seja o diretrio corrente; Ex.:
UNIX: /usr/ast/mailbox; Windows: \usr\ast\mailbox;

33

Sistema de Arquivos Diretrios Caminho (path name)


Diretrio de Trabalho (working directory) ou diretrio corrente (current directory); Caminho relativo utilizado em conjunto com o diretrio corrente; Usurio estabelece um diretrio como sendo o diretrio corrente; nesse caso caminhos no iniciados no diretrio raiz so tido como relativos ao diretrio corrente;
Exemplo:
cp /usr/ast/mailbox /usr/ast/mailbox.bak Diretrio corrente: /usr/ast cp mailbox mailbox.bak

34

Sistema de Arquivos Diretrios Caminho (path name)


. diretrio corrente; .. diretrio pai (anterior ao corrente); Ex.: diretrio corrente /usr/ast:
cp ../lib/dictionary . cp /usr/lib/dictionary . cp /usr/lib/dictionary dictionary cp /usr/lib/dictionary /usr/ast/dictionary

35

Sistema de Arquivos Diretrios Operaes


Create; Delete; Opendir; Closedir; Readdir; Rename; Link (um arquivo pode aparecer em mais de um diretrio); Unlink;

36

Implementando o Sistema de arquivos


Implementao do Sistema de Arquivos:
Como arquivos e diretrios so armazenados; Como o espao em disco gerenciado; Como tornar o sistema eficiente e confivel;

37

Implementando o Sistema de arquivos - Layout


Arquivos so armazenados em discos; Discos podem ser divididos em uma ou mais parties, com sistemas de arquivos independentes; Setor 0 do disco destinado ao MBR Master Boot Record; que responsvel pela a tarefa de boot do computador;
MBR possui a tabela de partio, com o endereo inicial e final de cada partio; BIOS l e executa o MBR;

38

Implementando o Sistema de arquivos - Layout


Tarefas bsicas do dependendo do SO): MBR (pode variar
1 localizar a partio ativa; 2 ler o primeiro bloco dessa partio, chamado bloco de boot (boot block); 3 executar o bloco de boot ;

Layout de um Sistema de Arquivos pode variar; mas a idia geral a seguinte:

39

Implementando o Sistema de arquivos - Layout


Disco
Tabela de partio Parties

MBR
Gerenc. de Espao livre Arquivos Diretrios

Boot

Super bloco

I-nodes

Raiz

Contm parmetros (tipo do SA, nmero de blocos) sobre o sistema de arquivos e carregado na memria
40

Implementando o Sistema de arquivos - Layout


Disco
Tabela de partio Parties

MBR
Gerenc. de Espao livre Arquivos Diretrios

Boot

Super bloco

I-nodes

Raiz

Contm informaes sobre os blocos livres do disco (mapa de bits ou lista encadeada)
41

Implementando o Sistema de arquivos - Layout


Disco
Tabela de partio Parties

MBR
Gerenc. de Espao livre Arquivos Diretrios

Boot

Super bloco

I-nodes

Raiz

Estruturas de dados (vetor) contendo informaes sobre os arquivos


42

Implementando o Sistema de arquivos - Layout


Disco
Tabela de partio Parties

MBR
Gerenc. de Espao livre Arquivos Diretrios

Boot

Super bloco

I-nodes

Raiz

Diretrio raiz rvore de diretrios


43

Implementando o Sistema de arquivos - Layout


Disco
Tabela de partio Parties

MBR
Gerenc. de Espao livre Arquivos Diretrios

Boot

Super bloco

I-nodes

Raiz

Demais arquivos e diretrios


44

Implementando o Sistema de arquivos - Arquivos


Armazenamento de arquivos como os arquivos so alocados no disco; Diferentes tcnicas so implementas por diferentes Sistemas Operacionais;
Alocao contnua; Alocao com lista encadeada; Alocao com lista encadeada utilizando uma tabela na memria (FAT); I-Nodes;

45

Implementando o Sistema de arquivos - Arquivos


Alocao contnua:
Tcnica mais simples; Armazena arquivos de forma contnua no disco;
Ex.: em um disco com blocos de 1kb um arquivo com 50kb ser alocado em 50 blocos consecutivos;

46

Implementando o Sistema de arquivos - Arquivos


Alocao contnua:
37 Blocos 4 3 A B 6 C 5 D 12 E 6 F

Removendo os arquivos D e F... 4 A 3 B 6 C 5 Livre 12 E 7 Livre

47

Implementando o Sistema de arquivos - Arquivos


Alocao contnua:
Vantagens:
Simplicidade: somente o endereo do primeiro bloco e nmero de blocos no arquivo so necessrios; Desempenho para o acesso ao arquivo: acesso seqencial;

Desvantagens (discos rgidos):


Fragmentao externa:
Compactao alto custo; Reuso de espao atualizao da lista de espaos livres; Conhecimento prvio do tamanho do arquivo para alocar o espao necessrio;

CD-ROM e DVD-ROM (quando somente escrita);

48

Implementando o Sistema de arquivos - Arquivos


Alocao com lista encadeada:
A primeira palavra de cada bloco um ponteiro para o bloco seguinte; O restante do bloco destinado aos dados; Apenas o endereo em disco do primeiro bloco do arquivo armazenado;
Servio de diretrio responsvel por manter esse endereo;

49

Implementando o Sistema de arquivos - Arquivos


Alocao com lista encadeada:
Desvantagens:
Acesso aos arquivos feito aleatoriamente processo mais lento; A informao armazenada em um bloco no mais uma potncia de dois, pois existe a necessidade de se armazenar o ponteiro para o prximo bloco;

Vantagem:
No se perde espao com a fragmentao externa;

50

Implementando o Sistema de arquivos - Arquivos


Alocao com lista encadeada:
Blocos do arquivo

Arquivo A 1 7 2 2 3 10 Arquivo B 1 3 2 11 3 14
51

0
Blocos fsicos

4 12

Blocos do arquivo

0
Blocos fsicos

Implementando o Sistema de arquivos - Arquivos


Alocao com lista encadeada utilizando uma tabela na memria:
O ponteiro colocado em uma tabela na memria ao invs de ser colocado no bloco;
FAT Tabela de alocao de arquivos (File Allocation Table); Assim, todo o bloco est disponvel para alocao de dados;

Servio de diretrio responsvel por manter o incio do arquivo (bloco inicial); MS-DOS e famlia Windows 9x (exceto WinNT, Win2000 e WinXP - NTFS);

52

Implementando o Sistema de arquivos - Arquivos


Acesso aleatrio se torna mais fcil devido ao uso da memria; Desvantagem:
Toda a tabela deve estar na memria; Exemplo: Com um disco de 20Gb com blocos de 1kb, a tabela precisa de 20 milhes de entradas, cada qual com 3 bytes (para permitir um acesso mais rpido, cada entrada pode ter 4 bytes) ocupando 60 (80) Mb da memria;

53

Implementando o Sistema de arquivos - Arquivos


Alocao com lista encadeada utilizando FAT
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

10 11 7 3 2 12 14 -1 -1

Incio arquivo A Incio arquivo B

Arquivo A 4 7 2 10 12 Arquivo B 6 3 11 14

Marca de trmino Bloco livre


54

Implementando o Sistema de arquivos - Arquivos


I-nodes:
Cada arquivo possui uma estrutura de dados chamada inode (index-node) que lista os atributos e endereos em disco dos blocos do arquivo;
Assim, dado o i-node de um arquivo possvel encontrar todos os blocos desse arquivo;

Se cada i-node ocupa n bytes e k arquivos podem estar aberto ao mesmo tempo o total de memria ocupada kn bytes; UNIX e Linux;

55

Implementando o Sistema de arquivos - Arquivos


Espao de memria ocupado pelos i-nodes proporcional ao nmero de arquivos abertos; enquanto o espao de memria ocupado pela tabela de arquivo (FAT) proporcional ao tamanho do disco; Vantagem:
O i-node somente carregado na memria quando o seu respectivo arquivo est aberto (em uso);

Desvantagem:
O tamanho do arquivo pode aumentar muito
Soluo: reservar o ltimo endereo para outros endereos de blocos;

56

Implementando o Sistema de arquivos - Arquivos


I-nodes:
Atributos do arquivo Endereo do bloco 0 Endereo do bloco 1 Endereo do bloco 2 Endereo do bloco 3 Endereo do bloco 4 Endereo do bloco 5 Endereo do bloco 6 Endereo do bloco 7 Endereo do bloco de ponteiros Bloco com endereos adicionais
57

Implementando o Sistema de arquivos - Arquivos


I-nodes:

58

Implementando o Sistema de arquivos - Arquivos


I-nodes
Diretrio Raiz * 1. 1 .. 4 bin 6 usr 7 tmp Encontra /usr com i-node 6 Bloco 503 Texto.txt I-node 6 modo tamanho hora 132 Bloco 132 tem o sub-diretrio /usr Bloco 132 6. 1 .. 19 dick 23 ana 26 ant /usr/ant est no i-node 26 I-node 26 modo tamanho hora 406 Bloco 406 tem o sub-diretrio /usr/ant

I-node 72 modo tamanho hora 503 O arquivo texto.txt est no bloco 503

Bloco 406 26 . 6 .. 64 notas O arquivo texto.txt 66 teste.c 72 texto.txt est no i-node 72


59

Implementando o Sistema de arquivos - Arquivos


Armazenamento de arquivos arquivos so alocados no disco; como os

Diferentes tcnicas so implementas por diferentes Sistemas Operacionais;


Alocao contnua; Alocao com lista encadeada; Alocao com lista encadeada utilizando uma tabela na memria (FAT); I-Nodes;

60

Implementando o Sistema de arquivos - Diretrios


Quando um arquivo aberto, o Sistema Operacional utiliza o caminho fornecido pelo usurio para localizar o diretrio de entrada; O diretrio de entrada prov as informaes necessrias para encontrar os blocos no disco nos quais o arquivo est armazenado:
Endereo do arquivo inteiro (alocao contnua); Nmero do primeiro bloco do arquivo (alocao com listas encadeadas); Nmero do i-node;

O servio de diretrio responsvel por mapear o nome ASCII do arquivo na informao necessria para localizar os dados

61

Implementando o Sistema de arquivos - Diretrios


O servio de diretrio tambm responsvel por manter armazenados os atributos relacionados a um arquivo:
a) Entrada do Diretrio: Diretrio consiste de uma lista de entradas com tamanho fixo (uma para cada arquivo) contendo um nome de arquivo (tamanho fixo), uma estrutura de atributos de arquivos, e um ou mais endereos de disco; MS/DOS e Windows;

62

Implementando o Sistema de Arquivos - Diretrios


b) I-node: nesse caso, o diretrio de entrada menor, armazenando somente o nome de arquivo e o nmero do i-node que contm os atributos; UNIX

games mail SO trabs

atributos atributos atributos atributos

games mail SO trabs

a)

b)

Estrutura de dados contendo atributos (i-nodes) 63

Implementando o Sistema de Arquivos - Diretrios


Tratamento de nomes de arquivos:
Maneira mais simples: limite de 255 caracteres reservados para cada nome de arquivo:
Toda entrada de diretrio tem o mesmo tamanho; Desvantagem: desperdcio de espao, pois arquivos utilizam o total de 255 caracteres; poucos

Maneira mais eficiente: tamanho do nome do arquivo varivel;

64

Implementando o Sistema de Arquivos - Diretrios


Tamanho do nome de arquivo varivel
Tamanho da entrada do A1 Atributos A1 p r o j e c t b u d Tamanho da entrada do A2 Atributos A2 p o l e n r n s e

- Cada nome do arquivo preenchido de modo a ser composto por um nmero inteiro de palavras - Quando no ocupar toda a palavra, preenche de modo a completar a palavra (parte sombreada); Problema: se arquivo removido, um espao em branco inserido e pode ser que o nome de outro arquivo no possua o mesmo tamanho
65

. . a)

Implementando o Sistema de Arquivos - Diretrios


Tamanho do nome de arquivo varivel
Tamanho da entrada do A1 Atributos A1 p r o j e c t b u d Tamanho da entrada do A2 Atributos A2 p o l e n r n s e Ponteiro p/ nome A1 Atributos A1 Ponteiro p/ nome A12 Atributos A2 p e b p o l r c u e n o t d r n j -

HEAP
s e

. . a)

. . b)

66

Implementando o Sistema de Arquivos - Diretrios


Busca em diretrio:
Linear lenta para diretrios muito grandes; Uma tabela Hash para cada diretrio:
O nome do arquivo submetido a uma funo hash para selecionar uma entrada na tabela hash; Cria-se uma lista encadeada para todas as entradas com o mesmo valor hash; Vantagem: busca mais rpida; Desvantagem: gerenciamento mais complexo;

Cache de busca de arquivos;

tima para poucas consultas

67

Implementando o Sist. de Arquivos arquivos compartilhados


Normalmente, o sistema de arquivos implementado com uma rvore; Mas quando se tem arquivos compartilhados, o sistema de arquivos passa a ser um grafo acclico direcionado (directed acyclic graph DAG);
Links so criados;

68

Implementando o Sist. de Arquivos arquivos compartilhados

69

Implementando o Sist. de Arquivos arquivos compartilhados


Compartilhar arquivos sempre conveniente, no entanto, alguns problemas so introduzidos:
Se os diretrios tiverem endereos de disco, ento dever ser feita um cpia dos endereos no diretrio de B; Se B ou C adicionar blocos ao arquivo (append), os novos blocos sero relacionados somente no diretrio do usurio que est fazendo a adio;
Mudanas no sero visveis ao outro usurio, comprometendo o propsito do compartilhamento;

70

Implementando o Sist. de Arquivos arquivos compartilhados


Solues:
Primeira soluo: os endereos de disco no esto relacionados nos diretrios, mas em uma estrutura de dados (i-node) associada ao prprio arquivo. Assim, os diretrios apontam para essa estrutura; (UNIX)
Ligao Estrita (hard link); Problema com essa soluo: o dono do arquivo que est sendo compartilhado apaga o arquivo;

71

Implementando o Sist. de Arquivos arquivos compartilhados


Ligao Estrita
Remove entrada de C, mas deixa o contador i-node intacto; B continua a usar o arquivo;
72

a) Antes da ligao; b) Depois da ligao; c) Depois de remover a entrada de C para o arquivo;

Implementando o Sist. de Arquivos arquivos compartilhados


Segunda Soluo: Ligao Simblica B se liga ao arquivo de C criando um arquivo do tipo link e inserindo esse arquivo em seu diretrio;
Somente o dono do arquivo tem o ponteiro para o i-node; O arquivo link contm apenas o caminho do arquivo ao qual ele est ligado; Assim, remoes no afetam o arquivo; Problema: Sobrecarga; Geralmente um i-node extra para cada ligao simblica;

73

Implementando o Sistema de Arquivos Gerenciamento de espao em disco


Duas estratgias so possveis armazenar um arquivo de n bytes: para

So alocados ao arquivo n bytes consecutivos do espao disponvel em disco; Arquivo espalhado por um nmero de blocos no necessariamente contnuos blocos com tamanho fixo;
A maioria dos sistemas de arquivos utilizam essa estratgia;

74

Implementando o Sistema de Arquivos Gerenciamento de espao em disco


Questo importante: Qual o tamanho ideal para um bloco?
Se for muito grande, ocorre desperdcio de espao; Se for muito pequeno, um arquivo ir ocupar muitos blocos, tornando o acesso/busca lento;

Assim, o tamanho do bloco tem uma grande influncia na eficincia de utilizao do espao em disco e no acesso ao disco (desempenho);

75

Implementando o Sistema de Arquivos Gerenciamento de espao em disco


Tamanho dos arquivos: 4 KB

Curva tracejada - Taxa de Dados X Tamanho do Bloco Curva contnua - Utilizao do disco X Tamanho do Bloco
76

Implementando o Sistema de Arquivos Gerenciamento de espao em disco


Conflito entre performance (desempenho) e utilizao do disco blocos pequenos contribuem para um baixo desempenho, mas so bons para o gerenciamento de espao em disco; UNIX 1Kb; 512 bytes a 32 Kb (potncias de 2); MS-DOS

Tamanho do bloco depende do tamanho do disco; Mximo nmero de blocos = 216;

WinNT Linux

2Kb; WINXP 1Kb, 2Kb , 4Kb;

4Kb;

77

Implementando o Sistema de Arquivos Gerenciamento de espao em disco


Controle de blocos livres dois mtodos:
Lista ligada de blocos livres: 32 bits para enderear cada bloco; mantida no disco;
Somente um bloco de ponteiros mantido na memria principal quando bloco est completo, esse bloco escrito no disco; Vantagens:
Requer menos espao se existem poucos blocos livres (disco quase cheio); Armazena apenas um bloco de ponteiros na memria;

Desvantagens:
Requer mais espao se existem muitos blocos livres (disco quase vazio); Dificulta alocao contnua; No ordenao;

78

Implementando o Sistema de Arquivos Gerenciamento de espao em disco


Mapa de bits (bitmap): depende do tamanho do disco:
Um disco com n blocos, possui um mapa de bits com n bits, sendo um bit para cada bloco; Mapa mantido na memria principal; Vantagens: Requer menos espao; Facilita alocao contnua; Desvantagens: Torna-se lento quando o disco est quase cheio;

79

Implementando o Sistema de Arquivos Gerenciamento de espao em disco

Lista de blocos livre

Mapa de bits

80

Implementando o Sistema de Arquivos Gerenciamento de espao em disco


Controle de cotas do disco: feito para que um usurio no ocupe muito espao do disco;
Idia administrador do sistema atribui para cada usurio uma cota mxima de espao;

Na memria principal:
Tabela de arquivos abertos com ponteiro para uma tabela que mantm registro de todas as cotas do usurio;

81

Implementando o Sistema de Arquivos Gerenciamento de espao em disco


Tabela de cotas
Limite flexvel de bloco

Tabela de arquivos abertos


Atributos Endereos Usurio Ponteiro para cota

Limite estrito de bloco Nmero corrente de blocos Espao de segurana dos blocos Limite flexvel de arquivos Limite estrito de arquivos Nmero corrente de arquivos Espao de segurana dos blocos

82

Implementando o Sistema de Arquivos


Algumas caractersticas importantes:
Confiabilidade:
Backups; Consistncia;

Desempenho:
Caching;

83

Implementando o Sistema de Arquivos Confiabilidade


Danos causados ao sistema de arquivos podem ser desastrosos; Restaurar informaes pode, e geralmente , ser custoso, difcil e, em muitos casos, impossvel; Sistemas de arquivos so projetados para proteger as informaes de danos lgicos e no fsicos;

84

Implementando o Sistema de Arquivos Confiabilidade


Backups
Cpia de um arquivo ou conjunto de arquivos mantidos por questo de segurana;
Mdia mais utilizada fitas magnticas;

Por que fazer backups?


Recuperar de desastres: problemas fsicos com disco, desastres naturais; Recuperar de acidentes do usurios que acidentalmente apagam seus arquivos; Lixeira (diretrio especial recycle bin): arquivos no so realmente removidos;

85

Implementando o Sistema de Arquivos Confiabilidade


Backups podem ser feitos automaticamente (horrios/dias programados) ou manualmente; Backups demoram e ocupam muito espao eficincia e convenincia; Questes:
O que deve ser copiado nem tudo no sistema de arquivos precisa ser copiado;
Diretrios especficos;

86

Implementando o Sistema de Arquivos Confiabilidade


No fazer backups de arquivos que no so modificados h um certo tempo;
Backups semanais/mensais seguidos de backups dirios das modificaes incremental dumps;
Vantagem: minimizar tempo; Desvantagem: recuperao mais complicada;

Comprimir os dados antes de copi-los; Dificuldade em realizar backup com o sistema de arquivos ativo:
Deixar o sistema off-line: nem sempre possvel; Algoritmos para realizar snapshots no sistema: salvam estado atual do sistema e suas estruturas de dados;

As fitas de backup devem ser deixadas em locais seguros;

87

Implementando o Sistema de Arquivos Confiabilidade


Estratgias utilizadas para backup:
Fsica: cpia se inicia no bloco 0 e pra somente no ltimo bloco, independentemente se existem ou no arquivos nesses blocos;
Desvantagens:
Copiar blocos ainda no utilizados no interessante; Possibilidade de copiar blocos com defeitos; Difcil restaurar diretrios/arquivos especficos; Incapacidade de saltar diretrios especficos; No permite cpias incrementais;

Vantagens:
Simples e rpida;

88

Implementando o Sistema de Arquivos Confiabilidade


Lgica: inicia-se em um diretrio especfico e recursivamente copia seus arquivos e diretrios; A idia copiar somente os arquivos (diretrios) que foram modificados;
Vantagem: Facilita a recuperao de arquivos ou diretrios especficos; Forma mais comum de backup; Cuidados: Links devem ser restaurados somente uma vez; Como a lista de blocos livres no copiada, ela deve ser reconstruda depois da restaurao;

89

Implementando o Sistema de Arquivos Confiabilidade


Algoritmo para Cpia Lgica

90

Implementando o Sistema de Arquivos Confiabilidade


Algoritmo para cpia lgica:
Fase 1 (a): marcar todos os arquivos modificados e os diretrios modificados ou no;
Diretrios marcados: 1, 2, 5, 6, 7, 10, 11, 14, 16, 18, 19, 20, 22, 23, 27, 29, 30; Arquivos marcados: 3, 8, 9, 17, 21, 24, 26;

Fase 2 (b): desmarcar diretrios que no tenham arquivos/subdiretrios abaixo deles modificados;
Diretrios desmarcados: 10, 11, 14, 27, 29, 30;

Fase 3 (c): varrer os i-nodes (em ordem numrica) e copiar diretrios marcados;
Diretrios copiados: 1, 2, 5, 6, 7, 16, 18, 19, 20, 22, 23;

Fase 4 (d): arquivos marcados so copiados.


Arquivos copiados: 3, 8, 9, 21, 24, 26;

91

Implementando o Sistema de Arquivos Confiabilidade


Algoritmo para Cpia Lgica

Mapa de bits indexado pelo nmero do i-node


92

Implementando o Sistema de Arquivos Confiabilidade


Consistncia dados no sistema de arquivos devem estar consistentes; Crtico: blocos de i-nodes, blocos de diretrios ou blocos contendo a lista de blocos livres/mapa de bits de blocos livres; Diferentes sistemas possuem diferentes programas utilitrios para lidar com inconsistncias:
UNIX: fsck; Windows: scandisk;

93

Implementando o Sistema de Arquivos Confiabilidade


FSCK (file system checker):
Blocos: o programa constri duas tabelas; cada qual com um contador (inicialmente com valor 0) para cada bloco;
os contadores da primeira tabela registram quantas vezes cada bloco est presente em um arquivo; os contadores da segunda tabela registram quantas vezes cada bloco est presente na lista de blocos livres; Lendo o i-node, o programa constri uma lista com todos os blocos utilizados por um arquivo (incrementa contadores da 1 tabela); Lendo a lista de bloco livres ou bitmap, o programa verifica quais blocos no esto sendo utilizados (incrementa contadores da 2 tabela); Assim, se o sistema de arquivos estiver consistente, cada bloco ter apenas um bit 1 em uma das tabelas (a);

94

Implementando o Sistema de Arquivos Confiabilidade


a)
15 0 1 1 0 1 0 1 1 1 1 0 0 1 1 1 0 0 0 0 1 0 1 0 0 0 0 1 1 0 0 0 1 1 Blocos em uso Blocos livres

Se problemas acontecerem, podemos ter as seguintes situaes:

b)

2 15 0 1 1 0 1 0 1 1 1 1 0 0 1 1 1 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1

Blocos em uso Blocos livres

Bloco 2 perdido (missing block) Soluo: coloc-lo na lista de livres


2 15 0 1 1 0 1 0 1 1 1 1 0 0 1 1 1 0 0 0 0 1 0 1 0 0 0 0 1 1 0 0 0 1 1 Blocos em uso Blocos livres
95

Implementando o Sistema de Arquivos Confiabilidade


a)
15 0 1 1 0 1 0 1 1 1 1 0 0 1 1 1 0 0 0 0 1 0 1 0 0 0 0 1 1 0 0 0 1 1 Blocos em uso Blocos livres

Se problemas acontecerem, podemos ter as seguintes situaes:

c)

4 15 0 1 1 0 1 0 1 1 1 1 0 0 1 1 1 0 0 0 0 1 0 2 0 0 0 0 1 1 0 0 0 1 1

Blocos em uso Blocos livres

Bloco 4 duplicado na lista de livres Soluo: reconstruir a lista Essa situao s ocorre se existir uma lista encadeada de blocos livres ao invs de um mapa de bits.
96

Implementando o Sistema de Arquivos Confiabilidade


a)
15 0 1 1 0 1 0 1 1 1 1 0 0 1 1 1 0 0 0 0 1 0 1 0 0 0 0 1 1 0 0 0 1 1 Blocos em uso Blocos livres

Se problemas acontecerem, podemos ter as seguintes situaes:

d)

5 15 0 1 1 0 1 0 2 1 1 1 0 0 1 1 1 0 0 0 0 1 0 1 0 0 0 0 1 1 0 0 0 1 1

Blocos em uso Blocos livres

Bloco 5 duplicado na lista de em uso (dois arquivos) Problemas: - Se um arquivo for removido, o bloco vai estar nas duas listas; - Se ambos forem removidos, o bloco vai estar na lista de livres duas vezes; Soluo: alocar um bloco livre, copiar para esse bloco o contedo do bloco 5 e atribuir esse bloco a um dos arquivos, avisando o administrador/usurio do problema;
97

Implementando o Sistema de Arquivos Confiabilidade


FSCK (file system checker)
Arquivos: Alm do controle de blocos, o verificador tambm armazena em um contador o uso de um arquivo tabela de contadores por arquivos:
Links simblicos no entram na contagem; Links estritos (hard link) entram na contagem (arquivo pode aparecer em dois ou mais diretrios); Cria uma lista indexada pelo nmero do i-node indicando em quantos diretrios cada arquivo aparece (contador de arquivos); Compara esses valores com a contagem de ligaes existentes (comea em 1 quando arquivo criado);

98

Implementando o Sistema de Arquivos Confiabilidade


FSCK (file system checker)
Arquivos:
Se o sistema estiver consistente, os contadores devem ser iguais; Se a contagem de ligaes no i-node for maior que o valor contado (contador de arquivo):
Problema: i-node no ser removido quando o(s) arquivo(s) for(em) apagado(s)

Se for menor:
Problema: quando chegar em zero, o sistema marca o i-node como no usado e libera os blocos, mas ainda tem arquivo apontando para aquele i-node

Soluo para ambos: atribuir o valor do contador de arquivos contagem de ligaes do i-node;

99

Exemplos reais de sistemas de arquivos


FAT e NTFS; I-node do Unix e NFS; EXT2FS, EXT3FS; ReiserFS;

100

Sistemas de Arquivos FAT


FAT surgiu por volta de 1976, sendo utilizada no SO do Intel 8086; A FAT no MS-DOS:
Limite de nome de arquivo 8 + 3 (8.3) caracteres; Hierarquia de diretrios rvore comea no diretrio raiz (root directory); No existe o conceito de diferentes usurios, portanto, todos os arquivos podem ser acessados por todos os usurios; Cada entrada de diretrio possui um tamanho fixo de 32 bytes;

101

Sistemas de Arquivos FAT


Entrada de diretrio do MS-DOS
Bytes 8 3 1 10 Reservado 2 2 2 4
Tamanho

Nome do arquivo

Extenso Atributos Hora* 5 bits para segundos; 6 bits para minutos; 5 bits para horas

Nmero do 1 bloco Data 5 bits para dia; 4 bits para ms; 7 bits para ano; Limite: 2107

* Defasagem de 2 segundos Tamanho de arquivo: 2Gb


102

Sistemas de Arquivos FAT


Trs verses: FAT12, FAT16, FAT32 (VFAT), dependendo de quantos bits so utilizados para armazenar cada posio na FAT; FAT12:
Tamanho de bloco: 512bytes, 1K, 2K e 4K; Tamanho de partio at 16 Mb;

FAT16:
Tamanho de bloco: 8k, 16k e 32k; Tamanho de partio at 2Gb;

103

Sistemas de Arquivos FAT


FAT32: iniciou-se com a segunda verso do Windows95 (Win95 OSR2 OEM Service Release 2)
Tamanho de bloco: 4k, 8k, 16k e 32k; Tamanho de partio 2Tb;

Controle de blocos livres feito utilizando a FAT; Windows98 utiliza FAT32 e permite arquivos com nomes longos (mais de 8 caracteres);

104

Sistemas de Arquivos FAT


Entrada de diretrio do Windows98 Bloco inicial
Bytes 8 3 1 11
NT

2 2

4
Tamanho

Nome do arquivo

Sec* Extenso Hora e data da ltima Atributos modificao Hora e data de criao ltimo acesso

- NT

compatibilidade com o NT
105

* Preciso de at 10mseg na data da criao do arquivo.

Sistemas de Arquivos FAT


Atributos Read-only Hidden System Volume Label Diretrio Archive Cdigo Binrio 00000001 00000010 00000100 00001000 00010000 00100000

* Soma do cdigo binrio combina os atributos

00010011

Backup: Setado modificado; Valor zero copiado;


106

Sistemas de Arquivos FAT


Para compatibilidade com o MS-DOS, o Windows98 armazena dois nomes de arquivos:
Um com o nmero total de caracteres utilizados; E outro com o nmero permitido pelo MS-DOS uso do ~1, ~2...~n (dois ltimos caracteres do nome do arquivo); Anlise dos 6 primeiros caracteres: os caracteres no vlidos para o MS-DOS (+ , ; = [ ]) so trocados por _(underscores); Todas as letras minsculas so convertidas para letras maisculas; Espaos em branco so removidos;

107

Sistemas de Arquivos FAT


Tamanho de bloco 512bytes 1kb 2kb 4kb 8kb 16kb 32kb FAT12 2Mb 4Mb 8Mb 16Mb FAT16 128Mb 256Mb 512Mb 1024Mb (1Gb) 2048Mb (2Gb) FAT32 1Tb 2Tb 2Tb 2Tb
108

Sistemas de Arquivos NTFS


NTFS no est baseado no Sistema de Arquivos FAT, mas se utiliza de algumas caractersticas do HPFS (High Performance File System - sistema de arquivos do OS/2); Caractersticas:
Confiabilidade capacidade de se recuperar de problemas sem perda de dados; melhorara a tolerncia a falhas;

109

Sistemas de Arquivos NTFS


Segurana e Controle de Acesso (DAC Discretionary Access Control): estabelece diretivas que permitem implementar controle de acesso em arquivos e diretrios, inexistente no Sistema de Arquivos FAT; Permite maiores parties no disco; Sistema de caracteres: UNICODE; Caminho: at 32.767 caracteres;

110

Sistemas de Arquivos NTFS


Suporta Case Sensitive, no entanto, caracterstica perdida devido Win32 API; Suporte rede; Compresso de arquivos; Tamanho de blocos 512bytes at 64Kb;
Windows2000 4Kb;

essa

Baseado no conceito de transaes tarefa cumprida at o fim ou abortada; Suporte criptografia de arquivos driver EFS (encrypting file system); chave de 128 bits; Links simblicos;

111

Sistemas de Arquivos NTFS


Cada arquivo um conjunto de atributos, cada qual representado por um stream de bytes; Sistema de arquivos hierrquico diretrio de trabalho corrente, caminho relativo e absoluto; Master File Table (MFT): armazena a estrutura do NTFS e as informaes sobre arquivos/diretrios; Bloco de boot tem o endereo da MFT;

112

Sistemas de Arquivos NTFS


MFT uma seqncia linear de registros de 1Kb um arquivo; Cada registro descreve um arquivo ou diretrio informaes como nome, lista de endereo de onde seus blocos esto alocados;
At 248 registros;

113

Sistemas de Arquivos NTFS - MFT


1Kb

16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

Primeiro arquivo do usurio

Reservado
$Extend Extenses: cotas, etc. $Upcase Tabela de converso de maisculas $Secure Descritor de Segurana p/ arquivos $BadClus Lista blocos defeituosos $Boot Carregador de Boot $Bitmap Mapa de bits de blocos ocupados $ Diretrio-raiz $AttrDef Definies de Atributos $Volume Arquivo de Volume $LogFIle Arquivos de Log para recuperao $MftMirr Cpia espelho da MFT $Mft Tabela de arquivos-mestre

Metadados

114

Sistemas de Arquivos NTFS - MFT


Header Header Header de informaes do nome dos dados Informao Sobre bloco de dados
Run#1 Run#2 Run#3

Header registro

Info

Nome

0 9 20 4 64 2 80 3 Sem uso

blocos Nmero dos blocos 20-23 64-65 80-82 (9 blocos)

Exemplo de um Registro MFT

115

Sistemas de Arquivos NTFS - MFT


Campo Info
Campo de tamanho fixo e obrigatrio, contendo:
Proprietrio do arquivo Informaes de segurana Marcadores de tempo Contador de ligaes Bits indicando se o arquivo apenas de leitura Etc

Campo Nome
Unicode Tamanho varivel

116

Sistemas de Arquivos NTFS - MFT

Arquivo que requer trs entradas na MFT


117

Sistemas de Arquivos NTFS - MFT

118

Sistemas de Arquivos
Caractersticas FAT16 DOS, Win9x, NT 2Gb 65000 Conjunto bsico No No FAT32 Win98, Win2000, WinXP, Win Vista 2Tb Ilimitado Conjunto bsico No No NTFS NT4, Win2000, WinXP, WinVista Ilimitada Ilimitado Vrios Sim Sim
119

Sistemas

Partio Nmero de arquivos Atributos Segurana Compresso

Sistema de Arquivos UNIX


Para o UNIX um arquivo uma seqncia de 0s ou mais bytes contendo dados; Nenhuma distino feita entre arquivos ASCII, binrios ou outros; Usa o conceito de i-nodes (64 bytes) associados aos arquivos tabela; Esquema do disco no UNIX clssico:

120

Sistema de Arquivos I-node do UNIX

64

Estrutura i-node do System V


121

Sistemas de Arquivos
Diversos so os sistemas de arquivos utilizados pelo LINUX:
Ext2FS, Ext3FS, Ext4FS, Xia; CFS, TCFS, VFS, GFV, NFS, HPFS, SYSV; ReiserFS; JFS (IBM);

Primeiro foi baseado no Minix;

122

Sistemas de Arquivos
extFS (Extended File System - 1992); ext2FS (Second Extended File System 1993);
At Red Hat 7.2;

ext3FS (Third Extended File System);


Red Hat 7.3; Conectiva 8;

ext4FS
Mais uma atualizao do ext3

123

Sistemas de Arquivos Ext2/Ext3


Tamanho de blocos: 1kb, 2kb, 4kb; Estrutura hierrquica de diretrios; Assim como o UNIX, o LINUX tambm utiliza a estrutura de i-nodes vinculada a cada arquivo; Controle de blocos livres mapa de bits; Tanto o mapa de bits quanto a tabela de inodes so armazenados no disco;

124

Sistemas de Arquivos Ext2/Ext3


Processo do Usurio
Chamadas de sistema Interface VFS ExtFS Ext2FS Cache Drivers Controlador Ext3FS

Kernel

VFS (virtual file system): Possui informaes dos sistemas de arquivos; Conjunto de operaes; Facilita a adio de novos sistemas de arquivos no kernel;

Hardware
125

Sistemas de Arquivos Ext2/Ext3


Caractersticas:
5% dos blocos so armazenados para o administrador do sistema (root); Permite atualizaes sncronas; (write-through do MS-DOS); Links simblicos; Controla o status do sistema de arquivos utilizando um Superbloco;

126

Sistemas de Arquivos Ext2/Ext3


Pr-alocao de blocos contnuos (adjacentes) 8 blocos; Parties so divididas em grupos de blocos, cada qual com um Superbloco, mapa de bits, i-nodes;
Confiabilidade; Desempenho menor nmero de acessos;

Limite de tamanho de partio: 4Tb; Limite de tamanho de nome de arquivos: 255 caracteres (podendo ser estendido para 1012);

127

Sistemas de Arquivos Ext2/Ext3


Grupo de blocos
Boot Grupo 0 Grupo n

Super Descritor de Bitmap bloco grupo Bloco de dados

Bitmap I-nodes

Tabela I-nodes

Blocos de dados

Tamanho e quantidade de blocos; Localizao dos i-nodes; Nmero de bloco livres; Apontador para o 1 i-node (/) ; Outras informaes;
128

Sistemas de Arquivos Ext2/Ext3


Grupo de blocos
Boot Grupo 0 Grupo n

Super Descritor de Bitmap bloco grupo Bloco de dados

Bitmap I-nodes

Tabela I-nodes

Blocos de dados

Estrutura de cada grupo; Nmero do bloco no qual est armazenado o bitmap para blocos ocupados; Nmero de diretrios do grupo;
129

Sistemas de Arquivos Ext2/Ext3


Grupo de blocos
Boot Grupo 0 Grupo n

Super Descritor de Bitmap bloco grupo Bloco de dados 1 bloco n blocos 1 bloco

Bitmap I-nodes 1 bloco

Tabela I-nodes

Blocos de dados n blocos

n blocos

130

Sistemas de Arquivos Ext2/Ext3


Diretrios so gerenciados como listas ligadas com entradas de tamanho variado; Cada entrada possui os seguintes campos:
Nmero do i-node; Tamanho da entrada (Tent); Tamanho do nome (Tnome); Tipo do arquivo (Tipo); Nome;

I-node i1 i2

Tent 16 40

Tnome 05 14

Tipo Ln Dir

Nome arquivo file1 Long_file_name

Entrada de um diretrio Ext2FS


131

Sistemas de Arquivos Ext2/Ext3


Inodes so de tamanho fixo, com: 12 endereos diretos; 1 endereo indireto, 1 duplamente indireto e 1 triplamente indireto; Endereos de 4 bytes (32bits);

Os inodes so criados no momento da formatao lgica do dispositivo; Assim, possvel redimensionar o nmero de inodes de acordo com a capacidade do dispositivo e o tipo e tamanho de arquivos que sero nele armazenados;

132

Sistemas de Arquivos Ext3


O GNU/Linux mantm para cada sistema de arquivos montado uma cpia do superbloco em memria RAM; A chamada de sistema sync atualiza os dados dos superblocos que esto armazenados em cache para seus locais em disco, sincronizando as informaes sobre o sistema de arquivos;
Ext2 a cada 30 segundos; Ext3 a cada 5 segundos;

133

Sistemas de Arquivos Ext2/Ext3


Ext2FS possui uma baixa tolerncia falhas; Ext3FS: principal diferena journaling;
O sistema mantm logs dos eventos, permitindo uma recuperao rpida;

134

Sistemas de Arquivos Ext3


A introduo do "journal" em sistemas EXT3 modifica a abordagem de recuperao de sistemas de arquivos (fsck) e reduz o tempo de parada do sistema para valores muito baixos; Uma rea reservada para a alocao do "journal" ou "log;

135

Sistemas de Arquivos Ext3


As operaes so primeiramente gravadas no journal; Quando a atualizao finalizada, um registro de complemento (commit record) gravado sinalizando o final da entrada. Ento, as mudanas so efetivamente gravadas em disco; Assim, quando uma falha ocorre, realizando uma consulta ao journal, possvel a reconstruo das operaes ainda no concludas e a rpida recuperao do sistema;

136

Sistemas de Arquivos Ext3


Trs modos:
Journaling (Registro de aes): Grava todas as mudanas e usa um arquivo de registros de aes maior.
o mais lento, mas possui maior capacidade de evitar perdas;

Ordered (Ordenado): Grava somente mudanas nos metadados (arquivos que possuem informaes sobre outros arquivos), mas registra as atualizaes nos arquivos de dados antes de fazer as mudanas associadas ao sistema de arquivos.
o padro do EXT3;

137

Sistemas de Arquivos Ext3


Trs modos:
Writeback: Grava mudanas nos metadados, mas utiliza o processo de escrita do sistema de arquivos em uso para gravao.
o mais rpido, porm o menos confivel e mais suscetvel corrupo de arquivos aps uma falha; Equivalente instalao de um sistema com EXT2;

138

Sistema de Arquivos ReiserFS


Criado por Hans Reiser e mantido pela NameSys
(http://www.namesys.com);

Arvores balanceadas e finitas (balanced tree) (B*) so usadas para organizar o sistema de arquivos (verso melhorada de rvores B+); Possui suporte a journaling; Tamanho de bloco padro: 4kbytes; Alto desempenho com arquivos pequenos, pois seus dados podem ser armazenados prximos aos metadados, ento, ambos podem ser recuperados com um pequeno movimento da cabea de leitura do disco;

139

Sistema de Arquivos ReiserFS


O ReiserFS uma camada semntica com mtodos e funes que so referenciados para executar tarefas no sistema de arquivos; Trata toda a partio como se fosse uma nica tabela de banco de dados contendo diretrios, arquivos e metadados dentro de uma mesma rvore;
Tudo que est armazenado na rvore possui uma chave que facilita pesquisas;

140

Sistema de Arquivos ReiserFS


Guarda apenas informaes sobre os metadados e no as informaes dos arquivos em si (como faz o Ext3);
Com isso, o journal armazena menos informaes, aumentando as chances de no recuperar dados que estavam sendo gravados no momento de uma falha; Mas melhora o desempenho de acesso;

Foi conhecido por ser utilizado pela distribuio Linux Suse, at 2006, que passou a utilizar o ext3 Desvantagem: alto consumo de CPU (no mnimo 7%) Cdigo fonte disponvel em www.kernel.org
141

Você também pode gostar