Você está na página 1de 75

Física Computacional

Salviano A. Leão

18 de março de 2019

Salviano A. Leão Física Computacional 18 de março de 2019 1 / 75


Sumário

1 Computador

2 Software de carregamento do sistema operacional

3 Sistemas de Armazenamento

Salviano A. Leão Física Computacional 18 de março de 2019 2 / 75


Computador

Partes de um computador

Salviano A. Leão Física Computacional 18 de março de 2019 3 / 75


Computador

Partes de um computador

Salviano A. Leão Física Computacional 18 de março de 2019 4 / 75


Computador

Placa Mãe

Salviano A. Leão Física Computacional 18 de março de 2019 5 / 75


Computador

Placa Mãe

Salviano A. Leão Física Computacional 18 de março de 2019 6 / 75


Computador

Diagrama da Placa-Mãe

Salviano A. Leão Física Computacional 18 de março de 2019 7 / 75


Computador

Memória

DIMM Memory

Salviano A. Leão Física Computacional 18 de março de 2019 8 / 75


Computador

Comparação entre as memórias DDRs

DDR

DDR 2

DDR 3

DDR 4

cm.

0 1 2 3 4 5 6 7 8 9 10 11 12 13

Salviano A. Leão Física Computacional 18 de março de 2019 9 / 75


Computador

Processador

Memória Memória
RAM CPU - Unidade ROM
Unidades de
Central de
entrada
Processamento
Unidades de
Unidade de Controle saída

Memórias
secundárias Memória Unidade
Registradores Lógica e
cache
Aritmética

Salviano A. Leão Física Computacional 18 de março de 2019 10 / 75


Software de carregamento do sistema operacional

BIOS

A BIOS (Basic Input Output System). A partir de 2007 somente UEFI.


é o primeiro programa que é iniciado assim que o computador é ligado. Após
todo o hardware ser inicializado, a BIOS executa o código de boot que fica
no primeiro setor do primeiro dispositivo de sua lista. Se for um CD/DVD a
entrada El-Torito é executada, se for um HDD será executado o código da
MBR.
não sabe ler a tabela de partições ou o sistema de arquivos, tudo que ela faz
é iniciar o hardware e carregar o código de boot.
para carregar múltiplos sistemas operacionais (Multiboot) rodando a BIOS, é
necessário usar um bootloader que tenha este suporte, como o Grub, Lilo ou
Syslinux.

Salviano A. Leão Física Computacional 18 de março de 2019 11 / 75


Software de carregamento do sistema operacional

UEFI
A UFEI (Unified Extensible Firmware Interface): http://www.uefi.org/
é um método de carregar o sistema operacional.
ele é capaz de ler as tabelas de partições e compreender o sistema de arquivos
utilizado, possui suporte a ambas as tabelas de partições MBR e GPT.
não é carrega nenhum código de boot na MBR, existindo ou não.
utiliza uma partição especial na tabela de partições chamada "EFI SYSTEM
PARTITION", na qual os arquivos necessários para carregamento do sistema
são armazenados. A partição EFI é geralmente formatada como FAT32.
para um carregamento automático de um sistema pelo UEFI é preciso
armazenar o arquivo responsável por esta função no caminho
/EFI/boot/bootx64.efi dentro da partição reservada para o UEFI.
Multiboots podem ser feito diretamente, sendo que cada sistema pode
armazenar seus arquivos de carregamento no diretório
<EFI SYSTEM PARTITION>/EFI/<VENDOR NAME>/. Para a UEFI torna-se
simplesmente uma questão de carregar um arquivo para cada sistema
operacional.
Salviano A. Leão Física Computacional 18 de março de 2019 12 / 75
Software de carregamento do sistema operacional

UEFI versus Software Livre

A EFI na atual forma é vista como uma tentativa de remover a possibilidade


do usuário verdadeiramente controlar o seu computador.
Isto levanta preocupações de segurança e, nomeadamente, torna a criação de
uma implementação de software livre impossível.
EFI pode ser usado para criar uma “BIOS DRM”, deixando assim fornecedores
construir computadores que limitam o que o utilizador pode fazer.
Em 26 de março de 2013, o grupo espanhol Hispalinux de desenvolvimento
de software livre apresentou uma queixa formal à Comissão Europeia,
alegando que os requisitos de Secure Boot da Microsoft em sistemas OEM
eram “obstrutivas” e anticompetitivas.

Salviano A. Leão Física Computacional 18 de março de 2019 13 / 75


Software de carregamento do sistema operacional

Estrutura da UEFI

Modelo da UEFI

Sistema Operacional (SO)

Carregador EFI do SO

Outros roda os
Serviços
SMBIOS serviços
ACPI de boot EFI
EFI
Interfaces
para
Plataforma
outros
dispositivos do Hardware

Partição do Carga do SO
sistema EFI pela EFI
Salviano A. Leão Física Computacional 18 de março de 2019 14 / 75
Software de carregamento do sistema operacional

Bios versus UEFI

Salviano A. Leão Física Computacional 18 de março de 2019 15 / 75


Software de carregamento do sistema operacional

GUID Partition table (GPT)

O GPT é um novo layout de tabelas de


partições.

Faz parte do padrão EFI


(Extensible Firmware Interface)
proposta pela Intel para
substituição da BIOS, padrão
introduzido pela IBM e o mais
utilizado até os dias atuais.

O GPT pode ser utilizado em


conjunto com a BIOS, mesmo
sendo um padrão da Intel, para
resolver alguns problemas da
tabela de partições MBR, como
limitação de tamanho e quantidade
de partições.
Salviano A. Leão Física Computacional 18 de março de 2019 16 / 75
Software de carregamento do sistema operacional

Desvantagens com MBR


É possível criar somente 4 partições primarias, ou 3 partições primárias e 1
estendida sendo possível criar nesta última um grande número de partições.
Se após criadas as 3 partições primarias e a estendida houver algum espaço
sobrando em disco, ele ficará inacessível.
Limite de 2.1 Tb.
http://www.tldp.org/HOWTO/Large-Disk-HOWTO-4.html
Dentro da partição estendida os metadados das partições lógicas são
armazenados em uma estrutura de lista vinculada. Se uma ligação for perdida
todas as outras partições lógicas terão seus metadados inacessíveis.
Suporte apenas 1 byte para definir o tipo de partição, o que resulta em em
muitas colisões.
Armazena informações dos setores das partições usando valor LBA (Logical
block addressing) de 32-bit. Este tamanho de LBA juntamente com um setor
de 512 bytes (o mais usado) limita o endereçamento de tamanho do tamanho
do disco em 2TB. Qualquer espaço além dos 2TB do disco não poderá ser
definido em uma partição.
Salviano A. Leão Física Computacional 18 de março de 2019 17 / 75
Software de carregamento do sistema operacional

Vantagens com GPT

Utiliza GUIDs (UUIDs) para identificar o tipo de partição, o que elimina as


colisões.
Fornece GUID único para o disco e para as partições.
Número grande de partições sem necessidade de criar partições estendidas.
Armazena informações dos setores das partições usando valor LBA de 64-bit,
possibilitando endereçar discos de até 2ZB (zettabyte).
Armazena o cabeçalho e tabela de partições no final do disco, possibilitando
recuperação.
Detecta erros e corrompimento do cabeçalho e da tabela de partições.
Bootloaders UEFI são capazes de carregar discos GPT, já que este é parte da
específicação UEFI sendo o uso obrigatório.
Algumas poucas BIOS não serão capazes de carregar sistemas GPT.

Salviano A. Leão Física Computacional 18 de março de 2019 18 / 75


Sistemas de Armazenamento

Titulo

Salviano A. Leão Física Computacional 18 de março de 2019 19 / 75


Sistemas de Armazenamento

Nomeclatura

Bit é a menor unidade de memória que 1 gigabyte (GB ou Gbytes) = 1024


um computador utiliza. Recebeu esse megabytes
nome por representar apenas 2
1 terabyte (TB ou Tbytes) = 1024
números, 0 e 1 (zero e um), chamados
gigabytes
de dígitos binários.
A partir do byte a contagem é feita em 1 petabyte (PB ou Pbytes) = 1024
relação a 1024 = 210 , ou seja, 1024 terabytes
bytes, correspondem a 1 Kb (kilobyte). 1 exabyte (EB ou Ebytes) = 1024
E agora segue assim por diante: petabytes
1 Byte = 8 bits
1 kilobyte (kB ou Kbytes) = 1024 1 zettabyte (ou Zbytes) = 1024
bytes exabytes
1 megabyte (MB ou Mbytes) = 1 yottabyte (ou Ybytes) = 1024
1024 kilobytes zettabytes.

Salviano A. Leão Física Computacional 18 de março de 2019 20 / 75


Sistemas de Armazenamento

Diferença

Note que a notação anterior traz uma confusão, pois 1 megabytes é 106 bytes,
entretanto na contagem acima é na realidade 1024 × 1024 = 1048576 bytes que é
maior do que 1 megabytes em 48.756 Bytes. Portanto, 1 GB =
1048576 × 1024 = 1073741824 Bytes que é maior do que 109 bytes em 73741824
bytes, ou seja da ordem de 73 MB, logo em 500 GB estamos perdendo da ordem
de 73.741.824 × 500 = 36.870.912.000 Bytes ou seja da ordem de 36, 8 GB .
Note que um Disco rígido de 500 Gb na realidade quando formatado apresenta um
tamanho em KB menor do que os 500.000.000 de Bytes esperados.
http://whatsabyte.com/

Salviano A. Leão Física Computacional 18 de março de 2019 21 / 75


Sistemas de Armazenamento

Capacidade de armazenamento de um HD

Tabela: O significado da capacidade de armazenamento de um HD.

Músicas (MP3) Fotos Vídeos Filmes qualidade DVD


500 GB 8.330 horas 160.000 500 horas 125
1.0 TB 16.660 horas 320.000 1.000 horas 250
1.5 TB 24.990 horas 480.000 1.500 horas 375
2.0 TB 33.320 horas 640.000 2.000 horas 500

Salviano A. Leão Física Computacional 18 de março de 2019 22 / 75


Sistemas de Armazenamento

Sistemas de Armazenamento
Os principais sistemas de armazenamento de dados são:
HD (Hard Disk) ou disco rígido.
Unidades SSD.
Unidade de CD ou DVD.
Discos removíveis: Pen-Drive, HD removíveis, cartões de memória,etc.
A forma como o sistema operacional trabalha com os discos é algo vital para a
eficácia do sistema e segurança dos dados.

Salviano A. Leão Física Computacional 18 de março de 2019 23 / 75


Sistemas de Armazenamento

Conexões

Há quatro formas básicas de conectar um disco rígido ao computador:


USB: È o tipo de conexão mais comum, e não é preciso fazer nenhuma
instalação ou configuração.
Firewire: Plug-and-play, como USB, o Firewire 800 é significativamente mais
rápido, tornando-o popular entre as pessoas que transferem
arquivos de vídeo.
SATA: Essa é a conexão padrão para discos rígidos internos. Oferece as
mais altas velocidades de transferência de qualquer formato.
eSATA: Uma conexão de alto desempenho menos comum, que costuma ser
mais encontrada em PCs.

Salviano A. Leão Física Computacional 18 de março de 2019 24 / 75


Sistemas de Armazenamento

Sistema Operacional Linux

Applications

User space
GNU C Library

System call interface

Process Memory Network


manager manager Virtual
interface
file system
Linux kernel

Interprocess
Physical
communication
file systems
system

I/O interface

Hardware CPU RAM Devices

Salviano A. Leão Física Computacional 18 de março de 2019 25 / 75


Sistemas de Armazenamento

Sistema operacional

Basicamente é uma camada de software programas utilitários;


que opera entre o hardware e os a própria interface gráfica
programas aplicativos voltados ao (quando for o caso).
usuário final.
O sistema operacional é constituído por
uma ampla e complexa estrutura de
software, a muitas vezes complexa, a
qual incorpora aspectos
de baixo nível, como
drivers de dispositivos;
gerência de memória física.
de alto nível como

Salviano A. Leão Física Computacional 18 de março de 2019 26 / 75


Sistemas de Armazenamento

Network

Sistema operacional

B
S
U

DIMM Memory
leitora/gravadora
dispositivos de CD/DVD
disco rígido e/ou portas usb
memória

Salviano A. Leão Física Computacional 18 de março de 2019 27 / 75


Sistemas de Armazenamento

Dispositivos de Armazenamento

ATA (Advanced Technology Attachment): padrão de comunicação entre os


dispositivos de armazenamento (HDs, drives de CD-ROMs e DVDs) e as placas
mãe dos computadores pessoais. A evolução deste padrão, reúne várias
tecnologias antecessoras, como:
(E)IDE - (Extended) Integrated Drive Electronics
ATAPI - Advanced Technology Attachment Packet Interface
UDMA - Ultra DMA
Com a introdução do Serial ATA em 2003 (SATA), o padrão IDE/ATA foi
renomeado para Parallel ATA (ATA Paralelo, ou PATA), referindo-se ao método
como os dados eram transferidos pelos cabos desta interface.

Salviano A. Leão Física Computacional 18 de março de 2019 28 / 75


Sistemas de Armazenamento

Conecção Sata

Salviano A. Leão Física Computacional 18 de março de 2019 29 / 75


Sistemas de Armazenamento

Cabo Sata

Salviano A. Leão Física Computacional 18 de março de 2019 30 / 75


Sistemas de Armazenamento

Unidade de disco

No GNU/Linux, as unidades de discos são referenciadas de uma forma bastante


particular, através de nomes de arquivos do diretório /dev/.
Discos IDE: Não são usados mais atualmente. Nas placas mãe tem duas
conecções a ide0 e ide1.
Discos SATA: Padrão usado atualmente. Também tem duas conecções sata0 e
sata1.
Discos SCSI: São muitos rápidos. Dependem de uma placa controladora.

Salviano A. Leão Física Computacional 18 de março de 2019 31 / 75


Sistemas de Armazenamento

Discos SCSI

Discos de alto desempenho, utilizados em servidores onde a velocidade na


leitura e gravação de dados é de suma importância.
Essas unidades podem ser HD’s, unidades de CD-RW e gravadoras de DVD.
Essas unidades são referenciadas como /dev/sdxy, sendo "x"a letra que
indica o número do disco e "y"o número da partição, no caso dos HD’s.
CD-RW’s e gravadoras de DVD não têm partições, sendo identificadas
apenas como /dev/sdx, sendo "x"a letra que representa o número do disco.

Salviano A. Leão Física Computacional 18 de março de 2019 32 / 75


Sistemas de Armazenamento

Pen-Drivers

Dispositivos removíveis de vários tamanhos. Geralmente são detectados com um


dispositivo SCSI.

Salviano A. Leão Física Computacional 18 de março de 2019 33 / 75


Sistemas de Armazenamento

Unidades de Disquete

Também conhecidas como "floppy", as unidades de disquete ainda são


utilizadas, mas já pode se considera peça de museu.
Caiu em desuso de devido ao barateamento do pen-drivers e das unidades de
CD-RW e suas mídias.
Essas unidades são referenciadas como /dev/fdx, onde "x"é o número da
unidade de disquete, começando por 0.

Salviano A. Leão Física Computacional 18 de março de 2019 34 / 75


Sistemas de Armazenamento

Disco Serial ATA ou SATA

É o padrão de discos rígidos criado para substituir os discos ATA, também


conhecidos como IDE.
A taxa de transferência máxima teórica de um disco Serial ATA é de 150
MB/s ou 300 MB/s, contra os 133 MB/s de um disco rígido IDE.
A transmissão dos dados é feita de modo serial, ou seja, transmitindo um bit
por vez.
Quando se usa a mesma taxa de clock para uma transmissão de dados serial
e para uma paralela, a transmissão serial é mais lenta que a transmissão em
paralelo. Neste caso a transmissão paralela será pelo menos oito vezes mais
rápida, já que pelo menos oito bits (um byte) serão transmitidos por pulso de
clock, enquanto que na transmissão serial apenas um bit será transmitido por
pulso de clock.
se um clock maior for usado na transmissão serial, ela pode ser mais rápida
do que a transmissão paralela.

Salviano A. Leão Física Computacional 18 de março de 2019 35 / 75


Sistemas de Armazenamento

Conceitos Básicos do Disco Rígido

Discos rígidos executam uma fun-


ção muito simples: eles arma-
zenam dados que podem ser re-
cuperados com confiança através
de comandos. A Figura ao lado,
mostra um disco rígido novo, não
usado.

Salviano A. Leão Física Computacional 18 de março de 2019 36 / 75


Sistemas de Armazenamento

Como os dados são gravados

Ao formatarmos o drive ou criarmos um sistema


de arquivos, gravamos informação no drive, cri-
ando uma ordem no espaço vazio de um drive não
formatado.
A ordem imposta por um sistema de arquivos en-
volve algumas desvantagens:
Uma pequena porcentagem do espaço
disponível do drive é usado para armazenar
dados relativos ao sistema de arquivos.
Um sistema de arquivos divide o espaço
restante em pequenos segmentos de espaço
consistente. No Linux, estes segmentos são
conhecidos como blocos.
Salviano A. Leão Física Computacional 18 de março de 2019 37 / 75
Sistemas de Armazenamento

Como os sistemas de arquivo possibilitam a existência de diretórios e arquivos,


estas desvantagens geralmente são vistas como um pequeno preço a pagar.
É importante notar também que não há um tipo único e universal de sistema
de arquivo.
Um drive de disco pode conter um dos vários tipos de sistemas de arquivo.

Salviano A. Leão Física Computacional 18 de março de 2019 38 / 75


Sistemas de Armazenamento

Disco Com Dados Gravavados

Gravar um sistema de arquivo no disco é só o começo.


O objetivo deste processo é, na verdade, armazenar e
recuperar dados.
Todos os arquivos utilizam pelo menos um bloco
e alguns arquivos utilizam blocos múltiplos.
Os blocos usados não precisam formar uma
região contínua.
Blocos usados e não usados podem apresentar
intervalos entre si. Isto é conhecido como
fragmentação.

Salviano A. Leão Física Computacional 18 de março de 2019 39 / 75


Sistemas de Armazenamento

Partições: Multiplica os Drivers

Como as capacidades de drives de disco aumentaram drasticamente, alguns


sistemas de arquivo nunca foram planejados para suportar acima de uma
capacidade determinada.
Os sistemas de arquivo poderiam suportar drives maiores com maior
capacidade, mas o tempo de espera para o sistema de arquivo encontrar
arquivos se tornou excessivo.
A solução deste problema foi dividir discos em partições. Cada partição pode
ser acessada como se fosse um disco separado. Isto é feito através da adição
de uma tabela de partição.
A tabela de partição é armazenada bem no começo do disco, antes de
qualquer sistema de arquivos ou dados do usuário.

Salviano A. Leão Física Computacional 18 de março de 2019 40 / 75


Sistemas de Armazenamento

As partições são divisões lógicas existentes no disco rígido, indicando onde


começa e onde termina um sistema de arquivos.
Um HD pode ser dividido em várias partições, e cada partição será tratada
com se fosse um dispositivo à parte.
As partições nos possibilita instalar mais de um sistema operacional no
mesmo HD, bem como salvar arquivos em uma partição separada, de modo a
não perder os dados numa eventual corrupção do sistema operacional.

Salviano A. Leão Física Computacional 18 de março de 2019 41 / 75


Sistemas de Armazenamento

Tipos de Partições

Primárias: são as partições que contém um sistema de arquivos. Num HD


deve haver no mínimo uma e no máximo quatro partições
primárias. Se existirem quatro partições primárias, nenhuma outra
partição poderá existir neste disco. Por isso, o padrão é que
somente as partições onde serão instalados os sistemas operacionais
sejam definidas como primárias, mas isso não é regra, uma vez que
alguns sistemas operacionais, como o GNU/Linux, podem ser
instalados totalmente dentro de partições lógicas;
Estendidas: são partições primárias especiais, que ao invés de receber um
sistema de arquivos abriga outras partições, lógicas. Num disco
pode existir somente uma partição estendida;
Lógicas: são as partições criadas dentro das partições estendidas. Essas
partições, assim como as primárias, recebem sistemas de arquivos.
Dentro de uma partição estendida podem existir no máximo 12
partições lógicas.

Salviano A. Leão Física Computacional 18 de março de 2019 42 / 75


Sistemas de Armazenamento

Tabela de Partição do Disco

Cada campo da tabela de partição contém diversas características importantes da


partição:

Os pontos do disco onde a partição começa e


términa.
Se a partição está ativa
O tipo da partição

Os pontos de início e fim definem o tamanho da partição e sua localização no


disco.
O sistema operacional é iniciado na partição marcada como "ativa".

Salviano A. Leão Física Computacional 18 de março de 2019 43 / 75


Sistemas de Armazenamento

O tipo é um número que identifica o uso antecipado da partição. Isto soa um


pouco vago porque o conceito do tipo de partição também é vago.
O tipo de partição pode ser um pouco confuso:
Alguns sistemas operacionais usam o tipo de partição para:
Denotar um tipo específico de sistema de arquivo.
Indicar que a partição está associada a um determinado sistema operacional.
Indicar que a partição contém um sistema operacional iniciável.
E por último para alguma combinação das três possibilidades acima.

Salviano A. Leão Física Computacional 18 de março de 2019 44 / 75


Sistemas de Armazenamento

Partições Estendidas

Quando criamos uma partição e definimos que seu tipo será Estendida, uma
tabela de partição estendida é criada. Essencialmente, a partição estendida é
como um drive de disco por si só:

Tem uma tabela de partição que aponta para uma ou mais partições.
As partições internas a uma partição estendida são denominadas partições
lógicas.

Salviano A. Leão Física Computacional 18 de março de 2019 45 / 75


Sistemas de Armazenamento

Instalando Linux

Usando espaço livre não particionado, as partições já definidas não ocupam o


disco rígido inteiro, deixando espaço não alocado que não pertence a
nenhuma partição definida.
Redimensionando as partições existentes. Os softwares livres indicados são: o
gparted ou qtparted.

Créditos:
http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-ig-ppc-multi-pt_br-4/
ap-partitions.html#S2-PARTITIONS-MAKE-ROOM

Salviano A. Leão Física Computacional 18 de março de 2019 46 / 75


Sistemas de Armazenamento

Partições vistas pelo Sistema Operacional

Cada partição é identificada como um dispositivo à parte. No GNU/Linux, essas


partições são identificadas como /dev/[tipo de disco][disco][partição].
Os [tipos de disco] podem ser:
hd: Disco rígidos IDE e CDROMs;
sd: Disco rígido SATAS, SCSI ou removíveis (PenDrives).
fd: Disquete
Já o [disco] é substituído pela letra correspondente à unidade de disco:

a: Primary Master; c: Secondary Master;


b: Primary Slave; d: Secondary Slave.

E, por fim, a [partição] é substituído pelo número da partição.

Salviano A. Leão Física Computacional 18 de março de 2019 47 / 75


Sistemas de Armazenamento

Padrão para HD IDE

Salviano A. Leão Física Computacional 18 de março de 2019 48 / 75


Sistemas de Armazenamento

Padrão para HD SATA

Salviano A. Leão Física Computacional 18 de março de 2019 49 / 75


Sistemas de Armazenamento

Partições

Salviano A. Leão Física Computacional 18 de março de 2019 50 / 75


Sistemas de Armazenamento

Partições lógicas

Salviano A. Leão Física Computacional 18 de março de 2019 51 / 75


Sistemas de Armazenamento

Exemplos

Veja alguns exemplos de referências a partições:


/dev/hda1: Disco rígido IDE (hd), primary master (a), primeira partição (1);
/dev/sda1: Pen Drive (sd), primary master (a), primeira partição (1);
/dev/sdc3: Disco rígido SCSI (sd), secondary master (c), terceira partição
(3);
/dev/hdd4: Disco rígido IDE (hd), secondary slave (d), quarta partição (4);
/dev/sdb7: Disco rígido SCSI (sd), primary slave (b), sétima partição (7).

Salviano A. Leão Física Computacional 18 de março de 2019 52 / 75


Sistemas de Armazenamento

Exemplo de partições de um HD IDE

Salviano A. Leão Física Computacional 18 de março de 2019 53 / 75


Sistemas de Armazenamento

Exemplo de partições de um HD SATA

Salviano A. Leão Física Computacional 18 de março de 2019 54 / 75


Sistemas de Armazenamento

A partição swap

Para a instalação básica de um sistema GNU/Linux são necessárias pelo


menos duas partições: uma principal, onde será instalado o sistema, e uma
partição swap, conhecida também como área de troca. A função da partição
swap é funcionar como memória virtual.
A memória virtual é um recurso que utiliza o disco rígido para armazenar
dados não utilizados na memória RAM, liberando-a para receber mais dados.
Isso torna o sistema mais estável e evita que ele se torne excessivamente
lento quando muitas aplicações são executadas simultaneamente.
A partição swap deve ser dimensionada de acordo com a quantidade de
memória RAM instalada e a carga de trabalho da máquina.

Salviano A. Leão Física Computacional 18 de março de 2019 55 / 75


Sistemas de Armazenamento

Sistemas de Arquivos

Sistemas de arquivos são as estruturas utilizadas para a leitura e gravação de


arquivos e diretórios pelo sistema operacional. Um disco rígido, disquete ou
qualquer outro dispositivo de armazenamento de dados não pode ser utilizado se
não estiver fazendo uso de um sistema de arquivos.
Existem inúmeros sistemas de arquivos, cada um com suas características
particulares que lhe conferem desempenho e capacidades diferentes, mas todos
eles têm em comum o objetivo básico de fornecer a estrutura necessária para o
sistema operacional ler e gravar os arquivos e diretórios.

Salviano A. Leão Física Computacional 18 de março de 2019 56 / 75


Sistemas de Armazenamento

Journaling

Um sistema de arquivos com journaling é aquele que mantém um log (journal),


normalmente circular, de todas as mudanças no sistema de arquivos antes de
escrever os dados no disco.
Este tipo de sistema de arquivos oferece uma melhor probabilidade de não sofrer
corrupção de dados no caso de o sistema travar ou faltar energia, e uma
recuperação mais rápida, porque não há necessidade de verificar todo o disco,
somente aqueles que pertenciam a um log que não foi devidamente fechado.
Exemplos de sistemas de arquivos que suportam journaling: Ext3, Ext4, JFS,
JFFS, JFFS2, LogFS,[NTFS], NTFS, Reiser4, ReiserFS e XFS.

Salviano A. Leão Física Computacional 18 de março de 2019 57 / 75


Sistemas de Armazenamento

Journaling

Reserva um espaço no início do disco para gravar informações sobre as


operações que serão realizadas, antes delas serem realmente feitas.
Quando alguma falha ocorrer durante a operação, seja de gravação,
movimentação ou exclusão, basta o sistema ler o setor de journaling para
facilmente poder desfazer as operações, ou então completar as operações
interrompidas.
A verificação de sistemas de arquivos com suporte a journaling é realizada
muito rapidamente, pois basta verificar se existe alguma operação pendente
registrada no journal.
Dependendo do sistema de arquivos, essa verificação pode durar de 1 a 2
segundos, podendo ser executada toda vez que se carrega o sistema
operacional, garantindo uma grande segurança quanto à integridade dos
dados.

Salviano A. Leão Física Computacional 18 de março de 2019 58 / 75


Sistemas de Armazenamento

Tipos de Sistemas de arquivos

Os sistemas de arquivos sem journaling são muito inseguros, mas costumam


ser mais rápidos, devido ao número menor de informações que são
armazenadas sobre os arquivos. A vulnerabilidade está no desligamento
repentino da máquina.
No caso de falhas, a verificação de erros em sistemas de arquivos sem
journaling é lenta, pois requer a análise de todos os dados do HD.
Sistemas de arquivos com journaling, são muito seguros e confiáveis, muito
tolerantes à queda de energia, e a verificação de erros é muito mais rápida.
Entretanto, podem ser muito mais lentos que os sistemas de arquivos sem
journaling, mas isso é bastante relativo.
http://www.vivaolinux.com.br/artigo/
Sistemas-de-arquivos-para-GNU-Linux/

Salviano A. Leão Física Computacional 18 de março de 2019 59 / 75


Sistemas de Armazenamento

EXT2: é um sistema de arquivos muito rápido pelo fato de não possuir um


journal, com os dados sendo gravados diretamente. Quando ocorre
alguma falha que provoque o desligamento incorreto do sistema, o
utilitário fsck é acionado para a verificação do sistema, sendo às
vezes um processo lento e nem sempre com bons resultados,
ocasionado quase sempre perda de dados.
FAT32: é o sistema de arquivos padrão do Windows, nas versões 95, 98 e
Me, e disponível também para as versões 2000 e XP. É um sistema
de arquivos simples, um pouco lento e bastante vulnerável a falhas,
motivos pelos quais ele não pôde ser usado nos sistemas
operacionais de rede da Microsoft, como as versões NT, 2000
Server e 2003 Server do Windows.

Salviano A. Leão Física Computacional 18 de março de 2019 60 / 75


Sistemas de Armazenamento

Sistema de Arquivos EXT3

foi esenvolvido pela Red Hat.


é um EXT2 com journaling e passou a ser suportado na versão 2.4 do kernel
Linux.
nele o journal usa uma camada chamada JDB (Journaling Block Device), que
utiliza um método diferente na recuperação de dados: ao invés de armazenar
bytes que devem ser gravados, ele armazena blocos modificados do sistema de
arquivos na memória para poder rastrear as operações que ficaram pendentes.
sua vantagem é que ele não precisa lidar com a complexidade de gravar bytes
no journal e a desvantagem é que o journal acaba ficando maior.
com o journaling há um considerável aumento na segurança dos dados,
entretanto o desempenho nas operações em sistemas de arquivos EXT3 é
muito inferior à dos sistemas EXT2.

Salviano A. Leão Física Computacional 18 de março de 2019 61 / 75


Sistemas de Armazenamento

Sistema de Arquivos EXT4

houve melhorias no journaling com aprimoramento de checksum.


Suporte para tamanhos maiores de volumes e arquivos em relação à versão 3.
Ele suporta
partições de 1024 PB (Petabytes) ou 1EB (Exabyte)
arquivos de 16 TB.
A indexação de quantidade de diretórios foi aumentada;
Suporte a recuperação de arquivos Undelete: Suporte à recuperação de
arquivos, permitindo que arquivos seja recuperados.

Salviano A. Leão Física Computacional 18 de março de 2019 62 / 75


Sistemas de Armazenamento

Sistema de Arquivos ReiserFS

Foi desenvolvido especialmente para o Linux.


é muito confiável e surpreendentemente rápido, em muitos casos mais rápido
até mesmo que sistemas sem journaling.
por não utilizar blocos de tamanho fixo, mas ajustar seu tamanho de acordo
com o arquivo, evita os problemas de desperdício de espaço comuns em
outros sistemas de arquivos
Possui suporte a arquivos maiores que 2 GB e o acesso a árvore de diretórios
é muito mais rápido.
Utiliza uma eficiente estrutura de dados chamada balanced tree (árvore
equilibrada), que trata toda a partição como se fosse uma única tabela de
banco de dados contendo diretórios, arquivos e arquivos de meta data, o que
aumenta muito o desempenho de aplicativos que trabalham com arquivos
pequenos, porque estes são lidos de uma só vez, em apenas um ciclo de I/O
do HD.

Salviano A. Leão Física Computacional 18 de março de 2019 63 / 75


Sistemas de Armazenamento

JFS e XFS

JFS: Sigla de Journaling File System, foi criado pela IBM para uso em
servidores corporativos, e teve seu código-fonte liberado. Ele
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, e a alocação dos I-nodes é feita conforme vai sendo
necessário.
XFS: desenvolvido originalmente pela Silicon Graphics e posteriormente
disponibilizado o código-fonte, o XFS possui vários patches e
alguns bugs, mas é um sistema de arquivos muito rápido na
gravação e possui um desfragmentador para arquivos.

Salviano A. Leão Física Computacional 18 de março de 2019 64 / 75


Sistemas de Armazenamento

Sistema de Arquivos NTFS

sigla de New Technology File System, foi desenvolvido pela Microsoft para
ser utilizado nas versões de rede do Windows, inicialmente o NT, e
posteriormente o 2000 Server e o 2003 Server. Baseado no HPFS (High
Performance File System), da IBM, o NTFS possui suporte a gravação de
permissões de acesso, Reparse Points, que permite associar ações a arquivos
e pastas, quotas de discos, entre outros recursos.
Por ser um sistema proprietário, da Microsoft, não foi possível desenvolver
para o GNU/Linux um suporte nativo a sistemas de arquivos NTFS. É
possível ler, mas não há suporte eficiente à gravação nesse sistema de
arquivos. Em alguns casos, pode-se usar o Captive, um programa
disponibilizado sob a licença GNU GPL que se utiliza de arquivos de sistema
do Windows para permitir a gravação em sistemas de arquivos NTFS, e por
isso requer que o Windows esteja instalado no computador. O desempenho
do Captive é pobre, a gravação de arquivos é muito lenta, atingindo míseros
2 MB por segundo. Outra alternativa, porém paga, é o Paragon NTFS, que
funciona muito bem e possui um desempenho muito superior ao do Captive.

Salviano A. Leão Física Computacional 18 de março de 2019 65 / 75


Sistemas de Armazenamento

Qual Sistema de Arquivos Deve ser Usado?

Falar qual sistema de arquivos você deve usar é uma missão quase impossível, é
como falar de distribuições GNU/Linux: alguém que adora o Slackware com
certeza só vai recomendar o Slackware, e alguém que adora o Debian com certeza
só vai recomendar o Debian, e assim por diante.
Em se tratando de sistemas de arquivos, a recomendação é que você escolha,
entre os que possuem os recursos que você precisa, aquele que apresentar o
melhor desempenho.
Nesse caso, a menos que você vá utilizar NFS, o sistema de arquivos mais
indicado é o ReiserFS, que possui comprovadamente um desempenho muito
superior ao de outros sistemas de arquivos. Se for utilizar NFS, uma vez que
existe o problema de compatibilidade do ReiserFS, pode-se utilizar o XFS, ou o
EXT3. Entretanto, se você realmente não precisa das vantagens do journaling, o
EXT2 pode ser a melhor alternativa para você.

Salviano A. Leão Física Computacional 18 de março de 2019 66 / 75


Sistemas de Armazenamento

Montando Partições

No GNU/Linux, para acessar um dispositivo de disco é necessário antes montá-lo


em um diretório do sistema. O processo de montagem consiste em tornar o
dispositivo acessível para o usuário.
Vamos tomar como exemplo simples um disquete. O dispositivo de disquete é
/dev/fd0. Entretanto, se você colocar um disquete no drive e tentar acessá-lo
através de /dev/fd0, você não conseguirá:

Você precisa, antes, montar o disquete:

Salviano A. Leão Física Computacional 18 de março de 2019 67 / 75


Sistemas de Armazenamento

O comando mount requisita ao sistema operacional que o acesso ao conteúdo do


disquete através do diretório /media/floppy/ seja permitido. Assim, o conteúdo
desse diretório passa a ser o conteúdo do sistema de arquivos do disquete.
Isso torna possível utilizar várias partições como se eles fossem uma só. Por
exemplo, podemos utilizar uma partição separada para gravar os dados do
diretório /home/:

Agora, quando gravarmos alguma coisa no diretório /home/, ela será gravada na
partição /dev/sda5, e não na mesma partição em que está o sistema de arquivo
raiz /. A utilidade disso é bem clara: se por acaso acontecer algum problema e o
sistema operacional for corrompido, basta formatar a partição principal e reinstalar
o sistema, sem mexer na partição /dev/sda5, que contém o diretório /home/.

Salviano A. Leão Física Computacional 18 de março de 2019 68 / 75


Sistemas de Armazenamento

Usando o comando mount

O mount é usado para montar sistemas de arquivos. Seu uso é simples:

sistema de arquivos: sistema de arquivos usado no dispositivo ou partição que se deseja montar. Pode ser
ext3, ext2, reiserfs, xfs, vfat, jfs, minix, etc. Se você não souber o sistema de arquivos
utilizados, experimente a opção auto;
opções: há várias opções disponíveis. Dentre elas pode-se citas as usadas para montar:
ro: a partição no modo somente leitura, não sendo possível fazer
alterações no sistema de arquivos do dispositivo;
rw: a partição no modo de leitura e escrita, permitindo fazer alterações
no sistema de arquivos;
loop: sistemas de arquivos gravados em arquivo (imagens);
noexec: e não permitir a execução de programas já gravados no sistema de
arquivos do dispositivo;
noatime: e não gravar informações da data do último acesso aos arquivos;
nodev: e não permitir a criação de dispositivos no sistema de arquivos do
dispositivo;
nosuid: e não permitir a criação de arquivos com o bit SUID ligado.
dispositivo: é a partição, disco ou arquivo que deseja acessar;
ponto de montagem: é o diretório a partir de onde deseja-se acessar o dispositivo.

Salviano A. Leão Física Computacional 18 de março de 2019 69 / 75


Sistemas de Armazenamento

Exemplos de uso do comando mount

Salviano A. Leão Física Computacional 18 de março de 2019 70 / 75


Sistemas de Armazenamento

Usando o comando umount

O umount, como o nome sugere, é o comando que utilizamos para desmontar o


sistema de arquivos, ou seja, desconectá-lo da máquina, tornando-o novamente
inacessível.
Em sistemas de arquivos pequenos, como alguns pen-drivers, a gravação dos
arquivos só ocorre de fato depois de executado o umount. Isso quer dizer que não
importa que você tenha copiado vários arquivos para o seu disquete, eles só serão
de fato gravados quando você desmontá-lo através do comando umount, ou
utilizar o comando sync. Seu uso é bem simples:

Como você pode ver, pode-se especificar tanto o dispositivo quanto o ponto de
montagem. Assim, se você montou um dispositivo com o comando
mount /dev/sdb1 /media/usb, por exemplo, você poderá desmontá-lo tanto
com umount /dev/sdb1 quanto com umount /media/usb.

Salviano A. Leão Física Computacional 18 de março de 2019 71 / 75


Sistemas de Armazenamento

Tabela de partição em /etc/fstab

O arquivo /etc/fstab é usado para gerenciar a montagem dos diversos dispositivos


de armazenamento de arquivos. Ele possui uma entrada para cada sistema de
arquivo montado durante a inicialização do sistema e uma para os outros
montados frequentemente. Os dispositivos que possuem uma entrada no
/etc/fstab podem ser montados de forma simples com um único parâmetro, por
exemplo, para montar um disquete no diretório /media/floppy usa-se:
# mount -t auto /dev/fd0 /media/floppy
Entretanto, ao adicionar a seguinte linha:
/dev/fd0 /media/floppy auto rw,noauto 0 0
no arquivo /etc/fstab, esta unidade é montada com um dos seguintes comandos:
# mount /dev/fd0 Ou # mount /media/floppy

Salviano A. Leão Física Computacional 18 de março de 2019 72 / 75


Sistemas de Armazenamento

A Estrutura do fstab

Vamos analisar a estrutura do fstab:

Salviano A. Leão Física Computacional 18 de março de 2019 73 / 75


Sistemas de Armazenamento

Cada linha do fstab é chamada de entrada. Cada entrada é composta de seis


informações, dispostas na seguinte ordem:
sistema de arquivos: é a partição que se deseja montar;
ponto de montagem: diretório onde a partição será acessada;
tipo: Tipo do sistema de arquivos utilizado pela partição que se deseja
montar;
dump: especifica a frequência de backup feita com o programa dump no
sistema de arquivos. O valor 0 desativa o backup;
ordem: define a ordem em que o sistema de arquivos é verificado na
inicialização do sistema. O valor 0 desativa a verificação. O valor 1
deve ser definido sempre para o sistema de arquivo raiz /.

Salviano A. Leão Física Computacional 18 de março de 2019 74 / 75


Sistemas de Armazenamento

opções: as opções usadas no sistema de arquivos, separadas por vírgula. As


opções utilizadas juntamente com o parâmetro -o do comando
mount são válidas aqui, e também algumas outras, tais como:
defaults: utiliza as opções padrão de montagem;
noauto: não monta o sistema de arquivos automaticamente
na inicialização do sistema. Deve ser usado em
disquetes, CD’s e outros dispositivos removíveis;
sync: usado para discos removíveis, como disquetes e Zip
drives, e pen-drivers para que os dados sejam
gravados imediatamente na unidade, de forma que
não seja necessário usar o comando sync ou
desmontar o disquete para que os dados sejam
gravados;
user: permite que o usuário comum possa montar o
sistema de arquivos. Sem essa opção, somente o
administrador de sistema, o usuário root, pode
realizar a montagem.

Salviano A. Leão Física Computacional 18 de março de 2019 75 / 75

Você também pode gostar