1. CEETEPS – CENTRO ESTADUAL DE EDUCAÇÃO TECNOLÓGICA
―PAULA SOUZA‖
ETEC FERNANDO PRESTES
TÉCNICO EM INFOMÁTICA
Michel das Neves
Wesley Germano Otávio
DISTRIBUIÇÃO LINUX FEDORA
Sorocaba – SP
2013
2. Michel das Neves Nº24
Wesley Germano Otávio Nº40 1º TIN
Sistemas de Arquivos e Partições
Trabalho da disciplina Gestão de sistemas
operacionais sobre Sistemas de Arquivos e Partições
Professor (a): Jones Artur
Sorocaba-SP
2013
3. Resumo
Este trabalho apresenta os requisitos que devem ser de conhecimento primordial
para a formatação de computadores, e se fazem preciso para uma correta
manipulação de arquivos, onde a instalação e a movimentação de arquivos dentro
de um sistema podem influir na disposição do mesmo que pode causar transtornos,
mas se forem feitas corretamente acomodadas e organizadas de forma adequada
podem contribuir para um bom desempenho no sistema.
Palavras chaves: sistemas de arquivos, sistema, partições e formatação.
4. SUMÁRIO
1.
INTRODUÇÃO ..................................................................................................... 4
2.
SISTEMAS DE ARQUIVOS E PARTIÇÃO........................................................... 5
2.1. Partição .......................................................................................................... 5
2.1.1. Geometria de disco.................................................................................. 5
2.1.2. Partição DOS — MBR ............................................................................. 5
2.1.3. Gpt (efi) .................................................................................................. 10
2.1.4. Ferramentas .......................................................................................... 11
2.1.4.1.
Particionamento destrutivo e não destrutivo ....................................... 11
2.1.4.2.
Particionadores Gráficos .................................................................... 11
2.1.4.3.
Particionador integrado aos instaladores ........................................... 11
2.2. Sistema de arquivos ..................................................................................... 12
2.2.1.
Atributos de arquivos ................................................................................ 13
2.2.2.
Operações sobre arquivos ........................................................................ 14
2.2.3.
Sistemas de ficheiros mais conhecidos .................................................... 15
2.2.3.1.
Sistemas de arquivos utilizados no Windows ........................................ 16
2.2.3.1.1.
FAT16................................................................................................. 16
2.2.3.1.2.
FAT32................................................................................................. 16
2.2.3.1.3.
NTFS .................................................................................................. 16
2.2.3.2.
Sistema de Arquivos Utilizados no Linux/Unix: ...................................... 17
2.2.3.2.1.
EXT2 .................................................................................................. 17
2.2.3.2.2.
EXT3 .................................................................................................. 17
2.2.3.2.3.
ReiserFS ............................................................................................ 18
2.2.3.2.4.
JFS (Journaling File System) ............................................................. 18
2.2.3.2.5.
XFS .................................................................................................... 19
2.2.3.2.6.
VFAT .................................................................................................. 19
2.2.3.2.7.
Journaling ........................................................................................... 19
2.2.3.2.7.1.
Tipos de Journaling no ext3 ............................................................ 20
3.
CONCLUSÃO .................................................................................................... 21
4.
REFERÊNCIAS .................................................................................................. 22
5. 4
1. INTRODUÇÃO
Nos HDs o preparo dos dados e a sua organização se da pelo sistemas de
arquivos e pela partição, onde um necessita do outro para agirem, aonde
movimentam e organizam de maneira a agilizarem o processo de busca e execução
de programas e arquivos. Um Hd bem configurado pode ser recuperado e ser feito
backup mais facilmente pela disposição dos dados.
6. 5
2. SISTEMAS DE ARQUIVOS E PARTIÇÃO
2.1. Partição
Uma partição é uma divisão do espaço de um disco rígido (SCSI ou ATA).
Cada partição pode conter um sistema de arquivos diferente. Consequentemente,
cada partição podem ser instalado um Sistema Operacional sendo possível portanto
a convivência de vários Sistemas Operacionais na mesma unidade de disco.
Existem diferentes modelos de particionamento, sendo o tipo DOS o mais
conhecido, usado nos computadores PC. Um tipo que começa a ser difundido é o
GPT (GUID Partition Table), usado em conjunto com o UEFI (Unified Extensible
Firmware Interface -- padrão criado pela Intel para substituir o BIOS, atualmente
mantido por Unified EFI, Inc.).
2.1.1. Geometria de disco
Uma unidade de disco constitui-se de um ou mais pratos (discos)
sobrepostos, cobertos por uma camada magnética. Existe uma cabeça de leituragravação para cada superfície. Cada superfície é dividida em anéis concêntricos (as
trilhas) e uma trilha é dividida em setores, onde um setor tem, normalmente, 512
bytes.
As trilhas são numeradas de fora para dentro. Um conjunto de trilhas com o
mesmo raio forma o cilindro. As cabeças de leitura-gravação são movimentadas
conjuntamente, posicionando-se no mesmo cilindro.
Essa geometria básica fornece um modelo para localização do setor,
chamado CHS (cylinder, head, sector). O número do cilindro, juntamente com o
número da cabeça, fornece a localização da trilha. Identificando-se a trilha, pode-se
localizar um determinado setor. Esse esquema é tridimensional, sendo necessário
conhecer sempre os três parâmetros para localização do setor.
O padrão LBA (logical block address) é mais simples. Os setores são
identificados seqüencialmente (linearmente), começando da trilha mais externa. Se
houver mais de um prato, cada superfície é numerada (a partir de zero) -- o setor
zero é o primeiro setor na trilha zero, cabeça (superfície) zero. Essa é uma
identificação unidimensional. Cabe à controladora no disco transformar esse número
lógico de setor com a sua localização física no disco (mapeando cilindro, cabeça e
setor correspondente).
2.1.2. Partição DOS — MBR
O particionamento do tipo DOS é comumente encontrado num computador
PC doméstico. Localiza-se no primeiro setor do disco, que é chamado MBR (Master
7. 6
Boot Record). Caracteriza-se por permitir até quatro partições, ditas primárias. Caso
seja necessário um número maior, pode-se usar uma partição primária como
estendida. Neste caso, essa partição será um repositório de unidades lógicas (ou
partições lógicas). Por pré-definição, MBR possibilita 4 primárias, e no máximo
apenas poderá incluir 32 partições (primárias e estendidas).
# fdisk -lu /dev/sdb
Disk /dev/sdb: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders, total 156301488 sectors
Units = sectors of 1 * 512 = 512 bytes
Device Boot
/dev/sdb1
Start
End
Blocks
Id
System
63
4016249
2008093+
82
Linux swap /
/dev/sdb2
4016250
20033054
8008402+
83
Linux
/dev/sdb3
20033055
36049859
8008402+
7
HPFS/NTFS
/dev/sdb4
36049860
156296384
60123262+
5
Extended
/dev/sdb5
36049923
156296384
60123231
Solaris
83
Linux
Fig. 1: particionamento de um disco
2.1.2.1.
Notação
Os valores usados aqui são hexadecimais, muito mais práticos que lidar
diretamente com números binários. Na notação hexadecimal, cada byte é
representado por dois caracteres. Por exemplo, o número decimal 63 é representado
pela sequência 0x3f (onde "0x" indica hexadecimal); o valor 255 (maior valor
armazenado em um byte é representado por 0xff).
A arquitetura x86 (PC) usa um armazenamento little endian (CARRIER, 2005,
p. 21). Isso significa que números grandes são lidos ou escritos a partir do dígito
menos significativo (da esquerda para a direita). Por exemplo, o valor decimal
24.378, equivalente a 0x5f3a, seria armazenado em disco pela sequência "3a 5f".
2.1.2.2.
Partições primárias
O MBR é o primeiro setor do disco e divide-se em duas áreas. É identificado
por uma assinatura (0xaa55) localizada nos dois últimos bytes (510–511) — por ser
little endian, a seqüência 0x55 encontra-se no byte 510 e 0xaa no byte 511. A
primeira parte do setor é reservada para conter o carregador de inicialização do
sistema operacional (boot loader) e possui um tamanho de 446 bytes (0–445). A
9. 8
entrada marca CHS(ini) tipo CHS(fim) LBA(ini) LBA(tam)
[1]
00
010100
82
fe3ff9
3f000000 3b483d00
[2]
00
0001fa
83
feffff
7a483d00 a565f400
[3]
00
feffff
07
feffff
1fae3101 a565f400
[4]
00
feffff
05
feffff
c4132602 fdd02a07
Fig. 3: tabela de partições
Cada entrada da tabela de partições possui seis campos:
Faixa Nº byte(s)
Descrição
0
1
Marca de inicialização
1–3
3
Endereço CHS inicial
4
1
Tipo de partição
5–7
3
Endereço CHS final
8–11
4
Endereço LBA inicial
12–15
4
Tamanho (em nº de setores)
Fig. 4: estrutura de uma entrada na tabela de partições
O primeiro campo é usado para o BIOS identificar a partição de inicialização e
terá o valor 0x80 para a partição de inicialização do MS-DOS e derivados. Sistemas
Unix-like não necessitam dessa marca — neste caso o valor será 0x00. O byte de
tipo permite até 255 tipos de partição (o zero identifica uma partição vazia).
00
Empty
1e
Hidden W95 FAT1 80
Old Minix
be
Solaris
01
FAT12
24
NEC DOS
81
Minix / old Lin bf
Solaris
02
XENIX root
39
Plan 9
82
Linux swap / So c1
DRDOS/sec
3c
PartitionMagic
83
Linux
c4
DRDOS/sec
40
Venix 80286
84
OS/2 hidden C:
c6
DRDOS/sec
c7
Syrinx
boot
(FAT03
XENIX usr
(FAT04
FAT16 <32M
(FAT05
Extended
41
PPC PReP Boot
85
Linux extended
06
FAT16
42
SFS
86
NTFS volume set da
Non-FS data
07
HPFS/NTFS
4d
QNX4.x
87
NTFS volume set db
CP/M / CTOS
/ .
10. 9
08
AIX
4e
QNX4.x 2nd part 88
Linux plaintext de
Dell
4f
QNX4.x 3rd part 8e
Linux LVM
df
BootIt
Amoeba
e1
DOS access
Utility
09
AIX bootable
0a
OS/2 Boot Manag 50
OnTrack DM
0b
W95 FAT32
OnTrack DM6 Aux 94
Amoeba BBT
e3
DOS R/O
0c
W95 FAT32 (LBA) 52
CP/M
BSD/OS
e4
SpeedStor
0e
W95 FAT16 (LBA) 53
OnTrack DM6 Aux a0
IBM Thinkpad hi eb
BeOS fs
0f
W95 Ext'd (LBA) 54
OnTrackDM6
a5
FreeBSD
ee
EFI GPT
10
OPUS
55
EZ-Drive
a6
OpenBSD
ef
EFI (FAT-
56
Golden Bow
a7
NeXTSTEP
f0
Linux/PA-
51
93
9f
12/16/
11
Hidden FAT12
RISC b
12
Compaq diagnost 5c
Priam Edisk
a8
Darwin UFS
f1
SpeedStor
14
Hidden FAT16 <3 61
SpeedStor
a9
NetBSD
f4
SpeedStor
16
Hidden FAT16
GNU HURD or Sys ab
Darwin boot
f2
DOS
Hidden HPFS/NTF 64
Novell Netware
b7
BSDI fs
fd
Linux raid
18
AST SmartSleep
Novell Netware
b8
BSDI swap
fe
LANstep
1b
Hidden W95 FAT3 70
63
secondary
17
auto
65
DiskSecure Mult bb
Boot Wizard hid ff
BBT
Fig. 5: tipos de partição (lista parcial)
2.1.2.3.
Partição estendida
O limite de quatro partições é inconveniente. Para ultrapassá-lo, usa-se a
partição estendida, que é uma partição primária que serve de repositório para outras
partições. A partição cujo tipo é 0x05 ou 0x0f não contém um sistema de arquivos.
Em vez disso, contém outra partição (dita secundária), que por sua vez contém uma
partição (ou unidade) lógica. (CARRIER, 2005, p. 83–84).
A figura 1 mostra uma estrutura com mais de quatro partições. A figura 6
mostra o mesmo particionamento usando outra ferramenta, onde se percebe o início
e fim de cada partição. Observe-se que existe uma outra tabela de partições no
início da partição estendida.
# mmls /dev/sdb
DOS Partition Table
Sector: 0
Units are in 512-byte sectors
11. 10
Slot
Start
End
Length
Description
00:
-----
0000000000
0000000000
0000000001
Primary Table (#0)
01:
-----
0000000001
0000000062
0000000062
Unallocated
02:
00:00
0000000063
0004016249
0004016187
Linux Swap / Solaris
x86 (0x82)
03:
00:01
0004016250
0020033054
0016016805
Linux (0x83)
04:
00:02
0020033055
0036049859
0016016805
NTFS (0x07)
05:
00:03
0036049860
0156296384
0120246525
DOS Extended (0x05)
06:
-----
0036049860
0036049860
0000000001
Extended Table (#1)
07:
-----
0036049861
0036049922
0000000062
Unallocated
08:
01:00
0036049923
0156296384
0120246462
Linux (0x83)
Fig. 6: particionamento completo (os números indicam setores)
A tabela de partições estendida contém no máximo duas entradas. A primeira
descreve uma unidade lógica e a segunda, quando existe, aponta para uma partição
estendida secundária, que por sua vez irá conter outra unidade lógica e uma outra
eventual partição estendida. Esse esquema funciona como uma lista encadeada.
O setor que contém a tabela secundária (endereço 36.049.860) estará
praticamente vazio, contendo apenas a tabela que irá descrever a unidade lógica.
# dd if=/dev/sdb bs=512 count=1 skip=36049860 | xxd
0000000: 0000 0000 0000 0000 0000 0000 0000 0000
................
0000010: 0000 0000 0000 0000 0000 0000 0000 0000
................
*** dados retirados — contêm apenas zeros ***
00001b0: 0000 0000 0000 0000 0000 0000 0000 00fe
................
00001c0: ffff 83fe ffff 3f00 0000 bed0 2a07 0000
......?.....*...
00001d0: 0000 0000 0000 0000 0000 0000 0000 0000
................
00001e0: 0000 0000 0000 0000 0000 0000 0000 0000
................
00001f0: 0000 0000 0000 0000 0000 0000 0000 55aa
..............U.
Fig. 7: setor contendo a tabela de partições secundária — observe a assinatura (0x55aa) no final
2.1.3. Gpt (efi)
As duas principais limitações do MBR são: o número de partições (embora
seja possível usar partições estendidas e lógicas, o processamento do
encadeamento é ineficiente); e o tamanho máximo da partição (e do disco) -- 2 TiB.
Para resolver esse e outros problemas, a Intel criou a interface EFI, que atualmente
12. 11
é mantida por um consórcio de empresas—a UEFI (http://www.uefi.org, que inclui a
Intel, IBM, Apple, Microsoft e outras importantes empresas), cujo objetivo principal é
substituir o BIOS.
Uma das novas especificações é o particionamento GPT (GUID Partition
Table). A GPT, dentre outros recursos, possibilita a redundância, a verificação de
integridade, um grande número de partições (a Microsoft limita em 128, mas a
especificação não) e os campos de endereçamento e tamanho da partição
aumentaram de quatro bytes (32 bits) para oito (64 bits) -- que permitem partições de
8.589.934.592 TiB (8 x 270 bytes ou 8 ZiB).
2.1.4. Ferramentas
2.1.4.1.
Particionamento destrutivo e não destrutivo
O FDISK do MS DOS é um exemplo de particionador destrutivo. Ele não é
capaz de redimensionar partições, ou seja, se houver um sistema Windows
ocupando todo o HD, não é possível redimensionar a partição existente.
Um particionador não destrutivo que funciona em modo texto é o Fips. É
criado um disco de inicialização DOS e a partir dele inicia-se o Fips.
2.1.4.2.
Particionadores Gráficos
Uma solução rápida para particionar é usar um Live CD's que traga o
excelente particionador Qtparted, capaz de redimensionar partições de modo
bastante eficaz.
Outro particionador muito bom é o Gparted, disponível em Português.
Atualmente já está bem amadurecido, tanto que já se tornou o particionador gráfico
do Kurumin e Ubuntu.
Uma vantagem de se usar um particionador de um Live CD é que você já
inicia o particionamento direto, não sendo necessário sequer entrar no sistema
instalado na máquina.
Para distribuições GNU/Linux baseadas no Debian há uma excelente dica de
utilização no Guia do Hardware.
2.1.4.3.
Particionador integrado aos instaladores
13. 12
O particionador do Mandriva Linux foi um dos primeiros a ganhar notoriedade
por sua simplicidade, mas o Fedora tem hoje um bom particionador integrado ao
instalador. O projeto Debian está implementando esta funcionalidade para as
próximas versões. O particionador do instalador do Ubuntu também é intuitivo e
prático.
2.1.4.4.
Unix
Para baseados em UNIX e sistemas operacionais Unix-like, como Linux e
MacOS X a criação de partições separadas para /boot, /home, /tmp, /usr, /var, /opt,
arquivo de troca e todo remanescente sob o "/" (Diretório raiz) é possível, exceto as
suas partições chamados slices. Esse esquema tem uma série de vantagens
potenciais: se um sistema de arquivos fica danificado, o restante dos dados (os
outros sistemas de arquivos) permanecem intactos, minimizando perda de dados;
partições podem ser acessadas somente para leitura e para a execução de setuid
arquivos desativados, assim, aumentar a segurança e o desempenho pode ser mais
reforçado. Este método tem a desvantagem de subdividir a unidade em partições de
tamanho fixo, portanto, um usuário poderia ficar sem espaço no disco rígido do seu
/home, apesar de outras partições ainda terem todo o espaço utilizável. Uma boa
implementação exige que o usuário calcule com previsão de quanto espaço cada
partição irá precisar, o que pode ser uma tarefa difícil, especialmente para novos
usuários. Logical Volume Management, muitas vezes utilizado em servidores,
aumenta a flexibilidade, permitindo a expansão nos volumes de dados em discos
físicos separados (que podem ser adicionados quando necessário), é outra opção
para redimensionar as partições, quando necessário. Típicos sistemas desktop são
muitas vezes constituídos por uma única "/" (diretório raiz), contendo o conjunto de
arquivos muito menores, acrescidos de uma partição swap. Por padrão, sistemas
MacOS X utilizam um único "/" (diretório raiz), contendo o conjunto de arquivos
(inclusive o arquivo de troca) como um ponto de simplicidade (mas existem outras
opções de configuração).
2.2. Sistema de arquivos
Sistema de arquivos(também conhecida por gestão de ficheiros) é a forma de
organização de dados em algum meio de armazenamento de dados em massa
frequentemente feito em discos magnéticos.Sabendo interpretar o sistema de
arquivos de um determinado disco, o sistema operacional pode decodificar os dados
armazenados e lê-los ou gravá-los.
Fazendo analogias, tal organização assemelha-se a uma biblioteca escolar. O
bibliotecário organiza os livros conforme um padrão, cuja busca, convenientemente,
procura deixar mais fácil, sem ocupar muitas prateleiras e assegurando a integridade
deste. Ainda, certamente, organiza os livros segundo suas características (assunto,
14. 13
censura, etc.). Depois de organizados, ou durante a organização, o bibliotecário cria
uma lista com todos os livros da biblioteca, com seus assuntos, localizações e
códigos respectivos.
Aplicando a analogia à informática, o sistema operacional seria o bibliotecário
da "biblioteca de dados" do computador, o disco de armazenamento. Exatamente
igual à organização de uma biblioteca, o sistema operacional guarda os dados nos
espaços vazios do disco, rotulando-os com um FCB (File Control Block, Bloco de
Controle de Arquivo) e ainda criando uma lista com a posição deste dado, chamada
de MFT (Master File Table, Tabela de Arquivos Mestre). Sabendo a posição do
arquivo a ser aberto/gravado, o sistema operacional solicita a leitura desta,
decodifica/codifica e realiza a abertura/gravação do dado.
Um sistema de ficheiro é assim: uma forma de criar uma estrutura lógica de
acesso a dados numa partição. Sendo assim, também é importante referir que nunca
poderá ter dois ou mais tipos de sistemas de ficheiros (formatos) numa mesma
partição.
O MBR (Master Boot Record) é um arquivo de dados interligado com a BIOS
cuja importância é o reconhecimento do sistema de arquivos, como também na
inicialização do sistema operacional.
Para a maioria dos usuários, o sistema de arquivos é o aspecto mais visível de
um sistema operacional. Ele fornece o mecanismo para o armazenamento online e o
acesso relacionado tantos aos dados como aos programas do sistema operacional e
de todos os usuários do sistema de computação. O sistema de arquivos consiste em
duas partes distintas: uma coleção de arquivos, cada um deles armazenando dados
relacionados, e uma estrutura de diretórios, que organiza e fornece informação sobre
todos os arquivos do sistema. Alguns sistemas de arquivos têm uma terceira parte,
as partições, utilizadas para separar física ou logicamente grandes coleções de
diretórios.
2.2.1. Atributos de arquivos
Um arquivo possui certos outros atributos que variam de um sistema
operacional para o outro, mas que normalmente são os seguintes:
Nome: o nome simbólico do arquivo é a única informação conservada em
forma legível pelas pessoas.
Identificador: este rótulo único, usualmente um numero, identifica o arquivo
dentro do sistema de arquivo; é o nome não legível pelas pessoas.
Tipos : esta informação é necessária para aqueles sistemas que suportam
diferentes tipos.
15. 14
Posição: esta informação é um ponteiro para um dispositivo e para a posição
do arquivo naquele dispositivo.
Tamanho: o tamanho corrente o arquivo e possivelmente o tamanho máximo
permitido estão incluídos neste atributo.
Proteção: a informação de controlo de acesso determina quem pode ler o
arquivo, gravá-lo, executá-lo e assim por diante.
Hora, data e identificação do usuário: estas informações podem ser
conservadas em relação a data da criação, ultima modificação e ultima
utilização do arquivo. Estes dados podem ser úteis para proteção, segurança
e monitoramento de uso do arquivo.
A informação sobre todos os arquivos é conservada na estrutura do diretório
que também reside em memória secundaria. A entrada de um diretório consiste no
nome do arquivo com seu identificador único. O identificador, por sua vez, permite
localizar os demais atributos do arquivo. O registro desta informação para cada
arquivo pode ocupar mais que um kilobyte. Em um sistema com muitos arquivos o
tamanho do próprio diretório pode ocupar megabytes. Como os diretórios, da mesma
forma que os arquivos, devem ser não voláteis, precisam ser armazenados em
dispositivos e conduzidos à memória gradativamente, conforme necessário.
2.2.2. Operações sobre arquivos
Um arquivo é um tipo abstrato de dados. Para definir apropriadamente um arquivo,
precisamos considerar as operações que podem ser realizadas sobre arquivos. O
sistema operacional pode oferecer chamadas de sistema para criar, gravar, ler,
reposicionar, apagar e truncar arquivos. O sistema operacional deve fazer em
relação a cada uma das seis operações de arquivos básicas.
Criando um arquivo: deve ser alocado espaço para o arquivo no sistema de
arquivos. Deve ser criada uma entrada para o novo arquivo no diretório. A
entrada do diretório registra o nome do arquivo e sua posição no sistema de
arquivos, alem de outras informações possíveis.
Gravando um arquivo: para gravar um arquivo, emitimos uma chamada de
sistema especificando tanto o nome do arquivo como a informação a ser
gravada. Dado o nome do arquivo, o sistema percorre o diretório em busca da
sua localização. O sistema deve manter um ponteiro de gravação para a
posição do arquivo onde a nova gravação devera ser realizada. O ponteiro
precisa ser atualizado sempre que ocorrer uma gravação.
Lendo um arquivo: para ler um arquivo, utilizamos uma chamada de sistema
que especifica o nome do arquivo e onde na memória é o próximo bloco do
arquivo devera ser alocado. O diretório é pesquisado em busca da entrada
associada e o sistema precisa manter um ponteiro de leitura para a posição
no arquivo a partir de onde devera ocorrer a próxima leitura. Após a leitura ter
sido feita, o ponteiro de leitura é atualizado. Um determinado processo esta
normalmente lendo ou gravando um dado arquivo, e aposição da operação
16. 15
em curso é guardada como um ponteiro para a posição corrente do arquivo,
para cada processo. Tanto a operação de leitura como a de gravação, utiliza
este mesmo ponteiro, economizando espaço e reduzindo a complexidade do
sistema.
Reposicionando dentro de um arquivo: o diretório é percorrido em busca
da entrada apropriada, e a posição corrente do arquivo é posicionada para
um determinado valor. O reposicionamento dentro de um arquivo não precisa
envolver um I/O real. Esta operação é também conhecida como busca de
arquivo.
Apagando um arquivo: para apagar um arquivo, procuramos no diretório o
arquivo pelo nome. após encontrar a entrada correta do diretório, liberamos
todo o espaço do arquivo, de modo que este espaço possa ser reutilizado por
outros arquivos, e apagamos a entrada do diretório.
Trocando um arquivo: o usuário pode desejar apagar o conteúdo de um
arquivo, mas conservar seus atributos. Em lugar de obrigar o usuário a pagar
completamente o arquivo e recriá-lo, esta função permite que todos os
atributos - exceto o tamanho - sejam mantidos, reposicionando o arquivo com
tamanho zero.
2.2.3. Sistemas de ficheiros mais conhecidos
Apple Macintosh
HFS
HFS+
UNIX (FreeBSD, OpenBSD, Linux, Solaris, Red Hat, etc.)
UFS
Ext
Ext2
Ext3
Ext4
SWAP
Reiser
HPFS
JFS
XFS
ZFS no Solaris
IBM (AIX, OS/2)
JFS (AIX Version 3.1 ou superior, OS/2 Warp)
HPFS - High Performance File System
MS-DOS/Microsoft Windows
FAT 12 - Microsoft BASIC Disk - MSDOS 4.0
17. 16
FAT 16 ou FAT - DOS 4.0 ou superior / Windows 1.X ou superior (1.x, 2.x, 3.x,
95, 98, ME, 2000, XP,...)
FAT 32 - MS-DOS 7.1 e 8.0 / Windows 95 (versão OSR2!), ou superior (95
OSR2, 98, ME, NT, 2000, XP...)
ExFAT - FAT Estendido, também conhecido como FAT64, Windows XP ou
superior ( Vista, 7...)
NTFS - Windows NT ou superior (NT, 2000, XP, 2003 Server,...)
2.2.3.1. Sistemas de arquivos utilizados no Windows
2.2.3.1.1.
FAT16
O sistema de arquivos FAT16 foi introduzido com o MS–DOS em 1981, e
agora mostra a sua ―idade‖. Ele foi criado primeiramente para lidar com arquivos em
uma unidade de disquete e passou por poucas alterações no decorrer dos anos para
que possa também lidar com discos rígidos e até mesmo nomes de arquivos
maiores do que o limite de 8,3 caracteres, mais ainda é o menor denominador
comum. A maior vantagem do FAT16 é o fato de ele ser compatível com vários
sistemas operacionais, incluindo o Windows 95/98/Me, OS/2, Linux e algumas
versões do UNIX. O maior problema do FAT16 é o fato de ele ter um número
máximo fixo de clusters por partição; sendo assim, conforme os discos rígidos ficam
cada vez maiores, o tamanho de cada cluster aumenta também. Em uma partição de
2 GB, cada cluster tem 32 kilobytes, mostrando que mesmo o menor arquivo na
partição irá ocupar um espaço de 32 KB. O FAT16 também não suporta
compactação, criptografia ou segurança avançada usando as listas de controle de
acesso.
2.2.3.1.2.
FAT32
O sistema de arquivos FAT32, introduzido no Windows 95 Service Release 2,
é apenas uma extensão do sistema de arquivos original FAT16 que oferece um
número muito maior de clusters por partição. Sendo assim, ele melhora muito a
utilização geral do disco quando comparado a um sistema de arquivos FAT16. No
entanto, o FAT32 compartilha todas as demais limitações do FAT16, e inclui uma
outra limitação importante (muitos sistemas operacionais que reconhecem o FAT16
não irão funcionar com o FAT32), o que é mais nítido no Windows NT, mas também
no Linux e UNIX. Não será um problema se você estiver executando um FAT32 em
um computador do Windows XP e compartilhar a sua unidade com outros
computadores na rede (eles não precisam saber, e geralmente não se importam com
isso, qual é o seu sistema de arquivos).
2.2.3.1.3.
NTFS
NTFS é a sigla para New Technology File System. Desde a época do DOS, a
Microsoft vinha utilizando o sistema de arquivos FAT, que foi sofrendo variações ao
18. 17
longo do tempo, de acordo com o lançamento de seus sistemas operacionais. No
entanto, o FAT apresenta algumas limitações, principalmente no quesito segurança.
Por causa disso, a Microsoft lançou o sistema de arquivos NTFS, usado inicialmente
em versões do Windows para servidores.
O NTFS trabalha de uma forma eficiente no gerenciamento do espaço de
disco. Isso porque as informações são armazenadas em uma base por setor do
disco, em vez de utilizar clusters de múltiplos setores (veja mais sobre isso lendo o
artigo sobre FAT). Essa forma de trabalho, traz várias vantagens, como menor
necessidade de desfragmentação de disco e maior consistência de dados. Isso
porque essa arquitetura de dados por base em setor permite manter os dados
próximos, ou seja, não espalhados pelo disco. Até o gerenciamento de grandes
quantidades de dados é beneficiado por esta característica, já que como acontecia
com o FAT, trabalhar com clusters por setor, fazia do sistema de arquivos
dependente de um número pré-determinado de setores.
2.2.3.2. Sistema de Arquivos Utilizados no Linux/Unix:
2.2.3.2.1.
EXT2
O EXT2 é um sistema similar ao FAT32 do Windows. Os arquivos são
organizados de uma forma simples, com o HD dividido em vários clusters (que no
EXT2 chamamos de blocos), onde cada cluster armazena um arquivo ou um
fragmento de arquivo. Um índice no início do HD guarda uma tabela com os
endereços de cada arquivo no HD.
Muita gente gosta desta simplicidade e por isso continua usando o EXT2 até hoje. O
problema é que, assim como o FAT32 do Windows, o EXT2 tem uma grande
tendência a perder dados quando o micro é desligado incorretamente (o que em um
desktop é muito comum). Nestes casos entra em ação o fsck, que vasculha todos os
arquivos da partição, de forma a detectar e corrigir erros, da mesma forma que o
scandisk do Windows. Os dois problemas fundamentais com o fsck são que:
1- O teste demora muito.
2- Ele só corrige erros simples. Sempre que um problema mais grave é
detectado, o carregamento do sistema é abortado e você cai em um prompt de
recuperação (herança da época em que o Linux era feio, estranho e complicado),
onde você precisa conhecer e saber usar os comandos necessários para reparar os
erros manualmente.
Ou seja, a menos que você tenha um no-break e seu micro nunca seja
desligado no botão, não use o EXT2. Ele é um sistema obsoleto, assim com o
FAT32 no Windows.
2.2.3.2.2.
EXT3
O EXT3, uma evolução do EXT2, que inclui um sistema de journaling. O
journal (diário) consiste em uma espécie de log, que armazena todas as alterações
19. 18
que são feitas nos arquivos e quando elas foram concluídas. Quando o micro é
desligado incorretamente, o fsck consulta este ―diário‖ para corrigir os erros, sem
precisar executar o teste completo.
Embora as versões iniciais do EXT3 tivessem muitos problemas, ele evoluiu
bastante nos últimos anos e é atualmente um sistema de arquivos bastante seguro,
utilizado por padrão na maioria das distribuições. As principais vantagens de usar o
EXT3 são o boot mais rápido (em média 10 segundos menos do que ao instalar em
uma partição ReiserFS e a grande oferta de programas de manutenção e
recuperação de dados).
2.2.3.2.3.
ReiserFS
O sistema de arquivos ReiserFS teve sua primeira aparição no ano de 2001
pelas mãos de Hans Reiser (daí o nome do padrão), que também montou uma
equipe de nome NAMESYS para gerenciar os trabalhos do projeto. Desde então, o
ReiserFS vem sendo cada vez mais utilizado, principalmente por estar disponível
como padrão em muitas das distribuições Linux, fazendo frente ao sistema de
arquivos ext3.
A boa aceitação do ReiserFS é devida ao seu conjunto de características, que o
tornam um sistema de arquivos seguro, eficiente, rápido e confiável. Entre seus
principais recursos, tem-se:
- Journaling, um recurso que ajuda a manter a integridade dos dados em caso
de erros no sistema causados por desligamento incorreto ou determinadas falhas de
hardware, por exemplo. O journaling é uma das características mais importantes do
ReiserFS, motivo pelo qual é explicado com mais detalhes adiante;
- Suporte a arquivos com mais de 2 GB (limitação existente em alguns
filesystems);
- Organização dos objetos do sistema de arquivos em uma estrutura de dados
chamada B+Trees (árvores B+). Nesse esquema, os dados são fixados em posições
organizadas por divisões denominadas folhas. Por sua vez, as folhas são
organizadas por nós ou ponteiros chamados de sub-árvores, que estão ligados a um
nó raiz (ver ilustração abaixo para entender melhor). Esse processo organizacional
exige algoritmos mais complexos, porém apresenta performance superior na
gravação e no acesso aos dados, se comparado a outros sistemas de arquivos;
- Alocação dinâmica de inodes (em poucas palavras, inodes são estruturas
que contém informações sobre os arquivos), diminuindo o desperdício de espaço.
Outros sistemas de arquivos têm blocos de tamanho fixo para alocação, assim, se
não for necessário usar um bloco inteiro, o espaço restante fica em desuso. No
ReiserFS, a alocação é feita com base no tamanho do arquivo.
2.2.3.2.4.
JFS (Journaling File System)
20. 19
Criado pela IBM para uso em servidores corporativos, teve seu código
liberado. O sistema de arquivos JFS também usa a estrutura I-node para armazenar
a localização dos blocos de cada arquivo nas estruturas físicas do disco, a versão
JFS2 armazena esses I-nodes em uma árvore binária para acelerar o acesso a
essas informações, esses blocos podem variar de 512 a 4096 bytes, a alocação dos
I-nodes é feita conforme vai sendo necessário.
2.2.3.2.5.
XFS
O sistema de arquivos XFS também possui suporte a journaling.
Foi desenvolvido originalmente pela Silicon Graphics e posteriormente
disponibilizado o código fonte. O XFS é considerado um dos melhores sistemas de
arquivos para banco de dados, pois é muito rápido na gravação.
XFS utiliza muitos recursos de cache com memória RAM, e para utilizar XFS
é recomendado utilizar sistemas que possuem redundância de energia.
2.2.3.2.6.
VFAT
O sistema de arquivos VFAT é também conhecido como FAT32 ( Windows ).
O sistema de arquivos VFAT não possui suporte a journaling.
E é utilizado normalmente para transferir dados entre sistemas Windows e o
Linux instalados no mesmo disco, pois pode ser lido e escrito por ambos os sistemas
operacionais.
O sistema de arquivos VFAT está longe de ser um sistema de arquivos
utilizado para Sistemas Linux, exeto para compartinhamento/compatibilidade entre o
Windows e Linux.
Se você utilizar VFAT no Linux, esteja certo de perder alguns atributos, tal
como: Permissão de execução, links simbólicos entre outras coisas.
2.2.3.2.7.
Journaling
O fsck consegue prover resultados satisfatórios, mas a correção de erros
pode levar muito tempo, algo inaceitável em aplicações críticas. Além disso, se o
desligamento incorreto do computador ocorreu quando dados estavam sendo
gravados no disco, o fsck não conseguirá completar esses processos, ocasionando
a perda das informações que estavam sendo gravadas.
Diante desses problemas, foi apresentada uma solução viável: a utilização de
sistemas de arquivos com a tecnologia ―Journaling‖, que possuem a capacidade de
acompanhar as mudanças que serão feitas no sistema de arquivos (por exemplo,
gravações/atualizações de dados) antes que realmente sejam feitas. Essas
informações que o Journaling captura são então armazenadas em uma parte
separada do sistema de arquivos, denominada ―Journal‖ (mas também conhecida
por ―registros de log‖). Quando as informações são armazenadas no Journal, o
sistema de arquivos aplica as mudanças registradas nele e então, remove as
informações do Journal.
21. 20
Agora, entenda o porquê do Journaling ser uma solução eficiente para os
problemas de erro. Os registros de log são escritos antes que as mudanças
efetivamente ocorram no sistema de arquivos e esses registros somente são
eliminados quando as mudanças são feitas. Assim, se o computador é
indevidamente desligado, o processo de montagem no próximo startup verificará se
há mudanças gravadas no Journal ―marcadas‖ como não feitas. Se houver, tais
mudanças são então aplicadas ao sistema de arquivos. Isso faz com que os riscos
de perda de dados sejam reduzidos drasticamente.
2.2.3.2.7.1.
Tipos de Journaling no ext3
O ext3 suporta três diferentes modos de trabalho do Journaling. São eles:
Journal: grava todas as mudanças em sistema de arquivos. É o mais lento
dos três modos, mas é o que possui maior capacidade de evitar perda de dados;
Ordered: grava somente mudanças em arquivos metadata (arquivos que
guardam informações sobre outros arquivos), mas guarda as atualizações no
arquivo de dados antes de fazer as mudanças associadas ao sistema de arquivos.
Este Journaling é o padrão nos sistemas de arquivos ext3;
Writeback: também só grava mudanças para o sistema de arquivo em
metadata, mas utiliza o processo de escrita do sistema de arquivos em uso para
gravação. É o mais rápido Journaling ext3, mas o menos confiável.
O modo Ordered é o padrão no ext3, mas é possível especificar qual o modo que
você deseja usar, através da atualização do arquivo fstab. Por exemplo, pode ser
que a linha /dev/hda1/opt tenha sua opção data com o valor ordered. Você pode
mudar este valor para writeback ou journal.
22. 21
3. CONCLUSÃO
Conclui-se que é importante entender que a partição de um HD significa que
você deixará sua máquina dividida em diversos setores, que podem funcionar de
forma independente e com funções diferentes, de acordo com o que você necessita.
O particionamento pode ser importante para caso aconteça algum problema com
vírus, tela azul da morte ou qualquer outra coisa, você poderá reinstalar todo o
sistema, mas mantendo os dados mais importantes. Com ele também é possível
separar os arquivos da máquina, fazendo com que o computador use memória
somente para o que você está usando no momento. Isso melhora o desempenho do
seu PC.
Após criar uma partição, é preciso definir como os dados dentro dela serão
organizados. Isto é feito através da formatação, que nada mais é do que preparar a
partição criada para receber os dados e organizar eles de maneira correta feita pelo
sistema de arquivos. Um sistema de arquivos visto por fora é uma coleção de
arquivos e de diretórios. Os arquivos podem ser lidos, gravados, os diretórios podem
ser criados e destruídos, e os arquivos podem ser movidos de um diretório para
outro. Sistemas de arquivos mais modernos suportam um sistema de diretório
hierárquico, nos quais diretórios podem ter subdiretórios ad infinitum.
Quando visto do interior, um sistema de arquivos parece bem diferente. Os
projetistas de sistema de arquivos precisam preocupar-se com o modo como o
armazenamento é alocado e com o modo como o sistema monitora qual bloco vai
com qual arquivo. Bem como diferentes sistemas têm diferentes estruturas de
diretórios, a confiabilidade e o desempenho do sistema de arquivos também são
questões importantes.
É muito importante conhecermos cada sistema de arquivos e partições e suas
peculiaridades, pois o mínimo detalhe poderá fazer toda a diferença no desempenho
do sistema e serviços do seu computador ou servidor.
23. 22
4. REFERÊNCIAS
Wikipédia, a enciclopédia livre. Partição
http://pt.wikipedia.org/wiki/Parti%C3%A7%C3%A3o
Wikipédia, a enciclopédia livre. Sistemas de Ficheiros
http://pt.wikipedia.org/wiki/Sistema_de_ficheiros
Epidemicwiki. Partições e Sistemas de Arquivos
http://www.epidemiclinux.org/wiki/index.php?title=Parti%C3%A7%C3%B5es_e_Si
stema_de_Arquivos
Cola Quente, Sua cola digital em informática. Partições e sistema de arquivos
Linux – Parte 1
http://colaquente.wordpress.com/2010/05/13/particoes-e-arquivos-do-sistemalinux-parte-1/
Boteco Digital. Partições e Sistemas de Arquivos
http://www.botecodigital.info/hardware/particoes-e-sistemas-dearquivos/#.UaOW4dKkqdo
Site Universidade Federal do Rio de Janeiro. Sistemas de Arquivo.
http://www.uniriotec.br/~morganna/guia/sistemas_de_arquivos.html