Sistemas de arquivos e partições

32
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

description

Sistemas de arquivos e partições

Transcript of Sistemas de arquivos e partições

Page 1: Sistemas de arquivos e partições

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 – SP2013

Page 2: Sistemas de arquivos e partições

Michel das Neves Nº24Wesley 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-SP2013

Page 3: Sistemas de arquivos e partições

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.

Page 4: Sistemas de arquivos e partições

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

Page 5: Sistemas de arquivos e partições

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.

Page 6: Sistemas de arquivos e partições

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 leitura-gravaçã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 Boot Record). Caracteriza-se por permitir até quatro partições, ditas primárias. Caso

Page 7: Sistemas de arquivos e partições

6

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 Start End Blocks Id System

/dev/sdb1 63 4016249 2008093+ 82 Linux swap /

Solaris

/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 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

Page 8: Sistemas de arquivos e partições

7

segunda área, com tamanho de 64 bytes, contida na faixa 446–509, contém a tabela de partições. (CARRIER, 2005, p. 81–101).

# dd if=/dev/sdb bs=512 count=1 | xxd

0000000: faeb 2101 b501 4c49 4c4f 1606 3f79 f247 ..!...LILO..?y.G

0000010: 0000 0000 e6c7 bd47 ca59 9ecf 8100 8060 .......G.Y.....`

0000020: 6ac5 e500 b8c0 078e d0bc 0008 fb52 5306 j............RS.

0000030: 56fc 8ed8 31ed 60b8 0012 b336 cd10 61b0 V...1.`....6..a.

0000040: 0de8 6701 b00a e862 01b0 4ce8 5d01 601e ..g....b..L.].`.

0000050: 0780 fafe 7502 88f2 bb00 028a 761e 89d0 ....u.......v...

0000060: 80e4 8030 e078 0a3c 1073 06f6 461c 4075 ...0.x.<.s..F.@u

0000070: 2e88 f266 8b76 1866 09f6 7423 52b4 08b2 ...f.v.f..t#R...

0000080: 8053 cd13 5b72 550f b6ca ba7f 0042 6631 .S..[rU......Bf1

0000090: c040 e870 0066 3bb7 b801 7403 e2ef 5a53 [email protected];...t...ZS

00000a0: 8a76 1fbe 2000 e84a 00b4 9966 817f fc4c .v.. ..J...f...L

00000b0: 494c 4f75 275e 6880 0807 31db e834 0075 ILOu'^h...1..4.u

00000c0: fbbe 0600 89f7 b90a 00f3 a675 0db0 02ae ...........u....

00000d0: 7508 0655 b049 e8d2 00cb b49a b020 e8ca u..U.I....... ..

00000e0: 00e8 b700 fe4e 0074 07bc e807 61e9 5eff .....N.t....a.^.

00000f0: f4eb fd66 ad66 09c0 740a 6603 4610 e804 ...f.f..t.f.F...

0000100: 0080 c702 c360 5555 6650 0653 6a01 6a10 .....`UUfP.Sj.j.

0000110: 89e6 53f6 c660 7458 f6c6 2074 14bb aa55 ..S..`tX.. t...U

0000120: b441 cd13 720b 81fb 55aa 7505 f6c1 0175 .A..r...U.u....u

0000130: 4a52 06b4 08cd 1307 7259 51c0 e906 86e9 JR......rYQ.....

0000140: 89cf 59c1 ea08 9240 83e1 3ff7 e193 8b44 ..Y....@..?....D

0000150: 088b 540a 39da 7339 f7f3 39f8 7733 c0e4 ..T.9.s9..9.w3..

0000160: 0686 e092 f6f1 08e2 89d1 415a 88c6 eb06 ..........AZ....

0000170: 6650 5958 88e6 b801 02eb 02b4 425b bd05 fPYX........B[..

0000180: 0060 cd13 7310 4d74 0a31 c0cd 1361 4deb .`..s.Mt.1...aM.

0000190: f0b4 40e9 46ff 8d64 1061 c3c1 c004 e803 [email protected]......

00001a0: 00c1 c004 240f 2704 f014 4060 bb07 00b4 ....$.'...@`....

00001b0: 0ecd 1061 c300 4970 ca59 9ecf 0000 0001 ...a..Ip.Y......

00001c0: 0100 82fe 3ff9 3f00 0000 3b48 3d00 0000 ....?.?...;H=...

00001d0: 01fa 83fe ffff 7a48 3d00 a565 f400 00fe ......zH=..e....

00001e0: ffff 07fe ffff 1fae 3101 a565 f400 00fe ........1..e....

00001f0: ffff 05fe ffff c413 2602 fdd0 2a07 55aa ........&...*.U.

Fig. 2: primeiro setor de um disco (MBR) — observe a assinatura (0x55aa) no final

Os 64 bytes antes da assinatura constituem a tabela de partições. Esta, por sua vez, é dividida em quatro entradas, que definem as partições primárias.

Page 9: Sistemas de arquivos e partições

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

boot

01 FAT12 24 NEC DOS 81 Minix / old Lin bf Solaris

02 XENIX root 39 Plan 9 82 Linux swap / So c1 DRDOS/sec

(FAT-

03 XENIX usr 3c PartitionMagic 83 Linux c4 DRDOS/sec

(FAT-

04 FAT16 <32M 40 Venix 80286 84 OS/2 hidden C: c6 DRDOS/sec

(FAT-

05 Extended 41 PPC PReP Boot 85 Linux extended c7 Syrinx

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

/ .

Page 10: Sistemas de arquivos e partições

9

08 AIX 4e QNX4.x 2nd part 88 Linux plaintext de Dell

Utility

09 AIX bootable 4f QNX4.x 3rd part 8e Linux LVM df BootIt

0a OS/2 Boot Manag 50 OnTrack DM 93 Amoeba e1 DOS access

0b W95 FAT32 51 OnTrack DM6 Aux 94 Amoeba BBT e3 DOS R/O

0c W95 FAT32 (LBA) 52 CP/M 9f 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-

12/16/

11 Hidden FAT12 56 Golden Bow a7 NeXTSTEP f0 Linux/PA-

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 63 GNU HURD or Sys ab Darwin boot f2 DOS

secondary

17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fd Linux raid

auto

18 AST SmartSleep 65 Novell Netware b8 BSDI swap fe LANstep

1b Hidden W95 FAT3 70 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

Page 11: Sistemas de arquivos e partições

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

Page 12: Sistemas de arquivos e partições

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

Page 13: Sistemas de arquivos e partições

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,

Page 14: Sistemas de arquivos e partições

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.

Page 15: Sistemas de arquivos e partições

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

Page 16: Sistemas de arquivos e partições

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

Page 17: Sistemas de arquivos e partições

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

Page 18: Sistemas de arquivos e partições

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

Page 19: Sistemas de arquivos e partições

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)

Page 20: Sistemas de arquivos e partições

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.

Page 21: Sistemas de arquivos e partições

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.

Page 22: Sistemas de arquivos e partições

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.

Page 23: Sistemas de arquivos e partições

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_Sistema_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-sistema-

linux-parte-1/

Boteco Digital. Partições e Sistemas de Arquivos

http://www.botecodigital.info/hardware/particoes-e-sistemas-de-arquivos/

#.UaOW4dKkqdo

Site Universidade Federal do Rio de Janeiro. Sistemas de Arquivo.

http://www.uniriotec.br/~morganna/guia/sistemas_de_arquivos.html