5 - Sistema de Arquivos

Propaganda
Arquitetura de Sistemas
Operacionais
• Técnico em Informática MBI1 e NBI2
Sistema de Arquivos
Cap. 11 – Sistema de Arquivos
1
Sumário
• Introdução
• Arquivos
– Organização de Arquivos
– Métodos de Acesso
– Operações de Entrada/Saída
•
•
•
•
•
Atributos
Diretórios
Gerência de Espaço Livre em Disco
Gerência de Alocação de Espaço em Disco
Implementação de Caches
Cap. 11 – Sistema de Arquivos
2
Conceito de Arquivos
• Existem várias definições possíveis para o conceito
de arquivos. Tanembaum afirma que, de forma
simplificada, os arquivos podem ser entendidos
como seqüências de bytes não interpretadas pelo
sistema, dependendo-se de aplicações apropriadas
para sua correta utilização (1995, p. 246). Deitel
coloca que arquivos são uma coleção identificada
de dados (1992, p. 389) enquanto Guimarães
explica: “Um arquivo é um conjunto de informações
relacionadas entre si e residentes no sistema de
memória secundária: discos, fitas, cartões, etc.”
(1986, p. 211)
Cap. 11 – Sistema de Arquivos
3
Introducão
• Um processo deve ser capaz de ler e gravar
grande volume de dados em dispositivos
como fitas e discos de forma permanente,
além de poder compartilhá-los com outros
processos
• A manipulação de arquivos é uma atividade
freqüentemente realizada pelos usuários,
devendo sempre ocorrer de maneira
uniforme, independente dos diferentes
dispositivos de armazenamento
• A maneira pela qual o sistema operacional
estrutura e organiza estas informações é
através da implementação de arquivos
Cap. 11 – Sistema de Arquivos
4
Arquivos
• Extensão de arquivos
Cap. 11 – Sistema de Arquivos
5
Organização de Arquivos
• Organização de Arquivos
Ana
Cláudia
Teresa
Byte
Beatriz
(a) Organização não-estruturada
Camila
Daniele
Patrícia
Isabela
Maria
Tina
Vanessa
Registro
(b) Organização Indexada
Cap. 11 – Sistema de Arquivos
6
Métodos de Acesso
• Acesso direto
Registro
0
Registro
1
Registro
2
Registro
n
Deslocamento de
dois registros
Cap. 11 – Sistema de Arquivos
7
Operações de Entrada/Saída
• Operações de Entrada/Saída
A p lic a çã o
Ro tin a s d e E/ S
D isp o sitiv o s
Cap. 11 – Sistema de Arquivos
8
Operações de Entrada/Saída
• Rotinas de E/S
Cap. 11 – Sistema de Arquivos
9
Atributos
• Atributos de arquivos
Cap. 11 – Sistema de Arquivos
10
Diretórios
• Estrutura de diretórios de nível único
Identificação
Proteção
Organização
Localização
Atributos
Diretórios
Cap. 11 – Sistema de Arquivos
Arquivos
11
Diretórios
• Estrutura de diretórios com dois níveis
Arquivo
1
Usuário
1
Arquivo
2
Usuário
2
Arquivo
3
Usuário
3
Arquivo
1
Arquivo
1
Usuário
n
Arquivo
2
Arquivo
3
Arquivos
User File Directory
(UFD)
Cap. 11 – Sistema de Arquivos
12
Diretórios
• Estrutura de
diretórios
em árvore
Usuário
1
Usuário
2
Usuário
3
Arquivo
1
Diretório
1
Diretório
2
Arquivo
1
Arquivo
1
Arquivo
1
Diretório
1
Usuário
n
Arquivo
2
Arquivo
1
Arquivo
1
Arquivo
2
Diretório Raiz
Arquivo
2
Cap. 11 – Sistema de Arquivos
13
Diretórios
• Path de um arquivo
Disco C:/
Paulo
Ivan
Ivan
Carlos
Teste
Pessoal
Soma.exe
Cap. 11 – Sistema de Arquivos
14
Gerência de Espaço Livre em Disco
• A criação de arquivos em disco exige que o sistema
operacional tenha o controle de quais áreas ou bloco do
disco estão livres. Geralmente, há o uso de uma lista
ou tabela para identificar blocos livres que poderão
ser alocados a um novo arquivo. Neste caso, o espaço é
removido da estrutura para que não seja reutilizado. Da
mesma forma, quando um arquivo é eliminado, todos os
seus blocos são liberados para a lista de espaços livres.
• A forma mais simples de implementar uma estrutura de
espaços livres é através de uma tabela denominada mapa
de bits ( bits map ). Cada entrada da tabela é
associada a um bloco do disco representado por um bit,
que pode assumir estado 0 ( livre ) ou 1 ( ocupado ). O
grande problema dessa implementação é o grande
consumo de memória, já que para cada bloco deve
existir uma entrada na tabela.
Cap. 11 – Sistema de Arquivos
15
Gerência de Espaço Livre em Disco
• Uma segunda maneira de realizar esse controle é com uma
estrutura de lista encadeada de todos os blocos livres do
disco. Para que isso seja possível, cada bloco deve
armazenar um endereço do bloco seguinte. A partir do
primeiro bloco, então, é possível o acesso seqüencial aos
demais. Como desvantagens deste modelo, tem-se o
consumo de espaço em disco para armazenamento do
caminho de acesso e um algoritmo seqüencial de pesquisa
na lista.
• Uma outra solução faz uma tabela de blocos livres,
contendo o endereço inicial do bloco de cada segmento e o
número de blocos contíguos livres que o seguem.
Cap. 11 – Sistema de Arquivos
16
Gerência de Espaço Livre em Disco
• Alocação de espaço em disco
Início
11001101
10000111
Bloco
Contador
4
2
10
1
13
7
25
20
50
5
01110100
.
.
.
11100000
(a) Mapa de bits
Cap. 11 – Sistema de Arquivos
(b) Lista encadeada
© Tabela de blocos livres
17
Alocação Contígua
• Uma forma de organizar-se os arquivos
fisicamente é através da armazenagem dos
dados em áreas adjacentes dos dispositivos
físicos, isto é, em setores consecutivos das
unidades de disco. Sistemas de arquivos
implementados desta forma são denominados
de alocação contígua ou contínua e neles o
armazenamento físico corresponde à
organização lógica do arquivo, ou seja, o
primeiro bloco de dados ocupa o primeiro setor
alocado e assim sucessivamente.
Cap. 11 – Sistema de Arquivos
18
Gerência de Alocação de Espaço
em Disco
• Alocação Contígua
0
3
1
4
2
5
6
7
8
9
10
11
12
13
14
Cap. 11 – Sistema de Arquivos
Arquivo
Bloco
Extensão
A. TXT
4
3
B. TXT
10
1
C. TXT
13
2
19
Gerência de Alocação de Espaço
em Disco
• Desfragmentação
Área de trabalho
Cap. 11 – Sistema de Arquivos
20
Alocação não contígua
• A outra forma possível de organizar-se
fisicamente o armazenamento de
arquivos é através da alocação não
contígua. Neste esquema cada bloco
do arquivo pode estar armazenado
num setor distinto da unidade de disco,
de forma que o armazenamento físico
não corresponde à organização lógica
do arquivo.
Cap. 11 – Sistema de Arquivos
21
Alocação não contígua
Cap. 11 – Sistema de Arquivos
22
Gerência de Alocação de Espaço
em Disco
• Alocação Indexada
3
10
11
7
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Cap. 11 – Sistema de Arquivos
Bloco de
índice
23
Proteção de Acesso
• Lista de Controle de Acesso
Usuário: Maia
Acesso: Leitura + Escrita
Usuário: Maia
Acesso: Leitura + Escrita + Execução
Usuário: Machado
Acesso: Leitura
Usuário: Machado
Acesso: Eliminação
Cap. 11 – Sistema de Arquivos
24
Implementação de Caches
• Acesso a disco é bastante lento
• Buffer cache minimiza este problema
• Quando uma operação é realizada o sistema verifica
se a informação se encontra no buffer cache
– Em caso positivo, não é necessário o acesso ao disco
– Caso o bloco requisitado não se encontre no cache, a
operação de E/S é realizada e o cache é atualizado
Cap. 11 – Sistema de Arquivos
25
Download