24
Sistemas de Arquivos

Sistemas de Arquivospaginapessoal.utfpr.edu.br/lalucas/disciplinas/so/tran... · 2020. 11. 29. · Sistemas arquivos log estruturados orientados a transação (jornalados) Gravam

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Sistemas de Arquivospaginapessoal.utfpr.edu.br/lalucas/disciplinas/so/tran... · 2020. 11. 29. · Sistemas arquivos log estruturados orientados a transação (jornalados) Gravam

Sistemas de Arquivos

Page 2: Sistemas de Arquivospaginapessoal.utfpr.edu.br/lalucas/disciplinas/so/tran... · 2020. 11. 29. · Sistemas arquivos log estruturados orientados a transação (jornalados) Gravam

Problemas da alocação em RAM

● Baixa capacidade● Volatilidade

Solução: uso de arquivos

Page 3: Sistemas de Arquivospaginapessoal.utfpr.edu.br/lalucas/disciplinas/so/tran... · 2020. 11. 29. · Sistemas arquivos log estruturados orientados a transação (jornalados) Gravam

Conceito de arquivo● Espaço endereços lógico contíguo● Coleção informações correlatas com mesmo nome armazenadas no disco

Tipos● Dados● Programas● Programas-fonte

Estrutura de um arquivo● Nenhuma: sequência bytes (Unix)● Registro● Complexa (documento formatado, arquivo relocável)

Atributos de um arquivo (mantidos na entrada diretórios)● Nome● Identificador: número (único) identifica arquivo dentro FS● Tipo● Localização: ponteiro para 1o bloco● Tamanho● Proteção● Hora e data da criação● Hora e data da última alteração

Page 4: Sistemas de Arquivospaginapessoal.utfpr.edu.br/lalucas/disciplinas/so/tran... · 2020. 11. 29. · Sistemas arquivos log estruturados orientados a transação (jornalados) Gravam

Operações com arquivos

(um arquivo é um ADT)

● Criar● Escrever● Ler● Reposicionar● Apagar● Truncar● Open: move conteúdo para memória● Close: move conteúdo para disco

Arquivos abertos – dados necessários

● Ponteiro para último local acessado (por processo)● Direitos de acesso

Page 5: Sistemas de Arquivospaginapessoal.utfpr.edu.br/lalucas/disciplinas/so/tran... · 2020. 11. 29. · Sistemas arquivos log estruturados orientados a transação (jornalados) Gravam

Métodos de acesso

● Sequencial

Ler próximoEscrever próximoReset

● Direto (aleatório)

Ler nEscrever nProcurar n

Ler próximoEscrever próximo

Reescrever n

n: número do bloco

Page 6: Sistemas de Arquivospaginapessoal.utfpr.edu.br/lalucas/disciplinas/so/tran... · 2020. 11. 29. · Sistemas arquivos log estruturados orientados a transação (jornalados) Gravam

Diretórios: organizadores dos arquivos

Estrutura de diretórios

Coleção de nós contendo informação sobre todos os arquivos (número de registros, umpor arquivo)

(ambos, estrutura de diretórios e arquivos, são mantidos no disco

F 1 F 2F 3

F 4

F n

Directory

Files

Page 7: Sistemas de Arquivospaginapessoal.utfpr.edu.br/lalucas/disciplinas/so/tran... · 2020. 11. 29. · Sistemas arquivos log estruturados orientados a transação (jornalados) Gravam

Operações realizadas num diretório

● Procurar um arquivo● Criar um arquivo● Apagar● Listar um diretório● Renomear um arquivo

Organização lógica do diretório

● Nível único● Dois níveis● Estruturação em árvore● Grafos acíclicos● Grafos gerais

Page 8: Sistemas de Arquivospaginapessoal.utfpr.edu.br/lalucas/disciplinas/so/tran... · 2020. 11. 29. · Sistemas arquivos log estruturados orientados a transação (jornalados) Gravam

Nível único

Um único diretório para todos os usuários

Problemas: nomes, impossibilidade compartilhamento

Page 9: Sistemas de Arquivospaginapessoal.utfpr.edu.br/lalucas/disciplinas/so/tran... · 2020. 11. 29. · Sistemas arquivos log estruturados orientados a transação (jornalados) Gravam

Dois níveis

Um diretório para cada usuário

● Pode-se ter o mesmo nome de arquivo para diferentes usuários● Surge o path name (caminho para o arquivo)● impossibilidade de compartilhamento

Page 10: Sistemas de Arquivospaginapessoal.utfpr.edu.br/lalucas/disciplinas/so/tran... · 2020. 11. 29. · Sistemas arquivos log estruturados orientados a transação (jornalados) Gravam

Diretórios estruturados em árvore

● Diretório atual (de trabalho)● Nome caminho absoluto, relativo● Impossibilidade de compartilhamento

Page 11: Sistemas de Arquivospaginapessoal.utfpr.edu.br/lalucas/disciplinas/so/tran... · 2020. 11. 29. · Sistemas arquivos log estruturados orientados a transação (jornalados) Gravam

Grafos acíclicos

● Permite subdiretórios e arquivos compartilhados● Problemas:

● Múltiplos caminhos absolutos● Garantir que não haja ciclos

● Implementações ● Soft link (Unix, Windows)● Hard link (Unix): contador

Page 12: Sistemas de Arquivospaginapessoal.utfpr.edu.br/lalucas/disciplinas/so/tran... · 2020. 11. 29. · Sistemas arquivos log estruturados orientados a transação (jornalados) Gravam

Grafos genéricos

Quando se permite que usuários criem links, ciclos podem ocorrer● Algorítimos são mais complexos (atravessar o grafo)

Como garantir que não há ciclos? ● Permitir links para arquivos mas não para subdiretórios● Algorítimo de deteção de ciclos no momento da criação do link → computacionalmente caro

Page 13: Sistemas de Arquivospaginapessoal.utfpr.edu.br/lalucas/disciplinas/so/tran... · 2020. 11. 29. · Sistemas arquivos log estruturados orientados a transação (jornalados) Gravam

Proteção

Tipos de acesso

● Leitura (R)● Escrita (W)● Execução (X)● Append● Delete● List

Exemplo bits proteção:

RWXa) owner access 7 ⇒ 1 1 1

RWXb) group access 6 ⇒ 1 1 0

RWXc) public access 1 ⇒ 0 0 1

owner group public

chmod 761 game

Page 14: Sistemas de Arquivospaginapessoal.utfpr.edu.br/lalucas/disciplinas/so/tran... · 2020. 11. 29. · Sistemas arquivos log estruturados orientados a transação (jornalados) Gravam

Exemplo: listagem diretório Unix

Page 15: Sistemas de Arquivospaginapessoal.utfpr.edu.br/lalucas/disciplinas/so/tran... · 2020. 11. 29. · Sistemas arquivos log estruturados orientados a transação (jornalados) Gravam

File control block: estrutura de armazenamento contendo informações sobre um arquivo

Page 16: Sistemas de Arquivospaginapessoal.utfpr.edu.br/lalucas/disciplinas/so/tran... · 2020. 11. 29. · Sistemas arquivos log estruturados orientados a transação (jornalados) Gravam

Métodos de alocação

Forma como blocos do disco são alocados aos arquivos

● Contígua● Encadeada● Indexada

Alocação Contígua

Blocos contíguos no disco

● Simples: necessita bloco início e #blocos● Acesso aleatório● Desperdício espaço● Arquivos não podem crescer

Page 17: Sistemas de Arquivospaginapessoal.utfpr.edu.br/lalucas/disciplinas/so/tran... · 2020. 11. 29. · Sistemas arquivos log estruturados orientados a transação (jornalados) Gravam

Alocação encadeada

Cada arquivo é uma lista encadeada de blocos de disco, que podem estar espalhados pelodisco.● Simples: necessita apenas endereço início● Não há fragmentação externa● Acesso aleatório impossível

Page 18: Sistemas de Arquivospaginapessoal.utfpr.edu.br/lalucas/disciplinas/so/tran... · 2020. 11. 29. · Sistemas arquivos log estruturados orientados a transação (jornalados) Gravam

FAT (tabela alocação arquivos)● Variação alocação encadeada: ponteiros na tabela

● Vantagem: acesso aleatório● Desvantagem: grande número disk head seeks

● EOF (-1)● 0: bloco não usado

Page 19: Sistemas de Arquivospaginapessoal.utfpr.edu.br/lalucas/disciplinas/so/tran... · 2020. 11. 29. · Sistemas arquivos log estruturados orientados a transação (jornalados) Gravam

Alocação indexada

Armazena todos os ponteiros no bloco de índice● Necessita tabela índices● Acesso aleatório● Pode-se encadear blocos de índice

index table

Page 20: Sistemas de Arquivospaginapessoal.utfpr.edu.br/lalucas/disciplinas/so/tran... · 2020. 11. 29. · Sistemas arquivos log estruturados orientados a transação (jornalados) Gravam

Gerência do espaço livre

Vetor de bits (bitmap)● Requer espaço adicional

Example:block size = 212 bytesdisk size = 230 bytes (1 gigabyte)n = 230/212 = 218 bits (or 32K bytes)

0 1 2 n-1

bit[i] =0 ⇒ block[i] free

1 ⇒ block[i] occupied

Page 21: Sistemas de Arquivospaginapessoal.utfpr.edu.br/lalucas/disciplinas/so/tran... · 2020. 11. 29. · Sistemas arquivos log estruturados orientados a transação (jornalados) Gravam

Gerência de espaço livreLista encadeada de blocos livres

Page 22: Sistemas de Arquivospaginapessoal.utfpr.edu.br/lalucas/disciplinas/so/tran... · 2020. 11. 29. · Sistemas arquivos log estruturados orientados a transação (jornalados) Gravam

Sistemas arquivos log estruturados orientados a transação (jornalados)

● Gravam cada alteração num log (transação)● As transações são escritas no sistema de arquivos de forma assíncrona● Se houver um crash, as transações pendentes serão realizadas

Page 23: Sistemas de Arquivospaginapessoal.utfpr.edu.br/lalucas/disciplinas/so/tran... · 2020. 11. 29. · Sistemas arquivos log estruturados orientados a transação (jornalados) Gravam

Fragmentação interna

(dentro do segmento, dentro do bloco)

● Surge quando tamanho do arquivo não é múltiplo tamanho bloco● Em média perde-se ½ bloco por arquivo (estatisticamente)

Fragmentação externa

(fora do segmento → entre segmentos)

● Surge quando se deleta um arquivo

Page 24: Sistemas de Arquivospaginapessoal.utfpr.edu.br/lalucas/disciplinas/so/tran... · 2020. 11. 29. · Sistemas arquivos log estruturados orientados a transação (jornalados) Gravam

Tamanho dos blocos

● Blocos pequenos

Vantagem: fragmentação interna menorDesvantagem: maior custo gerência espaço livre: bitmap maior

● Blocos grandes

Vantagem: menor custo gerênciaDesvantagem: fragmentação interna maior