Sie sind auf Seite 1von 140

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

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 (e consequentemente, Linux) case sensitive:
Ex.: exemplo.c diferente de Exemplo.c;

MS-DOS no case sensitive :


Ex.: exemplo.c o mesmo que Exemplo.c;

Win95/Win98/WinNT/Win2000/WinXP/WinVista
No

herdaram

caractersticas do sistema de arquivos do MS-DOS;


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

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) Sequncia 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) Sequncia de registros de tamanho fixo, cada qual com uma estrutura interna leitura/escrita so realizadas em registros;
SOs mais antigos mainframes e cartes perfurados (80 caracteres); 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 so aqueles utilizados para modelar discos;


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 aleatrio aos arquivos, cujos bytes ou registros podem ser acessados em qualquer ordem;
Acesso feito por chave; Mtodos que podem ser usados para especificar onde iniciar leitura:
Operao Read posio do arquivo em que se inicia a leitura; Operao Seek a operao seek estabelece a posio atual; depois de um seek, o arquivo pode ser lido sequencialmente a partir de sua posio atual. Usado no Linux e Windows
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, mas com algumas categorias, como os de proteo, so comuns a todos;

18

Sistema de Arquivos Atributos de arquivos


Atributo Proteo Senha Criador Dono Flag de leitura Flag de oculto Flag de sistema Flag de repositrio 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 0 para arquivos normais; 1 para arquivos do sistema 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 sequencial; 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 Significado

Momento da criao Momento do ltimo acesso Momento da ltima mudana


Tamanho

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

Tamanho Mximo

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 (realizadas atravs de 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 segmentao;

em

sistemas

que

suportam

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 mapear pequenas


partes do arquivo;

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;

Diretrio raiz

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

Sistema de Arquivos Diretrios Dois nveis


Cada usurio possui um diretrio privado;

Sem conflitos de nomes de arquivos; Procedimento de login: identificao;

Diretrio raiz
Diretrio do usurio
A
A A

Compartilhamento de arquivos programas executveis do sistema; Desvantagem:


Usurio com muitos arquivos;

B
B C

C
C C

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 B A B B B B C C C

C C C
C

Sub-diretrios do usurio

31

Implementando o Sistema 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;

32

Implementando o Sistema de Arquivos arquivos compartilhados

33

Implementando o Sistema 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;

34

Implementando o Sistema 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;

35

Implementando o Sistema de Arquivos arquivos compartilhados


Ligao Estrita
Remove entrada de C, mas deixa o contador i-node intacto; B continua a usar o arquivo;
a) Antes da ligao; b) Depois da ligao; c) Depois de remover a entrada de C para o arquivo;
36

Implementando o Sistema 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;

37

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);

38

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: c:\usr\ast\mailbox;

39

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

40

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

41

Sistema de Arquivos Diretrios Operaes

Exemplos de operaes do sistema de arquivos: Create; Delete; Opendir; Closedir; Readdir; Rename; Link (para um arquivo aparecer em mais de um diretrio); Unlink;

42

Implementando o Sistema de arquivos

Implementao do Sistema de Arquivos: deve estabelecer as formas e operaes para as seguintes operaes:
Como arquivos e diretrios so armazenados;
Como o espao em disco gerenciado; Como tornar o sistema eficiente e confivel;

43

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;

44

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:

45

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
46

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)
47

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


48

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


49

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


50

Implementando o Sistema de arquivos - Arquivos

Armazenamento de arquivos como os arquivos so alocados no disco;


Diferentes tcnicas so implementadas por diferentes Sistemas Operacionais;
Alocao contnua; Alocao com lista encadeada;

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

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;

52

Implementando o Sistema de arquivos - Arquivos

Alocao contnua:
37 Blocos 4 3 6 5 12 6

Removendo os arquivos D e F...


4 3 6 5 12 7

Livre

Livre

53

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 sequencial;

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);

54

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;

55

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;

56

Implementando o Sistema de arquivos - Arquivos

Alocao com lista encadeada:


Blocos do arquivo

Arquivo A
1 7 2 2 3 10 4 12

0
Blocos fsicos

Blocos do arquivo

Arquivo B
1 2 3

0
Blocos fsicos

11

14
57

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);

58

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;

59

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


60

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;

61

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;

62

Implementando o Sistema de arquivos - Arquivos


I-nodes:
Atributos do arquivo Endereo do bloco 0 Endereo do bloco 1 Endereos do disco 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
63

Implementando o Sistema de arquivos - Arquivos


I-nodes:

64

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 66 teste.c O arquivo texto.txt 72 texto.txt est no i-node 72


65

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

66

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;

67

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)


68

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;

69

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
70

. . 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 s e

HEAP

. . a)

. . b)

71

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 tima para poucas consultas de arquivos;


72

Implementando o Sistema de Arquivos Gerenciamento de espao em disco

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


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 estratgia; essa

73

Implementando o Sistema de Arquivos Gerenciamento de espao em disco

Questo importante: Qual o tamanho ideal para um bloco?


Se for muito grande, (fragmentao interna); ocorre desperdcio de espao

Se for muito pequeno, um arquivo ir ocupar muitos blocos, tornando o acesso/busca lento (fragmentao externa);

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

74

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
75

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; MS-DOS 512 bytes a 32 Kb (potncias de 2);

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

WinNT 2Kb; WINXP 4Kb; Linux 1Kb, 2Kb , 4Kb;

76

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;

77

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;

78

Implementando o Sistema de Arquivos Gerenciamento de espao em disco

Lista de blocos livre

Mapa de bits

79

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 o 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 o registro de todas as cotas do usurio;

80

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

81

Implementando o Sistema de Arquivos

Algumas caractersticas importantes:


Confiabilidade:
Backups; Consistncia;

Desempenho:
Caching;

82

Implementando o Sistema de Arquivos Confiabilidade

Danos causados ao sistema de arquivos podem ser desastrosos;


Restaurar informaes pode ser (e geralmente ) custoso, difcil e, em muitos casos, impossvel; Sistemas de arquivos so projetados para proteger as informaes de danos lgicos, e no fsicos;

83

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;

84

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 todo o sistema de arquivos precisa ser copiado;
Diretrios especficos;

85

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;

86

Implementando o Sistema de Arquivos Confiabilidade

Estratgias utilizadas para backup:


Fsica: a operao de cpia inicia no bloco 0 e encerra somente no ltimo bloco, independente 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;

87

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 especficos; Forma mais comum de backup; arquivos ou diretrios

Cuidados: Links devem ser restaurados somente uma vez; Como a lista de blocos livres no copiada, ela deve ser reconstruda depois da restaurao;
88

Implementando o Sistema de Arquivos Confiabilidade


Algoritmo para Cpia Lgica

89

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;

90

Implementando o Sistema de Arquivos Confiabilidade


Algoritmo para Cpia Lgica

Mapa de bits indexado pelo nmero do i-node


91

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 ;

92

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);

93

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 ocorrem problemas, 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
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 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

c)

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.
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:

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;
96

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);

97

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;

98

Exemplos reais de sistemas de arquivos


FAT (diversas verses) e NTFS; I-node do Unix e NFS; Extended File System (EXT2, EXT3, EXT4), criado e 1992 como uma evoluo do Unix File System (UFS);

ReiserFS;

99

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;

100

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


101

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;

102

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);

103

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 Windows NT * Preciso de at 10mseg na data da criao do arquivo.


104

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;


105

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;

106

Sistemas de Arquivos FAT


Tamanho de bloco 512bytes 1kb 2kb 4kb FAT12 2Mb 4Mb 8Mb 16Mb FAT16 128Mb 256Mb FAT32 1Tb

8kb
16kb 32kb

512Mb
1024Mb (1Gb) 2048Mb (2Gb)

2Tb
2Tb 2Tb

107

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;

108

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;

109

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;

essa

Windows2000 4Kb;

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;
110

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;

111

Sistemas de Arquivos NTFS


MFT uma sequncia 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;

112

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

Metadados

113

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

114

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

115

Sistemas de Arquivos NTFS - MFT

Arquivo que requer trs entradas na MFT

116

Sistemas de Arquivos NTFS - MFT

117

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, 7, 8 Ilimitada Ilimitado Vrios Sim Sim
118

Sistemas

Partio Nmero de arquivos Atributos Segurana Compresso

Sistema de Arquivos UNIX


Para o UNIX um arquivo uma sequncia 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:

119

Sistema de Arquivos I-node do UNIX

64

Estrutura i-node do System V


120

Sistemas de Arquivos

Diversos so os sistemas utilizados pelo LINUX:

de arquivos

Ext2FS, Ext3FS, Ext4FS, Xia; CFS, TCFS, VFS, GFV, NFS, HPFS, SYSV; ReiserFS; JFS (IBM);

Primeiro foi baseado no Minix;

121

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

122

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 i-nodes so armazenados no disco;

123

Sistemas de Arquivos Ext2/Ext3


Processo do Usurio
Chamadas de sistema Interface VFS

VFS (virtual file system):


Possui informaes dos sistemas de arquivos; Conjunto de operaes; Facilita a adio de novos sistemas de arquivos no kernel;

Kernel
ExtFS Ext2FS Cache Ext3FS

Drivers Controlador

Hardware
124

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;

125

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);

126

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;
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

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

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

129

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


130

Sistemas de Arquivos Ext2/Ext3

I-nodes possuem tamanho fixo, com:


12 endereos diretos; 1 endereo indireto, 1 duplamente indireto e 1 triplamente indireto; Endereos de 4 bytes (32bits);

Os i-nodes 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;

131

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;

132

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;

133

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;

134

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;

135

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;

136

Sistemas de Arquivos Ext3


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;

137

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;
138

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;

139

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

140

Das könnte Ihnen auch gefallen