• Nenhum resultado encontrado

Programação de Sistemas

N/A
N/A
Protected

Academic year: 2021

Share "Programação de Sistemas"

Copied!
27
0
0

Texto

(1)

Programação de Sistemas

Memória secundária

por discos

Programação de Sistemas Discos : 1/54

• Os discos representam hoje as unidades de memória

secundária mais usadas, caracterizadas por

– Grandes capacidade de armazenamento de ficheiros. Em 2008

• disco rígido magnético interno suporta 160 GB. • CD suporta 700 MB.

• DVD suporta 4.7 GB por superfície e por nível.

Introdução (1)

Programação de Sistemas Discos : 2/54

• DVD suporta 4.7 GB por superfície e por nível.

– Custo reduzido (na ordem de 100 EUR por disco rígido IDE de 120MB), – Tempos de acesso superiores às memórias centrais (velocidades de

transferência na ordem de 80MB/seg)

• Os discos são catalogados de acordo com método de armazenamento

– Magnéticos: em banda flexível (FD-“floopy disc”, de capacidade reduzida – 1.4MB em desuso) ou rígidos (HD-”hard disk”) – Ópticos: CD e DVD

(2)

Introdução (2)

• Discos rígidos inventados pela IBM nos anos 50, nessa

altura designados pelo nome de código Winchester, com

20” de diâmetro e capacidade de alguns MB.

• Outras alternativas em expansão, como memórias “flash”

(conhecidas por Memorystick ou caneta (“pen”), devido

(conhecidas por Memorystick ou caneta (“pen”), devido

ao seu formato)

– Capacidade até 16GB, velocidades de transferência de 2MB/seg – Custo superior (cerca de 100 vezes preço de disco rígido)

– Limitação nos ciclos de apagamento e escrita (tipicamente 1 milhão durante a vida útil).

Nota: limitação impõe necessidade de renovação das “smart-cards” ao fim de 5 anos!

Programação de Sistemas Discos : 3/54

Introdução (3)

Evolução dos discos magnéticos

Ano 1980 1985 1990 1995 2000 2000/1980

$/MB 500 100 8 0.3 0.05 1/10_000

Acesso (ms) 87 75 28 10 8 1/11

Programação de Sistemas Discos : 4/54

Acesso (ms) 87 75 28 10 8 1/11

Capacidade (MB) 1 10 160 1000 9000 9_000/1

Valores recolhidos da Byte e PC Magazine

Nota: prefixos indicativos de potência Kilo-103, Mega-106, Giga-109,

(3)

• Uma unidade de disco rígido é formada por 1-5 discos (“platter”) de alumínio com depósito de materal magnético, diâmetro 2.6”-3.7”

– Informação armazenada na superfície

(“surface”), eventualmente em vários camadas (“layer”).

Arquitectura do HDD (1)

Programação de Sistemas Discos : 5/54

(“layer”).

– Os discos rodam a uma velocidade constante (tipicamente entre 5400 e 10000 rpm). – Em cada lado do disco desloca-se uma cabeça

para escrita/leitura (todos os braços deslocam-se em simultâneo).

– A informação é armazenada em faixas (“track”), cada uma dividida em sectores. A mesma faixa nas diferentes superfícies constitui um cilindro.

Nota: ‘0’ representado por uma região com mesma polaridade magnética, ‘1’ por uma região com transição de polaridade magnética.

Arquitectura do HDD (2)

• Bits armazenados por alteração da polarização magnética

– Cabeças não detectam o sentido da polarização

– Evita perda de sincronismo em sequências longas de 0’s ou 1’s

• Vários algoritmos de codificação das alterações:

– Frequency Modulation – Frequency Modulation

– Modified Frequency Modulation – Run Length Limited

(4)

Arquitectura do HDD (3)

• O disco rígido é encerrado numa caixa

– Distância entre a cabeça e o disco (“clearance”) muito reduzida, na ordem de 0.5*10-6”, logo a contaminação pode avariar o

disco.

– Comparando algumas dimensões

Programação de Sistemas Discos : 7/21

• Variação do perímetro modifica número de sectores por

faixa

.

– À esquerda da figura apresenta-se uma distribuição por zonas, com maior número nas zonas exteriores (discos reais podem ter 16 zonas, com variação em 4% à medida que se caminha para o exterior)

Arquitectura do HDD (4)

Programação de Sistemas Discos : 8/54

(5)

• Para esconder detalhes, o disco é apresentado ao SO com

geometria virtual, baseada em LBA-Logical Block

Address.

• O controlador transcreve o endereço LBA para a posição

real formada pelo triplo <cilindro, cabeça, sector>.

Arquitectura do HDD (5)

Programação de Sistemas Discos : 9/54

real formada pelo triplo <cilindro, cabeça, sector>.

Exemplo: O disco WD18300 possui

– Cilindros: 10601

– Superfícies: 12 (2 por disco) – Sectores por faixa: 281 (média)

Capacidade total = 12*10601*281*512B = 17GB

Nota: o espaço útil é menor, devido ao espaço reservado para partições de disco, informação de acesso (directórios,…)

• CD desenvolvido pela Philips e

Sony, lidos por díodo laser de

780 nanómetros.

• Dimensão do diâmetro: 4” (12

cm).

– Informação armazenada em espiral, a partir

Arquitectura do CD (1)

Programação de Sistemas Discos : 10/54

– Informação armazenada em espiral, a partir do centro.

– Disco roda a velocidade variável conforme posição do leitor (530 RPM na parte inicial, no interior, até 200 RPM no exterior). – Velocidade de transferência 150 KB/s (1x).

Utilização em computadores levou à criação de leitores com velocidades até 52 x superiores.

– Capacidade de armazenamento útil de 650MB.

Figura 5-20,

(6)

Arquitectura do CD (2)

• Audio codificado a 16 bits, taxa de amostragem 44.1 KHz

até 72 minutos (nota: duração da 9ª Sinfonia de

Beethoven, alegadamente a favorita do líder da Sony).

• Espiral formada por ressaltos (“pit”) sobre a superfície de

alumínio (“land”).

alumínio (“land”).

– “1” representado pela transição, – “0” pela manutenção da formatação.

• Informação armazenada com codificação Reed-Solomon,

para correcção de erros.

Programação de Sistemas Discos : 11/54

Arquitectura do DVD (1)

• Disco DVD-Digital Video Disc possui mesmas dimensões

físicas de um CD, mas informação é armazenada de forma

distinta.

– Laser de 650 nanómetros, permitindo ressaltos mais densos. – Pode ter 2 camadas de ressaltos, com a inferior semi-transparente – Pode ter 2 camadas de ressaltos, com a inferior semi-transparente

por forma o laser poder ler a camada superior.

– Alguns DVDs são impressos nos dois lados do disco, mas para ler o outro lado é necessário virar manualmente o disco no leitor.

Programação de Sistemas Discos : 12/54

Lados Camadas Capacidade (GB)

1 1 4.7

1 2 8.5

2 1 9.4

(7)

Arquitectura do DVD (2)

• Blu-ray

1

, da Sony usa laser violeta de 405 nanómetros.

• Acabou por vencer a alternativa HD-DVD da Toshiba.

Programação de Sistemas Discos : 13/54

1sem “e” por ser impossível patentear nomes comuns.

Lados Camadas Capacidade (GB)

1 1 25

1 2 50

2 1 50

2 2 100

• Tipicamente, um sector contém 3 campos:

– Preâmbulo (número do sector e informação sobre localização) – Dados

– Valor de detecção/correcção de erros no sector

• Nos CDs os blocos são de 2352B e existem dois tipos de

faixas: audio e dados.

Sectores de um disco (1)

Programação de Sistemas Discos : 14/54

faixas: audio e dados.

– Nos discos audio o bloco só possui dados.

– Nos discos de dados, os dados ocupam apenas 2KB, sendo o resto do espaço usado para código de correção de erro.

(8)

• Todos os sectores do HDD

são etiquetados, por forma a

que a cabeça de escrita/

leitura saiba a sua posição.

Formas de etiquetagem:

Sectores de um disco (2)

Programação de Sistemas Discos : 15/54

Formas de etiquetagem:

– Cilindro/faixa/sector

– Número sequencial (usado pelos discos actuais): na faixa a ordenação é sequencial, com deslocamento entre faixas para optimizar tempo de acesso de

ficheiros longos. Figura 5-25, Modern Operating Systems, A.S. Tanenbaum

• A partida dos sectores varia nos cilindros (“skew”) para

minimizar tempo de leitura de uma sequência de sectores

que atravesse vários cilindros.

• A variação deve ser igual a

tH /tS % S

, em que

– tH= tempo deslocamento da cabeça entre 2 cilindros consecutivos

Sectores de um disco (3)

Programação de Sistemas Discos : 16/54

– tH= tempo deslocamento da cabeça entre 2 cilindros consecutivos – tS= tempo de leitura de um sector

– S= número de sectores por cilindro

Ex: seja um disco com velocidade de rotação 10 000 RPM,

cada cilindro contendo 300 sectores e cabeça a demorar

800 µs a deslocar-se entre dois cilindros.

(9)

Sectores de um disco (4)

• Informação sobre disco recolhida pelo comando hdparm

[root@asterix rgc]# /sbin/hdparm -i /dev/sda

/dev/sda:

Model=ST380013AS , FwRev=3.00 , SerialNo= 4MR2G6X8 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }

RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4

BuffType=unknown, BuffSize=8192kB, MaxMultSect=16, MultSect=?16? BuffType=unknown, BuffSize=8192kB, MaxMultSect=16, MultSect=?16? CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=156301488 IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120} PIO modes: pio0 pio1 pio2 pio3 pio4

DMA modes: mdma0 mdma1 mdma2

UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 AdvancedPM=no WriteCache=enabled

Drive conforms to: ATA/ATAPI-6 T13 1410D revision 2: ATA/ATAPI-1,2,3,4,5,6 * signifies the current active mode

[root@asterix rgc]# /sbin/hdparm -tT /dev/sda1 /dev/sda1:

Timing cached reads: 1972 MB in 2.00 seconds = 987.09 MB/sec Timing buffered disk reads: 170 MB in 3.00 seconds = 56.66 MB/sec [root@asterix rgc]#

Programação de Sistemas Discos : 17/54

• O tempo de leitura de um sector de disco

é dividido em.

1. Deslocamento (“seek”) da cabeça de disco. 2. Latência, de rotação do disco até o sector

ficar posicionado debaixo da cabeça.

Tempo de leitura (1)

Programação de Sistemas Discos : 18/54

3. Varrimento do sector, que depende da velocidade de rotação do disco.

rN

b

r

T

T

A

=

S

+

+

2

1

Tempo leitura Tempo deslocamento     faixa por Bytes número -N lidos Bytes número -b - velocidaderotação r

(10)

• Tempo gasto dominado pelo posicionamento da cabeça.

Nota: O número médio de faixas deslocadas entre dois acessos aleatórios varia entre N/2-para faixas extremas e N/4-N/2-para a faixa do meio. Em média, número médio de faixas deslocadas entre dois acessos aleatórios é N/3.

• Atrasos rotacional e tempo de transferência limitados

mecanicamente pela velocidade de rotação.

• O posicionamento da cabeça é decidido pelo algoritmo de

Tempo de leitura (2)

Programação de Sistemas Discos : 19/54

• O posicionamento da cabeça é decidido pelo algoritmo de

despacho quando estiverem pendentes vários pedidos

(situação normal em sistemas operativos com

multiprocessamento). Os algoritmos de posicionamento

divididos pela prioridade:

– Ordem de chegada dos pedidos (FCFS)

– Minimizar o deslocamento ao pedido seguinte (SSTF)

– Manter sentido de deslocamento do braço (varrimentos S-SCAN,S-LOOK,...)

Problema: o disco tem 40 cilindros, a cabeça está posicionada no cilindro 11 e a lista pedidos de acesso é 1,36,16,34,9 e 12.

Algoritmos de posicionamento (1)

1. Despacho sequencial (FCFS-”First Come, First Served”)

• Ordem seguida: 1, 36, 16, 34, 9 e 12 • Distância percorrida = |1-11| + |36-1| + |16-36| + |16-34| + |9-34| + |12-9| = 111 cilindros Posição inicial 0 x 5 x x 10 x 15 x 20 25 30 x 35 x Posição inicial Pedidos pendentes V: Fácil de implementar

D: Gera deslocamentos desnecessários

(11)

Algoritmos de posicionamento (2)

2. Despacho deslocamento mais curto primeiro

(SSTF-”Shortest Seek Time First”)

• Ordem seguida: 12, 9, 16, 1, 34 e 36

• Distância percorrida = |12-11| + |9-12| + |16-9| + |1-16| + |34-1| + |36-34| = 61 cilindros

D: Pedidos podem ficar à espera muito tempo, por entretanto aparecerem outros mais próximos.

Figura 5-27, Modern Operating Systems, A.S. Tanenbaum

Discos : 21/54

Algoritmos de posicionamento (3)

3. Despacho por varrimento (Scan) ou elevador: segue um

sentido até ao pedido mais afastado, executando todos os

pedidos pelo caminho, revertendo depois o sentido de

deslocamento.

• Ordem seguida: 12, 16, 34, 36, 9 e 1 • Ordem seguida: 12, 16, 34, 36, 9 e 1 • Distância percorrida = |12-11| + |16-12| + |34-16| + |36-34| + |9-36| + |1-9| = 60 cilindros 0 x 5 x x 10 x 15 x 20 25 30 x 35 x

Nota: Existem 4 versões alternativas do algoritmo de elevador

V: Tempo de espera mais uniforme nos extremos do disco.

(12)

3a: C-SCAN (Circular SCAN): semelhante ao SCAN

– serve pedidos apenas no sentido ascendente. – atinge as faixas mais interna e mais externa. – regressa logo a 0 quando chega à ultima faixa.

Nota: pedidos pendentes armazenados numa lista circular

• Ordem seguida: 12, 16, 34, 36, 39, 0, 1 e 9.

Algoritmos de posicionamento (4)

Programação de Sistemas Discos : 23/54

• Ordem seguida: 12, 16, 34, 36, 39, 0, 1 e 9. • Distância percorrida = |12-11| + |16-12| + |34-16| + |36-34| + |39-36| + |39-0| + |1-0| + |9-1| = 76 cilindros 0 x 5 x x 10 x 15 x 20 25 30 x 35 x

V: Tempo de espera mais uniforme.

3b: C-LOOK: semelhante ao C-SCAN, mas não ultrapassa

pedidos situados nas faixas extremas.

• Ordem seguida: 12, 16, 34, 36, 1 e 9.

• Distância percorrida = |12-11| + |16-12| + |34-16| + |36-34| + |36-1| + |9-1| = 68 cilindros

Algoritmos de posicionamento (5)

Programação de Sistemas Discos : 24/54

|36-1| + |9-1| = 68 cilindros 0 x 5 x x 10 x 15 x 20 25 30 x 35 x

V: Poupança de tempo no acesso aos pedidos nas faixas exteriores.

(13)

3c: N-stepScan: divide sequência de pedidos em

subsequências de comprimento N, aplicando SCAN a

cada uma delas.

Nota: para N=1 degenera em FCFS, para N=∞ degenera em SCAN.

• Considerando a sequência de pedidos: 1, 34, 16, 36, 9 e 12.

• Para N=3, o SCAN é aplicado às subsequências <1,34,16> e <36,9,12>

Algoritmos de posicionamento (6)

Programação de Sistemas Discos : 25/54

• Para N=3, o SCAN é aplicado às subsequências <1,34,16> e <36,9,12> • Distância percorrida = |34-11| + |34-1| + |36-1| = 91 cilindros

V: Atende primeiro pedidos mais antigos sem grande aumento de deslocamentos desnecessários.

0 x 5 x 10 x 15 x 20 25 30 x 35 x x

3d: F-SCAN: existem duas filas (despacho e espera):

– Disco atende pedidos na fila de despacho, pelo algoritmo SCAN. – Enquanto despacha a fila, os novos pedidos são armazenados na

fila de espera.

– Quando a fila de despacho for tratada, trocar as filas.

Algoritmos de posicionamento (7)

Programação de Sistemas Discos : 26/54

– Quando a fila de despacho for tratada, trocar as filas.

• Qual o algoritmo a escolher?

– Para sistemas operativos com pouca carga, usar o SSTF.

– Paa sistemas operativos de carga elevada (ex: servidores), usar o C-SCAN ou C-LOOK.

(14)

Algoritmos de posicionamento (8)

• Comparação tempos médios de acesso

– Cabeça posicionada no cilindro 100. – Pedidos: 55 58 39 18 90 160 150 38 184

Programação de Sistemas Discos : 27/54

Partição de disco

[Def] Uma partição, por vezes designado volume, é um

grupo contínuo de cilindros contendo um único sistema de

ficheiros.

• Um disco inteiro é dividido em:

– Cilindro 0, Cabeça 0, Sector 1 : MBR-“master boot

record”, com

– Cilindro 0, Cabeça 0, Sector 1 : MBR-“master boot

record”, com

• Código “boot loader” para seleccionar a partição de onde será

carregado o sistema operativo. Como exemplo de “boot loader” tem-se o GRUB-GRand Unified Bootloader

• No final do MBR existe a tabela das partições no disco.

– Partições primárias (máximo de 4 em discos ATA

-“Advanced Technology Attachment” , designados por

IDE-“Integrated Drive Electronics” pela Western

Digital).

(15)

Partição de disco - MBR (1)

• Primeiros 446B (0676 em octal):

boot loader primário, contendo código executável* e mensagens de erro.

• 64B seguintes: tabela de partição. • Termina com 2B (número

• Termina com 2B (número

mágico) para verificação de validade do MBR.

* Sendo o espaço reduzido, a interface é muito pobre e o boot loader continua depois do MBR.

Programação de Sistemas Discos : 29/54

Nota: Para ler o MBR, executar em modo root

dd if=/dev/hda of=mbr.bin bs=512 count=1 # lê ficheiro binário od –xa mbr.bin # imprime fich. em ASCII

Partição de disco - MBR (2)

Formato de cada entrada na tabela de partições:

– Byte 0: partição activa (0x80) ou inactiva (0x00)

Nota: apenas uma partição pode ser activa (“bootable”)

– Bytes 1-3: início da partição na forma | h7-h0 | c9-c8 s5-s0 | c7-c0 | – Byte 4: tipo da partição

Cabeça Sector

– Bytes 5-7: fim da partição

– Bytes 8-12: sector LBA do sector de início (notação little-endian) – Bytes 13-16: dimensão da partição (número de sectores)

Ex: 00 01 80 00 01 fe 83 18 3f 00 3f 00 00 20 9a 00

Programação de Sistemas Discos : 30/54

4.8GB

Inactivo H=1,C=0x200,S=0Tipo 1 (12b FAT)

H=0xE,C=0x228,S=0x3LBA início=0x3f003f

sectores=0x9a2000 Cilindro

(16)

Partição de disco - MBR (3)

Nota 1: uma vez que o número de sectores de uma partição tem 4B=32 bits, o espaço máximo ocupado por uma partição é igual a

232* 512 = 4GB * 512 = 2TB.

Para sistema de ficheiros de maior dimensão, usar outro formato de partição, ex: GPT-”GUID Partition Table”.

Nota 2: Alguns códigos de sistema de ficheiros:

Nota 2: Alguns códigos de sistema de ficheiros:

• 0x83 – Linux ext

• 0x87 – NTFS (FS do Windows)

• 0xde – “Dell Utility” é invisível ao Windows e permite armazenar ficheiros de recuperação do sistema operativo.

Programação de Sistemas Discos : 31/54

Partição de disco - MBR (4)

• No Linux, a gestão de partições (criação, eliminação,

listagem) é feita pelo comando

/sbin/fdisk dispositivo

• O comando é interactivo com diversas opções

l– lista códigos dos sistemas de ficheiros l– lista códigos dos sistemas de ficheiros m- lista opções

p– imprime tabela de partição

t– altera sistema de ficheiros na partição w– escreve no disco a tabela de partição

Nota: as alterações têm efeito só depois de executada a opção w.

(17)

Partição de disco - MBR (5)

Exemplo 1: listagem das partições

[root@asterix rgc]# /sbin/fdisk -l /dev/sda Disk /dev/sda: 80.0 GB, 80026361856 bytes 255 heads, 63 sectors/track, 9729 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0x05f105f0

Disk identifier: 0x05f105f0

Device Boot Start End Blocks Id System /dev/sda1 * 1 25 200781 83 Linux /dev/sda2 26 9729 77947380 8e Linux LVM

Programação de Sistemas Discos : 33/54

Partição de disco - MBR (6)

Exemplo 2: criar novo disco

A. Verificar se o controlador de disco existe em /dev.

Os descritores de dispositivos de disco residem em /dev

/dev/hd[a-h] discos IDE

/dev/sd[a-p] discos SCSI /dev/ed[a-d] discos ESDI /dev/xd[a-b] discos XT

B. Cada partição é referida por um número. Por exemplo,

/dev/sda1 é a primeira partição do primeiro disco SCSI.

C. Criar partição com comando n, ou b (se a partição

contiver sistema operativo).

(18)

Partição de disco - MBR (7)

• O local da partição é indicado pelos cilindros iniciais e

finais.

Exemplo:

• Considere um disco com 5721 cilindros, 255 cabeças, 63 sectores/cilindro e 512B/sector. A capacidade do disco é

5721 * 255 * 63 * 512B = 47056826880B = 43.8GB 5721 * 255 * 63 * 512B = 47056826880B = 43.8GB

• Pretende-se criar uma partição para Swap, num computador com 1GB de RAM. A partição ser da ordem dos 2GB.

O número de ciclindros a reservar é dado por 2*(1024)3/ (255*63*512) ≈ 261 cilindros.

Sendo aconselhável um múltiplo de 2 para o número de cilindros, a partição é delimitada pelos cilindros 256 e 511.

Programação de Sistemas Discos : 35/54

Partição de disco - MBR (8)

D. Alterar o tipo da partição com comando t (nota: destroi

dados).

E. actualizar a tabela de partições com comando w e

terminar com comando q

F. Criadas as partições, elas devem ser formatadas. Para o

sistema de ficheiros ext2, usar comando

/sbin/mkfs /dev/hda1

G. Montar a partição de forma permanente no /etc/fstab.

(19)

Partição de disco - MBR (9)

• O limite de 4 partições é contornado por partições

estendidas.

MBR Partição primária

1ª Partição estendida

Programação de Sistemas Discos : 37/54

MBR Partição lógica

2ª Partição estendida ept1 MBR

ept2

Partição lógica

Partição de disco - GRUB (1)

• Permite utilizador

seleccionar o sistema

operativo a carregar (“dual

boot”).

• Configuração armazenada

Master Boot Record Partition 1: 100M EXT3 (Linux) /boot Partition 2: 10GB GRUB MBR Passes control to the /boot partition

GRUB then boots to an OS (Windows or Linux)

• Configuração armazenada

no ficheiro

/boot/grub.conf,

existente na partição

/boot

Programação de Sistemas Discos : 38/54

NTFS (Windows XP) Partition 3: 512MB Linux Swap Partition 4: 10GB EXT3 (Linux) /

(20)

Partição de disco - GRUB (2)

• Configuração

#boot=/dev/sda default=0 timeout=20 splashimage=(hd0,1)/grub/splash.xpm.gz hiddenmenu

title Fedora (2.6.27.30-170.2.82.fc10.i686)

Opção por omissão

Tempo de espera para utilizador escolher Título da partição

title Fedora (2.6.27.30-170.2.82.fc10.i686) root (hd0,1)

kernel /vmlinuz-2.6.27.30-170.2.82.fc10.i686 ro root=/dev/VolGroup00/LogVol00 rhgb quiet initrd /initrd-2.6.27.30-170.2.82.fc10.i686.img

title WinXP

rootnoverify (hd0,0) chainloader +1

Programação de Sistemas Discos : 39/54

Imagem do núcleo a carregar (mais opções)

Partição de disco - GRUB (3)

• Em caso de esquecimento da passwd de root, o GRUB

permite arrancar o núcleo no nível 1.

– Depois de seleccionar a partição, premir comando e (editar). – Adicionar no fim da linha a opção single.

– Premir return e depois premir comando b (comando “boot”). – Premir return e depois premir comando b (comando “boot”).

• No nível 1 pode-se alterar directament a passwd com o

comando passwd root.

Nota: o teclado é o Inglês, porque no nível 1 não são carregados outros dispositivos.

• Como evitar que um intruso se aproprie do PC c/ Linux? Introduzir no grub uma passwd de acesso, acrescentando depois do initrd

password --md5 $1$w7Epf0$vX6rxpozznLAVxZGkcFcs

(21)

RAID (1)

• Falha de disco pode resultar em perda de informação

valiosa

– Frequentemente valor de informação superior ao HW! – “Backup” não elimina todos os inconvenientes:

• informação alterada desde a última salvaguarda não pode ser • informação alterada desde a última salvaguarda não pode ser

recuperada.

• tempo entre falha e recuperação do “backup” pode ser crítico.

• RAID ::= Redundant Array of Inexpensive Disks

(or Independent Disks)

– Proposto em 1988 por Patterson et al.

– Ideia: distribuir o conteúdo de um disco grande por um conjunto de vários discos pequenos, usando redundância e códigos de correcção de erros para recuperar informação.

Programação de Sistemas Discos : 41/54

RAID (2)

• Aplicações onde RAID é recomendado:

– Servidores WWW – Servidores de E-mail – Servidores de Arquivos

• RAID pode ser implementado por SW, por HW, ou ambos

• RAID pode ser implementado por SW, por HW, ou ambos

– RAID por SW: protecção por duplicação de informação

• Gasta mais recursos de sistema (maior número de portos e canais). • Maior carga nas operações de escrita e cópia de dados.

– RAID por HW: protecção por paridade

• Mais caro, por exigir controlador de RAID.

• O agrupamento de discos é feito em diversos níveis, 0-5

(22)

RAID (3)

• RAID 0

– Não protege falhas

– Alto desempenho na transferência de dados

(a) RAID 0 Linear

– Dados divididos pelos diversos discos disponíveis – Dados divididos pelos diversos discos disponíveis

Programação de Sistemas Discos : 43/54

RAID (4)

(b) RAID 0 Distribuição (“Stripping”)

– dados subdivididos em segmentos consecutivos (stripes, ou faixas) que são escritos sequencialmente através de cada um dos discos do array.

Programação de Sistemas Discos : 44/54

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

(23)

RAID (5)

• RAID 1 – espelhamento (“mirroing”)

– Todos os dados são escritos no disco primário e disco espelho: se um disco falhar, o outro continua a disponibilizar informação. – Escrita lenta, leitura rápida.

Programação de Sistemas Discos : 45/54

Discos dados Cópias espelho

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

Figura 5-19, Modern Operating Systems, A.S. Tanenbaum

RAID (6)

• RAID 2

– Dados divididos por faixas, com alguns discos contendo códigos correctores de erros-ECC, ex: “nibble”-4 bits em 4 discos e 3 bits EEC em 3 discos.

– Todos os discos sincronizados, o que torna controlador complexo. – Em desuso, porque discos modernos incorporam EECs.

Programação de Sistemas Discos : 46/54

Discos dados

Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6

Discos ECC

(24)

RAID (7)

• RAID 3

– Um disco dedicado à guarda bit de paridade.

Em caso de falha num disco, os restantes são suficientes para determinar o bit desaparecido.

Programação de Sistemas Discos : 47/54

Disco paridade

Bit 0 Bit 1 Bit 2 Bit 3 Parity

Discos dados

Figura 5-19, Modern Operating Systems, A.S. Tanenbaum

RAID (8)

• RAID 4

– Conjuga RAID 0 e RAID 3, com paridade determinada no bloco. – Leitura rápida, mas escrita lenta (por sobrecarga no disco de

paridade).

Programação de Sistemas Discos : 48/54

Stripe 0 Stripe 1 Stripe 2 Stripe 3 P0-3

Stripe 4

Stripe 8 Stripe 10 Stripe 11

Stripe 7 Stripe 6 Stripe 5 Stripe 9 P4-7 P8-11 Discos dados Disco paridade

(25)

RAID (9)

• RAID 5

– Paridade das faixas distribuída rotacionalmente pelos restante discos.

– Escrita um pouco mais rápida que no RAID 4.

Programação de Sistemas Discos : 49/54

Discos de dados e paridade

Stripe 0 Stripe 1 Stripe 2 Stripe 3 P0-3

Stripe 4 Stripe 8 Stripe 10 Stripe 6 Stripe 5 Stripe 9 Stripe 7 Stripe 11

Figura 5-19, Modern Operating Systems, A.S. Tanenbaum

P4-7 P8-11

Centros computacionais (1)

• Centros computacionais

(CC-Computer Centre) têm sido

necessários desde o início.

– Anos 60-90:

• Computadores valiosos de grande dimensão.

dimensão.

• Geridos por equipas especializadas. • Redes praticamente inexistentes.

– Anos 2000+:

• Densidade elevada (CPU, discos, ...) exige ambientes de temperatura e humidades (45%-55%) mais restritos.

• Evita deslocações desnecessárias de equipas manutenção, de custo horário elevado.

(26)

Centros computacionais (2)

• Espaço de dados armazenado nos CC pode ser

gigantesco!

1MB – fotografia digital 5GB – vídeo DVD

1TB – produção anual de livros

1PB – produção anual de uma experiência no LHC do CERN 1PB – produção anual de uma experiência no LHC do CERN 1EB – produção anual de informação no mundo

• Número de servidores nos CC pode

ser enorme!

Programação de Sistemas Discos : 51/54

Ex: em 2010 estimou-se que o Google possui 36 server farms (19 nos EUA, 12 na Europa, 3 na Ásia, 1 na Rússia, 1 na América do Sul). Cada centro possui, em média, 150 bastidores. Cada bastidor contém 40 servidores. Logo, o número de servidores deve rondar os 200K.

Centros computacionais (3)

• Servidores, discos, ... são

montados em bastidores

(“racks”):

– 19” de largura para a caixa. – Altura da caixa: múltiplos – Altura da caixa: múltiplos

de 1.75” (1 U).

– Pontos de fixação em duas calhas laterais, distanciados de ½”

• Bastidores disponíveis em

diversas capacidades:

12U,24U,36U,44U,50U.

(27)

Centros computacionais (4)

• Para elevado número de

equipamentos, o arrefecimento pode

ser um problema crítico!

Nota1: um servidor de 1U pode gerar 300W de

calor ⇒ um bastidor apenas pode libertar 12KW!

Nota2: CC do CERN possui 2K PCs de

Nota2: CC do CERN possui 2K PCs de

processador duplo e armazena 5PB em disco e banda magnética.

Programação de Sistemas Discos : 53/54

Centros computacionais (5)

• Os CCs de grande dimensão são vorazes consumidores de

energia!

Ex: estima-se que a Google gasta diariamente 425MWh de

electricidade!

• CCs de pequena dimensão possuem

Programação de Sistemas Discos : 54/54

• CCs de pequena dimensão possuem

UPS-Uninterruptible power supply,

para

– absorver variações de tensão.

Referências

Documentos relacionados

Capítulo 7 – Novas contribuições para o conhecimento da composição química e atividade biológica de infusões, extratos e quassinóides obtidos de Picrolemma sprucei

Aplicadamente percebe-se o fumante como um fraco que não consegue barrar sua autodestruição; o alcoolista como um descontrolado e o obeso como alguém que

Inicialmente, destacamos os principais pontos de convergência: • O papel tático e operacional exercido pela área de TI dos Câmpus é claramente identificável, tanto nos

Antes de caminhar efetivamente ao encontro de métodos e mecanismos que nos levem a solucionar os problemas de ajustamento e inclusão dos jovens oriundos das “tribos” juvenis urbanas

Com o intuito de aperfeic¸oar a realizac¸˜ao da pesquisa O/D, o objetivo do presente trabalho ´e criar um aplicativo para que os usu´arios do transporte p´ublico informem sua origem

Neste capítulo, será apresentada a Gestão Pública no município de Telêmaco Borba e a Instituição Privada de Ensino, onde será descrito como ocorre à relação entre

Este modelo geométrico utilizou como amostra as salas de aula das diferentes tipologias de escolas da rede estadual de educação de Santa Maria RS, com o objetivo de desenvolver

velocidade das ações ainda não esteja atendendo ao que o conselho gostaria que fosse e a gente tem entendimento que pra algumas das questões a gente percebe que essa aflição,