Você está na página 1de 20

1

Atanásio Muidingue Alamba Júnior


Edson Domingos Thonge
Rainha Raúl Adriano
Reinaldo Mzé Abdala Chicanda
Tela da Rainha Mário Thovela

Sistema de Arquivos

(licenciatura em Gestão de Empresas)

Instituto Superior de Transporte, Turismo e Comunicação


Nacala-Porto
2022
II2

Atanásio Muidingue Alamba Júnior

Edson Domingos Thonge

Rainha Raúl Adriano

Reinaldo Mzé Abdala Chicanda

Tela da Rainha Mário Thovela

DIVERSIFICAO, RISCO E RETORNO

O presente trabalho da cadeira de Informática de


Gestão é de caracter avaliativo, a ser entregue ao
docente da mesma, de Lic. Gestão de Empresas

Docente: Dr. Celestino Craposo

Instituto Superior de Transporte, Turismo e Comunicação

Nacala-Porto

2022
3
III

Índice
Sistema de Arquivos...................................................................................................................5

2. Sistema de Arquivos...........................................................................................................5

2.1 Arquivos...............................................................................................................................5

2.2. Identificação....................................................................................................................5

2.3. Estrutura..........................................................................................................................6

2.4. Arquivos..........................................................................................................................6

2.4.1. Atributos de Arquivos.................................................................................................7

2.5. Tipos de Arquivos...........................................................................................................8

Diretórios....................................................................................................................................8

Diretórios com Um Nível...........................................................................................................9

Diretórios com Dois Níveis........................................................................................................9

Diretórios Hierárquicos............................................................................................................10

2.6. Operações......................................................................................................................11

2.7. Implementação do Sistema de Arquivos.......................................................................12

2.8. Alocação Contínua........................................................................................................13

2.9. Sistema de Arquivos FAT.............................................................................................13

2.9.1. Especificação da FAT16............................................................................................14

2.10. Setor de Boot Secundário..........................................................................................14

2.11. Tabela de Alocação de Arquivos...............................................................................15

Diretório Raiz...........................................................................................................................16

3. Considerações Finais........................................................................................................18

4. Bibliografia………………………………………………………………………………19
4

1. Introdução

Todas as aplicações executadas em um sistema computacional necessitam manipular dados.


Um processo em execução pode facilmente consumir um dado por ele produzido, bem como,
consumir dados de outros processos em execução através de mecanismos de troca de
mensagem. Porém, em determinadas situações, um processo necessita de dados produzidos
por processos que não se encontram mais ativos, dados estes que dependendo da
particularidade deverão ser mantidos no sistema por tempo indeterminado. Outro problema
consiste no fato de que o dado, gerado por uma determinada aplicação, poderá ser necessário
para outro processo que venha a ser executado, devendo o sistema disponibilizar mecanismos
para o efetivo compartilhamento desses dados entre diversas aplicações.

Para solucionar esses problemas o dado é armazenado em algum dispositivo de


armazenamento não volátil, em unidades denominadas arquivos as quais poderão ser
posteriormente recuperadas e manipuladas pelos processos. A responsabilidade pela criação,
remoção e modificação dos arquivos, bem como pelo controle de acesso a eles, é atribuída ao
Sistema de Arquivos.

Para atender, as suas responsabilidades o Sistema de Arquivos precisa basicamente executar


quatro tarefas, descritas a seguir:

 Manter um registro de onde cada arquivo está armazenado;

 Adotar um critério que determine onde e como os arquivos devem ser armazenados,
de forma que o espaço disponível para armazenagem seja eficientemente aproveitado
e os arquivos facilmente acessados;

 Alocar cada arquivo ao usuário que obteve permissão para acessá-lo e registrar cada
acesso; e

 Desalocar o arquivo assim que ele estiver pronto para voltar para o dispositivo de
armazenamento e comunicar sua disponibilidade a outros usuários que porventura
estejam esperando por ele.

Para um melhor entendimento destas tarefas, nas próximas seções o conceito de arquivos é
mostrado em detalhes.
5

2. Sistema de Arquivos

O sistema de arquivos é o módulo responsável, dentro do SO, pelo gerenciamento do


conteúdo dos discos do sistema. Esse gerenciamento inclui tanto o controle de acesso aos
mesmos (segurança), como o controle da localização e manuseio dos conteúdos de cada
arquivo.

O Sistema de Arquivos é o modo como as informações são armazenadas nos dispositivos


físicos de armazenamento, exemplo Disco Rígido, disquete, pendrive, etc...

O Sistema de Arquivos é a parte mais visível de um Sistema Operacional, pois a manipulação


de arquivos é uma atividade frequentemente realizada pelos usuários, devendo sempre
ocorrer de maneira uniforme, independente dos diferentes dispositivos de armazenamento.

2.1 Arquivos

Um arquivo é uma coleção de informações relacionadas, e pode representar tanto um


programa como um dado informativo. De forma geral um arquivo é simplesmente uma
sequência de bits cujo significado é definido por quem o criou. A criação de um arquivo deve
levar em consideração alguns aspectos importantes, tais como a sua identificação, a sua
estrutura, os seus atributos e o seu tipo. Esses aspectos são detalhados a seguir.

2.2. Identificação

Cada Sistema de Arquivos tem sua própria regra para nomear seus arquivos, e todos os
sistemas atuais permitem uma identificação de pelo menos 8 caracteres. Alguns Sistemas de
Arquivos fazem distinção entre caracteres maiúsculos (caixa alta) e minúsculos (caixa baixa),
como por exemplo, os Sistemas de Arquivos baseados em UNIX 1. Por outro lado, existem
outros Sistemas de Arquivos que não fazem essa distinção, como por exemplo, os Sistemas
de Arquivos baseados em Windows2.

É comum nos Sistemas de Arquivos existentes o acréscimo de uma extensão, separada por
um ponto, à sua identificação. Essa extensão representa uma característica associada à
funcionalidade do arquivo, facilitando a recuperação do tipo de informação contida no
mesmo. Na Tabela são mostradas algumas extensões com o seu respectivo significado.
6

Extensão Significado
.bak Arquivo de backup
.c Código fonte da linguagem C
.gif Arquivo de imagem no formato GIF
.hlp Arquivo de ajuda
.html Arquivo de hipertexto
.jpg Arquivo de imagem no formato JPEG
.mp3 Arquivo de música no formato MPEG layer 3
.mpg Arquivo de vídeo
.o Arquivo objeto
.pdf Arquivo no formato PDF(Portable Document Format )
.ps Arquivo no formato PS(Post Script )
.tex Arquivo de entrada para o programa TEX
.txt Arquivo de texto
.zip Arquivo compactado
.exe Arquivo executável
Tabela: Extensões típicas de arquivos.

2.3. Estrutura

Cada arquivo, necessariamente, é estruturado de alguma forma no dispositivo de


armazenamento. As formas mais comuns utilizadas nesta estruturação são as sequências de
bytes, as sequências de registros e a estruturação em árvore, conforme ilustrado na Figura.
As sequências de bytes (Figura (a)) deixam a cargo do processo criador do arquivo
implementar a estrutura do mesmo, ausentando o Sistema de Arquivos dessa
responsabilidade. Tal característica dá uma grande flexibilidade ao projetista da aplicação.

2.4. Arquivos
7

Figura: Três tipos de estruturas de arquivos

Na segunda forma, chamada de sequências de registros (Figura (b)),o Sistema de Arquivos é


o responsável pelas operações de escrita/leitura, sendo que cada operação é realizada sobre
um registro inteiro, e não apenas bytes, como na forma anterior.

Na segunda forma, chamada de sequências de registros (Figura (b)),o Sistema de Arquivos é


o responsável pelas operações de escrita/leitura, sendo que cada operação é realizada sobre
um registro inteiro, e não apenas bytes, como na forma anterior.

Já a estruturação em árvore (Figura (b)) consiste em estruturar o arquivo em árvores de


registros, sendo que cada registro conterá um campo com uma chave específica. Os registros
são dispostos nesta árvore seguindo a ordenação das chaves, permitindo uma rápida busca
para uma chave em particular. Este tipo de estrutura é utilizado intensamente em
computadores de grande porte dedicados ao processamento de grande volume de dados.

2.4.1. Atributos de Arquivos

Uma vez criado o arquivo e identificado, é comum atribuir ao mesmo algumas informações
úteis ao seu respeito, as quais são chamadas atributos. Cada Sistema de Arquivos implementa
seus próprios atributos, sendo alguns deles comuns à maioria dos Sistemas de Arquivos
existentes.

Como exemplos de atributos de arquivos pode-se citar:

 Hora de criação;
 Hora de modificação;
 Hora do último acesso;
 Sinalização de arquivo de sistema; e
 Sinalização de arquivo oculto.

Os Sistemas de Arquivos que implementam mecanismos de proteção podem ter, por exemplo, os
seguintes atributos:
 Proprietário;
 Criador;
 Senha de acesso;
 Grupo de usuários com acesso;
8

 Sinalização de arquivo oculto; e


 Permissões (leitura, escrita e execução).

2.5. Tipos de Arquivos

Cabe ao Sistema de Arquivos definir os tipos de arquivos existentes no sistema. Os tipos de


arquivos mais comuns são:

 Regulares: São os arquivos que os usuários estão acostumados a manipular, criados


por processos e que contém alguma informação que está armazenada em algum meio.
Esses arquivos podem ser binários ou arquivos ASCII. Os arquivos ASCII contém
apenas caracteres que possam ser impressos, já os binários podem conter qualquer
tipo de caracter. Os arquivos binários ainda podem dividir-se em arquivos executáveis
e arquivos não executáveis.
 Especiais de caracteres: São arquivos especiais que modelam dispositivos seriais (o
mouse e o teclado, por exemplo) do sistema. Uma vez modelados, qualquer ope-
ração de leitura/escrita em um dispositivo será facilmente executada por meio da
leitura/escrita do arquivo que o modela.
 Especiais de bloco: São arquivos especiais similares aos de caracteres, com a
diferença de modelarem dispositivos de bloco (as unidades de disco, por exemplo) do
sistema.
 Diretórios: São arquivos que não estão associados diretamente a um conjunto de
dados, como os arquivos regulares, mas sim a um agrupamento de arquivos que
possam ter algum vínculo entre si. Os diretórios serão detalhados com maior precisão
na próxima seção.

Diretórios

Os diretórios, também conhecidos como pastas, são um tipo especial de arquivos que não
estão associados diretamente a um conjunto de dados, mas sim a um agrupamento de
arquivos que possam ter algum vínculo entre si. Fazendo uma analogia ao mundo real, seria
como um armário, com várias portas e gavetas (diretórios), cada uma contendo um tipo
específico de objeto (arquivos), separando-os por grupo de interesse, provendo assim uma
9

melhor organização ao sistema. As próximas seções visam o detalhamento das principais


formas utilizadas na implementação de diretórios.

Diretórios com Um Nível

Essa é a forma mais simples utilizada na implementação de diretórios. Ela consiste na criação
de apenas um diretório, chamado de diretório raiz, no qual todos os arquivos estão dispostos,
e não possibilita a criação de novos diretórios. Esse tipo de estrutura foi utilizada nos
primeiros Sistemas de Arquivos, assim implementados para garantir a simplicidade, a qual
era desejável dado o baixo poder computacional existente na época. Essa simplicidade na
implementação resulta em um alto grau de performance nas operações realizadas nos
arquivos, sendo ainda utilizada em sistemas embarcados específicos. Na Figura a baixo é
ilustrado um diretório com um nível.

Figura: Sistema de diretório de nível único

O principal problema associado a essa organização surgiu com o advento de sistemas com
múltiplos usuários. Os usuários não se sentiam confortáveis em compartilhar o mesmo
diretório de trabalho com os outros usuários. Para superar essa limitação foi desenvolvido o
sistema de diretório com dois níveis, o qual será abordado na próxima seção.

Diretórios com Dois Níveis

A implementação de diretórios em dois níveis, como já citado, surgiu para prevenir conflitos
entre os diversos usuários que compartilhavam o mesmo diretório para armazenar seus dados.
Dessa forma, tornou-se possível criar diretórios dentro do diretório raiz, possibilitando a cada
usuário ter seu próprio diretório para armazenar seus arquivos.
10

Essa forma de implementação é ilustrada na Figura, na qual pode-se notar a existência de


diretórios de usuários

Figura: Sistema de diretório de dois níveis

Uma característica de segurança importante incorporada em sistemas com múltiplos usuários


implementando diretórios de dois níveis foi o desenvolvimento de mecanismos de proteção
baseados em autenticação. Com esse mecanismo, cada usuário deve se autenticar, utilizando
um nome de usuário e uma senha, ao iniciar o sistema, para acessar apenas arquivos que seja
o proprietário, ou, arquivos que o real proprietário permita que outros usuários acessem-o,
como o diretório de programas aplicativos da Figura, que poderia ser compartilhado entre
todos usuários, por conter arquivos de interesse comum.

Diretórios Hierárquicos

Os crescentes avanços nos dispositivos dos sistemas computacionais, tanto em desempenho


como em capacidade de armazenamento, ocasionou um aumento considerável da
complexidade e utilidade dos aplicativos, que cresciam em tamanho e números de arquivos.
Assim, os usuários não estavam satisfeitos em ter apenas dois níveis de diretório para
armazenar seus dados e aplicativos.

Para satisfazer essa necessidade foi implementado o conceito de diretórios hierárquicos, o


qual possibilita a criação de diretórios em cadeia. Dessa forma, o usuário pode criar novos
diretórios dentro do seu diretório, e assim sucessivamente, de acordo com a sua necessidade.
A Figura abaixo ilustra um exemplo dessa implementação.
11

Figura: Sistema de diretório hierárquico

Pela flexibilidade que esse tipo de estrutura fornece ao usuário para organizar seus arquivos
dentro do Sistema de Arquivos, os diretórios hierárquicos são implementados em todos
sistemas operacionais atuais.

Uma vez detalhado o conceito de arquivo, e a sua organização, a próxima seção visa detalhar
as operações comumente realizadas sobre os arquivos.

2.6. Operações

Dado que o objetivo fundamental dos Sistemas de Arquivos é o armazenamento de


informações para posterior recuperação e manipulação, faz-se necessário o provimento, ao
usuário, de um conjunto de operações que possam ser realizadas sobre os arquivos. A seguir
serão ilustradas as principais operações sobre arquivos existentes nos Sistemas de Arquivos
atuais. Vale lembrar que tal conjunto de operações não é único para todos os Sistemas de
Arquivos, podendo ocorrer diferenças de funcionalidade e de repertório entre eles
Tanenbaum (2001).

As principais operações sobre arquivos regulares são:

 CREATE: Cria um arquivo vazio, configurando seus atributos iniciais.


 DELETE: Remove um arquivo do sistema.
12

 OPEN: Abre um arquivo anteriormente criado. Esta abertura pode ser realizada para
leitura e/ou escrita.
 CLOSE: Fecha um arquivo previamente criado.
 READ: Executa a leitura de um arquivo previamente aberto.
 WRITE: Executa a escrita em um arquivo previamente aberto.
 APPEND: Executa a escrita no final de um arquivo previamente aberto.
 SEEK: Posiciona o ponteiro de leitura em uma dada posição.
 GET ATTRIBUTES: Obtêm os atributos de um arquivo.
 SET ATTRIBUTES: Configura os atributos de um arquivo.

 REAME: Renomeia um arquivo previamente criado.

Similares às operações sobre arquivos, as principais operações sobre diretórios são:

 CREATEDIR: Cria um diretório vazio.


 DELETEDIR: Remove um diretório. Em muitas implementações é necessário que o
diretório a ser removido esteja vazio para que a operação seja realizada.
 OPENDIR: Abre um diretório para posterior visualização dos arquivos nele con-
tidos.
 CLOSEDIR: Fecha um diretório previamente aberto.
 READDIR: Lê o conteúdo de um diretório previamente aberto.
 RENAMEDIR: Renomeia um diretório previamente criado.

Após a análise das características inerentes aos arquivos, bem como das operações sobre eles
realizadas, torna-se interessante a análise da implementação propriamente dita do Sistema de
Arquivos. Tal análise dar-se-á na próxima seção.

2.7. Implementação do Sistema de Arquivos

Um dos aspectos mais importantes a ser considerado na implementação do Sistema de


Arquivos é a forma como os arquivos serão armazenados no dispositivo de armazena- mento.
Esse armazenamento pode se dar por diversas formas, sendo que a maioria delas se
assemelham por associarem blocos de disco a arquivos. Nas próximas seções, serão ilustradas
as principais formas de armazenamento de arquivos.
13

2.8. Alocação Contínua

Esta é a forma mais simples de alocação de arquivos. Cada arquivo é identificado como se
fosse um único bloco, do tamanho do arquivo. Os dados são inseridos nesse bloco de forma
sequencial. Com isso a entrada do arquivo precisa apenas guardar o endereço inicial e o
tamanho do arquivo. A Figura abaixo ilustra esta técnica para 5 arquivos de tamanhos
distintos.

Figura: Técnica de Alocação com Nós-Índice

2.9. Sistema de Arquivos FAT

O sistema de arquivos FAT3 (Tabela de Alocação de Arquivos) foi criado em 1977 por Bill
Gates e Marc McDonald, sendo o sistema de arquivos suportado pela Microsoft Mi- crosoft
(2006) MS-DOS4 (Sistema Operacional de Disco). Esse sistema foi, inicialmente,
desenvolvido para ser um simples sistema de arquivos de discos flexíveis que, na época,
tinham capacidade inferior a 500 kilobytes (Microsoft, 2000).
14

Em uma versão mais recente, com os crescentes avanços nos dispositivos de massa,
necessitou-se desenvolver um sistema de arquivos para unidades superiores a 2 gigabytes.
Para tal propósito, foi criada uma nova versão de FAT, denominada FAT32. Embora este
sistema esteja associado ao número 32, atualmente usa-se apenas 28 bits para representar
cada entrada na tabela de alocação de arquivos. Diferente dos sistemas anteriores, esse
sistema não consegue endereçar 228 clusters por ser definido que o número máximo de
setores que uma unidade pode ter é representado por um número de 32 bits, o que limita o
sistema de arquivos FAT32 a 2 terabytes de capacidade máxima (Tanenbaum, 2001).

2.9.1. Especificação da FAT16

As unidades de armazenamento de massa, após passarem por um processo de formatação,


têm um padrão entre si. Caso a unidade esteja particionada, ou seja, dividida em vários
volumes lógicos, a unidade seguirá um padrão, como ilustrado na Figura. Como pode ser
observado, o primeiro setor desta unidade é constituído do MBR 6 (Setor de Boot Primário), o
qual é responsável por armazenar o primeiro código de carga disponível na unidade, bem
como informações de endereçamento das demais partições.

Figura: Representação lógica de uma unidade de armazenamento particionada

2.10. Setor de Boot Secundário

O setor de boot é a estrutura de dados mais importantes do sistema de arquivos, e é localizado


no primeiro setor de cada partição, ou no setor zero do dispositivo de armazenamento caso
este não esteja particionado. Do ponto de vista do sistema de arquivos esse setor é muito
importante, encontrando-se nele as informações básicas do dispositivo, como o tamanho do
15

setor, quantidade de cilindros e superfícies e o nome da partição. Na Tabela são apresentadas


as informações contidas neste setor.

Nome Deslocamento Tamanho do Descrição


do byte campo (bytes)
jmpBoot 0 3 Instrução de desvio para código de boot
OEMName 3 8 Nome e versão OEM (Original Equipment
Manufacturer )
ButsPerSec 11 2 Bytes por setor
SecPerClus 13 1 Setores por cluster
RsvdSecCnt 14 2 Setores reservados
NumFATs 16 1 Números de tabelas FAT
RootEntCnt 17 2 Número de entradas no diretório raiz
TotSec16 19 2 Número de setores no volume (16 bits)
Media 21 1 Byte de descrição da média
FATz16 22 2 Setores por tabela de alocação de arquivos
SecPerTrk 24 2 Número de setores por trilha
NumHeads 26 2 Número de cabeças
HiddSec 28 4 Número de setores ocultos
TotSec32 32 4 Número de setores no volume (acima de 16 bits)
DrvNum 36 1 Número da unidade física
Reserved1 37 1 Reservado
BootSig 38 1 Registro de assinatura de inicialização estendida
VolID 39 4 Número de série do volume
VolLab 43 11 Rótulo do volume
FilSysType 54 8 Sequência de caracteres
Tabela: Campos do Setor de Boot

2.11. Tabela de Alocação de Arquivos

A tabela de alocação de arquivos encontra-se após o setor de boot da partição. A área de


dados de um dispositivo de armazenamento de massa no sistema de arquivos FAT16 é
dividida em clusters (agrupamento de setores consecutivos). A partir do setor de boot, é
possível identificar o número de setores dos clusters. A tabela de alocação de arquivos (FAT)
do sistema FAT16, como anteriormente comentado na Seção 3.5.3, utiliza a técnica de
alocação com lista encadeada usando índice. Portando, cada índice encontrado na tabela de
alocação corresponde diretamente a um clustes localizado na área de dados.

Os dois primeiros campos da FAT são sempre reservados, sendo que os demais descrevem a
utilização de seus agrupamentos correspondentes e são interpretados conforme descrito na
Tabela.
16

Valor Descrição
0000 Cluster não utilizado, disponível
0xFFF0-0xFFF6 Clusters reservados
0xFFF7 Cluster com defeito
0xFFF8-0xFFFF Último cluster utilizado pelo arquivo
outro valor Próximo cluster utilizado pelo arquivo
Tabela: Descrição dos Índices da Tabela de Alocação

Geralmente, os sistemas de arquivos FAT16 tem mais de uma cópia da FAT em cada
partição, para garantir a integridade das informações. As alterações ocorrem simultaneamente
em todas as cópias das FATs. Na ocorrência de algum erro em alguma das cópias, o sistema
poderá restaurar-se a partir de outra FAT não corrompida.

 A seguinte rotina é necessária para calcular os clusters de um arquivo qualquer.


 Utilize a entrada do diretório para encontrar o agrupamento inicial do arquivo a ser
examinado;
 Multiplique o número do agrupamento por 27;
 Utilize o produto como deslocamento na tabela de alocação de arquivos e guarde o
seu conteúdo;
Se o resultado for um valor final de arquivo, o mesmo não tem mais nenhum cluster na
partição. Caso contrário, o resultado é o número do próximo cluster.

Diretório Raiz

O diretório raiz é localizado logo após os setores ocupados pela FAT. Cada arquivo ou
diretório presente no diretório raiz dessa partição possui uma entrada de 32 bytes contendo o
nome do arquivo, a extensão, a data de quando foi criado ou quando foi feita a última
modificação, o tamanho em bytes e o número do cluster onde o arquivo começa.

Na Tabela a baixo é descrita a estrutura da entrada do diretório raiz para um sistema de


arquivos FAT16.
17

Deslocamento Tamanho em bytes Descrição


0 8 Nome do Arquivo
8 3 Extensão
11 1 Atributos
12 9 Reservado
22 2 Horário de criação ou da última atualização
24 2 Data de criação ou última atualização
26 2 Cluster inicial
28 4 Tamanho do arquivo em bytes
Tabela: Entrada de Diretório do Sistema FAT16

Na Tabela a bixo: são demonstrados os atributos existentes para os arquivos.


Deslocamento Atributo
0 Apenas leitura
1 Arquivo oculto
2 Arquivo de sistema
3 Identificação de volume
4 Arquivo do tipo diretório
5 Arquivo regular
6 Não utilizado
7 Não utilizado
Tabela: Atributos do Arquivo
18

3. Considerações Finais

Em um sistema computacional os dados são armazenados em forma de arquivos, ficando sob


responsabilidade do Sistema de Arquivos determinar como eles serão gravados e
posteriormente recuperados no dispositivo de armazenamento.

Neste capítulo foram ilustradas as principais características de um arquivo, bem como as


operações realizadas sobre eles. Foram ilustradas também algumas técnicas utilizadas pelo
Sistema de Arquivos na tarefa de armazenamento propriamente dita.

O Sistema de Arquivos FAT16 foi abordado com maiores detalhes por ter sido o escolhido na
execução deste trabalho.

4.
19

Bibliografia
Sony Blue ray disc association site: http://www.blueraydisc.com - visitado em 07/2006.
2006ª
Stallings, W. Arquitetura e organização de computadores.5 ed. São Paulo, SP:
Prentice–Hall, Inc., 2002.
Using flash memory with uclinux. site: Ungerer,
http://linuxdevices.com/articles/at6850006074.html - visitado em 07/2006. 2002.
Williams, M. Cebit: Samsung shows flash-disk-based laptop: Company continues to develop
more stable solid-state disks. IDG News Service, 2006.
Kanguru Flash drive max 64gb. site: http://www.kanguru.com/flashdrive_max.html - visitado
em 07/2006.2006a.
WWW.googleAcademico.com (tudo sobre sistema de arquivo

Você também pode gostar