Buscar

Introdução ao Sistema de Arquivos

Prévia do material em texto

I
n
s
t
i
t
u
t
o
 
d
e
 
I
n
f
o
r
m
á
t
i
c
a
 
-
U
F
R
G
S Sistemas Operacionais
Sistema de Arquivos
Introdução
Aula 10Trabalho sob a Licença Atribuição-SemDerivações-SemDerivados 3.0 Brasil Creative Commons. 
Para visualizar uma cópia desta licença, visite http://creativecommons.org/licenses/by-nc-nd/3.0/br/ I n
s
t
i
t
u
t
o
 
d
e
 
I
n
f
o
r
m
á
t
i
c
a
 
-
U
F
R
G
S
Arquitetura do sistema de arquivos em camadas
Sistemas Operacionais 2
A
.
 
C
a
r
i
s
s
i
m
i
 
-
2
-
o
c
t
.
-
1
7
Sistema de arquivos (lógico)
Organização de arquivos
Sistema de arquivo básico
Drivers de dispositivo
Estrutura de diretórios
Alocação e gerenciamento 
de espaço livre
Controle dos dispositivos 
de E/S
Comandos genéricos de 
leitura e escrita 
Aplicação
Leitura/escrita
setores físicos
Blocos físicos
n setores = bloco físico
API usuário
Blocos lógicos Blocos físicos
...
I
n
s
t
i
t
u
t
o
 
d
e
 
I
n
f
o
r
m
á
t
i
c
a
 
-
U
F
R
G
S
Sistemas Operacionais 3
A
.
 
C
a
r
i
s
s
i
m
i
 
-
2
-
o
c
t
.
-
1
7
Introdução
 Armazenamento permanente de grande volume de informações
 Memória primária (RAM) é volátil e limitada em tamanho
 Solução é memória secundária (discos, fitas, etc)
 Acesso randômico ou sequencial a essas informações
 Necessidade de identificar, organizar, acessar e proteger essas 
informações
 Sistemas de arquivos: parte do sistema operacional responsável pelo 
gerenciamento de arquivos e seus recursos
I
n
s
t
i
t
u
t
o
 
d
e
 
I
n
f
o
r
m
á
t
i
c
a
 
-
U
F
R
G
S
Sistemas Operacionais 4
A
.
 
C
a
r
i
s
s
i
m
i
 
-
2
-
o
c
t
.
-
1
7
Funções básicas de um sistema de arquivos
 Funções básicas:
 Conveniência: fornecer visão lógica para arquivos e diretórios 
 Esconder detalhes específicos dos dispositivos de memória secundária
 Mecanismos para acesso e compartilhamento (aspectos de proteção)
 Eficiência: uso eficiente dos dispositivos de armazenamento
 Não interferência: isolamento entre arquivos e diretórios
 Dois pontos de vista:
 Visão lógica (usuário): arquivos e estrutura de diretórios
 Visão física (sistema): estruturas de controle e de gerenciamento
I
n
s
t
i
t
u
t
o
 
d
e
 
I
n
f
o
r
m
á
t
i
c
a
 
-
U
F
R
G
S
Visão lógica (usuário): requisitos mínimos
 O sistema de arquivos é formado por
 Arquivos de dados e diretórios (que são um tipo especial de arquivo)
 Arquivo é uma coleção nomeada de informações registradas em 
armazenamento secundário (permanente)
 Cada usuário deve ser capaz de:
 Criar, apagar, ler e alterar arquivos e diretórios
 Controlar as permissões de acesso a seus arquivos
 Nomear arquivos de forma simbólica
 Organizar os arquivos de forma adequada a suas necessidades específicas
 Criação de diretórios e subdiretórios
 Realizar back-ups e recuperar arquivos em caso de problemas
Sistemas Operacionais 5
A
.
 
C
a
r
i
s
s
i
m
i
 
-
2
-
o
c
t
.
-
1
7
I
n
s
t
i
t
u
t
o
 
d
e
 
I
n
f
o
r
m
á
t
i
c
a
 
-
U
F
R
G
S
Sistemas Operacionais 6
A
.
 
C
a
r
i
s
s
i
m
i
 
-
2
-
o
c
t
.
-
1
7
Visão sistema (física): requisitos mínimos
 O sistema operacional deve ser capaz:
 Descrever a localização de todos os arquivos e de seus atributos*
 Gerenciar espaço físico do disco
 Alocar porções livres a arquivos em criação/expansão
 Liberar porções ocupadas pelos arquivos removidos
 Mecanismos para localizar eficientemente as porções que compõem os
arquivos
* Metadados: informações gerais sobre arquivos
I
n
s
t
i
t
u
t
o
 
d
e
 
I
n
f
o
r
m
á
t
i
c
a
 
-
U
F
R
G
S
Arquitetura de um sistema de arquivos
 Camada de aplicação (programas)
 Sistema de arquivos lógico
 Organização
 Sistema de arquivo básico
 Subsistema de E/S
 Dispositivo físico
Sistemas Operacionais 7
A
.
 
C
a
r
i
s
s
i
m
i
 
-
2
-
o
c
t
.
-
1
7
Blocos lógicos
0
1
2
3
Blocos físicos
Setores do disco
(bloco físico = n setores)
cilindro
trilha
setor
Braço
móvel
Cabeçote
r/w
eixo
I
n
s
t
i
t
u
t
o
 
d
e
 
I
n
f
o
r
m
á
t
i
c
a
 
-
U
F
R
G
S
Driver de dispositivo (disco) e sistemas de arquivos básico
 Driver de dispositivo (disco)
 Parte do subsistema de E/S
 Funcionalidades gerais
 Tratamento de interrupções
 Recebe comandos como ler/escrever o bloco físico i do disco
 Coordenar as transferências entre memória e o disco e vice-versa
 Envio de comandos para controladora de disco e de DMA
 Sistemas de arquivos básico
 Responsável por enviar comandos de leitura e escrita de bloco físicos no 
driver do dispositivo
 Genéricos (blocos lógicos, blocos físico, setores)
Sistemas Operacionais 8
A
.
 
C
a
r
i
s
s
i
m
i
 
-
2
-
o
c
t
.
-
1
7
I
n
s
t
i
t
u
t
o
 
d
e
 
I
n
f
o
r
m
á
t
i
c
a
 
-
U
F
R
G
S
Módulo de organização de arquivos
 Gerenciamento dos blocos físicos do disco (livres e ocupados)
 Implementa uma política de alocação de espaço em disco
 Contígua, encadeada ou indexada
 Tradução de blocos lógicos em blocos físicos
Sistemas Operacionais 9
A
.
 
C
a
r
i
s
s
i
m
i
 
-
2
-
o
c
t
.
-
1
7
I
n
s
t
i
t
u
t
o
 
d
e
 
I
n
f
o
r
m
á
t
i
c
a
 
-
U
F
R
G
S
Sistema de arquivos lógico
 Responsável por gerenciar
 as informações sobre os arquivos (metadados)
 a estrutura de diretórios
 Mantém informações sobre um arquivo aberto através de bloco de 
controle de arquivo (descritor)
 Proprietário, permissões de acesso, localização dos dados, proteção, 
segurança, ponteiro para ponto de leitura e escrita, etc.
 Exemplos:
 NTFS, FAT32, ISO 9660 (cdrom), UFS, Ext3, Ext4, ReiserFS, etc
Sistemas Operacionais 10
A
.
 
C
a
r
i
s
s
i
m
i
 
-
2
-
o
c
t
.
-
1
7
I
n
s
t
i
t
u
t
o
 
d
e
 
I
n
f
o
r
m
á
t
i
c
a
 
-
U
F
R
G
S
Noção fundamental: arquivo
 Objetivo: 
 Fornecer visão lógica uniforme para o armazenamento de informações 
independente do meio físico.
 Arquivo
 Menor unidade de alocação de armazenamento sob ponto de vista do usuário
 Coleção de dados agrupados com objetivos de controle de acesso, leitura e 
modificação
 Arquivo = dados + atributos
 Os arquivos são representados :
 por um nome simbólico e seus atributos (identificação)
 pelo tipo de informação que armazenam (tipo do arquivo)
 pela forma como organiza as informações (organização lógica)
Sistemas Operacionais 11
A
.
 
C
ar
i
s
s
i
m
i
 
-
2
-
o
c
t
.
-
1
7
I
n
s
t
i
t
u
t
o
 
d
e
 
I
n
f
o
r
m
á
t
i
c
a
 
-
U
F
R
G
S
Sistemas Operacionais 12
A
.
 
C
a
r
i
s
s
i
m
i
 
-
2
-
o
c
t
.
-
1
7
Nome simbólico 
 Identificador de um arquivo
 Composto por um conjunto de caracteres
 Dois componentes: nome e extensão (opcional)
 Extensão é um adendo ao nome do arquivo para
 indicar o tipo de arquivo e os programas adequados para manipulá-los
 facilitar a organização e identificação do tipo de arquivo
 Varia de sistema operacional a sistema operacional
 Limitação da quantidade de caracteres usados no nome
 Caracteres permitidos
 Case sensitive ou não
I
n
s
t
i
t
u
t
o
 
d
e
 
I
n
f
o
r
m
á
t
i
c
a
 
-
U
F
R
G
S
Atributos de arquivos
 Também denominados de metadados
 Fornecem informações sobre arquivos (alguns exemplos)
 Nome: nome simbólico (a ser usado pelo usuário)
 Identificador: nome interno (a ser usado pelo sistema operacional)
 Local: dispositivo e ponto de armazenamento dentro deste dispositivo
 Tamanho: quantidade de bytes do arquivo
 Proteção: informações sobre controle de acesso
 Hora, data e identificação do usuário: informação sobre datas de criação, 
última modificação e acesso
 Arquivamento (backup)
 Mantido na estrutura de diretório
 Cada arquivo possui uma entrada associada
Sistemas Operacionais 13
A
.
 
C
a
r
i
s
s
i
m
i
 
-
2
-
o
c
t
.
-
1
7
I
n
s
t
i
t
u
t
o
 
d
e
 
I
n
f
o
r
m
á
t
i
c
a
 
-
U
F
R
G
S
Sistemas Operacionais 14
A
.
 
C
a
r
i
s
s
i
m
i
 
-
2
-
o
c
t
.
-
1
7
Tipos de arquivo
 Sistema operacional suporta vários tipos de arquivos
 Formato interno e semântica de arquivos
 Determinam tipos de operações que podem ser feitas
 Dependem do sistema operacional:
 Mínimo: texto, binário (inclui executável)
 Vinculado a aplicações (ex: windows - .ppt, .doc, .xls, etc)
I
n
s
t
i
t
u
t
o
 
d
e
 
I
n
f
o
r
m
á
t
i
c
a
 
-
U
F
R
G
S
Organização lógica interna de um arquivo 
 Não estruturado
 O arquivo é uma sequência de bytes
 Não há restrições quanto a forma de serem lidos ou escritos
 Estruturado
 O arquivo é uma sequência de registros
 Registro é a menor unidade a ser lida ou escrita
Sistemas Operacionais 15
A
.
 
C
a
r
i
s
s
i
m
i
 
-
2
-
o
c
t
.
-
1
7
I
n
s
t
i
t
u
t
o
 
d
e
 
I
n
f
o
r
m
á
t
i
c
a
 
-
U
F
R
G
S
Organização lógica interna: não estruturados
 Significado é dado pelos programas em 
nível de usuário
 Estratégia adotada pelo Windows e 
pelo Unix
 Exemplo: tipos de arquivos Unix
 Regular: arquivos de dados em ASCII 
e binário
 Diretório: arquivos que mantém a 
estrutura (organização) do sistema de 
arquivos
 Arquivos especiais de caracter/bloco: 
vinculados a dispositivos de E/S
Sistemas Operacionais 16
A
.
 
C
a
r
i
s
s
i
m
i
 
-
2
-
o
c
t
.
-
1
7
executável 
(formato a.out)
biblioteca
I
n
s
t
i
t
u
t
o
 
d
e
 
I
n
f
o
r
m
á
t
i
c
a
 
-
U
F
R
G
S
Sistemas Operacionais 17
A
.
 
C
a
r
i
s
s
i
m
i
 
-
2
-
o
c
t
.
-
1
7
Organização lógica interna: estruturados
 Normalmente utilizados por aplicações específicas
 Ex.: sistemas de gerenciamento de banco de dados
 Registros podem ser:
 Tamanho fixo (byte, palavra, estrutura própria)
 Tamanho variável (estrutura que contém seu próprio tamanho)
Ro R1 R2 R3
chaveo R0 chave1 R1 chave2 R2 chave3 R3
Lo R0 L1 R1 L2 R2 L3 R3
Lo chaveo R0 L1 chave1 R1 L2 chave2 R2 Tam. variável, chave
Tam. fixo, chave
Tam. variável
Tam. fixo
I
n
s
t
i
t
u
t
o
 
d
e
 
I
n
f
o
r
m
á
t
i
c
a
 
-
U
F
R
G
S
Sistemas Operacionais 18
A
.
 
C
a
r
i
s
s
i
m
i
 
-
2
-
o
c
t
.
-
1
7
Forma de acesso aos registros
 Implícito: 
 Ponteiro interno mantido pelo sistema operacional
 Acessado na ordem que aparecem no arquivo
 Para acessar o registro i é necessário acessar os i-1 anteriores
 Explícito:
 Ponteiro é específicado e visto “fora” do sistema operacional
 Acesso randômico ou direto
I
n
s
t
i
t
u
t
o
 
d
e
 
I
n
f
o
r
m
á
t
i
c
a
 
-
U
F
R
G
S
Métodos de acesso a arquivos
 Sequencial
 O acesso é sempre feito a partir do início do arquivo
 Randômico (direto ou relativo ou aleatório)
 O acesso pode ser feito a partir de qualquer posição do arquivo
 Introduz a noção de uma operação de fseek()
 Fácil implementação nos arquivos organizados com registros de 
tamanho fixo
 Tamanho variável necessita ter uma estrutura auxiliar de índices
(indexado)
 Difícil encontrar suporte direto no próprio sistema operacional
 Normalmente é dado por aplicativos (banco de dados, por ex.)
 EXCEÇÃO: diretórios!!!
Sistemas Operacionais 19
A
.
 
C
a
r
i
s
s
i
m
i
 
-
2
-
o
c
t
.
-
1
7
I
n
s
t
i
t
u
t
o
 
d
e
 
I
n
f
o
r
m
á
t
i
c
a
 
-
U
F
R
G
S
Sistemas Operacionais 20
A
.
 
C
a
r
i
s
s
i
m
i
 
-
2
-
o
c
t
.
-
1
7
Primitivas de operações em arquivos
 Criação e remoção
 Abertura e fechamento
 Arquivo deve ser “aberto” antes de sofrer qualquer operação
 Alocação de estruturas de dados, buffers, identificadores, etc.
 Fechamento libera todas as estruturas de dados, buffers, identificadores, etc
 Leitura e escrita
 Transferência de dados arquivo/memória e vice-versa
 Idéia de um ponteiro lógico
 Posicionamento e reposicionamento
 Seek: posicionamento do ponteiro lógico para um registro i qualquer
 Rewind: seek para o primeiro registro do arquivo
 etc…
I
n
s
t
i
t
u
t
o
 
d
e
 
I
n
f
o
r
m
á
t
i
c
a
 
-
U
F
R
G
S
Abertura e encerramento de arquivos
 Tabela de arquivos abertos
 Informações sobre arquivos abertos (metadados e outras)
 Serve para evitar pesquisas no diretório enquanto um arquivo está em uso
 Manipulação da tabela de arquivos abertos
 Primitivas open( ) e close( )
 Fator de complexidade adicional: abertura simultânea
 Resolvido com auxílio de dois níveis de tabelas
 Uma tabela por processo: informações relativas ao processo
 Uma tabela para o sistema: informações independentes do processo
Sistemas Operacionais 21
A
.
 
C
a
r
i
s
s
i
m
i
 
-
2
-
o
c
t
.
-
1
7
I
n
s
t
i
t
u
t
o
 
d
e
 
I
n
f
o
r
m
á
t
i
c
a
 
-
U
F
R
G
S
Proteção 
 Dois aspectos:
 Confiabilidade: proteção contra dano físico
 Segurança: proteção contra acessose operações impróprias
 Matriz de controle de acesso
 Colunas são objetos ou recursos
 Linhas são domínios (processos ou usuários)
 Elemento ( i, j) fornece as operações (permissões ou direitos de acesso) que 
podem ser feitos pelo domínio i no objeto j
 Estratégias básicas
 Capacidades (por linha)
 Listas de controle de acesso (por coluna)
Sistemas Operacionais 22
A
.
 
C
a
r
i
s
s
i
m
i
 
-
2
-
o
c
t
.
-
1
7
I
n
s
t
i
t
u
t
o
 
d
e
 
I
n
f
o
r
m
á
t
i
c
a
 
-
U
F
R
G
S
Capacidades (capabilities)
 Organização da matriz de acesso em linhas
 Domínio: {objeto, direitos {objeto, direitos}....
 É um valor numérico que fornece:
 A identificação de um recurso (objeto)
 Direitos de acesso a esse recurso
 As capacidades são “entregues” a um usuário após a sua 
autenticação no sistema
 Funciona como um tíquete para realizar operações em um recurso
 Operações: ler, escrever, remover, renomear, etc...
Sistemas Operacionais 23
A
.
 
C
a
r
i
s
s
i
m
i
 
-
2
-
o
c
t
.
-
1
7
I
n
s
t
i
t
u
t
o
 
d
e
 
I
n
f
o
r
m
á
t
i
c
a
 
-
U
F
R
G
S
Lista de controle de acesso
 Organização da matriz de acesso em colunas
 Objeto: {domínio:direitos} {domínio:direitos}...
 Princípio de funcionamento
 Lista nomes de usuários e os tipos de acesso permitido para cada um deles
 Problema: tamanho da lista
 Versão condensada de ACL
 Classificação de usuários em três grupos: proprietário, grupo e outros
 Especificar os acessos (Read, Write, eXecute) para cada recurso
 Ex.: Unix emprega 9 bits – rwx rwx rwx
Sistemas Operacionais 24
A
.
 
C
a
r
i
s
s
i
m
i
 
-
2
-
o
c
t
.
-
1
7
I
n
s
t
i
t
u
t
o
 
d
e
 
I
n
f
o
r
m
á
t
i
c
a
 
-
U
F
R
G
S
Sistemas Operacionais 25
A
.
 
C
a
r
i
s
s
i
m
i
 
-
2
-
o
c
t
.
-
1
7
Leituras complementares
 R. Oliveira, A. Carissimi, S. Toscani; Sistemas Operacionais. Editora
Sagra-Luzzato, 2001.
 Capítulo 8, seções 8.1, 8.2, e 8.3
 A. Silberchatz, P. Galvin; G. Gagne; Sistemas Operacionais com 
Java. Campus, (7a edição). 
 Capítulo 10, seções 10.1, 10.2 e 10.6

Continue navegando