Você está na página 1de 18

Sistemas de Arquivos

Sistemas Operacionais
Profa. Priscila Facciolli

Sistemas Operacionais 1
Conteúdo
 Conceito de Arquivos e Sistema de Arquivos;

 Métodos de Acesso;

 Operações de Entrada e Saída;

 Estrutura de Diretórios;

 Gerência de Espaço Livre em Disco;

 Gerência de Alocação de Espaço em Disco;

 Proteção de Acesso e Lista de Controle de Acesso;

 Implementação de Caches;

 Tipos de Sistemas de Arquivos (FAT, FAT32, NTFS, EXT2 e EXT3);

 Estrutura de diretórios do Linux.


Sistemas Operacionais 2
Conceito de Arquivos e
Sistema de Arquivos
Sistemas de Arquivos
Os arquivos são gerenciados pelo SO de maneira a facilitar o acesso dos usuários ao
seu conteúdo. A parte do SO responsável por essa gerência é o Sistemas de Arquivos
que a parte mais visível do SO, pois a manipulação de arquivos é freqüente.

Arquivos
É constituído por informações logicamente relacionadas e podem representar instruções
ou dados.
É um conjunto de registros definidos pelo Sistema de Arquivos, onde há conceitos
Pré estabelecidos sobre sua definição. Podem ser armazenados por diversos
Dispositivos físicos: Discos, fitas magnéticas, etc
Um arquivo é identificado por NOME, onde em alguns Sistemas de Arquivos é feita uma
Distinção entre caracteres alfabéticos maiúsculos e minusculos. A identificação de um
arquivo é composto por duas partes separadas por um ponto , a parte após o ponto é
chamada extensão que identifica o conteúdo do arquivo.

Sistemas Operacionais 3
Conceito de Arquivos e
Sistema de Arquivos
Organização de Arquivos

Consistem em como os dados são internamente armazenados e sua estrutura pode


variar de acordo com o tipo de informação contida no arquivo.
A forma mais simples de organização de arquivos é através de uma seqüência não
estruturada de bytes, onde o Sistema de Arquivos não impõem nenhuma estrutura lógica
para os dados.
A aplicação define toda a organização e critérios.
Vantagens: Flexibilidade para criar diferentes estruturas de dados, porém é de total
Responsabilidade da aplicação.
As organizações mais conhecidas e implementadas são: Seqüencial Relativa e a
Indexada.
Na indexada, os registros são classificados em registros de Tamanho Fixo,
quando possuírem sempre o mesmo tamanho, ou de tamanho variável.

Sistemas Operacionais 4
Métodos de Acesso
Dependendo de como o arquivo está organizado, o Sistema de Arquivos poderá
recuperá-lo de diferentes maneiras:

Acesso Seqüencial – Os primeiros SO´s só armazenavam arquivos em fitas


Magnéticas e o acesso era restrito a leitura dos registros na ordem em que eram
gravados e os novos registros eram gravados no final de cada arquivo.

Acesso Direto – Surgiu com os discos magnéticos, permitia a leitura/gravação de


um arquivos direitamente na sua posição, era realizado através do No. Do
Registro,que é a sua posição relativa ao início do arquivo. Só era possível
implementá-lo com arquivos de tamanho fixo.

Acesso Indexado ou Acesso por chave – Tem como base o acesso direto. O
Arquivo deve possuir uma área de índice onde existam ponteiros para os
Diversos registros. Caso a aplicação deseje acessar um registro, deve
especificar uma chave através da qual o sistema pesquisará na área de índice
o ponteiro correspondente e assim é realizada um acesso direto ao registro
desejado. Sistemas Operacionais 5
Operações de Entrada e Saída
O Sistema de Arquivos disponibiliza um conjunto de rotinas que permitem as aplicações
realizarem operações de E/S, como tradução de nomes em endereços, leitura e
gravação de dados criação e eliminação de arquivos.
As rotinas de E/S tem como função disponibilizar uma interface simples e uniforme entre
a aplicação e os diversos dispositivos.
ROTINA DESCRIÇÃO ATRIBUTOS
CREATE Criação de Arquivos São informações de
controle de cada
OPEN Abertura de um
arquivo. Variam
arquivo
dependendo o
READ Leitura de um arquivo Sistema de Arquivos,
porém estes estão
WRITE Gravação de um
presentes em quase
arquivo
todos os sistemas :
CLOSE Fechamento de um Tamanho, Proteção,
arquivo identificação do
criador, data da
DELETE Eliminação de uma
criação.
arquivo
Sistemas Operacionais 6
Estrutura de Diretórios
É como o Sistema de Arquivos organiza logicamente os diversos arquivos contidos em
um disco, onde armazena informações como: Localização Física, etc.
Quando um arquivo é aberto, o SO procura sua entrada na estrutura de diretórios,
armazenando as informações sobre os atributos e a localização de um arquivo em uma
tabela mantida na Memória Principal.

A implementação mais simples de uma estrutura de diretórios é chamada de Nível


Único, onde só existe um único diretório contendo todos os arquivos do disco.

É bastante limitado pois não permite que os usuários criem arquivos com o
Mesmo nome, o que ocasionaria conflito no acesso aos arquivos.

Houve a evolução do modelo onde para cada usuário existiria um diretório particular
Denominado USER FILE DIRECTORY (UFD), passando cada usuário a criar
Arquivos com qualquer nome.

Sistemas Operacionais 7
Gerência de Espaço Livre em Disco

A forma mais simples de implementar uma estrutura de espaços livres é através de


uma Tabela denominada Mapa de Bits (BITMAP). Cada entrada na tabela é associada
A Um bloco do disco representado por um Bit, podendo assumir valor igual a 0 (bloco
livre) Ou 1 (bloco ocupado).

Uma segunda maneira é Encadear todos os blocos livres do disco, onde cada bloco
possui uma área para armazenar o endereço do próximo bloco.

Outra solução leva em consideração que Blocos Contíguos são geralmente alocados
e
liberados simultaneamente, mantendo uma tabela com o endereço do 1º. Bloco e o no.
de blocos livres contíguos que seguem.

Sistemas Operacionais 8
Gerência de Alocação de Espaço
Livre em Disco
Alocação Contígua:
Armazena um arquivo em blocos seqüenciais dispostos no disco. O sistema localiza um
Arquivo através do endereço do 1º bloco.
Seu principal problema é a alocação de espaço livre para novos arquivos. Caso um
arquivo deva ser criado com um determinado tamanho, é necessário existir uma
quantidade suficiente de blocos contíguos no disco para a realização de alocação.
Existem Estratégias de Alocação para selecionar qual o segmento na lista de blocos
será alocado:
FIRST-FIT- O primeiro segmento livre com tamanho suficiente será alocado
BEST-FIT – Seleciona o menor segmento livre disponível com tamanho suficiente para
armazenar o arquivo. A busca em toda a lista se faz necessária para a seleção do
segmento.
WORST-FIT – O maior segmento é alocado.
Desvantagens: Cria problemas de fragmentação do espaço livre. Solução:
Desfragmentação

Sistemas Operacionais 9
Gerência de Alocação de Espaço
Livre em Disco
Alocação Encadeada: Um arquivo pode ser organizado através de um conjunto de
blocos ligados logicamente no disco, independentemente de sua localização física.
Cada bloco possui um ponteiro para o bloco seguinte do arquivo.

Vantagens: Os blocos livres alocados não precisam ser contíguos


Desvantagens: Fragmentação de Arquivos, resultando no aumento do tempo de acesso
aos arquivos e desperdiça espaço nos blocos com o armazenamento de ponteiros.

Alocação Indexada: Mantém os ponteiros de todos os blocos de arquivos em uma


Única estrutura denominada Bloco de Índice.
Vantagem: Permite o acesso direto aos blocos dos arquivos, não utiliza informações de
controle nos blocos de dados

Sistemas Operacionais 10
Proteção de Acesso e Lista de
Controle de Acesso
Há dois mecanismos de proteção que estão presentes na maioria dos Sistemas de
Arquivos:

Senha de Acesso – O usuário tem conhecimento da senha e tem certas liberdades de


acesso ao arquivo.

Grupo de Usuários – São organizados logicamente com o objetivo de compartilhar


arquivos e diretórios. Há três níveis de proteção de arquivos: Owner (dono), Group
(grupo) e All (todos).

Lista de Controle de Acesso

É uma lista associada a cada arquivo , onde são especificados quais os usuários e os
tipos de acesso permitidos. Quando um usuário tenta acessar um arquivo, o SO verifica
se na lista há autorização para a operação desejada.

Sistemas Operacionais 11
Implementação de Caches

O acesso ao disco é lento se comparado ao acesso da Memória Principal devido a sua


arquitetura e isso causa problemas de desempenho de sistema.
Para minimizá-lo, os SO´s implementaram o Buffer Cache, onde o SO reserva uma
Área de memória para que se tornem disponíveis caches em operações de acesso
ao disco. Caso o bloco requisitado não se encontre no cache, a operação de E/S é
realizada e o cache atualizado.
Vantagens: Melhora do desempenho do sistema;
Desvantagens: Problemas de energia podem ocasionar perda nas tarefas.
Resolvendo a desvantagem:
O SO possui uma rotina que executa periodicamente atualizações em disco de todos os
Blocos modificados do cache ou toda vez que um bloco da cache for modificado,
acontece uma atualização no disco (Write-Through Cache).

Sistemas Operacionais 12
Tipos de Sistemas de Arquivos
Diferenças entre FAT e FAT 32

O sistema FAT (ou FAT16) consegue trabalhar com 65536 clusters (Clusters são
utilizados nos sistemas mais modernos e representam a unidade lógica de acesso. O
tamanho de um cluster depende do tipo do disco, variando desde um simples setor até
um conjunto de vários setores). Esse número é obtido elevando o número 2 a 16 (daí a
terminologia FAT16). É importante frisar que o tamanho do cluster deve obedecer
também uma potência de 2: 2 KB, 4 KB, 8 KB, 16 KB e 32 KB, ou seja, não é possível
ter cluster de 5 KB, 7 KB, etc.
O tamanho dos clusters no sistema FAT também é uma potência de 2. O limite máximo
de tamanho para uma partição em FAT16 é de 2 GB (correspondente a 2 elevado a 16).

Já no caso do sistema de arquivos FAT32, não é possível ter clusters de diferentes


tamanhos. O tamanho máximo da partição em FAT32 é de 2 TB.
O FAT32 também é mais confiável, além disso, este sistema também consegue
posicionar o diretório principal em qualquer lugar do disco. Fora o fato de que no
sistema FAT, havia uma limitação no número de entradas que podiam ser alocadas no
diretório principal (512 arquivos e/ou pastas). Não há essa limitação no FAT32.

Sistemas Operacionais 13
Tipos de Sistemas de Arquivos
NTFS – New Tecnology File System

Disponibiliza um sistema de arquivos flexível, adaptável, altamente seguro e confiável.


O NTFS possui características importantes: confiança, pois permite que o sistema operacional
Se recupere de problemas sem perder informações, fazendo-o ser tolerante a falhas;
segurança, onde é possível ter um controle de acesso preciso e ter aplicações que rodem em
rede, fazendo com que seja possível o gerenciamento de usuários, incluindo suas permissões
de acesso e escrita de dados; armazenamento, onde é possível trabalhar com uma grande
quantidade de dados, permitindo inclusive o uso de arrays RAID; rede, fazendo do sistema
plenamente funcional para o trabalho e o fluxo de dados em rede.

O NTFS 5.0 criado com o lançamento do Windows 2000, disponibilizou o serviço Active Directory
que
é um dos chamativos do Windows 2000, entre outras melhorias.

A grande novidade do NTFS5 em relação ao NTFS é, principalmente, o Encripting File System,


que
permite criptografar os dados gravados no disco rígido, impedindo o acesso ao sistema de
modo que apenas o usuário possa acessá-lo. No entanto, o acesso aos dados pode ser feito,
Simplesmente quando este HD é instalado como slave em outro micro.

Sistemas Operacionais 14
Tipos de Sistemas de Arquivos
NTFS – New Tecnology File System

Sistemas Operacionais 15
Tipos de Sistemas de Arquivos
EXT2 e EXT3 – Extended File System

EXT2 é o sistema de arquivos mais utilizado pelo Linux.

Na primeira fase, o EXT reconhecia partições de até 2 GB e suportava nomes de arquivos com até
255 caracteres. Logo o mercado começou a apresentar HD´s maiores que 2GB, e para atender a
essa nova realidade, surgiu o EXT2, com suporte a partições de até 4 TB.

O EXT3 é uma evolução do EXT2 que traz uma melhora no sistema de tolerância à falhas. Este
sistema mantém um relatório de todas as operações realizadas.
No caso de falhas, como no exemplo de um travamento enquanto o sistema está montando, as
últimas entradas do relatório são consultadas para a verificação do ponto em que houve a
interrupção, e o problema é corrigido automaticamente em poucos segundos.
No EXT2, quando há uma falha, o sistema roda o e2fsck, que parece com o Scandisk, para busca de
erros. Esse teste demora vários minutos, e nem sempre consegue evitar a perda de alguns arquivos.

Sistemas Operacionais 16
Estrutura de Diretórios do Linux
A identificação dos objetos de um sistema de arquivos Linux é conhecida como inode.

Ele carrega as informações onde o objeto está localizado no disco, informações de segurança,
data
de criação e a última modificação dentre outras informações.

Quando criamos um sistema de arquivos no Linux, cada dispositivo tem um número finito de
Inodes que será diretamente proporcional ao número de arquivos que este dispositivo poderá
acomodar.

Sistemas Operacionais 17
Estrutura de Diretórios do Linux
• / - Diretório raiz.
• /bin - Diretório onde estão os arquivos executáveis e comandos essenciais do sistema.
• /boot - Diretório onde estão os arquivos necessários para iniciar o sistema. Aqui é onde
fica localizada a imagem do Kernel do Linux.
• /dev - Diretório onde estão os arquivos de dispositivos do sistema, como discos, cd-roms,
terminais etc.
• /etc - Diretório onde estão localizados os arquivos de configuração do sistema.
• /home - Diretório que geralmente é usado pelos usuários.
• /lib - Diretório onde estão localizadas as bibliotecas essenciais ao sistema, utilizadas
pelos programas em /bin e módulos do Kernel.
• /mnt - Diretório vazio. Este diretório geralmente é utilizado para pontos de montagem de
dispositivos.
• /proc - Diretório que possui informações do Kernel e de processos.
• /opt - Diretório onde estão localizados os aplicativos instalados que não venham com o
Linux.
• /root - Diretório do superusuários(root). Em algumas distribuições ele pode ou não estar
presente.
• /sbin - Diretório onde estão os arquivos essenciais do sistema, como aplicativos,
utilitários para administração do sistema. Normalmente só o superusuário(root) tem acesso aos
arquivos.
• /tmp - Diretório de arquivos temporários.
• /usr - Diretório de arquivos pertencentes aos usuários e a segunda maior hierarquia de
diretórios no Linux.
• /var - Diretório onde são guardadas informações variáveis ao sistema, como arquivos
de logs etc... Sistemas Operacionais 18