Sistemas de Arquivos
Disciplina:Sistemas Operacionais
Professora: Marianne Diniz
Natal, 25 de Janeiro de 2017.
UNIVERSIDADE DO ESTADO DO RIO GRANDE DO NORTE
PRÓ-REITORIA DE GRADUAÇÃO
DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO
Roteiro
Introdução
Arquivo
Além dos dados propriamente, arquivos têm metadados associados a si, que servem para:
Identificar a informação armazenada;
Definir permissões de acesso ao arquivo;
Informar onde os dados do arquivo estão armazenados;
Outras informações importantes para a gerência dos arquivos.
Arquivo
Um sistema de arquivos define também as estruturas de dados que precisam ser mantidas em memória para esse fim.
Arquivo
Diretórios
Diretórios
As letras indicam os donos dos diretórios e arquivos
Diretórios
Diretórios
Nome dos caminhos
Árvore de diretórios UNIX
Esquema dos Sistemas de Arquivos
Esquema dos Sistemas de Arquivos
Implementação de Arquivos
Alocação contígua
Alocação contígua
Alocação contígua do espaço em disco para 7 arquivos
Estado do disco depois dos arquivos D e F terem sido removidos
Alocação por lista encadeada
Alocação por lista encadeada
Armazenamento de um arquivo como uma lista encadeada de blocos de disco.
Alocação por lista encadeada com tabela na memória
Alocação por lista encadeada com tabela na memória
Alocação por lista encadeada com tabela na memória
Esquema usado pelo MS-DOS, Win95 e Win98
I-nodes
Solução: usar o último bloco do disco contendo mais endereços do próprio disco e a última entrada do i-node seria indicação para esse bloco.
I-nodes
Usados por sistemas baseados no UNIX
Sistemas de Arquivos Compartilhados
Sistemas de Arquivos Compartilhados
Sistemas de Arquivos Compartilhados
Sistemas de Arquivos Compartilhados
Cache de Bloco
Cache de Bloco
Só que se um bloco passa muito tempo em cache e há um problema com o sistema, perdem-se várias mudanças feitas no bloco.
Soluções:
SO usa uma rotina que periodicamente atualiza em disco os blocos modificados.
Ou sempre que um bloco é modificado, já é atualizado em disco.
A solução 1 é mais eficiente, mas a probabilidade de perda de dados é maior.
A solução 2 é menos eficiente, mas a perda é mais rara
A solução 1 é mais usada.
Leitura antecipada de Bloco
Tentar transferir blocos para a cache antes que sejam necessários, assim, quando o forem, eles já estarão na cache ou a caminho.
Funciona bem para arquivos tendo acesso sequencial.
gasta banda de disco com blocos que não serão utilizados naquele momento.
Leitura antecipada de Bloco
Solução
Um bit associado a cada arquivo diz se ele está sendo lido sequencialmente (1) ou aleatoriamente (0).
Todos começam com 1, se houver um seek (posicionamento), vira 0 e se começar a ser lido de modo sequencial de novo, volta para 1.
Daí, o sistema de arquivos verifica o bit e decide se vai ler blocos antecipadamente ou não.
Exercício de Fixação
Exercício de Fixação
Explique as seguintes formas de implementar arquivos, citando as vantagens e desvantagens de cada uma:
a. Alocação contígua
b. Alocação por lista encadeada
c. Alocação por lista encadeada usando uma tabela na memória
d. I-nodes
Exercício de Fixação
Explique as soluções para compartilhamento de arquivos e seus problemas.
Referências
TANENBAUM, A. S.; WOODHULL, A. S.: Sistemas Operacionais, Projeto e Implementação BOOKMAN COMPANHIA ED., 3ª Edição – 2008
MACHADO Francis Beranger; MAIA Luiz Paulo Arquitetura de Sistemas Operacionais, 4ª edição, LTC, 2007
SILBERSCHATZ, Abraham; GALVIN, Peter Baer; GAGNE, Greg Fundamentos de Sistemas Operacionais LTC, 2010