Escolar Documentos
Profissional Documentos
Cultura Documentos
Referências:
Diretório
Arquivos
F1 F2 F4
F3
Fn
partição A disco 4
arquivos
disco 1
diretório arquivos
partição C
diretório raiz
RWX
b) groups access 6 110
RWX
c) public access 1 001
1- permissão
0 - negação
Proteção: Direitos de Acessos - Unix
Q
Tamanho do arquivo / Tamanho do bloco
R
Posição do bloco = Q + endereço do bloco inicial
Deslocamento dentro do bloco = R
Alocação Contígua (ii)
FileA
0 1 2 3 4
File Allocation Table
5 6 7 8 9
File Name Start Block Length
FileB
FileA 2 3
10 11 12 13 14
FileB 9 5
FileC 18 8
15 16 17 18 19 FileD 30 2
FileC FileE 26 3
20 21 22 23 24
FileE
25 26 27 28 29
FileD
30 31 32 33 34
Alocação por Encadeamento
Cada arquivo é uma lista encadeada de blocos que podem ser espalhados no disco; elimina
a fragmentação externa e facilita o gerenciamento do espaço no disco
Desempenho bom para acesso sequencial, mas ineficiente para acesso arbitrário
Os ponteiros ocupam espaço (overhead): 4 bytes em 512 (0,78%); agrupamento de blocos
(clusters) pode ser usado
A confiabilidade depende do encadeamento dos blocos que pode ser perdido se um
ponteiro for corrompido
A variante com FAT (File Allocation Table) torna o esquema bastante eficiente; a FAT
fica em cache (na memória principal) para acesso rápido e pode ser duplicada para
confiabilidade
ponteiro
bloco
Alocação por Encadeamento
entrada no diretório 0
339 eof
nome do arquivo
618 339
n-1
Alocação por Encadeamento com FAT
0 x tamanho
1 x do disco
arquivo C 2 eof
6 8 4 2 3 13
4 2
5 9
arquivo B 5 9 12 6 8
7 free
8 *
9 12
arquivo C 10 3 13 10 3
11 free
12 eof
13 eof
14 bad
free
* deve ser 4; se diferente indica corrupção
n-1
Alocação por Tabela de Índices
Q
LA/512
blocos no disco
R
Q = deslocamento na tabela de índices
R = deslocamento no bloco
tabela de índices
Alocação por Tabela de Índices
Tabela de Índices– mapeamento em 2 níveis
Tabela em dois níveis: tamanho máximo do arquivo 5123
Q1
Endereço Lógico / (512 x 512)
R1
Q1 = deslocamento na tabela de índices interna (nível 1); usado para calcular a posição do ponteiro para o
segundo bloco:
R1 é usado para calcular a posição do ponteiro no segundo bloco:
Q2
R1 / 512
R2
end. lógico Q2
R2
Q1
bloco no disco
nível I
nível II
Esquema combinado: UNIX (4K bytes por bloco)
Espaço Livre: Mapa de bits
Vetor de bits - n blocos 0 1 2 n-1
Cálculo do número do bloco
0 0 0 1 1 1 … 1
200 100
150 75
100 50
50 25
0 0
128 256 512 1K 2K 4K 8k
tamanho do bloco no disco