0% acharam este documento útil (0 voto)
21 visualizações22 páginas

SORC-Tema 5

Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOC, PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
21 visualizações22 páginas

SORC-Tema 5

Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato DOC, PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 22

UniZambeze – U n i v e r s i d a d e Z a m b e z e Sistemas operativos e Redes de Computadores

FCT - Faculdade de Ciências e Tecnologia Tema 5 - SISTEMA DE ARQUIVOS

SISTEMAS OPERATIVOS E REDES DE COMPUTADORES

Tema 5: Sistema de arquivos

Tema: Sistema de arquivos

Sumário : Estudar o Sistema de arquivos

Objectivo geral : Adquirir conhecimentos sobre o Sistema de arquivos

Objectivos específicos ꞉ Perceber o conceito de Arquivos


Compreender Diret´orios
Saber Implementa¸c˜ao L´ogica
Entender Implementa¸c˜ao F´ısica
Perceber Fragmenta¸c˜ao

Metodo ꞉ Expositivo, explicativo e ilustrativo

Procedimentos ꞉ Interactivo, Exercícios de consolidação e de Teste

Meios de ensino ꞉ Datashow, computador, Ficheiro físico ou digital do material, quadro,


marcador e apagador

Bibliografia
Basica ꞉ Sistemas operacionais modernos 3ª edição Tanenbaum

Auxiliar ꞉ MARQUES, JOSÉ ALVES; PAULO GUEDES - Fundamentos de Sistemas Operativos, 4ª


Ed., Editorial Presença, Lisboa. 2000

24 de outubro de 2024 - Curso e ano: Engenharia Mecatrónica , 2º ano semestre 4 Docente: Engo. Essitone Lote Gimo Pag. 1 de 22
UniZambeze – U n i v e r s i d a d e Z a m b e z e Sistemas operativos e Redes de Computadores

FCT - Faculdade de Ciências e Tecnologia Tema 5 - SISTEMA DE ARQUIVOS

5 Sistemas de arquivos
5.1 Arquivos
5.2 Diret´orios
5.3 Servi¸cos do sistema operacional
5.4 Implementa¸c˜ao L´ogica
5.5 Implementa¸c˜ao F´ısica
5.6 Fragmenta¸c˜ao

Como vimos na se¸c˜ao 4.3, os dispositivos de armazenamento secund´ario s˜ao utilizados para armazenar dados
de forma perene, isto ´e, o armazenamento ´e feito de forma confi´avel e ´ıntegra, mesmo quando o sistema
computacional permanece desligado por longos per´ıodos de tempo. O armazenamento perene de informa¸c˜oes ´e
desejado pelas seguintes raz˜oes [TAN92, p. 145]:

• Existem inu´meros problemas pr´aticos que requerem o armazenamento de grandes quantidades de


informa¸c˜oes, as quais n˜ao ser˜ao utilizadas totalmente por um certo processo, por exemplo, consultas a
uma lista telefˆonica, movimenta¸c˜ao de uma conta corrente, recupera¸c˜ao de um hist´orico escolar,
altera¸c˜ao de um cadastro m´edico, atualiza¸c˜ao de uma ficha de estoque etc. E inadmiss´ıvel que tais
informa¸c˜oes sejam re-´ introduzidas no computador a cada uso.

• Existem uma outra infinidade de problemas pr´aticos que produzem dados durante sua execu¸c˜ao, raz˜ao
de sua existˆencia, que n˜ao podem ser descartados pois ser˜ao utilizados por outros processos, tal como o
cruzamento de dados informados em declara¸c˜oes de imposto de renda, o resultado de simula¸c˜oes f
´ısicas/qu´ımicas/matem´aticas, a solu¸c˜ao de problemas diversos etc.

• Certos conjuntos de dados n˜ao podem pertencer a um u´nico processo, isto ´e, serem dispostas no espa¸co
de endere¸camento de um simples programa, devendo ser compartilhada por muitos outros processos, tal
como os dados de lota¸c˜ao de avi˜oes de uma companhia a´erea, as informa¸c˜oes de tarifa¸c˜ao de uma
companhia telefˆonica etc.

• Os sistemas computacionais est˜ao sujeitos `a falhas ou situa¸c˜oes de contingˆencia, onde ´e importante


que seus dados estejam preservados (duplicados) de forma segura, permitindo sua recupera¸c˜ao e uso em
um outro sistema computacional.

Todas estas raz˜oes justificam a necessidade do armazenamento de informa¸c˜oes em meios distintos da mem
´oria prim´aria, que tem capacidade limitada, e de forma independente dos processos, dada as quest˜oes de
persistˆencia e compartilhamento, sem considerarmos as quest˜oes relacionadas a integridade e seguran¸ca dos
dados.
Para que o armazenamento possa ser realizado de maneira tal a atender as raz˜oes enunciadas, ´e necess´aria
uma adequada organiza¸c˜ao destes dados nos dispositivos destinados ao armazenamento secund´ario, tal como
unidades de disco, unidades de fita magn´etica, CD-ROMs etc.
Dado que podem existir muitos processos num sistema computacional, cada um utilizando e produzindo
diferentes conjuntos de dados, torna-se necess´ario distinguir tais conjuntos de dados. Os arquivos (files) s˜ao as
unidades que contˆem estes conjuntos distintos de dados, de forma que estes possam ser utilizados pelos
processos.

24 de outubro de 2024 - Curso e ano: Engenharia Mecatrónica , 2º ano semestre 4 Docente: Engo. Essitone Lote Gimo Pag. 2 de 22
UniZambeze – U n i v e r s i d a d e Z a m b e z e Sistemas operativos e Redes de Computadores

FCT - Faculdade de Ciências e Tecnologia Tema 5 - SISTEMA DE ARQUIVOS

Como tudo mais num sistema computacional, o sistema operacional controla as opera¸c˜oes sobre os arquivos,
organizando seu armazenamento no que chamamos de sistema de arquivos (file system). Um sistema de arquivos
geralmente cont´em [DEI92, p. 389]:

• M´etodos de acesso: forma com que os dados s˜ao armazenados nos arquivos;

• Gerenciamento de arquivos: conjunto de mecanismos de armazenamento, referˆencia, compartilhamento e


seguran¸ca;

• Mecanismos de integridade: que asseguram que os dados de um arquivo permanecem ´ıntegros.

Ainda segundo Deitel [DEI92, p. 391], um sistema de arquivos deve permitir, funcionalmente falando, que:

• os usu´arios possam criar, modificar e eliminar arquivos, bem com realizar sua duplica¸c˜ao ou a
transferˆencia de dados entre arquivos;

• seja poss´ıvel o compartilhamento de arquivos atrav´es de mecanismos controlados e bem definidos;

• as opera¸c˜oes de backup e sua restaura¸c˜ao sejam suportadas;

• seja poss´ıvel a ado¸c˜ao ou implementa¸c˜ao de procedimentos de prote¸c˜ao e seguran¸ca; e

• que a interface seja amig´avel e consistente, admitindo a realiza¸c˜ao de opera¸c˜oes apenas atrav´es dos
nomes simb´olicos dos arquivos, garantindo independˆencia do dispositivo utilizado.

Com isto percebemos que os sistemas de arquivos preocupam-se com a organiza¸c˜ao e controle do
armazenamento secund´ario de um sistema computacional. Tamb´em ´e necess´ario destacar que um sistema
operacional pode suportar diversos sistemas de arquivos, isto ´e, podem operar utilizando diferentes formas de
administra¸c˜ao dos dispositivos de armazenamento secund´ario. A seguir, na Tabela 5.3, alguns exemplos de
sistemas operacionais e dos sistemas de arquivos suportados.
Tabela 5.3: Sistemas de arquivos de alguns sistemas operacionais
Sistema Sistemas de arquivos suportados
operacional
MS-DOS FAT (file allocation table) 12 e 16 bits
MS-Windows 95/98 FAT (file allocation table) 12 e 16 bits
VFAT (virtual file allocation table) 32 bits
MS-Windows NT FAT (file allocation table) 12 e 16 bits
MS-Windows 2000 VFAT (virtual file allocation table) 32 bits
MS-Windows XP NTFS (new technology file system)
IBM OS/2 FAT (file allocation table) 12 e 16 bits
HPFS (high performance file system)
Linux FAT (file allocation table) 12 e 16 bits
VFAT (virtual file allocation table) 32 bits
Minix (Mini Unix)
24 de outubro de 2024 - Curso e ano: Engenharia Mecatrónica , 2º ano semestre 4 Docente: Engo. Essitone Lote Gimo Pag. 3 de 22
UniZambeze – U n i v e r s i d a d e Z a m b e z e Sistemas operativos e Redes de Computadores

FCT - Faculdade de Ciências e Tecnologia Tema 5 - SISTEMA DE ARQUIVOS

Extended File System


Ext2 (second extended file system - Nativo)
Sun Solaris UFS
5.1 Arquivos
Existem v´arias defini¸c˜oes poss´ıveis para o conceito de arquivos. Tanembaum afirma que, de forma simplificada,
os arquivos podem ser entendidos como sequ¨ˆencias de bytes n˜ao interpretadas pelo sistema, dependendo-se de
aplica¸c˜oes apropriadas para sua correta utiliza¸c˜ao [TAN95, p. 246]. Deitel coloca que arquivos s˜ao uma
cole¸c˜ao identificada de dados [DEI92, p. 389], enquanto Guimar˜aes explica:
Um arquivo ´e um conjunto de informa¸c˜oes relacionadas entre si e residentes no sistema de mem´oria
secund´aria: discos, fitas, cart˜oes, etc [GUI86, p. 211].

Outras defini¸c˜oes poderiam ser citadas, mas o que ´e mais importante


´e o conceito inerente `a utiliza¸c˜ao dos arquivos. Arquivos s˜ao um poderoso mecanismo de abstra¸c˜ao que
permite ao usu´ario (e seus programas) utilizar dados armazenados dentro do sistema computacional, ou seja,
atrav´es da manipula¸c˜ao dos arquivos s˜ao realizadas as opera¸c˜oes de escrita e leitura de dados, de forma
transparente, evitando que sejam conhecidos detalhes do funcionamento com que estas opera¸c˜oes tratam e
armazenam a informa¸c˜ao [TAN92, p. 146].
Os arquivos, dependendo do sistema operacional e do sistema de arquivos em uso, podem possuir uma
identifica¸c˜ao (file naming), atributos (attributes), capacidades (capacities), lista de controle de acesso (control
access list) e uma organiza¸c˜ao ou tipo.
Para que os dados possam ser corretamente identificados e utilizados, o sistema de arquivos deve prover um
mecanismo de identifica¸c˜ao dos arquivos, isto ´e, uma forma de distin¸c˜ao simples dos arquivos, que permita sua
adequada opera¸c˜ao. Isto ´e feito atrav´es da associa¸c˜ao de um nome ao arquivo propriamente dito. Desta forma
muitas das opera¸c˜oes que podem ser realizadas sobre os arquivos s˜ao especificadas em termos de seus nomes,
simplificando muito tais tarefas.
Diferentes sistemas operacionais usam formas de denomina¸c˜ao distintas para a identifica¸c˜ao de seus
arquivos, como exemplificado na Tabela 5.4.

Tabela 5.4: Denomina¸c˜ao de arquivos em v´arios sistemas


Sistema Composi¸c˜ao Composi¸c˜ao Outras
operacional do nome da extens˜ao caracter´ısticas
MS-DOS 1-8 char 1-3 char Extens˜ao opcional
(FAT12 e Insens´ıvel ao caixa
FAT16)
MS-Windows 95, 1-255 char 1-255 char Admite mu´ltiplas exts
98, 2000, XP Comprimento total <
256
(VFAT) Insens´ıvel ao caixa

MS-Windows NT 1-255 char 1-255 char Admite mu´ltiplas exts


(NTFS) Comprimento total <
256
Insens´ıvel ao caixa
IBM OS/2 1-255 char 1-255 char Extens˜ao opcional
(HPFS) Comprimento total <

24 de outubro de 2024 - Curso e ano: Engenharia Mecatrónica , 2º ano semestre 4 Docente: Engo. Essitone Lote Gimo Pag. 4 de 22
UniZambeze – U n i v e r s i d a d e Z a m b e z e Sistemas operativos e Redes de Computadores

FCT - Faculdade de Ciências e Tecnologia Tema 5 - SISTEMA DE ARQUIVOS

256
Insens´ıvel ao caixa
UNIX 1-255 char 1-255 char N˜ao usa extens˜oes
(gen´erico) Comprimento total <
256
Sens´ıvel ao caixa
Note que o UNIX, dado possuir um sistema de arquivos com denomina¸c˜ao sens´ıvel ao caixa, trataria como
sendo diferentes arquivos com os nomes ab, AB, Ab e aB. Tal caracter´ıstica, embora u´til, pode se tornar um
pesadelo em certas situa¸c˜oes quando n˜ao se percebe a sutileza de um u´nico caractere com o caixa errado. Nos
sistemas que n˜ao utilizam extens˜oes ou admitem mu´ltiplas extens˜oes, podem surgir denomina¸c˜oes tais como
names.dat.old ou source.c.gzip, indicando que diferentes a¸c˜oes foram tomadas com os arquivos.
Al´em dos nomes os arquivos podem possuir atributos, isto ´e, informa¸c˜oes que n˜ao fazem parte dos
arquivos, embora associadas aos mesmos, que podem ser utilizadas para indicar: criador (creator), propriet´ario
(owner), tamanho (size), data de cria¸c˜ao (creation date), data do u´ltimo acesso (last access date), data da u´ltima
altera¸c˜ao (last modification date), flags diversas (de sistema, oculta¸c˜ao, de arquivo, de leitura etc) permiss˜oes
de acesso, tamanho do registro, tamanho m´aximo, tipo etc. As permiss˜oes de acesso s˜ao usadas em conjunto com
as capacidades ou listas de controle de acesso.
As capacidades s˜ao informa¸c˜oes que autorizam certos usu´arios ou processos a realizarem certas opera¸c˜oes
sobre os arquivos, tal como leitura e escrita. As listas de controle de acesso s˜ao rela¸c˜oes de usu´ario que podem
realizar opera¸c˜oes espec´ıficas sobre um dado arquivo, tal como execu¸c˜ao ou escrita. Enquanto as capacidades
s˜ao associadas aos usu´arios ou processos as listas de acesso s˜ao associadas diretamente aos arquivos.
Os sistemas UNIX utilizam-se de uma lista de acesso simplificada baseada no conceito de grupos. Permiss˜oes
s˜ao associadas a todos os arquivos e podem ser diferenciadas em trˆes n´ıveis: o do propriet´ario, o do grupo ao
qual pertence seu propriet´ario e dos demais usu´arios. Para cada n´ıvel podem ser especificadas separadamente
permiss˜oes para leitura, escrita e execu¸c˜ao, que quando combinadas resultam em diferentes modos de acesso. J
´a o MS-DOS associa apenas um mphbit de permiss˜ao de escrita (Read-Only), ao qual se associam os atributos
Oculto (Hidden), Sistema (System) e Arquivo (Archive), que na pr´atica representam um prec´ario esquema de
prote¸c˜ao contra elimina¸c˜ao indevida.
Existem diversas estruturas poss´ıveis para os arquivos tais como sequ¨encial, por registros e em ´arvore
[TAN92, p. 148], tal como ilustrado na Figura 5.19.

Figura 5.19: Estruturas poss´ıveis de arquivos

Na estrutura sequ¨encial, um arquivo ´e uma sequ¨ˆencia de bytes, garantindo a m´axima flexibilidade ao usu
´ario do sistema operacional que oferece opera¸c˜oes bastante simples. Na estrutura de registro, um arquivo ´e uma
24 de outubro de 2024 - Curso e ano: Engenharia Mecatrónica , 2º ano semestre 4 Docente: Engo. Essitone Lote Gimo Pag. 5 de 22
UniZambeze – U n i v e r s i d a d e Z a m b e z e Sistemas operativos e Redes de Computadores

FCT - Faculdade de Ciências e Tecnologia Tema 5 - SISTEMA DE ARQUIVOS

sequ¨ˆencia de registros, os quais podem ter diversos formatos. Esta estrutura ´e um pouco menos flex´ıvel e
depende de opera¸c˜oes um pouco mais sofisticadas do SO. Existem diversos arranjos para arquivos organizados
como sequ¨ˆencias de registros: registro de tamanho fixo desbloqueados, registro de tamanho fixo bloqueado,
registro de tamanho vari´avel desbloqueados e registro de tamanho vari´avel bloqueado [DEI92, p. 393].
Sistemas operacionais como DOS, MS-Windows 95, 98 e NT e Unix estruturam seus arquivos como sequ¨ˆencias
de bytes. Computadores de grande porte, tipicamente os sistemas IBM utilizam, como organiza¸c˜ao mais comum,
as sequ¨ˆencias de registro. A organiza¸c˜ao em ´arvore ´e raramente implementada.
Dependendo do conteu´do do arquivo este pode ser entendido como de um certo tipo. Muitos sistemas
operacionais utilizam a extens˜ao do nome do arquivo como uma referˆencia para o tipo de seu conteu´do.
Particularmente nos sistemas operacionais MS-Windows 95, 98, NT, 2000 ou XP podem ser associadas aplica¸c˜oes
a determinadas extens˜oes, auxiliando o usu´ario. Genericamente arquivos comuns, isto ´e, aqueles utilizados pelos
usu´ario para o armazenamento de informa¸c˜oes, podem ser considerados como do tipo texto, quando seu conteu
´do pode ser visualizado diretamente (via comandos DOS type [IBM92a] ou Unix more [CON99, p. 132]); ou sendo
bin´ario, quando seu conteu´do precisa ser interpretado por uma aplica¸c˜ao para poder ser visualizado.
Os arquivos execut´aveis tamb´em s˜ao arquivos bin´arios, cuja execu¸c˜ao
´e realizada diretamente pelo sistema operacional. Vale ressaltar que um arquivo bin´ario n˜ao ´e simplesmente
uma sequ¨ˆencia de instru¸c˜oes que podem ser executadas pelo processador, al´em do c´odigo execut´avel
propriamente dito o sistema operacional necessita conhecer informa¸c˜oes adicionais sobre o tamanho do
programa, sua ´area de dados, o tamanho necess´ario para sua pilha de retorno, etc.

Figura 5.20: Formato de arquivos execut´aveis no Win-32

Geralmente estas informa¸c˜oes s˜ao posicionadas num cabe¸calho (header) do arquivo sendo que cada sistema
operacional possui um formato pr´oprio de arquivo identificado como execut´avel. Na Figura 5.20 encontramos os
formatos de arquivos execut´aveis do sistemas operacionais DOS, Windows 3.x e Windows 95 enquanto que Figura
5.22 mostra a estrutura de um arquivo execut´avel no sistema Unix com detalhes de seu cabe¸calho.
Especificamente no sistema operacional Windows 95/98 e Windows NT ´e poss´ıvel visualizarse detalhes internos
de arquivos execut´aveis e bibliotecas de v´ınculo dinˆamico (DLLs ou dynamic link libraries) tais como cabe¸calho
da imagem, cabe¸calho opcional, tabela de importa¸c˜ao, tabela de se¸c˜oes e informa¸c˜oes do cabe¸calho. Isto ´e
poss´ıvel atrav´es da op¸c˜ao de visualiza¸c˜ao r´apida oferecida pelo gerenciador de arquivos nativo, como
ilustrado na Figura 5.21.

24 de outubro de 2024 - Curso e ano: Engenharia Mecatrónica , 2º ano semestre 4 Docente: Engo. Essitone Lote Gimo Pag. 6 de 22
UniZambeze – U n i v e r s i d a d e Z a m b e z e Sistemas operativos e Redes de Computadores

FCT - Faculdade de Ciências e Tecnologia Tema 5 - SISTEMA DE ARQUIVOS

Figura 5.21: Visualiza¸c˜ao r´apida de execut´aveis no MS-Windows 98

Al´em dos arquivos comuns, os sistemas de arquivos geralmente mantˆem arquivos especiais denominados
diret´orios (directories) que contˆem partes da estrutura do sistema de arquivos. Em sistemas Unix ainda existem
arquivos especiais utilizados para modelar certos dispositivos perif´ericos, podendo ser arquivos especiais de
caracteres (character special files) ou arquivos especiais de blocos (block special files) que permitem o acesso
terminais, impressoras e rede no primeiro caso, discos, fitas e outros dispositivos de armazenamento secund´ario
no segundo.
Finalmente, do ponto de vista de armazenamento e acesso, os arquivos podem ser organizados das seguintes
maneiras [DEI92, p. 392]:

Sequ¨encial Quando os registros ou bytes s˜ao posicionados em sua ordem f´ısica. Numa fita isto representa
armazenamento cont´ıguo, embora em discos magn´eticos isto n˜ao seja necessariamente verdade.

Direto Quando os registro ou bytes s˜ao diretamente acessados no meio em que s˜ao armazenados, usualmente
um DASD. A aplica¸c˜ao deve conhecer a localiza¸c˜ao dos dados no dispositivo, sendo familiar com sua
organiza¸c˜ao. E um m´etodo extremamente r´apido, embora complexo.´

Sequ¨encial Indexado Os registros bytes s˜ao organizados numa sequ¨ˆencia l´ogica conforme uma chave e o
sistema mantˆem um´ındice para acelerar

24 de outubro de 2024 - Curso e ano: Engenharia Mecatrónica , 2º ano semestre 4 Docente: Engo. Essitone Lote Gimo Pag. 7 de 22
UniZambeze – U n i v e r s i d a d e Z a m b e z e Sistemas operativos e Redes de Computadores

FCT - Faculdade de Ciências e Tecnologia Tema 5 - SISTEMA DE ARQUIVOS

Figura 5.22: Formato de arquivos execut´aveis (binaries) no Unix

o acesso a determinadas partes de um arquivo. Esta ´e uma forma de organiza¸c˜ao comum em tabelas de
bancos de dados.

Particionado Quando o arquivo ´e composto de subarquivos denominados membros. Para acessar seus membros
(members), o arquivo particionado possui um diret´orio, que funciona como seu´ındice. S˜ao utilizados para
armazenar bibliotecas ou bancos de dados.

5.2 Diret´orios
Um diret´orio (directory) nada mais ´e que um arquivo mantido pelo sistema de arquivos que contˆem uma lista de
arquivos e possivelmente outros diret´orios. Desta forma ´e poss´ıvel criar-se estruturas hier´arquicas de arquivos,
onde os diret´orios existentes dentro de outros s˜ao denominados subdiret´orios, tal como nos sistemas Unix,
OS/2, DOS, Windows e outros.
O que motivou a cria¸c˜ao dos diret´orios ´e o fato de que torna-se dif´ıcil a organiza¸c˜ao de um nu´mero grande
de arquivos armazenados num determinado dispositivo sem qualquer forma de divis˜ao. Os primeiros dispositivos
de armazenamento secund´ario tinham pequena capacidade o que resultava no armazenamento de um pequeno
nu´mero de arquivos, catalogados num diret´orio u´nico associado ao pr´oprio dispositivo. A medida que a
capacidade de armazenamento destes dispositivos cresceu, as unidades de disco passaram a armazenar v´arios
milhares de arquivos, assim a apresenta¸c˜ao de uma simples listagem dos arquivos existentes significaria para o
usu´ario visualizar muitas telas repletas de nomes.
O sistema operacional DOS, em sua vers˜ao 1.0 lan¸cada em 1981, suportava apenas um diret´orio u´nico por
dispositivo, usualmente discos flex´ıveis de limitada capacidade. Com a introdu¸c˜ao de suporte para discos r´ıgidos
de maior capacidade na vers˜ao 2.0 liberada em 1983, foram adicionadas capacidades para cria¸c˜ao e
manuten¸c˜ao de diret´orios e subdiret´orios [JAM87, p. 25].
A cria¸c˜ao de diret´orios permite que os arquivos sejam divididos e organizados conforme seu tipo, propriet
´ario, utiliza¸c˜ao ou qualquer outro crit´erio, possibilitando seu acesso de forma mais simples. Como mostra a
Figura 5.23, existem v´arias organiza¸c˜oes poss´ıveis de diret´orios, tais como em um n´ıvel, em dois n´ıveis ou em
mu´ltiplos n´ıveis (ou em ´arvores).

24 de outubro de 2024 - Curso e ano: Engenharia Mecatrónica , 2º ano semestre 4 Docente: Engo. Essitone Lote Gimo Pag. 8 de 22
UniZambeze – U n i v e r s i d a d e Z a m b e z e Sistemas operativos e Redes de Computadores

FCT - Faculdade de Ciências e Tecnologia Tema 5 - SISTEMA DE ARQUIVOS

Figura 5.23: Organiza¸c˜oes Poss´ıveis de Diret´orios

Tamb´em ´e poss´ıvel organizar-se os diret´orios como grafos ac´ıclicos (acyclic graph directories) que permite
que um arquivo ou mesmo um diret´orio seja apontado por mu´ltiplas entradas presentes em diferentes diret
´orios, ou seja, que tal arquivo ou diret´orio simultaneamente presentes como conteu´do de v´arios diret´orios ao
mesmo tempo, permitindo seu compartilhamento [SG00, p. 356]. Isto ´e comum em sistemas UNIX, onde podem
ser criados links apontando os arquivos ou diret´orios compartilhados.
Internamente os diret´orios s˜ao organizados como um conjunto de entradas, uma para cada arquivos ou
subdiret´orio que contˆem. A cada uma destas entradas s˜ao associados atributos que descrevem as permiss˜oes
associadas aos arquivos, os endere¸cos onde o arquivo est´a fisicamente armazenado no dispositivo e outras
informa¸c˜oes tais como tamanho do arquivo, data de cria¸c˜ao, etc. como visto na se¸c˜ao 5.5.1.
No sistema de arquivos FAT (file allocation table) do MS-DOS e outros sistema operacionais, uma entrada t
´ıpica de diret´orio possui a estrutura ilustrada na Tabela 5.5 [JAM87, p. 266] [NOR89, p. 106] [TAN92, p. 167]. Nos
sistemas Unix as entradas de diret´orios s˜ao bem mais simples, como mostra a Tabela 5.6.
Quando s˜ao solicitadas opera¸c˜oes sobre arquivos, tais como abertura ou cria¸c˜ao de um arquivo, o
sistema operacional consulta o diret´orio corrente Tabela 5.5: Entrada de diret´orio do sistema de arquivos FAT
Campo Tamanho
(bytes)
Nome do arquivo 8
Extens˜ao 3
Atributos 1
Reservado para DOS 10
Hora 2
Data 2
Nu´mero do Setor Inicial 2
Tamanho do Arquivo 4
Total 32
Tabela 5.6: Entrada de diret´orio de sistemas Unix

24 de outubro de 2024 - Curso e ano: Engenharia Mecatrónica , 2º ano semestre 4 Docente: Engo. Essitone Lote Gimo Pag. 9 de 22
UniZambeze – U n i v e r s i d a d e Z a m b e z e Sistemas operativos e Redes de Computadores

FCT - Faculdade de Ciências e Tecnologia Tema 5 - SISTEMA DE ARQUIVOS

Campo Tamanho
(bytes)
Nu´mero do I- 2
Node
Nome do Arquivo 14
Total 16
(current directory), isto ´e, o diret´orio que est´a sendo consultado no momento, verificando a existˆencia do
arquivo desejado para abertura ou a possibilidade de cria¸c˜ao de um novo arquivo segundo as regras de
identifica¸c˜ao do sistema.
A existˆencia de uma estrutura de diret´orios traz como implica¸c˜ao direta a necessidade de uma forma de
denomina¸c˜ao u´nica dos arquivo considerandose o sistema como um todo. Da mesma forma que n˜ao ´e poss´ıvel
a existˆencia de dois arquivos de mesmo nome em um mesmo diret´orio, dois arquivos ou diret´orios quaisquer
n˜ao podem ter a mesma denomina¸c˜ao do ponto de vista do sistema. Esta denomina¸c˜ao sistˆemica dos arquivos
´e chamada de especifica¸c˜ao completa do caminho do arquivo ou apenas caminho do arquivo (pathname) e deve
permitir a identifica¸c˜ao u´nica de qualquer arquivo ou diret´orio do sistema.
A especifica¸c˜ao de caminho de arquivo pode ser absoluta (absolute pathname) ou relativa (relative pathname)
quando se refere a diret´orio corrente. Muitas vezes o diret´orio corrente ´e tratado como diret´orio de trabalho
(working directory).
Os caminhos de arquivos para arquivos ou diret´orios s˜ao formados pelo nome dos diret´orios nos quais est˜ao
contidos, sendo que utiliza-se um caractere especial, que n˜ao pode ser utilizado na denomina¸c˜ao de arquivos e
diret´orios, como ”
O sistemas operacionais DOS e Windows utilizam-se de uma estrutura de diret´orios hierarquicamente
organizada, tal como nos sistemas Unix, diferenciando-se pelo caractere de separa¸c˜ao de nomes e principalmente
pela forma de denomina¸c˜ao de dispositivos. Enquanto que no Unix os dispositivos s˜ao tratados como arquivos
especiais e mapeados diretamente no sistema de arquivos a partir de diret´orios arbitr´arios, isto ´e, especificados
pelo usu´ario durante a configura¸c˜ao ou opera¸c˜ao do sistema atrav´es do comando mount [CON99, p. 224], tanto
o DOS como o Windows d˜ao uma denomina¸c˜ao espec´ıfica para cada dispositivo f´ısico, chamando-os de
unidades. Sendo assim, qualquer que seja o dispositivo de armazenamento, ou seja, para floppies, discos,
CD-R/RWs etc., sempre temos um diret´orio raiz para cada unidade. Da´ı a necessidade de adicionar-se a
especifica¸c˜ao da unidade ao caminho absoluto e tamb´em a impossibilidade de especificar-se caminhos relativos
envolvendo unidades distintas.

24 de outubro de 2024 - Curso e ano: Engenharia Mecatrónica , 2º ano semestre 4 Docente: Engo. Essitone Lote Gimo Pag. 10 de 22
UniZambeze – U n i v e r s i d a d e Z a m b e z e Sistemas operativos e Redes de Computadores

FCT - Faculdade de Ciências e Tecnologia Tema 5 - SISTEMA DE ARQUIVOS

Figura 5.24: Estrutura de diret´orio de um sistema Unix

Na maioria dos casos, os sistemas operacionais utilizam-se de diret´orios particulares para armazenamento de
arquivos espec´ıficos, como mostra a Tabela 5.7.

5.3 Servi¸cos do sistema operacional


O sistema operacional, atrav´es de seu sistema de arquivo, deve prover um conjunto de opera¸c˜oes para
manipula¸c˜ao dos arquivos e de seu conteu´do e tamb´em dos diret´orios. Do ponto de vista dos arquivos, visto
como unidades, devem ser oferecidas as seguintes opera¸c˜oes [DEI92, p. 389] [TAN92, p. 153]:

• Abertura (open) prepara arquivo para uso.


Tabela 5.7: Diret´orios espec´ıficos
Sistema Diret´orio Prop´osito
operacional
DOS DOS Arquivos do sistema
TMP ou TEMP Arquivos tempor´arios

Windows Windows Utilit´arios do sistema


95/98
Windows\System Arquivos do sistema

Windows\Temp Arquivos tempor´arios

Windows\Command Arquivos do DOS

Arquivos de Programa Produtos instalados

Meus Documentos Arquivos do usu´ario

Unix usr Programas de usu´arios


24 de outubro de 2024 - Curso e ano: Engenharia Mecatrónica , 2º ano semestre 4 Docente: Engo. Essitone Lote Gimo Pag. 11 de 22
UniZambeze – U n i v e r s i d a d e Z a m b e z e Sistemas operativos e Redes de Computadores

FCT - Faculdade de Ciências e Tecnologia Tema 5 - SISTEMA DE ARQUIVOS

home Diret´orios de usu´arios

bin Arquivos bin´arios do


sistema
etc Arquivos diversos de config.

OS/2 OS2 Utilit´arios do sistema


OS2\System Arquivos do sistema

OS2\MDOS Arquivos do DOS

• Fechamento (close) encerra o uso do arquivo evitando sua altera¸c˜ao.

• Cria¸c˜ao (create) cria um novo arquivo.

• Elimina¸c˜ao (erase, delete ou destroy) remove um arquivo.

• Renomea¸c˜ao (rename) troca o nome de um arquivo.

• C´opia (copy) copia o conteu´do de um arquivo para outro.

• Exibi¸c˜ao (type ou list) exibe o conteu´do de um arquivo.

• Cataloga¸c˜ao (cat ou dir) lista os arquivos existentes num determinado diret´orio ou unidade.

• Modifica¸c˜ao de atributos (get ou set) obtˆem ou modifica os atributos de um arquivo.

Do ponto de vista do conteu´do dos arquivos, isto ´e, considerando a manipula¸c˜ao dos dados armazenados nos
arquivos, devem tamb´em existir opera¸c˜oes para:

• Leitura (read) possibilita a leitura de dados contidos nos arquivos.

• Escrita (write) efetua a grava¸c˜ao de dados em um arquivo.

• Pesquisa (seek ou find) para determinar uma posi¸c˜ao para escrita ou leitura em um arquivo.
• Anexa¸c˜ao (append) para adi¸c˜ao de novos dados num arquivo existente.

• Inser¸c˜ao (insert) para inclus˜ao de um dado em um arquivo.

• Atualiza¸c˜ao (update) para modifica¸c˜ao de um dado existente em um arquivo.

• Elimina¸c˜ao (delete) para remo¸c˜ao de um dado existente em um arquivo.

As opera¸c˜oes de inser¸c˜ao, atualiza¸c˜ao e elimina¸c˜ao de dados em arquivos n˜ao s˜ao comuns, existindo em
sistemas de grande porte onde os arquivos s˜ao usualmente organizados em blocos ou registros formatados.
Como muitos sistemas de arquivos suportam diret´orios, opera¸c˜oes espec´ıficas deve ser supridas para sua
utiliza¸c˜ao [TAN92][p. 161] [SG00, p.
350]

• Cria¸c˜ao (create) efetua a cria¸c˜ao e preparo de um novo diret´orio.


24 de outubro de 2024 - Curso e ano: Engenharia Mecatrónica , 2º ano semestre 4 Docente: Engo. Essitone Lote Gimo Pag. 12 de 22
UniZambeze – U n i v e r s i d a d e Z a m b e z e Sistemas operativos e Redes de Computadores

FCT - Faculdade de Ciências e Tecnologia Tema 5 - SISTEMA DE ARQUIVOS

• Remo¸c˜ao (delete ou remove) elimina um diret´orio e opcionalmente seu conteu´do.

• Abertura (open) opera¸c˜ao que permite a leitura de um diret´orio.

• Fechamento (close) opera¸c˜ao que encerra o uso de um dado diret´orio.

• Leitura (read) permite a leitura do conteu´do de um diret´orio, ou seja, sua cataloga¸c˜ao ou listagem.

• Pesquisa (search) para possibilitar a localiza¸c˜ao de determinados arquivos em um diret´orio.

• Renomea¸c˜ao (rename) troca o nome de um diret´orio.

• Navega¸c˜ao (traverse) permite a navega¸c˜ao entre diret´orios do sistema.

Ainda podem ser poss´ıveis outras opera¸c˜oes sobre arquivos e diret´orios, tais como sua reorganiza¸c˜ao sob
algum crit´erio (ordena¸c˜ao), inclus˜ao ou remo¸c˜ao de liga¸c˜oes (links no sistema Unix, atalhos nos sistemas
Windows ou shadows nos sistemas OS/2), obten¸c˜ao de informa¸c˜oes sobre arquivos ou diret´orios, associa¸c˜ao
com aplicativos etc.
Todas as opera¸c˜oes suportadas pelo sistema operacional para manipula¸c˜ao de arquivos e diret´orios est˜ao
dispon´ıveis para utiliza¸c˜ao em programas atrav´es das chamadas do sistema (system calls), como no exemplo
dado no Exemplo 5.1 de algumas chamadas para um programa simples destinado ao sistema Unix.
// vari´avel para controle do arquivo int arquivo;

// cria¸c~ao de arquivo arquivo = create("nome do arquivo", modo);

// abertura de arquivo apenas para leitura arquivo = open("nome do arquivo", O RDONLY);

// leitura de arquivo read(arquivo, buffer, tamanho do buffer);

// escrita em arquivo write(arquivo, buffer, tamanho do buffer);

// fecha arquivo close(arquivo);

Exemplo 5.1 Fragmentos de programa para sistema Unix

5.4 Implementa¸c˜ao L´ogica


Como implementa¸c˜ao l´ogica de um sistema de arquivos entende-se a met´afora que ´e apresentada ao usu´ario
do sistema para que o sistema de arquivos se torne compreens´ıvel da maneira mais simples poss´ıvel, isto ´e, de
modo que os detalhes da implementa¸c˜ao e funcionamento reais do sistema de arquivos sejam completamente
ocultos do usu´ario do sistema.
Nos sistemas DOS, Windows e Unix, o usu´ario entende o sistema de arquivos como uma estrutura hier´arquica
de diret´orios que admite opera¸c˜oes sobre arquivos e diret´orios. Utilizando uma interface de modo texto que
oferece uma linha de comando, isto ´e, uma interface tipo linha de comando ou prompt do sistema, o usu´ario pode
digitar comandos para realizar as opera¸c˜oes desejadas imaginando a organiza¸c˜ao hier´arquica de diret´orios e
arquivos que n˜ao ´e diretamente vis´ıvel atrav´es destas interfaces simples. Na Tabela 5.8 a seguir temos alguns
exemplos de comandos DOS, Windows e Unix para manipula¸c˜ao de arquivos e diret´orios.

24 de outubro de 2024 - Curso e ano: Engenharia Mecatrónica , 2º ano semestre 4 Docente: Engo. Essitone Lote Gimo Pag. 13 de 22
UniZambeze – U n i v e r s i d a d e Z a m b e z e Sistemas operativos e Redes de Computadores

FCT - Faculdade de Ciências e Tecnologia Tema 5 - SISTEMA DE ARQUIVOS

As interfaces em modo texto exigem maior abstra¸c˜ao do usu´ario, que deve memorizar a sintaxe dos
comandos que utiliza mais frequ¨entemente, o que evidentemente significa que tais usu´arios devem ter maior
proficiˆencia t´ecnica para utiliza¸c˜ao destes sistemas.
Esta dificuldade motivou o desenvolvimento de interfaces gr´aficas que, entre outros benef´ıcios,
possibilitassem:

• uma abstra¸c˜ao mais simples do sistema de arquivos,


Tabela 5.8: Comandos DOS, Windows e Unix para manipula¸c˜ao de arquivos
Prop´osito DOS Windows Unix
Copiar arquivo copy copy cp
Renomear ren ren mv
arquivo
Apagar arquivo del del rm
Mover arquivo N/D move mv
Exibir arquivo type type more
Listar arquivos dir dir ls
Criar diret´orio md md mkdir
Remover diret rd rd rmdir
´orio
Troca de diret cd cd cd
´orio
• uma melhor visualiza¸c˜ao da distribui¸c˜ao de arquivos atrav´es da estrutura de diret´orios e unidades de
armazenamento,

• maior produtividade do usu´ario e

• cria¸c˜ao de um modelo de interface mais consistente que pudesse ser disponibilizada para outras
aplica¸c˜oes.

Para os sistemas Unix foi criado o padr˜ao gr´afico de janelas Xwindows, que pode ser utilizado para
desenvolvimento de aplica¸c˜oes gr´aficas, e tamb´em o CDE (Common Desktop Environment), conduzido por um
cons´orcio dos maiores fabricantes de sistemas Unix num esfor¸co de padroniza¸c˜ao da interface gr´afica de seus
sistemas. Outros fabricantes, tais como IBM, Microsoft e Apple oferecem seus sistemas operacionais com interfaces
gr´aficas propriet´arias, todas baseadas em janelas.
O tratamento gr´afico que especificamente os sistemas MS-Windows d˜ao a estrutura de diret´orios, isto ´e,
uma organiza¸c˜ao hier´arquica de pastas nas quais podem existir arquivos e outras pastas ´e a id´eia central da
met´afora apresentada. Mesmo sem o conhecimento de comandos de navega¸c˜ao na estrutura de diret´orios ou de
opera¸c˜oes sobre arquivos, o usu´ario dos sistemas MS-Windows pode se movimentar pela estrutura de diret
´orios, pode copiar, renomear, eliminar e criar arquivos ou diret´orios apenas atrav´es da utiliza¸c˜ao do sistema de
menus oferecidos ou das opera¸c˜oes que podem ser realizadas atrav´es do teclado ou mouse. Tamb´em ´e poss
´ıvel executar-se aplica¸c˜oes e criar-se atalhos (links).
As opera¸c˜oes realizadas atrav´es dos menus, teclado e mouse s˜ao transformadas pelo sistema operacional em
chamadas do sistema que realizam as tarefas especificadas, evitando tanto o conhecimento da forma com que tais
opera¸c˜oes s˜ao verdadeiramente realizadas como a memoriza¸c˜ao dos comandos de manipula¸c˜ao de arquivos e
diret´orios.
24 de outubro de 2024 - Curso e ano: Engenharia Mecatrónica , 2º ano semestre 4 Docente: Engo. Essitone Lote Gimo Pag. 14 de 22
UniZambeze – U n i v e r s i d a d e Z a m b e z e Sistemas operativos e Redes de Computadores

FCT - Faculdade de Ciências e Tecnologia Tema 5 - SISTEMA DE ARQUIVOS

Nas Figuras 5.25 e 5.26 temos exemplos dos utilit´arios de gerenciamento


de arquivos que acompanham os sistemas MS-Windows 95/98/NT e XP respectivamente.

Figura 5.25: Gerenciador de arquivos do MS-Windows 95/98/NT

Estas interfaces gr´aficas facilitam muito a opera¸c˜ao do sistema principalmente para usu´arios menos
experientes, al´em disso proporcionam melhor visualiza¸c˜ao da estrutura de diret´orios e da distribui¸c˜ao de
arquivos pelos diret´orios e unidades de armazenamento do sistema.

5.5 Implementa¸c˜ao F´ısica


A implementa¸c˜ao f´ısica de um sistema de arquivos representa a forma com que efetivamente os dados s˜ao
tratados nos dispositivos de armazenamento, isto ´e, corresponde a organiza¸c˜ao f´ısica dos dados nestes
dispositivos e como se d˜ao as opera¸c˜oes de armazenamento e recupera¸c˜ao destes dados. Conforme
Tanenbaum:
Usu´arios est˜ao preocupados em como os arquivos s˜ao denominados, quais opera¸c˜oes s˜ao permitidas, a
aparˆencia da estrutura de diret´orios e quest˜oes relacionadas a interface. Os implementadores est˜ao
interessados em como arquivos e diret´orios s˜ao armazenados, como o espa¸co em disco ´e gerenciado e
como fazer que tudo funcione de forma eficiente e confi´avel [TAN92, p. 162].

Como indicado por Deitel [DEI92, p. 394] e Tanenbaum [DEI92, p. 162], os arquivos podem ser armazenados
basicamente de duas formas, ou seja, atrav´es da:

24 de outubro de 2024 - Curso e ano: Engenharia Mecatrónica , 2º ano semestre 4 Docente: Engo. Essitone Lote Gimo Pag. 15 de 22
UniZambeze – U n i v e r s i d a d e Z a m b e z e Sistemas operativos e Redes de Computadores

FCT - Faculdade de Ciências e Tecnologia Tema 5 - SISTEMA DE ARQUIVOS

Figura 5.26: Gerenciador de arquivos do MS-Windows XP

• Aloca¸c˜ao cont´ıgua e

• Aloca¸c˜ao n˜ao cont´ıgua.


O projeto de um sistema de arquivos exige o conhecimento de v´arias informa¸c˜oes, entre elas: o tipo e nu
´mero de usu´arios; caracter´ısticas das aplica¸c˜oes que ser˜ao utilizadas; quantidade, tamanho e opera¸c˜oes sobre
arquivos. A considera¸c˜ao destes fatores permite determinar qual a melhor forma de organiza¸c˜ao de seus
arquivos e diret´orios.

Aloca¸c˜ao cont´ıgua
Uma forma de organizar-se os arquivos fisicamente ´e atrav´es da armazenagem dos dados em ´areas adjacentes
dos dispositivos f´ısicos, isto ´e, em setores consecutivos das unidades de disco [SG00, p. 373]. Sistemas de
arquivos implementados desta forma s˜ao denominados de aloca¸c˜ao cont´ıgua ou cont´ınua e neles o
armazenamento f´ısico corresponde `a organiza¸c˜ao l´ogica do arquivo, ou seja, o primeiro bloco de dados ocupa o
primeiro setor alocado e assim sucessivamente (vide Figura 5.27).
Este ´e o esquema mais simples de organiza¸c˜ao f´ısica de arquivos que exibe algumas vantagens e
desvantagens [DEI92, p. 395] [DEI92, p. 163]. As vantagens s˜ao:

• o controle de armazenamento do arquivo, isto ´e, a manuten¸c˜ao de diret´orios, se reduz ao tamanho do


arquivo e ao setor inicial utilizado e

24 de outubro de 2024 - Curso e ano: Engenharia Mecatrónica , 2º ano semestre 4 Docente: Engo. Essitone Lote Gimo Pag. 16 de 22
UniZambeze – U n i v e r s i d a d e Z a m b e z e Sistemas operativos e Redes de Computadores

FCT - Faculdade de Ciências e Tecnologia Tema 5 - SISTEMA DE ARQUIVOS

Figura 5.27: Organiza¸c˜ao f´ısica na aloca¸c˜ao cont´ıgua

• as opera¸c˜oes de leitura e escrita s˜ao as mais eficientes poss´ıveis para qualquer tipo de dispositivo.

Enquanto que as desvantagens s˜ao:

• exige que o tamanho do arquivo seja conhecido no instante de sua cria¸c˜ao e

• a ocorrˆencia de fragmenta¸c˜ao (veja discuss˜ao na se¸c˜ao5.5.6) reduz a capacidade efetiva de


armazenamento, pois novos arquivos s´o podem ser criados em ´areas cont´ıguas.

Sistemas que exigem maior performance nas opera¸c˜oes de leitura e escrita e que n˜ao necessitem de
modifica¸c˜oes frequ¨entes no tamanho de seus arquivos podem utilizar eficientemente este esquema de
aloca¸c˜ao, tal como o sistema operacional IBM Vm/CMS.

Aloca¸c˜ao n˜ao cont´ıgua


A outra forma poss´ıvel de organizar-se fisicamente o armazenamento de arquivos ´e atrav´es da aloca¸c˜ao n˜ao
cont´ıgua. Neste esquema cada bloco do arquivo pode estar armazenado num setor distinto da unidade de disco,
de forma que o armazenamento f´ısico n˜ao corresponde `a organiza¸c˜ao l´ogica do arquivo, como mostra a Figura
5.28.
O principal objetivo da aloca¸c˜ao n˜ao-cont´ıgua ´e proporcionar um mecanismo mais apropriado para o
armazenamento de arquivos que tendem a ter seus tamanhos aumentados ou diminu´ıdos conforme s˜ao
utilizados.
A aloca¸c˜ao n˜ao-cont´ıgua pode ser implementada de v´arias formas e dentre estas as estrat´egias de
aloca¸c˜ao orientadas `a setores:

• Lista ligada de setores

• Lista ligada de setores indexada

24 de outubro de 2024 - Curso e ano: Engenharia Mecatrónica , 2º ano semestre 4 Docente: Engo. Essitone Lote Gimo Pag. 17 de 22
UniZambeze – U n i v e r s i d a d e Z a m b e z e Sistemas operativos e Redes de Computadores

FCT - Faculdade de Ciências e Tecnologia Tema 5 - SISTEMA DE ARQUIVOS

Figura 5.28: Organiza¸c˜ao f´ısica na aloca¸c˜ao n˜ao cont´ıgua

• Indexa¸c˜ao de n´os (i-nodes)

Na lista ligada de setores (linked list allocation) cada setor do disco contˆem um ponteiro que pode ser
utilizado para indicar um outro setor [SG00, p. 376]. Desta forma uma arquivo pode ser armazenado atrav´es de
uma entrada simples no diret´orio que indica o primeiro de uma sequ¨ˆencia de setores, onde cada um destes
setores aponta para o pr´oximo. Um ponteiro com valor nulo indica que o arquivo terminou (vide Figura 5.29).
N˜ao existe necessidade dos setores alocados estarem em posi¸c˜oes adjacentes tal como na aloca¸c˜ao cont´ıgua. O
sistema pode manter uma lista de setores livres, que podem ser retirados para a cria¸c˜ao e aumento de arquivos
ou recuperados quando diminuem ou s˜ao eliminados. Isto permite um mecanismo de armazenamento que
acomoda facilmente as varia¸c˜oes de tamanho dos arquivos, usando integralmente a capacidade do disco,
eliminando a necessidade de mecanismos de compacta¸c˜ao embora promova a fragmenta¸c˜ao da unidade de
disco.

Figura 5.29: Aloca¸c˜ao n˜ao cont´ıgua com lista ligada

Conforme Tanenbaum [TAN92, p. 163] os maiores problemas encontrados no uso do mecanismo de uma lista
ligada de setores s˜ao:

1.As opera¸c˜oes de leitura e escrita tendem a ser ineficientes devido afragmenta¸c˜ao inerente deste m
´etodo.
2.O acesso randˆomico deixa de existir pois torna-se necess´ario ler cadasetor alocado para se determinar o
pr´oximo at´e a posi¸c˜ao desejada.
3.O posicionamento do ponteiro dentro de cada setor faz com que o blocode dados deixe de ser uma
potˆencia de 2, criando alguns inconvenientes do ponto de vista de programa¸c˜ao.

24 de outubro de 2024 - Curso e ano: Engenharia Mecatrónica , 2º ano semestre 4 Docente: Engo. Essitone Lote Gimo Pag. 18 de 22
UniZambeze – U n i v e r s i d a d e Z a m b e z e Sistemas operativos e Redes de Computadores

FCT - Faculdade de Ciências e Tecnologia Tema 5 - SISTEMA DE ARQUIVOS

A lista ligada de setores indexada utiliza o mesmo princ´ıpio de armazenamento de setores interligados
eliminando o inconveniente associado ao ponteiro existente em cada setor. E criada uma tabela contendo a
rela¸c˜ao´ de todos os setores do dispositivos sendo que para cada entrada se associa um ponteiro (retirado dos
setores de dados). A entrada do diret´orio correspondente ao arquivo aponta para um setor desta tabela (o
primeiro setor do arquivo) que tem associado um ponteiro para a pr´oxima entrada e assim sucessivamente. Um
ponteiro nulo indica o fim do arquivo na tabela. Isto permite o acesso randˆomico do arquivo e mantˆem o bloco de
dados do setor num tamanho que ´e potˆencia de 2, embora a ineficiˆencia devido a fragmenta¸c˜ao permane¸ca.
Temos uma representa¸c˜ao deste esquema de organiza¸c˜ao na Figura 5.30.

Figura 5.30: Aloca¸c˜ao n˜ao cont´ıgua com lista ligada indexada

A principal desvantagem deste m´etodo ´e o tamanho que da tabela de aloca¸c˜ao pode ter em unidades de
grande capacidade, por exemplo, uma unidade de 1.2 Gbytes dividida em setores de 1 Kbytes possui uma tabela de
aloca¸c˜ao com mais de um milh˜ao de entradas, que pode consumir espa¸co precioso para ser mantida
integralmente em mem´oria, pois cada entrada da tabela tipicamente utiliza 3 ou 4 bytes dependendo de como se d
´a a otimiza¸c˜ao do sistema [TAN92, p. 164].
O DOS e Windows utilizam esta estrat´egia para a organiza¸c˜ao f´ısica de floppies e unidades de disco. A tabela
de setores ´e chamada de Tabela de Aloca¸c˜ao de Arquivos (file allocation table) que d´a origem ao nome do
sistema de arquivos FAT. Na FAT o registro inicial armazena informa¸c˜oes sobre a pr´opria unidade, existindo
valores especiais para designa¸c˜ao de fim de arquivo e setores defeituosos [NOR89, p. 112].
A numera¸c˜ao associada ao nome FAT, como FAT12, FAT16 e FAT32, indica o nu´mero de bits utilizado para
numera¸c˜ao dos setores, representando assim a quantidade m´axima de setores que pode ser controlada, ou seja,
12 bits permitem endere¸car 4.096 setores, 16 bits endere¸cam 64K setores e 32 bits possibilitam 4G setores
distintos. Isto exibe outra fraqueza desta estrat´egia, uma unidade de 1.2 GBytes de capacidade possuir´a setores
de 512K (307,2K) e 32K (19,2K) com FAT de 12 e 16 bits respectivamente, o que ´e um inconveniente devido a
granularidade excessivamente grossa (um arquivo de 1 byte ocupa sempre um setor).
24 de outubro de 2024 - Curso e ano: Engenharia Mecatrónica , 2º ano semestre 4 Docente: Engo. Essitone Lote Gimo Pag. 19 de 22
UniZambeze – U n i v e r s i d a d e Z a m b e z e Sistemas operativos e Redes de Computadores

FCT - Faculdade de Ciências e Tecnologia Tema 5 - SISTEMA DE ARQUIVOS

Outra forma comum de organiza¸c˜ao de arquivos ´e atrav´es da indexa¸c˜ao de n´os (index nodes ou i-nodes).
Um n´o indexado ´e uma pequena estrutura de dados que contˆem um conjunto de atributos e umas poucas
centenas de entradas onde cada entrada ´e um endere¸co de um bloco de dados na unidade de disco. Desta forma,
um pequeno arquivo pode ser mapeado com um u´nico i-node, otimizando todas as opera¸c˜oes realizadas sobre
ele. Se o arquivo n˜ao puder ser armazenado num u´nico i-node, alguns dos endere¸cos de blocos de dados s˜ao
substitu´ıdos por endere¸cos de outros i-nodes denominados de bloco indireto simples (single indirect block). Para
arquivos ainda maiores podem ser usados blocos indiretos duplos ou triplos (double ou triple indirect block). Este
´e esquema tipicamente utilizado pelos sistemas Unix, como tamb´em esquematizado na Figura 5.31.
Uma varia¸c˜ao destas estrat´egias ´e alocar grupos de setores, denominados blocos (blocks ou extents) ao inv
´es de setores individuais, no que se denomina estrat´egias de aloca¸c˜ao orientadas `a blocos. Estas estrat´egias
visam combinar algumas das vantagens da aloca¸c˜ao cont´ıgua e da aloca¸c˜ao n˜ao cont´ıgua atrav´es da aloca¸c˜ao
de blocos ao inv´es de setores individuais, o que elimina parcialmente o problema da fragmenta¸c˜ao al´em de
permitir a otimiza¸c˜ao da leitura ou escrita atrav´es de opera¸c˜oes com blocos inteiros (read ahead ou lazy write).
Como indica Deitel [DEI92, p. 397], existem v´arias maneiras de se implementar sistemas de aloca¸c˜ao orientados
`a blocos, semelhantes as existentes para setores:

• Lista ligada de blocos (block chaining)

Figura 5.31: Aloca¸c˜ao n˜ao cont´ıgua com I-Nodes

• Lista ligada de blocos indexada (index block chaining)

• Mapeamento orientado `a blocos (block oriented file mapping)

Na lista ligada de blocos um nu´mero fixo de setores ´e alocado de cada vez, isto ´e, os blocos possuem o
mesmo tamanho, de modo que cada bloco contenha um ponteiro para o pr´oximo bloco tal como na lista ligada de
setores, apresentando vantagens e desvantagens idˆenticas.
Na lista ligada de blocos indexada, cujo princ´ıpio tamb´em ´e o mesmo da lista ligada de setores indexada,
´e poss´ıvel termos blocos de tamanho fixo ou vari´avel, num mecanismo mais flex´ıvel para o armazenamento de
dados.
24 de outubro de 2024 - Curso e ano: Engenharia Mecatrónica , 2º ano semestre 4 Docente: Engo. Essitone Lote Gimo Pag. 20 de 22
UniZambeze – U n i v e r s i d a d e Z a m b e z e Sistemas operativos e Redes de Computadores

FCT - Faculdade de Ciências e Tecnologia Tema 5 - SISTEMA DE ARQUIVOS

No mapeamento orientado `a blocos, os ponteiros s˜ao substitu´ıdos por um esquema de numera¸c˜ao que
pode ser facilmente convertido para a numera¸c˜ao de setores de uma unidade de disco. As opera¸c˜oes de
modifica¸c˜ao de tamanho de arquivos se tornam bastante ´ageis neste esquema [DEI92, p.
400].

5.6 Fragmenta¸c˜ao
Sob certos aspectos, os problemas de que devem ser resolvidos para organiza¸c˜ao do armazenamento secund´ario
s˜ao semelhantes aos encontrados no gerenciamento de mem´oria. A forma de armazenamento mais simples ´e a
disposi¸c˜ao dos dados em setores adjacentes das unidades de disco, mas os arquivos s˜ao frequ¨entemente
modificados e eliminados e com isto seus tamanhos s˜ao vari´aveis. Este fato provoca o que se chama de
fragmenta¸c˜ao, isto ´e, come¸cam a surgir setores livres entre setores ocupados.
Se o armazenamento de arquivos ´e feito atrav´es da aloca¸c˜ao cont´ıgua temos que uma altera¸c˜ao em seu
tamanho imp˜oe algum grau de fragmenta¸c˜ao, pois se seu tamanho aumenta e a regi˜ao de armazenamento atual
n˜ao pode ser expandida, a ´area anteriormente utilizada provavelmente ficar´a livre enquanto o arquivo ser´a
rearranjado numa outra ´area. Na situa¸c˜ao em que o arquivo tem seu tamanho reduzido, sobrar˜ao alguns setores
livres no final de sua ´area original que s´o poder˜ao ser ocupados por pequenos arquivos.
Na Figura 5.32 temos uma esquematiza¸c˜ao da ocorrˆencia da fragmenta¸c˜ao em sistemas de arquivos com
aloca¸c˜ao cont´ıgua e tamb´em com aloca¸c˜ao n˜ao cont´ıgua.

Figura 5.32: Ocorrˆencia de fragmenta¸c˜ao com aloca¸c˜ao cont´ıgua

Na aloca¸c˜ao cont´ıgua temos que os arquivos s˜ao armazenados sempre em setores consecutivos, assim o
desempenho de opera¸c˜oes de leitura e escrita n˜ao ´e comprometido pela fragmenta¸c˜ao, por outro lado a
utiliza¸c˜ao do disco ser´a comprometida pois setores fragmentados do disco poder˜ao permanecer livres n˜ao
possibilitando o armazenamento de arquivos maiores.
Caso o armazenamento de arquivos seja feito atrav´es de aloca¸c˜ao n˜ao cont´ıgua, setores livres passam a ser
ocupados de forma descontinua pelos arquivos a medida que seus tamanhos aumentam ou diminuem. Embora o
aproveitamento do espa¸co em disco seja integral, as opera¸c˜oes de leitura e escrita ter˜ao seu desempenho
comprometido tanto mais fragmentado esteja o arquivo sob uso.
Notamos que em ambos os casos ocorre a fragmenta¸c˜ao. Satyanarayanan (1981) efetuou um estudo sobre o
tamanho dos arquivos e as opera¸c˜oes realizadas sobre eles concluindo que:

24 de outubro de 2024 - Curso e ano: Engenharia Mecatrónica , 2º ano semestre 4 Docente: Engo. Essitone Lote Gimo Pag. 21 de 22
UniZambeze – U n i v e r s i d a d e Z a m b e z e Sistemas operativos e Redes de Computadores

FCT - Faculdade de Ciências e Tecnologia Tema 5 - SISTEMA DE ARQUIVOS

• a maioria dos arquivos ´e de pequeno tamanho,

• as opera¸c˜oes de leitura s˜ao mais frequ¨entes que as opera¸c˜oes de escrita,

• a maioria das opera¸c˜oes de leitura e escrita s˜ao sequ¨enciais e

• que grande parte dos arquivos tem vida curta.

Isto significa que a fragmenta¸c˜ao ir´a ocorrer qualquer que seja a forma de aloca¸c˜ao. Como isto pode n˜ao ser
admiss´ıvel em certos sistemas, podem ser implementados mecanismos de compacta¸c˜ao ou desfragmenta¸c˜ao
que reorganizam o armazenamento nos dispositivos de armazenamento de forma a possibilitar a utiliza¸c˜ao
integral do espa¸co dispon´ıvel no caso da aloca¸c˜ao cont´ıgua ou de otimizar as opera¸c˜oes de leitura e escrita
quando a aloca¸c˜ao ´e n˜ao-cont´ıgua.
Outros sistemas oferecem utilit´arios que podem realizar esta opera¸c˜ao, permitindo ao usu´ario ou
administrador maior controle sobre o armazenamento, como ilustrado na Figura 5.33.

Figura 5.33: Utilit´ario de desfragmenta¸c˜ao de disco do MS-Windows 98

24 de outubro de 2024 - Curso e ano: Engenharia Mecatrónica , 2º ano semestre 4 Docente: Engo. Essitone Lote Gimo Pag. 22 de 22

Você também pode gostar