Escolar Documentos
Profissional Documentos
Cultura Documentos
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;
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;
especiais
podem
Caracteres permitidos: A-Z, a-z, 0-9, $, %, , @, {, }, ~, `, !, #, (, ), & Caracteres no permitidos: ?, *, /, \, , |, <, >, :
MS-DOS no sensvel:
Ex.: exemplo.c o mesmo que Exemplo.c;
herdaram
No entanto, WinNT/Win2000/WinXP/WinVista possuem um sistema de arquivos prprio NTFS (New Technology File System);
10
11
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
a)
b)
c)
14
so aqueles
15
Binrio:
Todo arquivo no ASCII; Possuem uma estrutura interna conhecida pelos aplicativos que os usam; Ex.: programa executvel;
16
17
18
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
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
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
22
23
24
25
26
27
Diretrio raiz
Arquivos
29
Usurios podem querer agrupar seus arquivos de maneira lgica, criando diversos diretrios que agrupam arquivos;
30
Arquivos
31
32
33
34
35
36
37
38
39
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
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
MBR
Gerenc. de Espao livre Arquivos Diretrios
Boot
Super bloco
I-nodes
Raiz
MBR
Gerenc. de Espao livre Arquivos Diretrios
Boot
Super bloco
I-nodes
Raiz
MBR
Gerenc. de Espao livre Arquivos Diretrios
Boot
Super bloco
I-nodes
Raiz
45
46
47
48
49
Vantagem:
No se perde espao com a fragmentao externa;
50
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
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
53
10 11 7 3 2 12 14 -1 -1
Arquivo A 4 7 2 10 12 Arquivo B 6 3 11 14
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
Desvantagem:
O tamanho do arquivo pode aumentar muito
Soluo: reservar o ltimo endereo para outros endereos de blocos;
56
58
I-node 72 modo tamanho hora 503 O arquivo texto.txt est no bloco 503
60
O servio de diretrio responsvel por mapear o nome ASCII do arquivo na informao necessria para localizar os dados
61
62
a)
b)
64
- 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)
HEAP
s e
. . a)
. . b)
66
67
68
69
70
71
73
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
Assim, o tamanho do bloco tem uma grande influncia na eficincia de utilizao do espao em disco e no acesso ao disco (desempenho);
75
Curva tracejada - Taxa de Dados X Tamanho do Bloco Curva contnua - Utilizao do disco X Tamanho do Bloco
76
WinNT Linux
4Kb;
77
Desvantagens:
Requer mais espao se existem muitos blocos livres (disco quase vazio); Dificulta alocao contnua; No ordenao;
78
79
Mapa de bits
80
Na memria principal:
Tabela de arquivos abertos com ponteiro para uma tabela que mantm registro de todas as cotas do usurio;
81
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
Desempenho:
Caching;
83
84
85
86
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;
87
Vantagens:
Simples e rpida;
88
89
90
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;
91
93
94
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
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
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
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
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
98
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
100
101
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
FAT16:
Tamanho de bloco: 8k, 16k e 32k; Tamanho de partio at 2Gb;
103
Controle de blocos livres feito utilizando a FAT; Windows98 utiliza FAT32 e permite arquivos com nomes longos (mais de 8 caracteres);
104
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
00010011
107
109
110
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
112
113
16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
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
Header registro
Info
Nome
0 9 20 4 64 2 80 3 Sem uso
115
Campo Nome
Unicode Tamanho varivel
116
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
120
64
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);
122
Sistemas de Arquivos
extFS (Extended File System - 1992); ext2FS (Second Extended File System 1993);
At Red Hat 7.2;
ext4FS
Mais uma atualizao do ext3
123
124
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
126
Limite de tamanho de partio: 4Tb; Limite de tamanho de nome de arquivos: 255 caracteres (podendo ser estendido para 1012);
127
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
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
Super Descritor de Bitmap bloco grupo Bloco de dados 1 bloco n blocos 1 bloco
Tabela I-nodes
n blocos
130
I-node i1 i2
Tent 16 40
Tnome 05 14
Tipo Ln Dir
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
133
134
135
136
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
138
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
140
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