Anda di halaman 1dari 36

Sistemas Operacionais

Sistemas de Arquivos

Prof. Humberto Caetano


Humberto.ccs@gmail.com
Sistemas de Arquivos

É a abstração do sistema para entender a

organização dos dados nos dispositivos de

armazenamento.

Arquivos

Diretórios

Links

2017 Humberto Caetano @CST 2.36


Sistemas de Informação
Arquivos

É a forma de armazenar informações no disco
e lê-las depois.

É importante que a abstração isole o usuário
do que está acontecendo no disco.

Os nomes de arquivos podem ser qualquer
cadeia de strings, em geral, até 255
caracteres.

Alguns sistemas são case sensitive.
2017 Humberto Caetano @CST 3.36
Sistemas de Informação
Arquivos

Alguns sistemas de arquivos exigem
extensão. Um conjunto de 3 caracteres
adicionados ao fim do arquivo informando o
tipo do mesmo. (MS-DOS)

Em sistemas UNIX a extensão é apenas uma
forma do usuário saber que arquivo é aquele,
mas não tem qualquer relação com o sistema.

2017 Humberto Caetano @CST 4.36


Sistemas de Informação
Estrutura de Arquivos

A estrutura dos arquivos armazenados no
disco não é fundamental para o
funcionamento do sistema operacional. Ele vê
apenas bytes.

Cada arquivo deve ser compreendido pelo
programa que o criou. Assim o criador do
software tem liberdade de formatar seu
arquivo da maneira que quiser.
2017 Humberto Caetano @CST 5.36
Sistemas de Informação
Tipos de Arquivos

Em geral dar suporte a tipos diferentes de
arquivos é comum.

Arquivos regulares
– Arquivos ASCII
– Arquivos binários

Arquivos especiais de caracteres

Arquivos especiais de blocos

2017 Humberto Caetano @CST 6.36


Sistemas de Informação
Acesso aos Arquivos

Acesso sequencial

Nesse método é feita a leitura dos arquivos a
partir do começo do mesmo até o final, não sendo
possível lermos dados a partir de um certo ponto.

Esse tipo de acesso era muito usado na leitura de
fitas magnéticas.

2017 Humberto Caetano @CST 7.36


Sistemas de Informação
Acesso aos Arquivos

Acesso aleatório

É o método de leitura que permite o acesso aos
arquivos de forma aleatória, ou seja, a partir do
começo, no meio ou no final do arquivo.

Arquivos de acesso aleatório são essenciais em
aplicações como banco de dados.

2017 Humberto Caetano @CST 8.36


Sistemas de Informação
Atributos de Arquivos

Todo arquivo possui nome, dados e outras
informações, como data, usuário que criou o
arquivo, grupo.

Estas informações são chamados de
atributos ou metadados.

2017 Humberto Caetano @CST 9.36


Sistemas de Informação
Operações com Arquivos

Existem uma série de operações que podem ser
feitas com arquivos. Nem todas elas são
implementadas em todos os sistemas de arquivos,
mas algumas existem em todos.

Create

Delete

Open

Close

Read
2017 Humberto Caetano @CST 10.36
Sistemas de Informação
Diretórios

Sistemas de diretórios de nível único.

Usado em alguns sistemas embarcados. Foi usado nos
primeiros Pcs.

Sistemas de diretórios hierárquicos

É o sistema de diretórios mais usado nos sistemas
operacionais atuais.

Em todos os sistemas hierárquicos existe a noção
de “caminho”. É o endereço de um arquivo ou
diretório dentro do sistema.
2017 Humberto Caetano @CST 11.36
Sistemas de Informação
Diretórios

2017 Humberto Caetano @CST 12.36


Sistemas de Informação
Implementação de Sistemas de Arquivos


Os sistemas de arquivos são armazenados em
disco, que por sua vez são divididos em
partições.

O setor 0 do disco é chamado de MBR. Este
setor é usado para inicializar o sistema e
contém, no seus últimos 66 bytes, a tabela de
partições do disco.

2017 Humberto Caetano @CST 13.36


Sistemas de Informação
Implementação de Sistemas de Arquivos

2017 Humberto Caetano @CST 14.36


Sistemas de Informação
Implementação de Arquivos

Alocação contínua

É a forma mais simples de armazenar arquivos no
disco. Cada arquivo é armazenada de forma
contínua no sistema.

2017 Humberto Caetano @CST 15.36


Sistemas de Informação
Implementação de Arquivos

Alocação contínua

Vantagens
– Simples de implementar, pois o controle onde os blocos
de um arquivo estão é reduzido apenas para lembrar o
endereço do bloco onde está o arquivo e o número de
blocos do arquivo.
– Ótimo desempenho na leitura, pois todo arquivo pode
ser lido em uma única operação.

2017 Humberto Caetano @CST 16.36


Sistemas de Informação
Implementação de Arquivos

Alocação contínua

Desvantagens
– A utilização de alocação contínua causa uma grande
fragmentação no disco. Fazendo com que existam
muitos espaços em branco.

2017 Humberto Caetano @CST 17.36


Sistemas de Informação
Implementação de Arquivos

Alocação por lista encadeada

Neste método a primeira palavra de cada bloco é
usada como ponteiro para o próximo, e o restante
do bloco é usado para dados.

Não existe perda de espaço por fragmentação

O processo de leitura é muito lento, pois é
necessário fazermos um acesso aleatório no
disco.

2017 Humberto Caetano @CST 18.36


Sistemas de Informação
Implementação de Arquivos

Alocação por lista encadeada usando uma
tabela na memória

Embora ainda seja necessário o encadeamento,
como toda a lista está na memória o acesso é bem
mais rápido.

O sistema de arquivos FAT utiliza esse modelo.

Em um disco de 200 GB seriam necessários entre
600MB e 800MB só para armazenarmos a tabela
de arquivos do disco.
2017 Humberto Caetano @CST 19.36
Sistemas de Informação
Implementação de Arquivos

I-nodes

Cada arquivo possui uma estrutura de dados
chamada i-node (index-node) que lista os atributos
e endereços em disco dos blocos do arquivo.

Assim dado o i-node é possível encontrar todos os
blocos do arquivo.

Se cada arquivo ocupa n bytes e k arquivos podem
estar abertos ao mesmo tempo o total de memória
ocupada é de kn bytes.
2017 Humberto Caetano @CST 20.36
Sistemas de Informação
Implementação de Diretórios

Quando um arquivo é aberto, o sistema
operacional utiliza o caminho fornecido pelo
usuário para localizar o diretório de entrada.

O diretório prove as informações necessárias
para encontrar os blocos no disco

Endereço do arquivo inteiro (alocação contínua)

Número do primeiro bloco (alocação com listas
encadeadas)

Número do i-node
2017 Humberto Caetano @CST 21.36
Sistemas de Informação
Características Importantes

Confiabilidade

Backups

Consistência

Desempenho

Caching

2017 Humberto Caetano @CST 22.36


Sistemas de Informação
Características Importantes

Confiabilidade

Danos causados aos sistemas de arquivos podem
ser desastrosos

Restaurar informações pode ser custoso, difícil
ou até impossível

Sistemas de arquivos são projetados para
proteger as informações de danos lógicos, não
físicos.

2017 Humberto Caetano @CST 23.36


Sistemas de Informação
Características Importantes

Confiabilidade

Backups → Fazer backups dos dados não é uma
ação opcional, é obrigatória.

Consistência → Dados no sistema deve estar
consistentes
– UNIX → fsck
– Windows → scandisk

2017 Humberto Caetano @CST 24.36


Sistemas de Informação
Exemplos

FAT e NTFS

I-node do Unix e NFS

Extended File System (EXT2, EXT3, EXT4)

ReiserFS

2017 Humberto Caetano @CST 25.36


Sistemas de Informação
Exemplos

FAT

FAT surgiu por volta de 1976, sendo utilizada no SO do
Intel 8086;

A FAT no MS-DOS:
– Limite de nome de arquivo → 8 + 3 (8.3) caracteres;
– Hierarquia de diretórios → árvore começa no diretório raiz
(root directory);
– Não existe o conceito de diferentes usuários, portanto, todos
os arquivos podem ser acessados por todos os usuários;
– Cada entrada de diretório possui um tamanho fixo de 32 bytes

2017 Humberto Caetano @CST 26.36


Sistemas de Informação
Exemplos

FAT

2017 Humberto Caetano @CST 27.36


Sistemas de Informação
Exemplos

FAT

Três versões: FAT12, FAT16, FAT32 (VFAT),
dependendo de quantos bits são utilizados para
armazenar cada posição na FAT;

FAT12:
– Tamanho de bloco: 512bytes, 1K, 2K e 4K;
– Tamanho de partição → até 16 Mb;

FAT16:
– Tamanho de bloco: 8k, 16k e 32k;
– Tamanho de partição → até 2Gb;
2017 Humberto Caetano @CST 28.36
Sistemas de Informação
Exemplos

FAT

FAT32: iniciou-se com a segunda versão do
Windows95 (Win95 OSR2 – OEM Service Release 2)
– Tamanho de bloco: 4k, 8k, 16k e 32k;
– Tamanho de partição – 2Tb;

Controle de blocos livres é feito utilizando a FAT;

Windows98 utiliza FAT32 e permite arquivos com
nomes longos (mais de 8 caracteres);

2017 Humberto Caetano @CST 29.36


Sistemas de Informação
Exemplos

NTFS

NTFS não está baseado no Sistema de Arquivos
FAT, mas se utiliza de algumas características do
HPFS (High Performance File System - sistema
de arquivos do OS/2);

Características:
– Confiabilidade → capacidade de se recuperar de
problemas sem perda de dados; melhorara a tolerância
a falhas;

2017 Humberto Caetano @CST 30.36


Sistemas de Informação
Exemplos

NTFS

Segurança e Controle de Acesso (DAC –
Discretionary Access Control): estabelece
diretivas que permitem implementar controle de
acesso em arquivos e diretórios, inexistente no
Sistema de Arquivos FAT;

Permite maiores partições no disco;

Sistema de caracteres: UNICODE;

Caminho: até 32.767 caracteres;
2017 Humberto Caetano @CST 31.36
Sistemas de Informação
Exemplos

NTFS

Suporta Case Sensitive, no entanto, essa característica é perdida devido
à Win32API;

Suporte à rede;

Compressão de arquivos;

Tamanho de blocos → 512bytes até 64Kb;
– Windows2000 → 4Kb;

Baseado no conceito de transações → tarefa é cumprida até o fim ou é
abortada;

Suporte à criptografia de arquivos → driver EFS (encrypting file
system); chave de 128 bits;

Links simbólicos;
2017 Humberto Caetano @CST 32.36
Sistemas de Informação
Exemplos

NTFS

Cada arquivo é um conjunto de atributos, cada qual
representado por um stream de bytes;

Sistema de arquivos hierárquico → diretório de
trabalho corrente, caminho relativo e absoluto;

Master File Table (MFT): armazena a estrutura do
NTFS e as informações sobre arquivos/diretórios;

Bloco de boot tem o endereço da MFT;

2017 Humberto Caetano @CST 33.36


Sistemas de Informação
Exemplos

Ext2/Ext3

Tamanho de blocos: 1kb, 2kb, 4kb;

Estrutura hierárquica de diretórios;

Assim como o UNIX, o LINUX também utiliza a
estrutura de i-nodes vinculada a cada arquivo;

Controle de blocos livres → mapa de bits;

Tanto o mapa de bits quanto a tabela de i-nodes
são armazenados no disco;
2017 Humberto Caetano @CST 34.36
Sistemas de Informação
Exemplos

Ext2/Ext3

Características:
– 5% dos blocos são armazenados para o administrador
do sistema (root);
– Permite atualizações síncronas; (write-through do MS-
DOS);
– Links simbólicos;
– Controla o status do sistema de arquivos utilizando um
Superbloco;

2017 Humberto Caetano @CST 35.36


Sistemas de Informação
Exemplos

Ext2/Ext3

Pré-alocação de blocos contínuos (adjacentes) → 8 blocos;

Partições são divididas em grupos de blocos, cada qual
com um Superbloco, mapa de bits, i-nodes;
– Confiabilidade;
– Desempenho → menor número de acessos;

Limite de tamanho de partição: 4Tb;

Limite de tamanho de nome de arquivos: 255 caracteres
(podendo ser estendido para 1012);

2017 Humberto Caetano @CST 36.36


Sistemas de Informação

Anda mungkin juga menyukai