SlideShare uma empresa Scribd logo
1 de 63
Baixar para ler offline
Aula 21 – Sistema de Arquivos II
Norton Trevisan Roman
13 de novembro de 2017
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 1 / 55
I-Nodes
Associa-se a cada arquivo uma estrutura de dados
chamada i-node (index-node)
Listando os atributos e endere¸cos em disco dos blocos do
arquivo
Dado o i-node de um arquivo, ´e poss´ıvel encontrar todos os
blocos desse arquivo
Um ´unico i-node por arquivo
SOs: UNIX e Linux
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 2 / 55
I-Nodes
Vantagens:
O i-node somente ´e carregado na mem´oria quando o seu
respectivo arquivo estiver aberto (em uso)
Espa¸co de mem´oria ocupado pelos i-nodes ´e proporcional ao n´umero
m´aximo de arquivos que podem ser abertos ao mesmo tempo
Enquanto o espa¸co de mem´oria ocupado pela tabela de arquivo
(FAT) ´e proporcional ao tamanho do disco
NTFS ´e proporcional ao n´umero de arquivos no dispositivo
Se cada i-node ocupa n bytes, e no m´aximo k arquivos
podem estar abertos ao mesmo tempo, o total de mem´oria
ocupada pelo arranjo contendo os i-nodes ´e kn bytes;
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 3 / 55
I-Nodes
Desvantagem:
Cada i-node tem espa¸co para
um n´umero fixo de endere¸cos
de disco
O tamanho do arquivo pode
aumentar al´em deste limite
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 4 / 55
I-Nodes
Desvantagem:
Cada i-node tem espa¸co para
um n´umero fixo de endere¸cos
de disco
O tamanho do arquivo pode
aumentar al´em deste limite
Solu¸c˜ao:
Reservar o ´ultimo endere¸co
para um bloco contendo
outros endere¸cos de blocos
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 4 / 55
I-Nodes
Pode-se ter at´e 2 ou mais
desses blocos contendo
endere¸cos de disco
Ou mesmo blocos apontando
a outros blocos de endere¸cos
Ex: I-node no Linux e UNIX
V7
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 5 / 55
I-Nodes: Padr˜ao POSIX
Atributos de arquivos
regulares:
Tamanho do arquivo (B)
Device ID (dispositivo
contendo o arquivo)
User ID do dono do arquivo
Group ID do arquivo
Modo (tipo de arquivo e como
pode ser acessado)
Flags para prote¸c˜ao
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 6 / 55
I-Nodes: Padr˜ao POSIX
Atributos de arquivos
regulares:
Timestamps (quando o i-node
foi modificado, quando o
conte´udo do arquivo foi
modificado, tempo do ´ultimo
acesso)
Contador de links (quantos
links apontam para o i-node)
Ponteiros para os blocos de
disco com o arquivo
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 7 / 55
I-Nodes: Comandos Linux
Descobrir o
n´umero do i-node
$ ls -i temp
1320187 temp
Obter as
informa¸c˜oes de
um arquivo
$ stat temp
Arquivo: "temp"
Tamanho: 4 Blocos: 8 Bloco IO: 4096 arquivo
comum
Dispositivo: 801h/2049d Inode: 1320187 Links: 1
Acesso: (0664/-rw-rw-r--) Uid: ( 1530/ norton)
Gid: ( 1205/ norton)
Acessar: 2012-11-09 14:41:20.289825865 -0200
Modificar: 2012-11-09 14:41:19.169825830 -0200
Alterar: 2012-11-09 14:41:19.169825830 -0200
Nascimento: -
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 8 / 55
I-Nodes: Dispositivos
No Linux, dispositivos em
geral s˜ao representados
como arquivos
I-node especial, contendo:
Major device number → usado
para localizar o driver apropriado
Minor device number → passado
como parˆametro ao driver, de
modo a especificar a unidade a
ser lida ou escrita
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 9 / 55
Em Suma...
Duas estrat´egias s˜ao poss´ıveis para armazenar um
arquivo de n bytes:
S˜ao alocados ao arquivo n bytes consecutivos do espa¸co
dispon´ıvel em disco
Se o arquivo crescer, provavelmente ter´a que ser movido para outra
parte do disco
Arquivo ´e quebrado em um n´umero de blocos n˜ao
necessariamente cont´ıguos
Blocos com tamanho fixo
N˜ao necessariamente do mesmo tamanho usado pelo hardware do
dispositivo (chamados de clusters, na nomenclatura da FAT)
A maioria dos sistemas de arquivos utilizam essa estrat´egia
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 10 / 55
Em Suma...
Antes que possa ser lido, um arquivo tem que ser
aberto
Quando “abrimos” um arquivo, o SO usa o caminho
fornecido para localizar a entrada no diret´orio
Essa entrada fornece a informa¸c˜ao necess´aria para encontrar
os blocos no disco
Dependendo do sistema, ser´a
O endere¸co em disco do arquivo inteiro (aloca¸c˜ao cont´ıgua)
N´umero do primeiro bloco (lista ligada ou FAT)
´Indice do arquivo na MFT (NTFS)
N´umero do i-node
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 11 / 55
Implementa¸c˜ao de Diret´orios
Fun¸c˜ao do diret´orio: mapear o nome do arquivo `a
informa¸c˜ao necess´aria para localizar os dados
Onde armazenar os atributos relacionados a um
arquivo?
Diretamente na entrada do Diret´orio:
Nesse caso, um diret´orio consiste de um arquivo com uma lista de
entradas com tamanho fixo (uma para cada arquivo), contendo um
nome de arquivo, uma estrutura
de atributos de arquivos, e um ou mais
endere¸cos de disco para os blocos (ou
ponteiro para a FAT)
MS/DOS e Windows (FAT)
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 12 / 55
Implementa¸c˜ao de Diret´orios
NTFS
Tudo est´a na MFT (diret´orios, subdiret´orios e arquivos)
Os atributos do arquivo s˜ao mantidos na entrada do pr´oprio arquivo
Um diret´orio guarda t˜ao somente informa¸c˜ao sobre si mesmo, n˜ao
sobre os arquivos nele contidos
Registro da MFT para um diret´orio pequeno (diret´orios
grandes usam uma ´arvore B+ para listar os arquivos)
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 13 / 55
Implementa¸c˜ao de Diret´orios
Onde armazenar os atributos relacionados a um
arquivo?
No i-node:
Nesse caso, a entrada no diret´orio ´e menor, armazenando somente o
nome de arquivo e o n´umero do i-node
O diret´orio ´e uma listagem dentro de um ou mais blocos de dados
do i-node
UNIX e Linux
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 14 / 55
I-Nodes
Exemplo pr´atico: ler o arquivo “/usr/ant/texto.txt”
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 15 / 55
I-Nodes
Exemplo pr´atico: ler o arquivo “/usr/ant/texto.txt”
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 16 / 55
I-Nodes
Exemplo pr´atico: ler o arquivo “/usr/ant/texto.txt”
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 17 / 55
I-Nodes
Exemplo pr´atico: ler o arquivo “/usr/ant/texto.txt”
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 18 / 55
I-Nodes
Exemplo pr´atico: ler o arquivo “/usr/ant/texto.txt”
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 19 / 55
I-Nodes
Exemplo pr´atico: ler o arquivo “/usr/ant/texto.txt”
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 20 / 55
I-Nodes
Exemplo pr´atico: ler o arquivo “/usr/ant/texto.txt”
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 21 / 55
I-Nodes
Exemplo pr´atico: ler o arquivo “/usr/ant/texto.txt”
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 22 / 55
I-Nodes
Exemplo pr´atico: ler o arquivo “/usr/ant/texto.txt”
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 23 / 55
Arquivos Compartilhados
Usu´arios frequentemente precisam acessar os
mesmos arquivos
Muitas vezes, ´e conveniente que arquivos apare¸cam em
diferentes diret´orios (via links)
Normalmente,
o sistema de
arquivos ´e
implementado
como uma
´arvore
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 24 / 55
Arquivos Compartilhados
Mas quando se tem arquivos compartilhados...
O sistema de arquivos ´e
implementado como
um grafo ac´ıclico
direcionado
Links s˜ao criados
Conex˜ao entre um
diret´orio (B) e o arquivo
compartilhado presente
em outro (C)
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 25 / 55
Arquivos Compartilhados
Hard Link:
Diret´orios apontam para o i-node
(UNIX)
O i-node cont´em informa¸c˜ao sobre o
arquivo
Dono
Localiza¸c˜ao no disco
N´umero de liga¸c˜oes
etc
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 26 / 55
Arquivos Compartilhados
Hard Link:
No momento em que B
faz a liga¸c˜ao com o
arquivo compartilhado,
o i-node est´a
registrando que o dono
do arquivo ´e C
Criar o link n˜ao muda seu dono
O contador de links no i-node ´e incrementado
O sistema sabe quantas entradas de diret´orio apontam para
o arquivo naquele momento
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 27 / 55
Arquivos Compartilhados
Hard Link:
Quando C remove o
arquivo, h´a um problema:
Se o arquivo e seu i-node
forem removidos, B ter´a uma entrada apontando para um
i-node inv´alido
Solu¸c˜ao: Remover a entrada de C, mas deixando o i-node intacto,
decrementando seu contador de links. Se o contador for 0, a´ı sim
remove o arquivo e limpa o i-node
Problema: B possui uma entrada em diret´orio para um arquivo cujo
dono ´e C → Se o sistema tiver quotas, ocupar´a espa¸co de C
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 28 / 55
Arquivos Compartilhados
Liga¸c˜ao Simb´olica:
B se liga ao arquivo de C criando um arquivo do tipo link e
inserindo esse arquivo em seu diret´orio (B)
O arquivo link cont´em apenas o caminho absoluto do arquivo ao
qual ele est´a ligado
Remover o link n˜ao afeta o arquivo
Quando B lˆe do arquivo, o SO vˆe que ´e um link simb´olico, olha o
nome do arquivo no link e lˆe este arquivo
N˜ao incrementa contador nenhum
Tamb´em presente em Windows (Atalhos)
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 29 / 55
Arquivos Compartilhados
Liga¸c˜ao Simb´olica:
Somente o dono do arquivo tem o ponteiro para o i-node
Resolve o problema da quota
Vantagem:
O arquivo alvo pode estar, por exemplo, em outro disco
Podem se ligar a qualquer m´aquina no mundo. Basta dar o endere¸co
de rede da m´aquina
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 30 / 55
Arquivos Compartilhados
Liga¸c˜ao Simb´olica: Problemas
Remover o arquivo original, sem remover o link, criar´a um
link que n˜ao pode ser seguido
Tentativas subsequentes de acess´a-lo falhar˜ao
Overhead:
O arquivo com o caminho deve ser lido, o caminho sintaticamente
analisado e seguido, componente por componente, at´e o i-node final
V´arios acessos adicionais ao disco
Deve haver um i-node extra para cada liga¸c˜ao simb´olica
Al´em de um bloco de disco extra, para guardar o caminho
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 31 / 55
Arquivos Compartilhados
Problema com links em
geral: um arquivo pode
ter 2 ou mais caminhos
Buscas poder˜ao retornar o
mesmo arquivo v´arias vezes
Programas devem tamb´em
levar em conta a
poss´ıvel existˆencia de ciclos, quando efetuam busca em
diret´orio, seguindo links
Por esse motivo o linux n˜ao permite hard links a diret´orios
Links simb´olicos s˜ao permitidos a diret´orios tanto no linux quanto no
windows, mas s˜ao ignorados em buscas
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 32 / 55
Journaling
Considere a remo¸c˜ao de um arquivo no Unix
Passos (Windows ´e semelhante):
Remo¸c˜ao do arquivo de seu diret´orio
Libera¸c˜ao do i-node para o conjunto de i-nodes livres
Devolu¸c˜ao dos blocos pertencentes ao arquivo para o conjunto de
blocos livres no disco
E se o sistema parar ao final da primeira etapa?
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 33 / 55
Journaling
Considere a remo¸c˜ao de um arquivo no Unix
Passos (Windows ´e semelhante):
Remo¸c˜ao do arquivo de seu diret´orio
Libera¸c˜ao do i-node para o conjunto de i-nodes livres
Devolu¸c˜ao dos blocos pertencentes ao arquivo para o conjunto de
blocos livres no disco
E se o sistema parar ao final da primeira etapa?
Teremos i-nodes com blocos n˜ao acess´ıveis, mas tamb´em
n˜ao dispon´ıveis para realoca¸c˜ao
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 33 / 55
Journaling
Considere a remo¸c˜ao de um arquivo no Unix
Passos (Windows ´e semelhante):
Remo¸c˜ao do arquivo de seu diret´orio
Libera¸c˜ao do i-node para o conjunto de i-nodes livres
Devolu¸c˜ao dos blocos pertencentes ao arquivo para o conjunto de
blocos livres no disco
E se o sistema parar ao final da primeira etapa?
Teremos i-nodes com blocos n˜ao acess´ıveis, mas tamb´em
n˜ao dispon´ıveis para realoca¸c˜ao
E ao final da segunda etapa?
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 33 / 55
Journaling
Considere a remo¸c˜ao de um arquivo no Unix
Passos (Windows ´e semelhante):
Remo¸c˜ao do arquivo de seu diret´orio
Libera¸c˜ao do i-node para o conjunto de i-nodes livres
Devolu¸c˜ao dos blocos pertencentes ao arquivo para o conjunto de
blocos livres no disco
E se o sistema parar ao final da primeira etapa?
Teremos i-nodes com blocos n˜ao acess´ıveis, mas tamb´em
n˜ao dispon´ıveis para realoca¸c˜ao
E ao final da segunda etapa?
Os blocos ser˜ao perdidos
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 33 / 55
Journaling
Solu¸c˜ao: Journaling
T´ecnica para criar uma certa robustez diante de falhas
Mant´em-se um registro (em um log – o journal) do
que o sistema de arquivos ir´a fazer antes que ele
efetivamente o fa¸ca
Se o sistema falhar antes de executar o trabalho, pode-se
descobrir, ap´os a reinicializa¸c˜ao, o que deveria ter feito
Sistema de Arquivos Journaling
Usado no NTFS (Windows) e ext3 em diante (Linux)
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 34 / 55
Journaling – Funcionamento
No nosso exemplo, escreve uma entrada no log
listando as 3 opera¸c˜oes a serem conclu´ıdas
Remo¸c˜ao da entrada no diret´orio, libera¸c˜ao dos i-nodes e
blocos
Grava o log no disco
Lˆe de volta para a mem´oria, para verificar sua integridade
S´o ent˜ao as opera¸c˜oes tˆem in´ıcio
Quando uma ´e conclu´ıda, sua entrada do log ´e marcada
Entradas s˜ao excluidas de tempos em tempos ou quando o
log estiver quase cheio, dependendo da pol´ıtica
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 35 / 55
Journaling
Se houver alguma parada, o sistema pode, ap´os a
recupera¸c˜ao, verificar o log para saber se h´a
opera¸c˜ao pendente
Se for o caso, pode execut´a-la
Isso pode ser repetido at´e que o arquivo seja removido
corretamente, caso haja v´arias paradas
Para que journaling funcione, as opera¸c˜oes no log
devem ser idempotentes
Devem poder ser repetidas sempre que necess´ario sem
causarem nenhum dano
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 36 / 55
Journaling
Ex: Incluir novos blocos ao final da lista de blocos
livres n˜ao ´e idempotente → os blocos podem j´a
estar l´a
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 37 / 55
Journaling
Ex: Incluir novos blocos ao final da lista de blocos
livres n˜ao ´e idempotente → os blocos podem j´a
estar l´a
Deve-se antes pesquisar se j´a n˜ao est´a l´a e, em caso
negativo, incluir → idempotente
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 37 / 55
Journaling
Ex: Incluir novos blocos ao final da lista de blocos
livres n˜ao ´e idempotente → os blocos podem j´a
estar l´a
Deve-se antes pesquisar se j´a n˜ao est´a l´a e, em caso
negativo, incluir → idempotente
Sistemas de arquivo journaling devem organizar suas
estruturas de dados e opera¸c˜oes no log de forma
que todos sejam idempotentes
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 37 / 55
Controle de Blocos Livres
Dois m´etodos:
Lista ligada de blocos de disco
Um ponteiro para o primeiro bloco
livre ´e mantido em um local especifico
do disco e em cache (na mem´oria)
Este primeiro bloco cont´em o endere¸co
do segundo, e assim por diante
Problema: pouco eficiente, caso
precisemos varrer a lista
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 38 / 55
Controle de Blocos Livres
Alternativa
Armazenar, no primeiro bloco,
o endere¸co de n-1 blocos livres
Guardar a ´ultima posi¸c˜ao para
o ponteiro do pr´oximo bloco
de endere¸cos de blocos livres
Com blocos de 1KB e um n´umero de 32 bits para cada bloco, cada
bloco na lista manter´a os n´umeros de 255 blocos livres
Endere¸cos de um grande n´umero de blocos podem ser
encontrados rapidamente agora
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 39 / 55
Controle de Blocos Livres
Lista ligada de blocos de disco
Somente um bloco de ponteiros precisa ser mantido na
mem´oria principal
Quando um arquivo ´e criado, os blocos necess´arios s˜ao
tirados desse bloco
Quando o bloco se esgotar, um novo bloco de ponteiros ´e lido do
disco
Quando um arquivo ´e apagado, os blocos s˜ao liberados e
adicionados ao bloco de ponteiros na mem´oria
Quando o bloco est´a completo, ele ´e escrito no disco
E se faltar energia antes da escrita??? Journaling...
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 40 / 55
Controle de Blocos Livres
Lista ligada de blocos de disco
Vantagens do uso da lista:
Requer menos espa¸co se existem poucos blocos livres (disco quase
cheio)
Armazena apenas um bloco de ponteiros na mem´oria
Desvantagens:
Requer mais espa¸co se existem muitos blocos livres (disco quase
vazio)
Dificulta aloca¸c˜ao cont´ıgua
N˜ao ordena¸c˜ao
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 41 / 55
Controle de Blocos Livres
Dois m´etodos:
Mapa de bits
Depende do tamanho do disco
Um disco com n blocos requer um mapa com n bits,
sendo um bit para cada bloco
1 → bloco livre
0 → bloco alocado
O mapa ´e mantido na mem´oria principal Cada bit representa um
bloco (livre = 1,
ocupado = 0)
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 42 / 55
Controle de Blocos Livres
Mapa de bits
Vantagens:
Requer menos espa¸co, em compara¸c˜ao `a lista, com
disco mais vazio (grande n´umero de blocos livres),
embora a lista esteja em disco e o mapa em RAM
Facilita aloca¸c˜ao cont´ıgua
Desvantagens:
Torna-se lento quando o disco est´a quase cheio (e o
n´umero de blocos livres ´e pequeno), pois deve-se
varrer o bitmap, enquanto que a lista sempre os ter´a
no primeiro bloco
Ocupa mem´oria
Cada bit representa um
bloco (livre = 1,
ocupado = 0)
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 43 / 55
Confiabilidade: Consistˆencia
Dados no sistema de arquivos devem ser
consistentes
Se o sistema cair antes que todos os blocos de arquivo
modificados tenham sido guardados, pode ficar em estado
inconsistente
Cr´ıtico: blocos de i-nodes, blocos de diret´orios ou blocos
contendo a lista de blocos livres (ou mapa de bits de blocos
livres)
Diferentes sistemas possuem diferentes programas
utilit´arios para lidar com inconsistˆencias:
UNIX: fsck
Windows: scandisk
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 44 / 55
Confiabilidade: Consistˆencia (fsck)
Existem 2 tipos de verifica¸c˜ao de consistˆencia:
Blocos e arquivos (s˜ao feitas as 2)
Blocos
O programa constr´oi 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´a presente em um arquivo
Os contadores da segunda tabela registram quantas vezes cada bloco
est´a presente na lista de blocos livres
O programa lˆe todos os i-nodes, ignorando a estrutura de arquivos,
retornando todos os blocos de disco, come¸cando do 0
A partir de um i-node, ´e poss´ıvel construir uma lista com todos os
n´umeros de blocos utilizados por um arquivo
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 45 / 55
Verifica¸c˜ao de Consistˆencia (fsck)
Blocos
`A medida em que os n´umeros de blocos s˜ao lidos, seu
contador na primeira tabela ´e incrementado
O programa ent˜ao examina a lista de blocos livres (ou
bitmap), buscando todos os blocos que n˜ao est˜ao em uso
Cada ocorrˆencia de um bloco na lista de livres incrementa seu
contador na segunda tabela
Se o sistema de arquivos
estiver consistente, cada
bloco ter´a 1 ou na
primeira ou na segunda
tabela
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 46 / 55
Fsck – E se problemas ocorrerem?
Missing block (bloco 2):
Desperd´ıcio de espa¸co, reduzindo a capacidade do disco
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 47 / 55
Fsck – E se problemas ocorrerem?
Missing block (bloco 2):
Desperd´ıcio de espa¸co, reduzindo a capacidade do disco
Adicione-os `a lista de livres
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 47 / 55
Fsck – E se problemas ocorrerem?
Duplicatas na lista de livres (bloco 4):
N˜ao podem ocorrer se a lista de livres for bitmap (apenas se
for lista ligada)
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 48 / 55
Fsck – E se problemas ocorrerem?
Duplicatas na lista de livres (bloco 4):
N˜ao podem ocorrer se a lista de livres for bitmap (apenas se
for lista ligada)
Reconstrua a lista de livres
A mesma solu¸c˜ao vale para quando um bloco est´a tanto na lista de
livres quanto na de blocos em uso
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 48 / 55
Fsck – E se problemas ocorrerem?
Duplicatas na lista de blocos em uso (bloco 5):
O mesmo bloco est´a presente em 2 ou mais arquivos
Problemas
Se algum dos arquivos for removido, o bloco ir´a para a lista de livres
→ o mesmo bloco est´a tanto livre quanto em uso
Se ambos os arquivos forem removidos, o bloco ser´a colocado 2
vezes na lista de livres
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 49 / 55
Fsck – E se problemas ocorrerem?
Duplicatas na lista de blocos em uso:
Solu¸c˜ao:
Alocar um bloco livre
Copiar o conte´udo do bloco 5 nele
Inserir a c´opia em um dos arquivos
Embora mantenha o sistema consistente, certamente h´a erro
Relatar ao usu´ario, para que ele possa inspecionar o arquivo
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 50 / 55
Confiabilidade: Consistˆencia (fsck)
Checagem do Sistema de Arquivos
Al´em do controle de blocos, o verificador tamb´em armazena
em um contador o uso de cada arquivo
Tabela com um contador por arquivo
Come¸cando da raiz, desce a ´arvore recursivamente,
inspecionando cada diret´orio
Para cada arquivo no diret´orio, incrementa o contador
correspondente
Devido a hard links, um arquivo pode aparecer em mais de um
diret´orio → entra na contagem
Links simb´olicos n˜ao s˜ao contados para o arquivo-alvo
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 51 / 55
Confiabilidade: Consistˆencia (fsck)
Checagem do Sistema de Diret´orios
A tabela ´e constru´ıda dinamicamente, `a medida que corre a
´arvore
Ser´a uma lista indexada pelo n´umero do i-node
Ao final, a lista indicar´a em quantos diret´orios cada arquivo
aparece (contador de arquivos)
Esses valores s˜ao ent˜ao comparados com a contagem de
links presente no i-node do arquivo analisado
Come¸ca em 1 quando arquivo ´e criado
Incrementada toda vez que um hard link e feito
Em um sistema consistente, ambos valores devem bater
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 52 / 55
Checagem do Sistema de Diret´orios (fsck)
Poss´ıveis erros:
A contagem de links no i-node pode estar mais alta que o
n´umero de entradas nos diret´orios
Mesmo que removamos de todos os diret´orios, o i-node n˜ao ´e
realmente removido
A contagem de links no i-node pode estar mais baixa
Arquivos podem ser removidos do disco, mesmo havendo ainda
entradas para eles em algum diret´orio
Qualquer quer seja o caso, corrija o contador no i-node
Sempre o que est´a registrado nos diret´orios ´e o que vale
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 53 / 55
Referˆencias Adicionais
http://en.wikipedia.org/wiki/Inode
http://www.cyberciti.biz/tips/
understanding-unixlinux-filesystem-inodes.html
http:
//cnx.org/contents/3c560b10-ed9c-4238-9a25-b50059a8ee67@1/
I/O_devices_and_File_systems
http://www.infowester.com/fat.php
http:
//homepage.cs.uri.edu/courses/fall2004/hpr108b/FAT.htm
http://pcsupport.about.com/od/termsf/g/fat.htm
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 54 / 55
Referˆencias Adicionais
http://www.ibm.com/developerworks/library/
l-journaling-filesystems/index.html
http://en.wikipedia.org/wiki/Journaling_file_system
Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 55 / 55

Mais conteúdo relacionado

Mais procurados

(ACH2044) Sistemas Operacionais - Aula 04
(ACH2044) Sistemas Operacionais - Aula 04(ACH2044) Sistemas Operacionais - Aula 04
(ACH2044) Sistemas Operacionais - Aula 04Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 11
(ACH2044) Sistemas Operacionais - Aula 11(ACH2044) Sistemas Operacionais - Aula 11
(ACH2044) Sistemas Operacionais - Aula 11Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 03
(ACH2044) Sistemas Operacionais - Aula 03(ACH2044) Sistemas Operacionais - Aula 03
(ACH2044) Sistemas Operacionais - Aula 03Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 10
(ACH2044) Sistemas Operacionais - Aula 10(ACH2044) Sistemas Operacionais - Aula 10
(ACH2044) Sistemas Operacionais - Aula 10Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 07
(ACH2044) Sistemas Operacionais - Aula 07(ACH2044) Sistemas Operacionais - Aula 07
(ACH2044) Sistemas Operacionais - Aula 07Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 22
(ACH2044) Sistemas Operacionais - Aula 22(ACH2044) Sistemas Operacionais - Aula 22
(ACH2044) Sistemas Operacionais - Aula 22Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 05
(ACH2044) Sistemas Operacionais - Aula 05(ACH2044) Sistemas Operacionais - Aula 05
(ACH2044) Sistemas Operacionais - Aula 05Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 14
(ACH2044) Sistemas Operacionais - Aula 14(ACH2044) Sistemas Operacionais - Aula 14
(ACH2044) Sistemas Operacionais - Aula 14Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 06
(ACH2044) Sistemas Operacionais - Aula 06(ACH2044) Sistemas Operacionais - Aula 06
(ACH2044) Sistemas Operacionais - Aula 06Norton Trevisan Roman
 
(ACH2044) Sistemas Operacionais - Aula 09
(ACH2044) Sistemas Operacionais - Aula 09(ACH2044) Sistemas Operacionais - Aula 09
(ACH2044) Sistemas Operacionais - Aula 09Norton Trevisan Roman
 
Gerência de Armazenamento: Sistemas de Armazenamento em Massa
Gerência de Armazenamento: Sistemas de Armazenamento em MassaGerência de Armazenamento: Sistemas de Armazenamento em Massa
Gerência de Armazenamento: Sistemas de Armazenamento em MassaAlexandre Duarte
 
Ligacao Em Rede A Outros Sistemas Operativos
Ligacao Em Rede A Outros Sistemas OperativosLigacao Em Rede A Outros Sistemas Operativos
Ligacao Em Rede A Outros Sistemas Operativosarturramisio
 
(ACH2044) Sistemas Operacionais - Aula 12
(ACH2044) Sistemas Operacionais - Aula 12(ACH2044) Sistemas Operacionais - Aula 12
(ACH2044) Sistemas Operacionais - Aula 12Norton Trevisan Roman
 
Comandos Linux
Comandos LinuxComandos Linux
Comandos Linuxlol
 
Gerência de Memória: Memória Principal
Gerência de Memória: Memória PrincipalGerência de Memória: Memória Principal
Gerência de Memória: Memória PrincipalAlexandre Duarte
 
Gerência de Processos: Processos
Gerência de Processos: ProcessosGerência de Processos: Processos
Gerência de Processos: ProcessosAlexandre Duarte
 
Administração de servidores Linux
Administração de servidores LinuxAdministração de servidores Linux
Administração de servidores LinuxJoão Sá
 

Mais procurados (20)

(ACH2044) Sistemas Operacionais - Aula 04
(ACH2044) Sistemas Operacionais - Aula 04(ACH2044) Sistemas Operacionais - Aula 04
(ACH2044) Sistemas Operacionais - Aula 04
 
(ACH2044) Sistemas Operacionais - Aula 11
(ACH2044) Sistemas Operacionais - Aula 11(ACH2044) Sistemas Operacionais - Aula 11
(ACH2044) Sistemas Operacionais - Aula 11
 
(ACH2044) Sistemas Operacionais - Aula 03
(ACH2044) Sistemas Operacionais - Aula 03(ACH2044) Sistemas Operacionais - Aula 03
(ACH2044) Sistemas Operacionais - Aula 03
 
(ACH2044) Sistemas Operacionais - Aula 10
(ACH2044) Sistemas Operacionais - Aula 10(ACH2044) Sistemas Operacionais - Aula 10
(ACH2044) Sistemas Operacionais - Aula 10
 
(ACH2044) Sistemas Operacionais - Aula 07
(ACH2044) Sistemas Operacionais - Aula 07(ACH2044) Sistemas Operacionais - Aula 07
(ACH2044) Sistemas Operacionais - Aula 07
 
(ACH2044) Sistemas Operacionais - Aula 22
(ACH2044) Sistemas Operacionais - Aula 22(ACH2044) Sistemas Operacionais - Aula 22
(ACH2044) Sistemas Operacionais - Aula 22
 
(ACH2044) Sistemas Operacionais - Aula 05
(ACH2044) Sistemas Operacionais - Aula 05(ACH2044) Sistemas Operacionais - Aula 05
(ACH2044) Sistemas Operacionais - Aula 05
 
(ACH2044) Sistemas Operacionais - Aula 14
(ACH2044) Sistemas Operacionais - Aula 14(ACH2044) Sistemas Operacionais - Aula 14
(ACH2044) Sistemas Operacionais - Aula 14
 
(ACH2044) Sistemas Operacionais - Aula 06
(ACH2044) Sistemas Operacionais - Aula 06(ACH2044) Sistemas Operacionais - Aula 06
(ACH2044) Sistemas Operacionais - Aula 06
 
(ACH2044) Sistemas Operacionais - Aula 09
(ACH2044) Sistemas Operacionais - Aula 09(ACH2044) Sistemas Operacionais - Aula 09
(ACH2044) Sistemas Operacionais - Aula 09
 
Gerência de Armazenamento: Sistemas de Armazenamento em Massa
Gerência de Armazenamento: Sistemas de Armazenamento em MassaGerência de Armazenamento: Sistemas de Armazenamento em Massa
Gerência de Armazenamento: Sistemas de Armazenamento em Massa
 
Ligacao Em Rede A Outros Sistemas Operativos
Ligacao Em Rede A Outros Sistemas OperativosLigacao Em Rede A Outros Sistemas Operativos
Ligacao Em Rede A Outros Sistemas Operativos
 
(ACH2044) Sistemas Operacionais - Aula 12
(ACH2044) Sistemas Operacionais - Aula 12(ACH2044) Sistemas Operacionais - Aula 12
(ACH2044) Sistemas Operacionais - Aula 12
 
Comandos Linux
Comandos LinuxComandos Linux
Comandos Linux
 
Gerência de Memória: Memória Principal
Gerência de Memória: Memória PrincipalGerência de Memória: Memória Principal
Gerência de Memória: Memória Principal
 
Administração de Redes Linux - II
Administração de Redes Linux - IIAdministração de Redes Linux - II
Administração de Redes Linux - II
 
Comandos do linux
Comandos do linuxComandos do linux
Comandos do linux
 
Gerência de Processos: Processos
Gerência de Processos: ProcessosGerência de Processos: Processos
Gerência de Processos: Processos
 
Processos+threads.2pp
Processos+threads.2ppProcessos+threads.2pp
Processos+threads.2pp
 
Administração de servidores Linux
Administração de servidores LinuxAdministração de servidores Linux
Administração de servidores Linux
 

Semelhante a (ACH2044) Sistemas Operacionais - Aula 21

Introdução ao linux
Introdução ao linuxIntrodução ao linux
Introdução ao linuxFilipe Jesus
 
Comandos, Permissões e Partições Linux
Comandos, Permissões e Partições LinuxComandos, Permissões e Partições Linux
Comandos, Permissões e Partições LinuxVirgínia
 
Sistemas de arquivos cap 04 (iii unidade)
Sistemas de arquivos cap 04 (iii unidade)Sistemas de arquivos cap 04 (iii unidade)
Sistemas de arquivos cap 04 (iii unidade)Faculdade Mater Christi
 
Unidade 3.4 Conhecendo e Manipulando o Sistema Linux
Unidade 3.4 Conhecendo e Manipulando o Sistema LinuxUnidade 3.4 Conhecendo e Manipulando o Sistema Linux
Unidade 3.4 Conhecendo e Manipulando o Sistema LinuxJuan Carlos Lamarão
 
Gerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas OperacionaisGerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas OperacionaisLeandro Júnior
 
Unidade 3.3 Estrutura de Diretórios Linux
Unidade 3.3 Estrutura de Diretórios LinuxUnidade 3.3 Estrutura de Diretórios Linux
Unidade 3.3 Estrutura de Diretórios LinuxJuan Carlos Lamarão
 
Laboratório de Programação I: Arquivos (binários) em disco
Laboratório de Programação I: Arquivos (binários) em discoLaboratório de Programação I: Arquivos (binários) em disco
Laboratório de Programação I: Arquivos (binários) em discoAlex Camargo
 
Ici 7 ano capitulo 2 - windows
Ici 7 ano   capitulo 2 - windowsIci 7 ano   capitulo 2 - windows
Ici 7 ano capitulo 2 - windowsSusana Cascais
 
Ficha de trabalho so 6 m4 linux comandos
Ficha de trabalho so 6 m4   linux comandosFicha de trabalho so 6 m4   linux comandos
Ficha de trabalho so 6 m4 linux comandosAndreiaOliveira94
 
Ficha de trabalho so 6 m4 linux comandos
Ficha de trabalho so 6 m4   linux comandosFicha de trabalho so 6 m4   linux comandos
Ficha de trabalho so 6 m4 linux comandosAndreiaOliveira94
 

Semelhante a (ACH2044) Sistemas Operacionais - Aula 21 (20)

Comandos do linux
Comandos do linuxComandos do linux
Comandos do linux
 
Introdução ao linux
Introdução ao linuxIntrodução ao linux
Introdução ao linux
 
Comandos, Permissões e Partições Linux
Comandos, Permissões e Partições LinuxComandos, Permissões e Partições Linux
Comandos, Permissões e Partições Linux
 
Diretórios linux
Diretórios linuxDiretórios linux
Diretórios linux
 
Comandos linux
Comandos linuxComandos linux
Comandos linux
 
Sistemas de arquivos cap 04 (iii unidade)
Sistemas de arquivos cap 04 (iii unidade)Sistemas de arquivos cap 04 (iii unidade)
Sistemas de arquivos cap 04 (iii unidade)
 
Aula gerenciamento de arquivos e pastas
Aula   gerenciamento de arquivos e pastasAula   gerenciamento de arquivos e pastas
Aula gerenciamento de arquivos e pastas
 
Unidade 3.4 Conhecendo e Manipulando o Sistema Linux
Unidade 3.4 Conhecendo e Manipulando o Sistema LinuxUnidade 3.4 Conhecendo e Manipulando o Sistema Linux
Unidade 3.4 Conhecendo e Manipulando o Sistema Linux
 
Apostila(1)
Apostila(1)Apostila(1)
Apostila(1)
 
Aula 06 comandos linux
Aula 06   comandos linuxAula 06   comandos linux
Aula 06 comandos linux
 
Gerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas OperacionaisGerenciamento de Arquivos Nos Sistemas Operacionais
Gerenciamento de Arquivos Nos Sistemas Operacionais
 
RoboCopy.pdf
RoboCopy.pdfRoboCopy.pdf
RoboCopy.pdf
 
Unidade 3.3 Estrutura de Diretórios Linux
Unidade 3.3 Estrutura de Diretórios LinuxUnidade 3.3 Estrutura de Diretórios Linux
Unidade 3.3 Estrutura de Diretórios Linux
 
Minicurso linux
Minicurso linuxMinicurso linux
Minicurso linux
 
Laboratório de Programação I: Arquivos (binários) em disco
Laboratório de Programação I: Arquivos (binários) em discoLaboratório de Programação I: Arquivos (binários) em disco
Laboratório de Programação I: Arquivos (binários) em disco
 
725
725725
725
 
Ici 7 ano capitulo 2 - windows
Ici 7 ano   capitulo 2 - windowsIci 7 ano   capitulo 2 - windows
Ici 7 ano capitulo 2 - windows
 
Ficha de trabalho so 6 m4 linux comandos
Ficha de trabalho so 6 m4   linux comandosFicha de trabalho so 6 m4   linux comandos
Ficha de trabalho so 6 m4 linux comandos
 
Ficha de trabalho so 6 m4 linux comandos
Ficha de trabalho so 6 m4   linux comandosFicha de trabalho so 6 m4   linux comandos
Ficha de trabalho so 6 m4 linux comandos
 
Ficha de trabalho [6]
Ficha de trabalho [6]Ficha de trabalho [6]
Ficha de trabalho [6]
 

Mais de Norton Trevisan Roman

(ACH2044) Inteligência Artificial - Aula 24
(ACH2044) Inteligência Artificial - Aula 24(ACH2044) Inteligência Artificial - Aula 24
(ACH2044) Inteligência Artificial - Aula 24Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 23
(ACH2044) Inteligência Artificial - Aula 23(ACH2044) Inteligência Artificial - Aula 23
(ACH2044) Inteligência Artificial - Aula 23Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 22
(ACH2044) Inteligência Artificial - Aula 22(ACH2044) Inteligência Artificial - Aula 22
(ACH2044) Inteligência Artificial - Aula 22Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 21
(ACH2044) Inteligência Artificial - Aula 21(ACH2044) Inteligência Artificial - Aula 21
(ACH2044) Inteligência Artificial - Aula 21Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 20
(ACH2044) Inteligência Artificial - Aula 20(ACH2044) Inteligência Artificial - Aula 20
(ACH2044) Inteligência Artificial - Aula 20Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 19
(ACH2044) Inteligência Artificial - Aula 19(ACH2044) Inteligência Artificial - Aula 19
(ACH2044) Inteligência Artificial - Aula 19Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 18
(ACH2044) Inteligência Artificial - Aula 18(ACH2044) Inteligência Artificial - Aula 18
(ACH2044) Inteligência Artificial - Aula 18Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 17
(ACH2044) Inteligência Artificial - Aula 17(ACH2044) Inteligência Artificial - Aula 17
(ACH2044) Inteligência Artificial - Aula 17Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 16
(ACH2044) Inteligência Artificial - Aula 16(ACH2044) Inteligência Artificial - Aula 16
(ACH2044) Inteligência Artificial - Aula 16Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 15
(ACH2044) Inteligência Artificial - Aula 15(ACH2044) Inteligência Artificial - Aula 15
(ACH2044) Inteligência Artificial - Aula 15Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 14
(ACH2044) Inteligência Artificial - Aula 14(ACH2044) Inteligência Artificial - Aula 14
(ACH2044) Inteligência Artificial - Aula 14Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 13
(ACH2044) Inteligência Artificial - Aula 13(ACH2044) Inteligência Artificial - Aula 13
(ACH2044) Inteligência Artificial - Aula 13Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 11
(ACH2044) Inteligência Artificial - Aula 11(ACH2044) Inteligência Artificial - Aula 11
(ACH2044) Inteligência Artificial - Aula 11Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 10
(ACH2044) Inteligência Artificial - Aula 10(ACH2044) Inteligência Artificial - Aula 10
(ACH2044) Inteligência Artificial - Aula 10Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 09
(ACH2044) Inteligência Artificial - Aula 09(ACH2044) Inteligência Artificial - Aula 09
(ACH2044) Inteligência Artificial - Aula 09Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 08
(ACH2044) Inteligência Artificial - Aula 08(ACH2044) Inteligência Artificial - Aula 08
(ACH2044) Inteligência Artificial - Aula 08Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 07
(ACH2044) Inteligência Artificial - Aula 07(ACH2044) Inteligência Artificial - Aula 07
(ACH2044) Inteligência Artificial - Aula 07Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 06
(ACH2044) Inteligência Artificial - Aula 06(ACH2044) Inteligência Artificial - Aula 06
(ACH2044) Inteligência Artificial - Aula 06Norton Trevisan Roman
 
(ACH2044) Inteligência Artificial - Aula 05
(ACH2044) Inteligência Artificial - Aula 05(ACH2044) Inteligência Artificial - Aula 05
(ACH2044) Inteligência Artificial - Aula 05Norton Trevisan Roman
 

Mais de Norton Trevisan Roman (20)

(ACH2044) Inteligência Artificial - Aula 24
(ACH2044) Inteligência Artificial - Aula 24(ACH2044) Inteligência Artificial - Aula 24
(ACH2044) Inteligência Artificial - Aula 24
 
(ACH2044) Inteligência Artificial - Aula 23
(ACH2044) Inteligência Artificial - Aula 23(ACH2044) Inteligência Artificial - Aula 23
(ACH2044) Inteligência Artificial - Aula 23
 
(ACH2044) Inteligência Artificial - Aula 22
(ACH2044) Inteligência Artificial - Aula 22(ACH2044) Inteligência Artificial - Aula 22
(ACH2044) Inteligência Artificial - Aula 22
 
(ACH2044) Inteligência Artificial - Aula 21
(ACH2044) Inteligência Artificial - Aula 21(ACH2044) Inteligência Artificial - Aula 21
(ACH2044) Inteligência Artificial - Aula 21
 
(ACH2044) Inteligência Artificial - Aula 20
(ACH2044) Inteligência Artificial - Aula 20(ACH2044) Inteligência Artificial - Aula 20
(ACH2044) Inteligência Artificial - Aula 20
 
(ACH2044) Inteligência Artificial - Aula 19
(ACH2044) Inteligência Artificial - Aula 19(ACH2044) Inteligência Artificial - Aula 19
(ACH2044) Inteligência Artificial - Aula 19
 
(ACH2044) Inteligência Artificial - Aula 18
(ACH2044) Inteligência Artificial - Aula 18(ACH2044) Inteligência Artificial - Aula 18
(ACH2044) Inteligência Artificial - Aula 18
 
(ACH2044) Inteligência Artificial - Aula 17
(ACH2044) Inteligência Artificial - Aula 17(ACH2044) Inteligência Artificial - Aula 17
(ACH2044) Inteligência Artificial - Aula 17
 
(ACH2044) Inteligência Artificial - Aula 16
(ACH2044) Inteligência Artificial - Aula 16(ACH2044) Inteligência Artificial - Aula 16
(ACH2044) Inteligência Artificial - Aula 16
 
(ACH2044) Inteligência Artificial - Aula 15
(ACH2044) Inteligência Artificial - Aula 15(ACH2044) Inteligência Artificial - Aula 15
(ACH2044) Inteligência Artificial - Aula 15
 
(ACH2044) Inteligência Artificial - Aula 14
(ACH2044) Inteligência Artificial - Aula 14(ACH2044) Inteligência Artificial - Aula 14
(ACH2044) Inteligência Artificial - Aula 14
 
(ACH2044) Inteligência Artificial - Aula 13
(ACH2044) Inteligência Artificial - Aula 13(ACH2044) Inteligência Artificial - Aula 13
(ACH2044) Inteligência Artificial - Aula 13
 
(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12(ACH2044) Inteligência Artificial - Aula 12
(ACH2044) Inteligência Artificial - Aula 12
 
(ACH2044) Inteligência Artificial - Aula 11
(ACH2044) Inteligência Artificial - Aula 11(ACH2044) Inteligência Artificial - Aula 11
(ACH2044) Inteligência Artificial - Aula 11
 
(ACH2044) Inteligência Artificial - Aula 10
(ACH2044) Inteligência Artificial - Aula 10(ACH2044) Inteligência Artificial - Aula 10
(ACH2044) Inteligência Artificial - Aula 10
 
(ACH2044) Inteligência Artificial - Aula 09
(ACH2044) Inteligência Artificial - Aula 09(ACH2044) Inteligência Artificial - Aula 09
(ACH2044) Inteligência Artificial - Aula 09
 
(ACH2044) Inteligência Artificial - Aula 08
(ACH2044) Inteligência Artificial - Aula 08(ACH2044) Inteligência Artificial - Aula 08
(ACH2044) Inteligência Artificial - Aula 08
 
(ACH2044) Inteligência Artificial - Aula 07
(ACH2044) Inteligência Artificial - Aula 07(ACH2044) Inteligência Artificial - Aula 07
(ACH2044) Inteligência Artificial - Aula 07
 
(ACH2044) Inteligência Artificial - Aula 06
(ACH2044) Inteligência Artificial - Aula 06(ACH2044) Inteligência Artificial - Aula 06
(ACH2044) Inteligência Artificial - Aula 06
 
(ACH2044) Inteligência Artificial - Aula 05
(ACH2044) Inteligência Artificial - Aula 05(ACH2044) Inteligência Artificial - Aula 05
(ACH2044) Inteligência Artificial - Aula 05
 

Último

CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreElianeElika
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.silves15
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Ilda Bicacro
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptxMarlene Cunhada
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....LuizHenriquedeAlmeid6
 
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptxPLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptxSamiraMiresVieiradeM
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamentalAntônia marta Silvestre da Silva
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManuais Formação
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfMarianaMoraesMathias
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxLuizHenriquedeAlmeid6
 
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdfPortfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdfjanainadfsilva
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.Mary Alvarenga
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memorialgrecchi
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelGilber Rubim Rangel
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaronaldojacademico
 

Último (20)

CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 
Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"Nós Propomos! " Pinhais limpos, mundo saudável"
Nós Propomos! " Pinhais limpos, mundo saudável"
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
VARIEDADES LINGUÍSTICAS - 1. pptx
VARIEDADES        LINGUÍSTICAS - 1. pptxVARIEDADES        LINGUÍSTICAS - 1. pptx
VARIEDADES LINGUÍSTICAS - 1. pptx
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
 
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptxPLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
PLANOS E EIXOS DO CORPO HUMANO.educacao física pptx
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envio
 
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdfPROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
PROGRAMA DE AÇÃO 2024 - MARIANA DA SILVA MORAES.pdf
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
 
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdfPortfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
Portfolio_Trilha_Meio_Ambiente_e_Sociedade.pdf
 
Atividade - Letra da música Esperando na Janela.
Atividade -  Letra da música Esperando na Janela.Atividade -  Letra da música Esperando na Janela.
Atividade - Letra da música Esperando na Janela.
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memoria
 
Dicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim RangelDicionário de Genealogia, autor Gilber Rubim Rangel
Dicionário de Genealogia, autor Gilber Rubim Rangel
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
Rotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riquezaRotas Transaarianas como o desrto prouz riqueza
Rotas Transaarianas como o desrto prouz riqueza
 

(ACH2044) Sistemas Operacionais - Aula 21

  • 1. Aula 21 – Sistema de Arquivos II Norton Trevisan Roman 13 de novembro de 2017 Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 1 / 55
  • 2. I-Nodes Associa-se a cada arquivo uma estrutura de dados chamada i-node (index-node) Listando os atributos e endere¸cos em disco dos blocos do arquivo Dado o i-node de um arquivo, ´e poss´ıvel encontrar todos os blocos desse arquivo Um ´unico i-node por arquivo SOs: UNIX e Linux Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 2 / 55
  • 3. I-Nodes Vantagens: O i-node somente ´e carregado na mem´oria quando o seu respectivo arquivo estiver aberto (em uso) Espa¸co de mem´oria ocupado pelos i-nodes ´e proporcional ao n´umero m´aximo de arquivos que podem ser abertos ao mesmo tempo Enquanto o espa¸co de mem´oria ocupado pela tabela de arquivo (FAT) ´e proporcional ao tamanho do disco NTFS ´e proporcional ao n´umero de arquivos no dispositivo Se cada i-node ocupa n bytes, e no m´aximo k arquivos podem estar abertos ao mesmo tempo, o total de mem´oria ocupada pelo arranjo contendo os i-nodes ´e kn bytes; Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 3 / 55
  • 4. I-Nodes Desvantagem: Cada i-node tem espa¸co para um n´umero fixo de endere¸cos de disco O tamanho do arquivo pode aumentar al´em deste limite Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 4 / 55
  • 5. I-Nodes Desvantagem: Cada i-node tem espa¸co para um n´umero fixo de endere¸cos de disco O tamanho do arquivo pode aumentar al´em deste limite Solu¸c˜ao: Reservar o ´ultimo endere¸co para um bloco contendo outros endere¸cos de blocos Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 4 / 55
  • 6. I-Nodes Pode-se ter at´e 2 ou mais desses blocos contendo endere¸cos de disco Ou mesmo blocos apontando a outros blocos de endere¸cos Ex: I-node no Linux e UNIX V7 Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 5 / 55
  • 7. I-Nodes: Padr˜ao POSIX Atributos de arquivos regulares: Tamanho do arquivo (B) Device ID (dispositivo contendo o arquivo) User ID do dono do arquivo Group ID do arquivo Modo (tipo de arquivo e como pode ser acessado) Flags para prote¸c˜ao Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 6 / 55
  • 8. I-Nodes: Padr˜ao POSIX Atributos de arquivos regulares: Timestamps (quando o i-node foi modificado, quando o conte´udo do arquivo foi modificado, tempo do ´ultimo acesso) Contador de links (quantos links apontam para o i-node) Ponteiros para os blocos de disco com o arquivo Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 7 / 55
  • 9. I-Nodes: Comandos Linux Descobrir o n´umero do i-node $ ls -i temp 1320187 temp Obter as informa¸c˜oes de um arquivo $ stat temp Arquivo: "temp" Tamanho: 4 Blocos: 8 Bloco IO: 4096 arquivo comum Dispositivo: 801h/2049d Inode: 1320187 Links: 1 Acesso: (0664/-rw-rw-r--) Uid: ( 1530/ norton) Gid: ( 1205/ norton) Acessar: 2012-11-09 14:41:20.289825865 -0200 Modificar: 2012-11-09 14:41:19.169825830 -0200 Alterar: 2012-11-09 14:41:19.169825830 -0200 Nascimento: - Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 8 / 55
  • 10. I-Nodes: Dispositivos No Linux, dispositivos em geral s˜ao representados como arquivos I-node especial, contendo: Major device number → usado para localizar o driver apropriado Minor device number → passado como parˆametro ao driver, de modo a especificar a unidade a ser lida ou escrita Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 9 / 55
  • 11. Em Suma... Duas estrat´egias s˜ao poss´ıveis para armazenar um arquivo de n bytes: S˜ao alocados ao arquivo n bytes consecutivos do espa¸co dispon´ıvel em disco Se o arquivo crescer, provavelmente ter´a que ser movido para outra parte do disco Arquivo ´e quebrado em um n´umero de blocos n˜ao necessariamente cont´ıguos Blocos com tamanho fixo N˜ao necessariamente do mesmo tamanho usado pelo hardware do dispositivo (chamados de clusters, na nomenclatura da FAT) A maioria dos sistemas de arquivos utilizam essa estrat´egia Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 10 / 55
  • 12. Em Suma... Antes que possa ser lido, um arquivo tem que ser aberto Quando “abrimos” um arquivo, o SO usa o caminho fornecido para localizar a entrada no diret´orio Essa entrada fornece a informa¸c˜ao necess´aria para encontrar os blocos no disco Dependendo do sistema, ser´a O endere¸co em disco do arquivo inteiro (aloca¸c˜ao cont´ıgua) N´umero do primeiro bloco (lista ligada ou FAT) ´Indice do arquivo na MFT (NTFS) N´umero do i-node Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 11 / 55
  • 13. Implementa¸c˜ao de Diret´orios Fun¸c˜ao do diret´orio: mapear o nome do arquivo `a informa¸c˜ao necess´aria para localizar os dados Onde armazenar os atributos relacionados a um arquivo? Diretamente na entrada do Diret´orio: Nesse caso, um diret´orio consiste de um arquivo com uma lista de entradas com tamanho fixo (uma para cada arquivo), contendo um nome de arquivo, uma estrutura de atributos de arquivos, e um ou mais endere¸cos de disco para os blocos (ou ponteiro para a FAT) MS/DOS e Windows (FAT) Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 12 / 55
  • 14. Implementa¸c˜ao de Diret´orios NTFS Tudo est´a na MFT (diret´orios, subdiret´orios e arquivos) Os atributos do arquivo s˜ao mantidos na entrada do pr´oprio arquivo Um diret´orio guarda t˜ao somente informa¸c˜ao sobre si mesmo, n˜ao sobre os arquivos nele contidos Registro da MFT para um diret´orio pequeno (diret´orios grandes usam uma ´arvore B+ para listar os arquivos) Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 13 / 55
  • 15. Implementa¸c˜ao de Diret´orios Onde armazenar os atributos relacionados a um arquivo? No i-node: Nesse caso, a entrada no diret´orio ´e menor, armazenando somente o nome de arquivo e o n´umero do i-node O diret´orio ´e uma listagem dentro de um ou mais blocos de dados do i-node UNIX e Linux Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 14 / 55
  • 16. I-Nodes Exemplo pr´atico: ler o arquivo “/usr/ant/texto.txt” Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 15 / 55
  • 17. I-Nodes Exemplo pr´atico: ler o arquivo “/usr/ant/texto.txt” Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 16 / 55
  • 18. I-Nodes Exemplo pr´atico: ler o arquivo “/usr/ant/texto.txt” Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 17 / 55
  • 19. I-Nodes Exemplo pr´atico: ler o arquivo “/usr/ant/texto.txt” Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 18 / 55
  • 20. I-Nodes Exemplo pr´atico: ler o arquivo “/usr/ant/texto.txt” Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 19 / 55
  • 21. I-Nodes Exemplo pr´atico: ler o arquivo “/usr/ant/texto.txt” Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 20 / 55
  • 22. I-Nodes Exemplo pr´atico: ler o arquivo “/usr/ant/texto.txt” Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 21 / 55
  • 23. I-Nodes Exemplo pr´atico: ler o arquivo “/usr/ant/texto.txt” Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 22 / 55
  • 24. I-Nodes Exemplo pr´atico: ler o arquivo “/usr/ant/texto.txt” Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 23 / 55
  • 25. Arquivos Compartilhados Usu´arios frequentemente precisam acessar os mesmos arquivos Muitas vezes, ´e conveniente que arquivos apare¸cam em diferentes diret´orios (via links) Normalmente, o sistema de arquivos ´e implementado como uma ´arvore Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 24 / 55
  • 26. Arquivos Compartilhados Mas quando se tem arquivos compartilhados... O sistema de arquivos ´e implementado como um grafo ac´ıclico direcionado Links s˜ao criados Conex˜ao entre um diret´orio (B) e o arquivo compartilhado presente em outro (C) Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 25 / 55
  • 27. Arquivos Compartilhados Hard Link: Diret´orios apontam para o i-node (UNIX) O i-node cont´em informa¸c˜ao sobre o arquivo Dono Localiza¸c˜ao no disco N´umero de liga¸c˜oes etc Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 26 / 55
  • 28. Arquivos Compartilhados Hard Link: No momento em que B faz a liga¸c˜ao com o arquivo compartilhado, o i-node est´a registrando que o dono do arquivo ´e C Criar o link n˜ao muda seu dono O contador de links no i-node ´e incrementado O sistema sabe quantas entradas de diret´orio apontam para o arquivo naquele momento Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 27 / 55
  • 29. Arquivos Compartilhados Hard Link: Quando C remove o arquivo, h´a um problema: Se o arquivo e seu i-node forem removidos, B ter´a uma entrada apontando para um i-node inv´alido Solu¸c˜ao: Remover a entrada de C, mas deixando o i-node intacto, decrementando seu contador de links. Se o contador for 0, a´ı sim remove o arquivo e limpa o i-node Problema: B possui uma entrada em diret´orio para um arquivo cujo dono ´e C → Se o sistema tiver quotas, ocupar´a espa¸co de C Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 28 / 55
  • 30. Arquivos Compartilhados Liga¸c˜ao Simb´olica: B se liga ao arquivo de C criando um arquivo do tipo link e inserindo esse arquivo em seu diret´orio (B) O arquivo link cont´em apenas o caminho absoluto do arquivo ao qual ele est´a ligado Remover o link n˜ao afeta o arquivo Quando B lˆe do arquivo, o SO vˆe que ´e um link simb´olico, olha o nome do arquivo no link e lˆe este arquivo N˜ao incrementa contador nenhum Tamb´em presente em Windows (Atalhos) Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 29 / 55
  • 31. Arquivos Compartilhados Liga¸c˜ao Simb´olica: Somente o dono do arquivo tem o ponteiro para o i-node Resolve o problema da quota Vantagem: O arquivo alvo pode estar, por exemplo, em outro disco Podem se ligar a qualquer m´aquina no mundo. Basta dar o endere¸co de rede da m´aquina Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 30 / 55
  • 32. Arquivos Compartilhados Liga¸c˜ao Simb´olica: Problemas Remover o arquivo original, sem remover o link, criar´a um link que n˜ao pode ser seguido Tentativas subsequentes de acess´a-lo falhar˜ao Overhead: O arquivo com o caminho deve ser lido, o caminho sintaticamente analisado e seguido, componente por componente, at´e o i-node final V´arios acessos adicionais ao disco Deve haver um i-node extra para cada liga¸c˜ao simb´olica Al´em de um bloco de disco extra, para guardar o caminho Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 31 / 55
  • 33. Arquivos Compartilhados Problema com links em geral: um arquivo pode ter 2 ou mais caminhos Buscas poder˜ao retornar o mesmo arquivo v´arias vezes Programas devem tamb´em levar em conta a poss´ıvel existˆencia de ciclos, quando efetuam busca em diret´orio, seguindo links Por esse motivo o linux n˜ao permite hard links a diret´orios Links simb´olicos s˜ao permitidos a diret´orios tanto no linux quanto no windows, mas s˜ao ignorados em buscas Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 32 / 55
  • 34. Journaling Considere a remo¸c˜ao de um arquivo no Unix Passos (Windows ´e semelhante): Remo¸c˜ao do arquivo de seu diret´orio Libera¸c˜ao do i-node para o conjunto de i-nodes livres Devolu¸c˜ao dos blocos pertencentes ao arquivo para o conjunto de blocos livres no disco E se o sistema parar ao final da primeira etapa? Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 33 / 55
  • 35. Journaling Considere a remo¸c˜ao de um arquivo no Unix Passos (Windows ´e semelhante): Remo¸c˜ao do arquivo de seu diret´orio Libera¸c˜ao do i-node para o conjunto de i-nodes livres Devolu¸c˜ao dos blocos pertencentes ao arquivo para o conjunto de blocos livres no disco E se o sistema parar ao final da primeira etapa? Teremos i-nodes com blocos n˜ao acess´ıveis, mas tamb´em n˜ao dispon´ıveis para realoca¸c˜ao Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 33 / 55
  • 36. Journaling Considere a remo¸c˜ao de um arquivo no Unix Passos (Windows ´e semelhante): Remo¸c˜ao do arquivo de seu diret´orio Libera¸c˜ao do i-node para o conjunto de i-nodes livres Devolu¸c˜ao dos blocos pertencentes ao arquivo para o conjunto de blocos livres no disco E se o sistema parar ao final da primeira etapa? Teremos i-nodes com blocos n˜ao acess´ıveis, mas tamb´em n˜ao dispon´ıveis para realoca¸c˜ao E ao final da segunda etapa? Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 33 / 55
  • 37. Journaling Considere a remo¸c˜ao de um arquivo no Unix Passos (Windows ´e semelhante): Remo¸c˜ao do arquivo de seu diret´orio Libera¸c˜ao do i-node para o conjunto de i-nodes livres Devolu¸c˜ao dos blocos pertencentes ao arquivo para o conjunto de blocos livres no disco E se o sistema parar ao final da primeira etapa? Teremos i-nodes com blocos n˜ao acess´ıveis, mas tamb´em n˜ao dispon´ıveis para realoca¸c˜ao E ao final da segunda etapa? Os blocos ser˜ao perdidos Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 33 / 55
  • 38. Journaling Solu¸c˜ao: Journaling T´ecnica para criar uma certa robustez diante de falhas Mant´em-se um registro (em um log – o journal) do que o sistema de arquivos ir´a fazer antes que ele efetivamente o fa¸ca Se o sistema falhar antes de executar o trabalho, pode-se descobrir, ap´os a reinicializa¸c˜ao, o que deveria ter feito Sistema de Arquivos Journaling Usado no NTFS (Windows) e ext3 em diante (Linux) Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 34 / 55
  • 39. Journaling – Funcionamento No nosso exemplo, escreve uma entrada no log listando as 3 opera¸c˜oes a serem conclu´ıdas Remo¸c˜ao da entrada no diret´orio, libera¸c˜ao dos i-nodes e blocos Grava o log no disco Lˆe de volta para a mem´oria, para verificar sua integridade S´o ent˜ao as opera¸c˜oes tˆem in´ıcio Quando uma ´e conclu´ıda, sua entrada do log ´e marcada Entradas s˜ao excluidas de tempos em tempos ou quando o log estiver quase cheio, dependendo da pol´ıtica Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 35 / 55
  • 40. Journaling Se houver alguma parada, o sistema pode, ap´os a recupera¸c˜ao, verificar o log para saber se h´a opera¸c˜ao pendente Se for o caso, pode execut´a-la Isso pode ser repetido at´e que o arquivo seja removido corretamente, caso haja v´arias paradas Para que journaling funcione, as opera¸c˜oes no log devem ser idempotentes Devem poder ser repetidas sempre que necess´ario sem causarem nenhum dano Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 36 / 55
  • 41. Journaling Ex: Incluir novos blocos ao final da lista de blocos livres n˜ao ´e idempotente → os blocos podem j´a estar l´a Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 37 / 55
  • 42. Journaling Ex: Incluir novos blocos ao final da lista de blocos livres n˜ao ´e idempotente → os blocos podem j´a estar l´a Deve-se antes pesquisar se j´a n˜ao est´a l´a e, em caso negativo, incluir → idempotente Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 37 / 55
  • 43. Journaling Ex: Incluir novos blocos ao final da lista de blocos livres n˜ao ´e idempotente → os blocos podem j´a estar l´a Deve-se antes pesquisar se j´a n˜ao est´a l´a e, em caso negativo, incluir → idempotente Sistemas de arquivo journaling devem organizar suas estruturas de dados e opera¸c˜oes no log de forma que todos sejam idempotentes Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 37 / 55
  • 44. Controle de Blocos Livres Dois m´etodos: Lista ligada de blocos de disco Um ponteiro para o primeiro bloco livre ´e mantido em um local especifico do disco e em cache (na mem´oria) Este primeiro bloco cont´em o endere¸co do segundo, e assim por diante Problema: pouco eficiente, caso precisemos varrer a lista Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 38 / 55
  • 45. Controle de Blocos Livres Alternativa Armazenar, no primeiro bloco, o endere¸co de n-1 blocos livres Guardar a ´ultima posi¸c˜ao para o ponteiro do pr´oximo bloco de endere¸cos de blocos livres Com blocos de 1KB e um n´umero de 32 bits para cada bloco, cada bloco na lista manter´a os n´umeros de 255 blocos livres Endere¸cos de um grande n´umero de blocos podem ser encontrados rapidamente agora Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 39 / 55
  • 46. Controle de Blocos Livres Lista ligada de blocos de disco Somente um bloco de ponteiros precisa ser mantido na mem´oria principal Quando um arquivo ´e criado, os blocos necess´arios s˜ao tirados desse bloco Quando o bloco se esgotar, um novo bloco de ponteiros ´e lido do disco Quando um arquivo ´e apagado, os blocos s˜ao liberados e adicionados ao bloco de ponteiros na mem´oria Quando o bloco est´a completo, ele ´e escrito no disco E se faltar energia antes da escrita??? Journaling... Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 40 / 55
  • 47. Controle de Blocos Livres Lista ligada de blocos de disco Vantagens do uso da lista: Requer menos espa¸co se existem poucos blocos livres (disco quase cheio) Armazena apenas um bloco de ponteiros na mem´oria Desvantagens: Requer mais espa¸co se existem muitos blocos livres (disco quase vazio) Dificulta aloca¸c˜ao cont´ıgua N˜ao ordena¸c˜ao Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 41 / 55
  • 48. Controle de Blocos Livres Dois m´etodos: Mapa de bits Depende do tamanho do disco Um disco com n blocos requer um mapa com n bits, sendo um bit para cada bloco 1 → bloco livre 0 → bloco alocado O mapa ´e mantido na mem´oria principal Cada bit representa um bloco (livre = 1, ocupado = 0) Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 42 / 55
  • 49. Controle de Blocos Livres Mapa de bits Vantagens: Requer menos espa¸co, em compara¸c˜ao `a lista, com disco mais vazio (grande n´umero de blocos livres), embora a lista esteja em disco e o mapa em RAM Facilita aloca¸c˜ao cont´ıgua Desvantagens: Torna-se lento quando o disco est´a quase cheio (e o n´umero de blocos livres ´e pequeno), pois deve-se varrer o bitmap, enquanto que a lista sempre os ter´a no primeiro bloco Ocupa mem´oria Cada bit representa um bloco (livre = 1, ocupado = 0) Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 43 / 55
  • 50. Confiabilidade: Consistˆencia Dados no sistema de arquivos devem ser consistentes Se o sistema cair antes que todos os blocos de arquivo modificados tenham sido guardados, pode ficar em estado inconsistente Cr´ıtico: blocos de i-nodes, blocos de diret´orios ou blocos contendo a lista de blocos livres (ou mapa de bits de blocos livres) Diferentes sistemas possuem diferentes programas utilit´arios para lidar com inconsistˆencias: UNIX: fsck Windows: scandisk Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 44 / 55
  • 51. Confiabilidade: Consistˆencia (fsck) Existem 2 tipos de verifica¸c˜ao de consistˆencia: Blocos e arquivos (s˜ao feitas as 2) Blocos O programa constr´oi 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´a presente em um arquivo Os contadores da segunda tabela registram quantas vezes cada bloco est´a presente na lista de blocos livres O programa lˆe todos os i-nodes, ignorando a estrutura de arquivos, retornando todos os blocos de disco, come¸cando do 0 A partir de um i-node, ´e poss´ıvel construir uma lista com todos os n´umeros de blocos utilizados por um arquivo Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 45 / 55
  • 52. Verifica¸c˜ao de Consistˆencia (fsck) Blocos `A medida em que os n´umeros de blocos s˜ao lidos, seu contador na primeira tabela ´e incrementado O programa ent˜ao examina a lista de blocos livres (ou bitmap), buscando todos os blocos que n˜ao est˜ao em uso Cada ocorrˆencia de um bloco na lista de livres incrementa seu contador na segunda tabela Se o sistema de arquivos estiver consistente, cada bloco ter´a 1 ou na primeira ou na segunda tabela Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 46 / 55
  • 53. Fsck – E se problemas ocorrerem? Missing block (bloco 2): Desperd´ıcio de espa¸co, reduzindo a capacidade do disco Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 47 / 55
  • 54. Fsck – E se problemas ocorrerem? Missing block (bloco 2): Desperd´ıcio de espa¸co, reduzindo a capacidade do disco Adicione-os `a lista de livres Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 47 / 55
  • 55. Fsck – E se problemas ocorrerem? Duplicatas na lista de livres (bloco 4): N˜ao podem ocorrer se a lista de livres for bitmap (apenas se for lista ligada) Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 48 / 55
  • 56. Fsck – E se problemas ocorrerem? Duplicatas na lista de livres (bloco 4): N˜ao podem ocorrer se a lista de livres for bitmap (apenas se for lista ligada) Reconstrua a lista de livres A mesma solu¸c˜ao vale para quando um bloco est´a tanto na lista de livres quanto na de blocos em uso Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 48 / 55
  • 57. Fsck – E se problemas ocorrerem? Duplicatas na lista de blocos em uso (bloco 5): O mesmo bloco est´a presente em 2 ou mais arquivos Problemas Se algum dos arquivos for removido, o bloco ir´a para a lista de livres → o mesmo bloco est´a tanto livre quanto em uso Se ambos os arquivos forem removidos, o bloco ser´a colocado 2 vezes na lista de livres Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 49 / 55
  • 58. Fsck – E se problemas ocorrerem? Duplicatas na lista de blocos em uso: Solu¸c˜ao: Alocar um bloco livre Copiar o conte´udo do bloco 5 nele Inserir a c´opia em um dos arquivos Embora mantenha o sistema consistente, certamente h´a erro Relatar ao usu´ario, para que ele possa inspecionar o arquivo Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 50 / 55
  • 59. Confiabilidade: Consistˆencia (fsck) Checagem do Sistema de Arquivos Al´em do controle de blocos, o verificador tamb´em armazena em um contador o uso de cada arquivo Tabela com um contador por arquivo Come¸cando da raiz, desce a ´arvore recursivamente, inspecionando cada diret´orio Para cada arquivo no diret´orio, incrementa o contador correspondente Devido a hard links, um arquivo pode aparecer em mais de um diret´orio → entra na contagem Links simb´olicos n˜ao s˜ao contados para o arquivo-alvo Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 51 / 55
  • 60. Confiabilidade: Consistˆencia (fsck) Checagem do Sistema de Diret´orios A tabela ´e constru´ıda dinamicamente, `a medida que corre a ´arvore Ser´a uma lista indexada pelo n´umero do i-node Ao final, a lista indicar´a em quantos diret´orios cada arquivo aparece (contador de arquivos) Esses valores s˜ao ent˜ao comparados com a contagem de links presente no i-node do arquivo analisado Come¸ca em 1 quando arquivo ´e criado Incrementada toda vez que um hard link e feito Em um sistema consistente, ambos valores devem bater Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 52 / 55
  • 61. Checagem do Sistema de Diret´orios (fsck) Poss´ıveis erros: A contagem de links no i-node pode estar mais alta que o n´umero de entradas nos diret´orios Mesmo que removamos de todos os diret´orios, o i-node n˜ao ´e realmente removido A contagem de links no i-node pode estar mais baixa Arquivos podem ser removidos do disco, mesmo havendo ainda entradas para eles em algum diret´orio Qualquer quer seja o caso, corrija o contador no i-node Sempre o que est´a registrado nos diret´orios ´e o que vale Norton Trevisan Roman Aula 21 – Sistema de Arquivos II 13 de novembro de 2017 53 / 55