Você está na página 1de 11

Sistema de Arquivos

Sistemas a) Conceito de arquivo


Operacionais b) Métodos de acesso
c) Estrutura de diretório
d) Montando o sistema de
arquivos
e) Compartilhamento de arquivos
Sistema de Arquivos f) Proteção

1 2

Objetivos Conceito de arquivo


Explicar a função dos sistemas de arquivos Espaço de endereços lógicos contíguos
Descrever as interfaces dos sistemas de
arquivo Tipos:
Discutir as escolhas do projeto do sistema de a)Dados
arquivos, incluindo métodos de acesso, numéricos
compartilhamento de arquivos, bloqueio de caractere
arquivos e estruturas de diretório Binários
Explorar a proteção do sistema de arquivos
b)Programa

3 4

Estrutura de arquivo Atributos do arquivo


1) Nenhuma: Seqüência de words, bytes 1) Nome: somente informações mantidas em formato
2) Estrutura de registro simples legível
a) Linhas 2) Identificador: tag exclusiva (número) identifica
b) Tamanho fixo arquivo dentro do sistema de arquivos
3) Tipo: necessário para sistemas que admitem
c) Tamanho variável
diferentes tipos
3) Estruturas complexas 4) Local: ponteiro para local do arquivo no dispositivo
a) Documento formatado 5) Tamanho: tamanho de arquivo atual
b) Arquivo de carga relocável 6) Proteção: controla quem pode realizar leitura,
4) Pode simular 2 últimos com o 1ro método, gravação, execução
inserindo caracteres de controle apropriados  Hora, data e identificação do usuário: dados para
5) Quem decide: proteção, segurança e monitoração de uso
a) Sistema operacional (SO)  Informação sobre arquivos são mantidas na
b) Programa 5
estrutura de diretório, que é mantida no disco 6
Operações do arquivo Abrir arquivos
Arquivo é um tipo de dado abstrato  Várias partes dos dados são necessárias para
Criar gerenciar arquivos abertos:
Gravar a) Ponteiro de arquivo: ponteiro para último local
de read/write, por processo que tem o arquivo
Ler
aberto
Reposicionar dentro do arquivo
b) Contagem de arquivos abertos: contador do
Excluir número de vezes que um arquivo está aberto –
Truncar para permitir a remoção de dados da tabela de
Open(Fi): procura a estrutura de diretório no arquivos abertos quando últimos processos a
disco para entrada Fi, e move conteúdo da fecham
entrada para memória c) Local do arquivo no disco: cache de
Close (Fi): move o conteúdo da entrada Fi na informações de acesso a dados
memória para a estrutura de diretório no disco d) Direitos de acesso: informação de modo de
7 acesso por processo 8

Bloqueio de abertura de Tipos de arquivo – Nome, extensão


arquivo
Fornecido por alguns SO´s e sistemas de arquivo

Media o acesso a um arquivo

Obrigatório ou aconselhável:
a)Obrigatório: o acesso é negado dependendo
dos bloqueios mantidos e requisitados

b)Aconselhável: os processos podem descobrir


Tabela 01
o status dos bloqueios e decidir o que fazer
9 10

Métodos de acesso MA - Simulação de acesso seqüencial


a) Acesso seqüencial em um arquivo de acesso direto
lê próximo
grava próximo
reinicia
nenhuma leitura após última
gravação(regrava)

Figura 01

Tabela 02

11 12
MA - Acesso direto Exemplo de arquivo de
índice e relativo
b) Acesso direto
Registro Registro Registro Registro
0 1 2 n

lê n
Figura 02
Desloca mento de
grava n dois registros

posiciona para n
lê próximo
grava próximo
regrava n
n = número de bloco relativo Figura 03
13 14

Estrutura de diretório Organização típica do sistema


 Uma coleção de nós contendo informações sobre
de arquivos
todos os arquivos
Ana Cláudia Teresa
Figura 04
Diretório
Byte

Beatriz Camila Daniele Patrícia Tina Vanessa

Arquivos
F1 F2 F4
F3
Isabela Maria
Fn

 A estrutura de diretório e os arquivos residem no disco Figura 05


(a) Organização não-estruturada Registro

 Backups dessas 2 estruturas são mantidas em fitas 15 (b) Organização Indexada 16

Operações realizadas no
Operações de Entrada/Saída
diretório
Aplicaçã o
a) Procurar um arquivo
b) Criar um arquivo
c) Excluir um arquivo
d) Listar um diretório
Rotina s de E/ S
e) Renomear um arquivo
f) Atravessar o sistema de arquivos

Dispositivos

Figura 06
17 18
Organizar o diretório Diretório de único nível
(logicamente) para obter Um único diretório para todos os usuários

Eficiência: localizando um arquivo rapidamente


Figura 08
Nomeação: conveniente para usuários Identifica ção
Proteçã o

a) 2 usuários podem ter o mesmo nome para


Organiza ção
Figura 07 Localiza ção
Atributos

diferentes arquivos
b) O mesmo arquivo pode ter vários nomes
diferentes
a) Problema de nomeação
Agrupamento: agrupamento lógico de arquivos
b) Problema de agrupamento
por propriedades, (por exemplo, todos os
programas Java, todos os jogos, …)
19 Diretórios
20
Arquivos

Diretório de 2 níveis Diretórios estruturados em árvore(1/2)


Diretório separado para cada usuário
Arquivo
1

Diretório Arquivo
1 2

Figura 10 Usuário
1
Diretório
2 Arquivo
1

Arquivo
1 Arquivo
Usuário 1
2

Usuário Arquivo
1 2 Usuário Arquivo
3 1

Usuário Arquivo
2 3

Figura 09 Diretório
1
Arquivo
1

Usuário
3 Arquivo
Usuário Arquivo
1 2
n Arquivo
1

a) Nome do caminho Figura 11 Diretório Raiz


Arquivo Arquivo

b) Pode ter o mesmo nome de


2

 Pesquisa eficiente
1

arquivo para usuário diferente Usuário


n
Arquivo
2  capacidade de agrupamento
c) Pesquisa eficiente  Diretório atual (diretório de trabalho)
Arquivo
3 Figura 12
d) Sem capacidade de agrupamento User File Directory
Arquivos a) cd /spell/mail/prog b) lista de tipo
(UFD)
21 22

Diretórios estruturados em árvore Diretórios estruturados em árvore


(2/2) (2/2)
 Nome de caminho absoluto ou relativo
 Caminho relativo, o sistema inicia a pesquisa pelo  A criação de um arquivo novo é feita no diretório atual
nome do arquivo a partir do diretório corrente.  No linux - Exclusão de um arquivo
rm <nome de arquivo>
 Caminho absoluto, a localização do arquivo é feita a
partir do diretório raiz
 A criação de um novo subdiretório é feita no diretório atual
O Linux usa EXT2 como sistema de arquivos, estrutura mkdir <nome diretório>
hierarquica: Quadro comparativo entre o SO windows e LInux
WINDOWS LINUX Exemplo: se no diretório atual /CORREIO
Stma FAT1 Blocos de 32KB Ext Blocos de 1 kB (2 cluster) mkdir SOA CORREIO
6 (clusters) 2 Figura 13
FAT Blocos de 4kB 1 sector = 5 00Byte
32
prog copy prt exp SOA
Exe. c:\Docs\pasta2\arquivo.txt /usr/conec/arquivo.
Ex, um arquivo(FAT 16) de 10 kB desperdiça 22 KB (uma moto na vaga Excluir “CORREIO” ⇒ exclui a sub-ávore inteira iniciada com “CORREIO”
de um carro) 23 24
Diretórios de gráfico acíclico (1/2) Diretórios de gráfico acíclico(2/2)
 Têm subdiretórios e arquivos compartilhados
 2 nomes diferentes (aliasing)
O que acontece
 Se dict exclui list ⇒ ponteiro pendente
Se dict exclui list??? ⇒ ponteiro pendente
Soluções:
a) Backpointers, e podemos excluir todos
ponteiros registros de tamanho variável
b) Backpointers usando uma organização de
cadeia de margaridas
c) Solução entrada-mantém-contador
 Novo tipo de entrada de diretório
a) Link: outro nome (ponteiro) para arquivo
existente
b) Resolve o link: siga ponteiro para localizar o
arquivo
Figura 14
25 26

Diretório gráfico geral (1/2) Montagem do sistema de


 Como garantimos nenhum ciclo? arquivos
a) Permitir apenas links para arquivo, e não
subdiretórios
b) Coleta de lixo
Um sistema de arquivos precisa ser
c) Toda vez que um novo link é acrescentado, montado antes de poder ser acessado
use um algoritmo de detecção de ciclo para
determinar Figura 15
Um sistema de arquivos desmontado
se tudo
Figura 16 (a) e (b), é montado em um ponto
está OK! de montagem Figura 17,

27 28

SO Tipos de sistema de arquivos suportados


Partição (a) existente (b) DOS, OSR2
FAT16
desmontada Windows 95
OSR2
Ponto de montagem FAT16, FAT32
Windows 95 e 98
Windows NT4 FAT, NTFS (version 4)
Figura 16 Figura 17
Windows 2000/XP FAT, FAT16, FAT32, NTFS (versions 4 et 5)
Ext2, Ext3, ReiserFS, Linux Swap( FAT16, FAT32,
Linux
NTFS)
HFS (Hierarchical File System),
MacOS
MFS (Macintosh File System)
OS/2 HPFS (High Performance File System)
SGI IRIX XFS

FreeBSD, OpenBSD UFS (Unix File System)

Sun Solaris UFS (Unix File System)


IBM AIX JFS (Journaled File System)
29 30
Diretórios Compartilhamento de
 Path de um arquivo
arquivos
Disco C:/ Compartilhamento de arquivos em sistemas
Figura 18 multiusuário é desejável

Carlos
Ivan Ivan Pa ulo
Compartilhamento pode ser feito por um
esquema de proteção

Em sistemas distribuídos, arquivos podem ser


Teste Pessoa l
compartilhados por uma rede

Network File System (NFS) é um método comum


de compartilhamento de arquivo distribuído
Soma .exe
31 32

Compartilhamento de arquivos Compartilhamento de arquivos


– múltiplos usuários – Sistemas de arquivo remotos
Usa redes para permitir acesso do sistema de
User IDs identificam usuários, permitindo que arquivos entre sistemas
proteções e permissões sejam feitas por
usuário a) Manualmente por programas como FTP
b) Automaticamente, sem emendas, por
sistemas de arquivo distribuídos
IDs de grupo permitem que usuários estejam c) Semi-automaticamente pela World Wide Web
em grupo, permitindo direitos de acesso em
grupo Distributed Information Systems (serviços de
nome distribuídos) como LDAP, DNS, NIS, Active
Directory implementam acesso unificado às
informações necessárias para computação
remota
33 34

Compartilhamento de arquivos Compartilhamento de


– Sistemas de arquivo remotos arquivos – modos de falha
Modelo cliente-servidor permite que clientes Sistemas de arquivo remotos acrescentam
montem sistemas de arquivo remotos por novos modos de falha, devido à falha na rede,
servidores falha no servidor
a)Servidor pode atender múltiplos clientes
b)Identificação de cliente e usuário no cliente é
insegura ou complicada Recuperação de falha pode invocar informação
de estado sobre status de cada requisição
c)NFS é o protocolo padrão de
compartilhamento de arquivos cliente- remota
servidor no UNIX
d)CIFS é protocolo padrão do Windows Protocolos sem estado, como NFS, incluem
e)Chamadas padrão de arquivo do sistema toda a informação em cada requisição,
operacional são traduzidos para chamadas permitindo a recuperação fácil, porém com
remotas menos segurança
35 36
Compartilhamento de arquivos – Compartilhamento de arquivos –
Semântica de consistência Semântica de consistência
 Especifica como múltiplos usuários devem acessar d) Sistema de arquivos do Unix (UFS) implementa:
um arquivo compartilhado simultaneamente
 Gravações em um arquivo aberto, visível
imediatamente a outros usuários do mesmo
a) Semelhante aos algoritmos de sincronismo de arquivo aberto
processo
 Compartilha ponteiro de arquivo para permitir
que múltiplos usuários leiam e gravem
b) Tende a ser menos complexo, devido à E/S de simultaneamente
disco e latência de rede (para sistemas de arquivo
remotos)
e) AFS tem semântica de sessão
c) Andrew File System (AFS) implementava semântica  Gravações visíveis apenas a sessões
complexa de compartilhamento de arquivo remoto começando após o arquivo ser fechado
37 38

Proteção Listas e grupos de acesso


Owner/creator do arquivo deve ser capaz de  Modo de acesso: read, write, execute
controlar:  Três classes de usuários
a)o que pode ser feito RWX
b)por quem a) acesso owner 7 ⇒ 111
RWX
b) acesso group 6 ⇒ 110
Tipos de acesso RWX
a)Read c) acesso public 1 ⇒ 001
b)Write
c)Execute  Peça ao adm para criar um grupo (nome exclusivo),
digamos G, e inclua alguns usuários ao grupo
d)Append
owner group public
e)Delete
 Anexe um grupo a um arquivo
f) List chgrp G jogo
39 chmod 761 jogo 40

Estrutura do sistema de
arquivos

 Estrutura de arquivo
a) Unidade de armazenamento lógico
b) Coleta de informações relacionadas
 Sistema de arquivos reside no armazenamento
secundário (discos)
 Sistema de arquivos organizado em camadas
Figura 19
Figura 20  Bloco de controle de arquivo – estrutura de
Gerenciamento de lista de armazenamento consistindo em informações
Exemplo de listagem de
controle de acesso no diretório no UNIX sobre um arquivo
Windows XP
41 42
Sistema de arquivos em Estruturas de sistema de arquivos
camadas na memória
A figura ilustra as estruturas necessárias do sistema de
arquivos fornecidas pelos SO.

Figura (a) refere-se


à abertura de um
arquivo.

Figura (b) refere-se


Um bloco de controle de arquivo típico à leitura de um
arquivo.

43 44

Métodos de alocação Alocação contígua

 Um método de alocação refere-se a como os  Cada arquivo ocupa um conjunto de blocos


contíguos no disco
blocos de disco são alocados para arquivos:
 Simples – requer somente local inicial (# bloco) e
tamanho (número de blocos)
a) Alocação contígua  Acesso aleatório
 Desperdício de espaço (problema de alocação
dinâmica de armazenamento )
b) Alocação vinculada
 Arquivos não podem crescer
 Mapeamento de lógico para físico Q
c) Alocação indexada
LA/512
Bloco a ser acessado = ! + endereço inicial R
Deslocamento no bloco = R
45 46

Alocação Contígua Alocação contígua de


 Alocação Contígua espaço em disco

0 1 2
Arquivo Bloco Extensão

A. TXT 4 3
3 4 5

B. TXT 10 1

6 7 8 Área de trabalho
C. TXT 13 2

9 10 11

12 13 14

Desfragmentação

47 48
Sistemas baseados em Alocação vinculada
extensão  Cada arquivo é uma lista vinculada de blocos de disco:
blocos podem estar espalhados por todo o disco
Muitos sistemas de arquivos mais novos (p.e.,
Veritas File System) usam um esquema de bloco = ponteiro

alocação contígua modificado

Sistemas de arquivos baseados em extensão 1) Simples – só precisa do endereço inicial


alocam blocos de disco em extensões
2) Sistema de gerenciamento do espaço livre– sem
desperdício de espaço
Uma extensão é um bloco contíguo de discos
3) Sem acesso aleatório
a)Extensões são alocadas para alocação de
arquivo 4) Mapeamento
b)Um arquivo consiste em uma ou mais
extensões. 49 50

Alocação vinculada Tabela de alocação de arquivos


Tabela de alocação de arquivos (FAT) – alocação de
Q espaço em disco usada pelo MS-DOS e OS/2.
LA/511
R
 Bloco a ser acessado é o Q°
bloco na cadeia vinculada de
blocos representando o
arquivo.
 Deslocamento no bloco = R + 1

51 52

Alocação indexada Exemplo de alocação indexada


 Reúne todos os ponteiros no bloco de índice.
Início

 Visão lógica. 0 1 2
Arquivo Bloco

A.TXT 6
3 4 5
... ...

6 7 8 ... ...

... ...
9 10 11
... ...

12 13 14

Tabela de índice
53 54
Alocação indexada –
Alocação indexada (cont.)
 Precisa tabela de índice
mapeamento (cont.)
 Acesso aleatório  Mapeamento de lógico a físico em um arquivo de
 Acesso dinâmico sem fragmentação externa, mas tamanho não limitado (tamanho de bloco de 512 words).
tem overhead de bloco de índice.  Esquema vinculado – Vincula blocos da tabela de índice
 Mapeamento de lógico para físico em um arquivo de (sem limite no tamanho).
tamanho máximo de 256K words e tamanho de
bloco de 512 words. Q1
LA / (512 x 511)
 Só precisamos de 1 bloco para tabela de índice. R1

Q1 = bloco da tabela de índice


Q R1 é usado da seguinte forma:
LA/512
R Q2
R1 / 512
Q = deslocamento na tabela de índice R2
Q2 = deslocamento para bloco da tabela de índice
R = deslocamento no bloco
55
R2 = deslocamento para bloco do arquivo 56

Alocação indexada – Alocação Indexada


mapeamento (cont.)
 Alocação Indexada
 Índice de dois níveis (tamanho de arquivo máximo é 3
5123) 10
11
Bloco de
índice
Q1 7
LA / (512 x 512) 0 1 2
R1
3 4 5

Q1 = deslocamento para índice externo


R1 é usado da seguinte forma: 6 7 8

Q2 9 10 11
R1 / 512
R2
12 13 14
Q2 = deslocamento para bloco da tabela de índice
R2 = deslocamento para bloco do arquivo
57 58

Esquema combinado: UNIX (4K Gerenciamento de espaço livre(1/2)


bytes por bloco)
 Vetor de bits (n blocos)
0 1 2 n-1

0 ⇒ bloco[ i ] livre
678

bit[ i ] =
1 ⇒ bloco[ i ] ocupado

 Cálculo do número de bloco

(número de bits por word) *


(número de words de valor 0) +
deslocamento do primeiro bit 1
59 60
Gerenciamento de espaço livre(2/2) Um bloco de controle de
arquivo típico
 Mapa de bits requer espaço extra
a)Exemplo:
tamanho do bloco = 212 bytes
tamanho do disco = 230 bytes (1 gigabyte)
n = 230/212 = 218 bits (ou 32K bytes)
 Fácil de obter arquivos contíguos
 Lista vinculada (lista livre)
a)Não pode obter espaço contíguo facilmente
b)Sem desperdício de espaço
 Agrupamento
 Contagem
61 62

Grupos de Usuário Bibliografia


 Proteção por grupos de usuários
 SO conceitos e Aplicações, Abraham
Silberschatz, Peter Galvin, Greg Gagne,
Leitura
Escrita
Editora Campus-2001
Owner Execução
Eliminação
Group Leitura  Arquitetura de SO, Francis Berenger machado
All e Luiz Paulo Maia, Editora LTC-2002
DADOS.TXT

 Introdução á Organização de Computadores,


Lista de Controle de Acesso Mario A Monteiro, Editora LTC-2002

 Dominando o Red Hat Linux 7, Bill Ball, David


Usuário: Maia
Acesso: Leitura + Escrita
Usuário: Maia
Acesso: Leitura + Escrita + Execução Pitts, Editora Ciência Moderna-2002
Usuário: Machado Usuário: Machado
Acesso: Leitura Acesso: Eliminação
63 64

Você também pode gostar