Programação de Sistemas



Documentos relacionados
Programação de Sistemas

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Memória Secundária. Prof. Valeria M. Bastos 18/06/2012 Prof. Antonio Carlos Gay Thomé

Sistemas Operacionais: Sistema de Arquivos

Fundamentos de Sistemas Operacionais

Motivação. Sumário. Hierarquia de Memória. Como registramos nossas histórias (num contexto amplo)?

Sistemas de armazenamento

Arquitetura e Organização de Computadores

Programação de Sistemas

5.1 - Armazenamento em Disco

Armazenamento Secundário. SCE-183 Algoritmos e Estruturas de Dados II

Sistemas Operacionais Gerência de Dispositivos

Conceitos Básicos. Conceitos Básicos Memória

Capítulo 5 Gerência de Dispositivos

FORMATAÇÃO DE DISCO SETORES

Dispositivos de Armazenamento em massa. José Roberto B. Gimenez

Notas da Aula 16 - Fundamentos de Sistemas Operacionais

DISCOS RÍGIDOS. O interior de um disco rígido

Periféricos e Interfaces Ano lectivo 2003/2004 Docente: Ana Paula Costa. Aula Teórica 11

Introdução à Organização de Computadores Memória Secundária

Admistração de Redes de Computadores (ARC)

AVALIAÇÃO À DISTÂNCIA 1 GABARITO

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 10

Conjunto organizado de informações da mesma natureza, agrupadas numa unidade independente de processamento informático

RAID. Propõe o aumento da confiabilidade e desempenho do armazenamento em disco. RAID (Redundant Array of Independent Disks )

RAID Redundat Arrays of Inexpensive Disks

Sistemas Operacionais

Sistemas Operacionais

Arquitectura de Computadores II. Interface com Periféricos

Introdução à Organização de Computadores Memória Secundária

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

Arquitectura dos processadores

EA960 Redundância e Confiabilidade: RAID

Curso de Instalação e Gestão de Redes Informáticas

Programador/a de Informática

Estrutura e funcionamento de um sistema informático

ORGANIZAÇÃO E ARQUITETURA DE COMPUTADORES I: MEMÓRIA EXTERNA RAÍ ALVES TAMARINDO RAI.TAMARINDO@UNIVASF.EDU.BR

Dispositivos de Armazenamento

William Stallings Arquitetura e Organização de Computadores 8 a Edição

GERENCIAMENTO DE DISPOSITIVOS

ARQUITETURA DE COMPUTADORES

Gerenciador de Entrada/Saída

Sistemas Operacionais

O que é RAID? Tipos de RAID:

Prof. Sandrina Correia

Organização e Arquitetura de Computadores I

Introdução aos Sistemas Operativos

Auditoria e Segurança de Sistemas Aula 03 Segurança off- line. Felipe S. L. G. Duarte Felipelageduarte+fatece@gmail.com

Capítulo 4 Livro do Mário Monteiro Introdução Hierarquia de memória Memória Principal. Memória principal


Introdução a Administração de Sistemas GNU/Linux

Sistema de Arquivos FAT

Dispositivos de Armazenamento. Prof. Flávio Humberto Cabral Nunes

Sistemas Operativos. Sumário. Estruturas de sistemas de computação. ! Operação de um sistema de computação. ! Estruturas de E/S

Sistemas Operacionais

O DVD. Tecnologia Digital Versatitle Disc. O aparecimento do DVD O DVD O DVD

Programador/a de Informática

29/05/2013. Dispositivos de Armazenamento. Armazenamento Magnético. Recuperação de Dados HARDWARE: ARMAZENAMENTO DE DADOS

Conceitos e Gerenciamento de Memória

Cristiano Sebolão Nº Pedro Arcão Nº João Marques Nº 27228

SISTEMA DE ARQUIVOS. Instrutor: Mawro Klinger

Introdução a Informática. Prof.: Roberto Franciscatto

Organização de Arquivos

AULA 5 Sistemas Operacionais

Setores Trilhas. Espaço entre setores Espaço entre trilhas

Programador/a de Informática

Arquitetura de computadores

Fundamentos de Sistemas Operacionais

Programador/a de Informática

TRABALHO COM GRANDES MONTAGENS

Laboratório de Hardware

BC Sistemas Operacionais Sistema de Arquivos (aula 10 Parte 2) Prof. Marcelo Z. do Nascimento

RAID 1. RAID 0 2. RAID 1

Armazenamento Secundário. SCE-183 Algoritmos e Estruturas de Dados II

RAID. Redundant Array of Independent Drives. Conjunto Redundante de Discos Independentes

Fundamentos de Arquivos e Armazenamento Secundário

Prof. Engº esp Luiz Antonio Vargas Pinto

Recuperando o GRUB após instalação do Windows

Prof. Benito Piropo Da-Rin. Arquitetura, Organização e Hardware de Computadores - Prof. B. Piropo

Computador. Principais Características

Programação de Sistemas

Programação de Sistemas

1. Adição de um disco rígido a uma máquina existente. Iremos utilizar uma máquina virtual

Concurso Público para provimento de cargo efetivo de Docentes. Edital 20/2015 CIÊNCIA DA COMPUTAÇÃO I Campus Rio Pomba

RAID RAID RAID. Fig. 5.17, pág. 226 do livro do Tanenbaum

Estrutura geral de um computador

Infraestrutura de Hardware. Entrada/Saída: Armazenamento

Estruturas de Armazenamento e Indexação. Rafael Lage Moreira Barbosa

Espelhamento local e remoto de HDs (RAID1) com mdadm e DRBD. João Eriberto Mota Filho Foz do Iguaçu, PR, 17 out. 2013

Organização do Curso. Instalação e Configuração. Módulo II. Pós Graduação em Projeto e Gerencia de Redes de Computadores

Administração de Sistemas Operacionais

SISTEMAS DIGITAIS. Memórias. Prof. Guilherme Arroz Prof. Carlos Sêrro Alterado para lógica positiva por Guilherme Arroz.

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

SISTEMAS DE ARQUIVOS Sistemas operacionais

FUNDAMENTOS DE HARDWARE CD-ROM. Professor Carlos Muniz

Sistemas Numéricos bit / Byte BIT BYTE. Prof. Celso Candido ADS / REDES / ENGENHARIA

Armazenamento de Informação. André Zúquete, João Paulo Barraca SEGURANÇA INFORMÁTICA E NAS ORGANIZAÇÕES 1

TECNOLOGIAS DA INFORMAÇÃO E COMUNICAÇÃO

6 - Gerência de Dispositivos

Transcrição:

Programação de Sistemas Memória secundária por discos Programação de Sistemas Discos : 1/45 Introdução (1) 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. 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 Programação de Sistemas Discos : 2/45

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 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 smartcards ao fim de 5 anos! Programação de Sistemas Discos : 3/45 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 Capacidade (MB) 1 10 160 1000 9000 9_000/1 Valores recolhidos da Byte e PC Magazine Nota: prefixos indicativos de potência Kilo-10 3, Mega-10 6, Giga-10 9, Tera-10 12, Peta-10 15, Exa-10 18, Zeta-10 21 Programação de Sistemas Discos : 4/45

Arquitectura do HDD (1) 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 ). 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. Programação de Sistemas Discos : 5/45 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 Modified Frequency Modulation Run Length Limited Programação de Sistemas Discos : 6/45

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 Arquitectura do HDD (4) 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) Figura 5-18, Modern Operating Systems, A.S. Tanenbaum Programação de Sistemas Discos : 8/45

Arquitectura do HDD (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>. 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, ) Programação de Sistemas Discos : 9/45 Arquitectura do CD (1) 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 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, Modern Operating Systems, A.S. Tanenbaum Programação de Sistemas Discos : 10/45

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 ). 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/45 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 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. Lados Camadas Capacidade (GB) 1 1 4.7 1 2 8.5 2 1 9.4 2 2 17 Programação de Sistemas Discos : 12/45

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. Lados Camadas Capacidade (GB) 1 1 25 1 2 50 2 1 50 2 2 100 1 sem e por ser impossível patentear nomes comuns. Programação de Sistemas Discos : 13/45 Sectores de um disco (1) 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. 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. Figura 5-24, Modern Operating Systems, A.S. Tanenbaum Programação de Sistemas Discos : 14/45

Sectores de um disco (2) 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: 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 Programação de Sistemas Discos : 15/45 Sectores de um disco (3) 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 t H /t S % S, em que t H = tempo deslocamento da cabeça entre 2 cilindros consecutivos t S = 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. skew = 8*10-4 / ((60/10 000)/300) % 300 = 8*10-4 / 2*10-5 % 300 = 40 Programação de Sistemas Discos : 16/45

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? 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/45 Tempo de leitura (1) 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. 3. Varrimento do sector, que depende da velocidade de rotação do disco. T = T 1 + 2r A S + Tempo deslocamento b rn Tempo leitura r b N - velocidade rotação - número Bytes lidos - número Bytes por faixa Programação de Sistemas Discos : 18/45

Tempo de leitura (2) 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-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 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. Programação de Sistemas Discos : 19/45 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 Pedidos pendentes x 0 5 x x x 10 x 15 20 25 30 x x 35 V: Fácil de implementar D: Gera deslocamentos desnecessários Discos : 20/45

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 Figura 5-27, Modern Operating Systems, A.S. Tanenbaum D: Pedidos podem ficar à espera muito tempo, por entretanto aparecerem outros mais próximos. Discos : 21/45 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 Distância percorrida = 12-11 + 16-12 + 34-16 + 36-34 + 9-36 + 1-9 = 60 cilindros x 0 5 x x x 10 x 15 20 25 30 x x 35 V: Tempo de espera mais uniforme nos extremos do disco. Nota: Existem 4 versões alternativas do algoritmo de elevador Discos : 22/45

Algoritmos de posicionamento (4) 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. Distância percorrida = 12-11 + 16-12 + 34-16 + 36-34 + 39-36 + 39-0 + 1-0 + 9-1 = 76 cilindros x 0 5 x x x 10 x 15 20 25 30 x x 35 V: Tempo de espera mais uniforme. Programação de Sistemas Discos : 23/45 Algoritmos de posicionamento (5) 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 x 0 5 x x x 10 x 15 20 25 30 x x 35 V: Poupança de tempo no acesso aos pedidos nas faixas exteriores. Programação de Sistemas Discos : 24/45

Algoritmos de posicionamento (6) 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> Distância percorrida = 34-11 + 34-1 + 36-1 = 91 cilindros x 0 5 x x x 10 x 15 20 25 30 x x 35 V: Atende primeiro pedidos mais antigos sem grande aumento de deslocamentos desnecessários. Programação de Sistemas Discos : 25/45 Algoritmos de posicionamento (7) 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. 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. O Linux adoptou o algortimo C-LOOK. Programação de Sistemas Discos : 26/45

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/45 Instalação de novo disco (1) A. Verificar se o controlador de disco existe em/dev. B. Criar partições. No Linux, as partições são geridas pelo comando interactivo, com privilégio root /sbin/fdisk dispositivo Em cada disco, as partições são armazenadas numa tabela no sector 0. Os descritores de dispositivos de disco residem em /dev /dev/hd[a-h] /dev/sd[a-p] /dev/ed[a-d] /dev/xd[a-b] discos IDE discos SCSI discos ESDI discos XT Programação de Sistemas Discos : 28/45

Instalação de novo disco (2) Cada partição é referida por um número. Por exemplo, /dev/sda1 é a primeira partição do primeiro disco SCSI. Comandos disponíveis no fdisk: m : listagem dos comandos p : imprimir tabela de partições Disk /dev/hdb: 64 heads, 63 sectors, 621 cylinders Units = cylinders of 4032 * 512 bytes Device Boot Start End Blocks Id System /dev/hdb1 * 1 184 370912+ 83 Linux /dev/hdb2 185 368 370944 83 Linux /dev/hdb3 369 552 370944 83 Linux /dev/hdb4 553 621 139104 82 Linux swap Nem todos os blocos são contabilizados Programação de Sistemas Discos : 29/45 Instalação de novo disco (3) n : criar nova partição Há discos que apenas admitem 4 partições/disco (ex: ESDI). Cada partição indica o sistema de ficheiros por um código usar comando l As partições catalogadas em primárias (podem conter o SO) e extensões. O local da partição é indicado pelos cilindros iniciais e finais. b : partição contém sistema operativo ( bootable ) 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 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 : 30/45

Instalação de novo disco (4) l : listar códigos de partições em hexadecimal 0x7 NTFS 0x82 Linux swap 0x83 Linux 0x8e Linux LVM t : alterar o tipo da partição (nota: destroi dados) w : actualizar a tabela de partições q : terminar C. Criadas as partições, elas são formatadas. Para o sistema de ficheiros ext2, usar comando /sbin/mkfs /dev/hda1 D. Montar a partição de forma permanente no /etc/fstab. Programação de Sistemas Discos : 31/45 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 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 : 32/45

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 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 Programação de Sistemas Discos : 33/45 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 Programação de Sistemas Discos : 34/45

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. Stripe 0 Stripe 1 Stripe 2 Stripe 3 Stripe 4 Stripe 5 Stripe 6 Stripe 7 Stripe 8 Stripe 9 Stripe 10 Stripe 11 Figura 5-19, Modern Operating Systems, A.S. Tanenbaum Programação de Sistemas Discos : 35/45 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. Stripe 0 Stripe 1 Stripe 2 Stripe 3 Stripe 0 Stripe 1 Stripe 2 Stripe 3 Stripe 4 Stripe 5 Stripe 6 Stripe 7 Stripe 4 Stripe 5 Stripe 6 Stripe 7 Stripe 8 Stripe 9 Stripe 10 Stripe 11 Stripe 8 Stripe 9 Stripe 10 Stripe 11 Discos dados Figura 5-19, Modern Operating Systems, A.S. Tanenbaum Cópias espelho Programação de Sistemas Discos : 36/45

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. Bit 0 Bit 1 Bit 2 Bit 3 Bit 4 Bit 5 Bit 6 Discos dados Discos ECC Figura 5-19, Modern Operating Systems, A.S. Tanenbaum Programação de Sistemas Discos : 37/45 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. Bit 0 Bit 1 Bit 2 Bit 3 Parity Disco paridade Discos dados Figura 5-19, Modern Operating Systems, A.S. Tanenbaum Programação de Sistemas Discos : 38/45

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). Stripe 0 Stripe 1 Stripe 2 Stripe 3 P0-3 Stripe 4 Stripe 5 Stripe 6 Stripe 7 P4-7 Stripe 8 Stripe 9 Stripe 10 Stripe 11 P8-11 Disco paridade Discos dados Figura 5-19, Modern Operating Systems, A.S. Tanenbaum Programação de Sistemas Discos : 39/45 RAID (9) RAID 5 Paridade das faixas distribuída rotacionalmente pelos restante discos. Escrita um pouco mais rápida que no RAID 4. Stripe 0 Stripe 1 Stripe 2 Stripe 3 P0-3 Stripe 4 Stripe 5 Stripe 6 P4-7 Stripe 7 Stripe 8 P8-11 Stripe 9 Stripe 10 Stripe 11 Discos de dados e paridade Figura 5-19, Modern Operating Systems, A.S. Tanenbaum Programação de Sistemas Discos : 40/45

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. 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. Programação de Sistemas Discos : 41/45 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 1EB produção anual de informação no mundo Número de servidores nos CC pode ser enorme! 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. Programação de Sistemas Discos : 42/45

Centros computacionais (3) Servidores, discos,... são montados em bastidores ( racks ): 19 de largura para a caixa. 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. Programação de Sistemas Discos : 43/45 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 processador duplo e armazena 5PB em disco e banda magnética. Programação de Sistemas Discos : 44/45

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 UPS-Uninterruptible power supply, para absorver variações de tensão. disponibilizar energia durante cortes. Programação de Sistemas Discos : 45/45