Sistemas de Arquivos

Propaganda
Sistemas Operacionais
Sistemas de Arquivos
Thiago Leite
[email protected]
1
Sistemas de Arquivos
• O que é um Sistema de Arquivos?
• forma de armazenamento de dados em
mídia de memória não-volátil
• comparativamente a uma biblioteca onde
o bibliotecário organiza livros conforme
um padrão
2
Sistemas de Arquivos
• Sistemas de Arquivos realizam
armazenamento da informação a longo prazo
• Armazenar grande quantidade de
informações
• Informação sobrevive após o término de
processos
• Múltiplos processos acessando a
informação concorrentemente
3
Sistemas de Arquivos
• O sistema de arquivos que determina como
os dados podem ser acessados, copiados,
movidos, renomeados, protegidos e
eliminados.
4
Camadas do Sistema de Arquivos
5
Sistemas de Arquivos
• Três tipos de arquivos na forma de
armazenamento dos dados
• seqüência de bytes
• seqüência de registros
• árvore
6
Tipos de Arquivos
7
Sistemas de Arquivos
• Acesso aos arquivos
• acesso seqüencial
• acesso aleatório
8
Sistemas de Arquivos
• Acesso aos arquivos
• acesso seqüencial
• lê bytes/registros a partir do início
• não pode saltar ou ler fora de
seqüência
• ex: fita magnética
9
Sistemas de Arquivos
• Acesso aos arquivos
• acesso aleatório
• bytes/registros lidos em qualquer ordem
• essencial em sistemas de banco de
dados
• ex: qualquer sistema de arquivos
moderno
10
Sistemas de Arquivos
• Sistemas de arquivos Unix
• Unix utiliza sistema de arquivos com
hierarquia composta por arquivos e
diretórios
• Tratam diretórios como arquivos
especiais
11
Sistemas de Arquivos
• Tipos de arquivos Unix
• Regular
• Diretório
• Arquivos especiais de caractere
• Arquivos especiais de bloco
12
Sistemas de Arquivos
• Tipo de arquivo Regular
• ASCII (dados ou texto)
• conteúdo binário
13
Sistemas de Arquivos
• Tipo de arquivo Diretório
• estrutura do sistema de arquivos
• apenas para organização
14
Sistemas de Arquivos
• Tipo de arquivo especial em caractere
• Abstração de dispositivos de entrada e
saída seriais
• Ex: terminais, impressoras, rede, pipes,
sockets
15
Sistemas de Arquivos
• Tipo de arquivo especial em bloco
• Abstração de dispositivos de entrada e
saída em bloco (caractere)
• Ex: disco rígido, CD-ROM, DVD
16
Sistemas de Arquivos
• Os sistemas de arquivos em Unix são
organizados hierarquicamente em uma
única árvore
17
Sistema de Diretórios em Unix
18
Sistemas de Arquivos
• Para fazer uso de um sistema de arquivo é
necessário o comando mount
• indexa um ponto do sistema de arquivos
como meio de acesso de outro sistema
de arquivos
19
Montando um sistema de arquivos
para uso no Unix
20
Diferentes tipos de
Sistemas de Arquivos
• ADFS
• AdvFS
• AFS
• AthFS
• BFS
• Btrfs
• CBMFS
• CMDFS
• CP/M
• DDFS
• DTFS
• DOS 3.x
• FFS
• Fossil
• Files-11
• HFS
• HFS+
• HPFS
• HTFS
• ISO 9660
• JFS
• JXFS
• LisaFS
• LFS
• EAFS
• Extent File
System
• ext
• ext2
• ext3
• ext4
• ext3cow
• FAT
• VFAT
• FATX
• FFS (Amiga)
21
• MFS
• Next3
• MFS
• Minix file
system
• NILFS
• NTFS
• NetWare File
System
• NSS
• OneFS
• etc...
Sistemas de Arquivos
• Características do EXT2 e evoluções
• Case sensitive
• Em cada diretório só é possível um arquivo de mesmo
nome
• Organização dos diretórios em uma árvore hierárquica
com uma única raiz
• As extensões não são tratadas pelo sistema de arquivos
• não são obrigatórias; e
• são utilizadas apenas para critério de organização
22
Extensões de Arquivos
23
Sistemas de Arquivos
• Estruturas internas do EXT2 e evoluções
• Bloco
• Superbloco
• I-node
24
Obtendo dados sobre sistemas de
arquivos locais
25
Sistemas de Arquivos
• Bloco
• É a menor unidade de alocação de dados
• Arquivos no disco são armazenados em um
número inteiro de blocos de tamanho fixo
• Por menor que um arquivo seja, ele irá
ocupar um bloco inteiro
• É composto por diversos setores de tamanho
também fixos (a partir de 512 bytes cada)
26
Sistemas de Arquivos
• Superbloco
• inicia no terceiro setor de cada partição
• dados para acesso à partição
• nome do volume
• tamanho dos blocos
• número de blocos
• número de i-nodes • caminho para o último ponto de montagem
esta região esteja danificada, provavelmente a leitura dos
• Caso
dados do resto do grupo de blocos será prejudicada.
27
Sistemas de Arquivos
• I-node
• descritor sobre cada arquivo do sistema
• contém informações sobre cada arquivo
• dono e grupo do arquivo
• número de blocos do arquivo
• número de hard links para o arquivo
• dados MAC (Modified, Access, Created)
• ponteiro para os blocos
28
Estrutura de um i-node
29
Sistemas de Arquivos
• Diretórios também possuem i-nodes
• Arquivo especial contendo uma lista de
entradas para outros arquivos
30
Sistemas de Arquivos
• Hard links e Soft links
• Hard links são inodes que apontam para
inodes
• invisíveis ao usuário
• Soft links são blocos que possuem
apontamento para outro caminho
• visíveis ao usuário
31
Hard link e Soft link
32
Estrutura de cada partição
33
Sistemas de Arquivos
• Cada partição é composto de grupos de
blocos de mesmo tamanho
• cada grupo possui metadados locais
• permitir acesso local e otimizar o acesso
• possui também um superbloco local
34
Super
Bloco
Descrito- Mapa de
Mapa de Tabela de Blocos
res do
bits de
i-nodes i-nodes de dados
grupo
blocos
Composição de um grupo de blocos
35
Sistemas de Arquivos
• Descritores do grupo
• o número de blocos e i-nodes no grupo;
• local da tabela de i-nodes
• tabela com blocos livres
• tabela com i-nodes livres
36
Sistemas de Arquivos
• Mapa de bits dos blocos
• indica se os blocos desse grupo de
blocos estão ocupados ou livres
• Mapa de i-nodes
• vetor que indica quais i-nodes estão livres
37
Sistemas de Arquivos
• Tabela de i-nodes
• cada entrada na tabela refere-se a um inode
• informações sobre cada arquivo do grupo
38
Sistemas de Arquivos
• Diferenças do EXT2 para o EXT3
• Journaling
• crescimento do sistema de arquivos de
forma online
• indexação de arquivos mais eficiente em
diretórios que possuem muitos arquivos
39
Sistemas de Arquivos
• Journaling
• atualizações realizadas em disco na forma
de transações
• apenas são efetivadas se a operação
ocorreu com sucesso
40
Sistemas de Arquivos
• Não há limite para níveis de aninhamento
• arquivo é referenciado através do path
• Diretório corrente ou diretório de trabalho (process
work directory - pwd)
• Arquivos podem ser referenciados usando caminhos
absolutos ou relativos ao diretório corrente • Nome especial para diretório corrente e diretório
imediatamente acima. • Em Unix “.” (ponto) e “..” (ponto-ponto)
41
Revisão
• Armazenamento
de informações
por longo prazo
• Arquivo
• Diretório
• Extensões de
arquivos
• Tipos de
arquivos
• Tipos de
arquivos Unix
• Arquivo regular
• Acesso aos
• Arquivo
• Árvore de
• Arquivo
• Caminho
Unix
diretório Unix
dispositivo em
bloco Unix
• Arquivo
dispositivo de
caracter Unix
42
arquivos
diretórios
relativo
• Caminho
absoluto
• Estrutura de
partições
DETRAN-RN
(FGV) Em um sistema de arquivos organizado como uma
árvore de diretório, define-se como caminho absoluto:
a) O caminho do diretório de trabalho do usuário.
b) O caminho do diretório atual.
c) O caminho formado entre o diretório de trabalho do
usuário e o diretório atual.
d) O caminho formado entre o diretório raiz e o arquivo.
e) O caminho formado entre o diretório corrente e o
arquivo.
43
FUB
(CESPE) A conversão de um sistema de
arquivos do sistema operacional de NTFS
para FAT é vantajosa por questões de
desempenho e segurança dos discos rígidos
e partições.
a) Certo
b) Errado
44
Assembléia Legislativa
de Roraima
Analise os seguintes enunciados relacionados aos sistemas de arquivos e, em seguida, selecione a
alternativa correta.
I) Arquivos são mecanismos de abstração que oferecem uma maneira de armazenar informações no disco
e permitir lê-las de volta mais tarde; II) Os arquivos são organizados em diretórios e são acessíveis através de caminhos absolutos ou relativos; III)O comando chmod do sistema operacional Windows estabelece permissões de leitura, escritura e
execução em arquivos; IV)A fragmentação ocorre quando o sistema operacional não consegue armazenar determinado arquivo
de uma só vez, gravando-o em diferentes regiões; V) O Sistema Operacional Windows XP funciona em sistemas de arquivos NTFS, FAT32 ou Ext3.
a) Os enunciados I, II e III estão corretos.
b) Os enunciados III e V estão corretos.
c) Os enunciados I, II e IV estão corretos.
d) Os enunciados I e V estão corretos.
e) Todos os enunciados estão corretos.
45
Universidade Federal
Fluminense
(UFF) Em relação à formatação lógica de discos rígidos, é
um tipo de sistema de arquivos utilizado nos sistemas
operacionais Windows ou Linux os abaixo relacionados,
exceto:
a) FAT;
b) NTFS;
c) SATA;
d) Ext3;
e) ReiserFS.
46
Petrobrás
(CESGRANRIO) Um sistema operacional pode utilizar várias
técnicas para fazer a gerência de alocação de espaço em disco. A técnica de alocação que organiza um arquivo como um
conjunto de blocos ligados logicamente no disco, independente
de sua localização física, é a alocação:
a) contígua
b) indexada
c) segmentada
d) encadeada
e) por mapa de bits
47
TSE
(CONSULPLAN) Ao instalar o Windows 7
Ultimate em um microcomputador, um
programador de sistemas da empresa utiliza,
por default, o seguinte formato para o
sistema de alocação de arquivos:
a) NTFS.
b) HPFS.
48
Prefeitura de Resende
(CONSULPLAN) São sistemas de arquivos válidos
para instalação do sistema operacional Windows XP
Professional: a) FAT16 e FAT32
b) FAT32 e NTFS
c) EXT2 e NTFS
d) EXT3 e FAT32
e) EXT3 e NTFS
49
MEC
(FGV - adaptado) Acerca do Sistema Operacional Linux, analise as afirmativas
a seguir: I. Um inode é uma estrutura de dados contendo informações sobre arquivos
num sistema de arquivo Linux. Há um inode para cada arquivo, e cada arquivo
é unicamente identificado pelo sistema de arquivo no qual reside e por seu
número de inode neste sistema. II. O Linux divide todos os dispositivos em três classes: Bloco, Leitura/Escrita
e Rede. Assinale:
a) se somente a afirmativa I estiver correta.
b) se somente a afirmativa II estiver correta.
c) se todas as afirmativas estiverem corretas.
50
Laboratório
• Dispositivos de bloco
/dev/sda1 • Extraindo dados do dispositivo de bloco
# dd if=/dev/sda1 of=saida_sda1 bs=4096 count=2
51
Laboratório
• Dispositivos de caractere
/dev/pts/0 • Enviando uma mensagem para outro
terminal
# echo “ola voce ai” > /dev/pts/1
52
Laboratório
• Pseudo-dispositivos
• /dev/null
• aceita e descarta qualquer entrada. Não
produz saída
• /dev/zero • produz fluxo contínuo de zeros (nulls)
53
Laboratório
• Pseudo-dispositivos
• /dev/random
• produz fluxo de tamanho variável contendo caracteres pseudoaleatórios
• obtém os dados através da pilha de dados entrópicos do kernel
• caso a pilha esteja vazia irá esperar por novos dados • /dev/urandom • produz fluxo também pseudo-aleatório • caso a pilha de dados entrópicos esteja vazia, irá gerar dados
utilizando funções SHA (Secure Hash Algorithm)
54
Laboratório
• Extrair dados dos pseudo-dispositivos
# dd if=/dev/random of=saida_random bs=1 count=5
55
Laboratório
• Lê o arquivo /etc/fstab para identificar
quais sistemas de arquivos irá ler durante a
inicialização
• O arquivo /etc/mtab traz informações
sobre quais sistemas de arquivos estão
montados
56
/etc/fstab
57
Laboratório
• Criar um disco “virtual” para análise dos
blocos e arquivos
• O comando a seguir irá criar uma imagem de
bits zeros do tamanho especificado (4096 *
300 = 1.228.800 bytes)
# dd if=/dev/zero of=pendrive.dd bs=4096 count=300
58
Formatar a imagem em EXT3
59
Laboratório
• Montar a imagem criada anteriormente
# mount -­‐o loop pendrive.dd /mnt
60
Laboratório
• Recuperando um bloco inteiro da imagem e
realizando a conversão dos dados para
strings
# dd if=pendrive.dd.blkls bs=4096 skip=9 count=1 | strings
61
Download