Si t Sistemas O Operacionais i i Entrada/Saída Disco magnético Disco magnético talvez seja o mais importante dispositivo de E/S Gerência de memória (área de swap) Sistema Si t de d arquivos i (arquivos ( i + diretórios) di tó i ) Aula 22 Prós e contras: Meio barato de armazenamento permanente Se comparado com processador e memória apresenta uma velocidade de acesso muito lenta Necessidade: Otimizar o desempenho do disco visando aumentar a sua largura de banda, i isso éé, quantidade id d de d MB transferidos f id por segundo. d 02/06 6/2015 Institu uto de Informática - U UFRGS Insttituto d de Info ormátic ca - UF FRGS Introdução ç Sistemas Operacionais I Disco magnético g ou disco rígido g Formatação ç de disco: física e lógica g cilindro Visão Lógica eixo Braço móvel Sistemas Operacionais I trilha IBM Model DKLA-24320 8944 cilindros ili d 15 cabeçotes 63 setores por trilha 3 02/06 6/2015 Velocidade linear constante Institu uto de Informática - U UFRGS 02/06 6/2015 Institu uto de Informática - U UFRGS Fisicamente: 2 pratos, 4 cabeçotes Formatação física Realizada pelo fabricante do disco Normalmente N l t ffeita it apenas uma vez na vida id útil ddo di disco Consiste em criar setores e trilhas na superfície magnética Nos setores são colocados informações de identificação Assinala os badblocks Cabeçote r/w setor Zonas: Cilindros que possuem mesmo número de setores 2 Formatação ç lógica g Realizada através de comandos do sistema operacional Cria uma organização de blocos e sua estrutura gerencial Sistema de arquivos Um disco pode ser formatado logicamente várias vezes Sistemas Operacionais I 4 Acesso a dados Institu uto de Informática - U UFRGS Discos modernos endereçam blocos lógicos sequencialmente Conversão de um bloco lógico para sua localização física Não é um mapeamento direto por haver setores fisicamente defeituosos e pelo número de setores por trilha não ser constante Feito de forma transparente pela controladora de disco Sistemas Operacionais I Tempo de transferência Trilha Tempo de busca (seek) Setor tacesso = tbusca + tlatência + ttransf. •Tempo para a leitura/escrita efetiva dos dados •Função da quantidade de dados acessados (r/w) e da rotação Características C t í ti lógicas ló i do d di disco (f(formatação, t ã sistemas i t dde arquivos, tamanho do bloco) e mecânicas 7 N realidade Na lid d existem i t ttrês ê ttempos dde seekk seek time: tempo de deslocamento até uma determinada trilha head switch time: tempo para acionar o cabeçote de leitura/escrita cylinder time: tempo de deslocamento da trilha i para a trilha i+1 02/06 6/2015 Institu uto de Informática - U UFRGS 02/06 6/2015 Institu uto de Informática - U UFRGS Sistemas Operacionais I Influenciado pelo tempo de acionamento, aceleração e deslocamento do cabeçote até a trilha desejada Não é linear em função do número do trilhas Tempo de identificação da trilha (confirmação) Cabeçote leitura/escrita Tempo de latênica C Características t í ti exclusivamente l i t mecânicas â i 6 Tempo p de busca ((seek)) Tempo p de acesso ao disco •Tempo para posicionar o cabeçote no início do bloco a ser lido/escrito •Função da taxa de rotação do disco Aspectos do sistema operacional Escalonamento de requisições ao disco Emprego de caches de E/S Política de alocação do espaço em disco Métodos Mét d contiguo, ti encadeado d d ou iindexado d d 5 Sistemas Operacionais I •Tempo para posicionar o cabeçote na trilha desejada •Função do deslocamento do cabeçote Fornecido em MB/sec (largura de banda) Aspectos mecânicos Para ler/escrever dados é necessário que o cabeçote de leitura e escrita esteja posicionado na trilha e no ínicio do setor desejados p busca ((seek), ) latência rotacional e transferência Envolve três tempos: Método CHS (Cylinder, Head, Sector) Método LBA (Linear Block Addressage) Tradução do L-CHS (Logical) para P-CHS (Physical) 02/06 6/2015 Institu uto de Informática - U UFRGS Menor unidade de transferência é um bloco lógico (n setores) Acessar dado implica localizar trilha, superfície e setor Dois métodos: 02/06 6/2015 Fatores de desempenho p do disco Tempo e po médio éd o de see seek Dado fornecido pelo fabricante e.g.; 5 a 10 ms Sistemas Operacionais I 8 Tempo p de latência rotacional Tempo p de transferência Definido pela velocidade de rotação do motor e.g. (anos 2000): discos rígidos (5400 rpm a 10000 rpm); unidades de floppy (300 rpm a 600 rpm) Considera-se o tempo médio Ttransf t f 512 bytes por setor, 4200 RPM (7.1 ms), single track (4-5.5 ms read; 4-6.5 ms write), seek time (13 -16 ms read, 14-17 ms write) 9 Sistemas Operacionais I Sistemas Operacionais I Ttransff b trotação ç N 10 Exemplo p de tempo p de transferência Seek time Track to track: 1.1 ms Average: 88.55 ms Full stroke: 15 ms Latencyy time: 4.7 ms Buffer size: 8 MB Rotation speed: 7200 RPM Ler completamente, de forma randômica, um arquivo de dados de 1,3 Mbytes, armazenado em disco com as seguintes características: Institu uto de Informática - U UFRGS C Características t í ti físicas: fí i Tbusca = 10 ms, 10000 RPM Formatação física: 512 bytes por setor, 320 setores por trilha Formatação lógica: 1 bloco é formado por um setor (512 bytes) 02/06 6/2015 Institu uto de Informática - U UFRGS Bytes per sector: 512 bytes Data zones: 27 Sector per track: 536 to 1092 Platters: 3 Tracks pper cylinder: y 6 Cylinders: 70.553 Sectors (total): 361.882.080 Total size: 185.283.264.960 bytes b rN Sistemas Operacionais I Exemplo: p disco IBM deskstart 180 GXP Ttransff 02/06 6/2015 Disco exemplo: 60b RN b = número de bytes a serem transferidos N = número de bytes em uma trilha R = número de rotações por minuto (RPM) r = número de rotações por segundo (RPS) 11 Caso I: Acesso sequêncial (2560 setores = 8 trilhas x 320 setores) Tacesso = 10 ms + 8 x (3 + 6) ms = 0.082 s (Obs: supondo trilhas vizinhas, despreza-se o tempo de seek) 02/06 6/2015 Institu uto de Informática - U UFRGS Não se sabe a posição relativa do cabeçote com a do setor a ser lido Metade do tempo de uma rotação e.g.: 3 ms para um disco de 10000 rpm ( 6 ms uma rotação ) 02/06 6/2015 Institu uto de Informática - U UFRGS Depende da velocidade de rotação do disco e da quantidade de bytes a serem lidos ou escritos Expresso por: Caso II: Acesso randômico (leitura na base um bloco por vez) Implica p realizar 2560 pposicionamentos do cabeçote ç Tacesso = 2560 x (10 ms + 3 ms + 0.01875 ms) = 33.328 s Sistemas Operacionais I 12 Estratégias g ppara melhorar o desempenho p do disco Escalonamento do disco Mecânicas Requisições proveem de diferentes processos e são geradas mais rapidamente do que são atendidas → fila de requisições Atendimento pode “quebrar” a ordem de acesso a um arquivo mesmo com um bom mapeamento físico Sistemas Operacionais I 13 Objetivos: Aumentar a taxa de transferência (rendimento) Reduzir Red ir o tempo médio de resposta Ser justo no atender a requisições dos processos (variância) First Come,, First Served ((FCFS)) Otimização de busca As requisições são atendidas na sua ordem de chegada FIFO ou FCFS SSTF (Sh (Shortest t t Seek S k Ti Time First) Fi t) Scan (elevador) e suas variações • Otimização rotacional Sistemas Operacionais I 15 • Cabeçote percorre 640 trilhas 02/06 6/2015 Institu uto de Informática - U UFRGS SLTF (Shortest Latency Time First) SPTF (Shortest ( Positioningg Time First)) 02/06 6/2015 Institu uto de Informática - U UFRGS 14 Sistemas Operacionais I Políticas de escalonamento do disco Solução: Reordenar as requisições para otimizar o tempo de busca (seek) e latência rotacional 02/06 6/2015 Institu uto de Informática - U UFRGS Software (sistema operacional) Otimizar o atendimento a requisições q ç Tópico a ser visto Escalonamento do disco Empregar cache do subsistema de E/S O acesso aos dados é feito em memória Utilizar o sistema de arquivos adequado (alocação de espaço em disco) Minimiza deslocamentos 02/06 6/2015 Institu uto de Informática - U UFRGS Trocar o disco por um de melhor desempenho e.g.: menor ttempo dde bbusca, maior i velocidade l id d rotação t ã Adicionar mais discos físicos ao sistema Atendimento simultâneo de mais de uma requisição Problema: Sistemas Operacionais I • Prós: • Simples de executar • Justo: requisições são atendidas na ordem Contras: • Padrão de busca aleatório (movimentação mecânica) Comportamento ruim sob carga altas (fila de requisição grande) 16 Shortest Seek Time First (SSTF) ( ) Seleciona a requisição com o menor tempo de seek em relação a posição atual do cabeçote de leitura/escrita Cabeçote percorre 236 trilhas Prós: • Redução do tempo de busca (maior rendimento) di t ) • Tempo médio tende a ser mais baixo Contra: • Não garante justiça ( ”fura” a fila ) • Postergação indefinida • Variância alta (ruim para sistema interativos, aceitável para sistemas batch) Sistemas Operacionais I • • 17 Variação do algoritmo de SCAN Procedimento similar ao SCAN, mas as requisições são atendidas apenas em um sentido da varredura Oferece tempo médio de acesso mais uniforme que o algoritmo g SCAN 19 SPTF – Shortest Positioning Time First Reordena requisições considerando a soma do tempo de seek com a latência Variação: Shortest Access Time First (SATF) Reordena as requisições considerando a soma do tempo de seek e de transferência Ambas bas são implementadas p e e adas oorganizando ga a do a filaa de requisições equ s ções po por bblocos ocos ((n setores) de acordo com a política usada (SLTF ou SPTF) 02/06 6/2015 Institu uto de Informática - U UFRGS Ao final da varredura o cabeçote é reposiconado no início do disco Fornece uma visão lógica onde o disco é tratado como uma fila circular Sistemas Operacionais I Discos mais novos o tempo de seek está na ordem de grandeza da latência rotacional SLTF – Shortest Latency Time First Reordena o atendimento de requisições de um mesmo cilindro em função do atraso rotacional mais curto. 02/06 6/2015 Institu uto de Informática - U UFRGS 18 Otimização ç rotacional: estratégias g combinadas Compensa o fato que, se a leitura ocorresse nos dois sentidos da varredura, os setores próximo ao centro seriam acessados em um tempo médio menor Cabeçote percorre 208 trilhas Prós • Oferece Of bons b ttempos médios édi dde resposta • Bom rendimento • Variância menor que o SSTF Contra • Não justo, pois as trilhas das extremidades são “visitadas” menos q qque as trilhas frequentemente internas Sistemas Operacionais I C-SCAN Atende requisições em uma direção Muda de direção ao atingir os cilindros mais interno ou mais externo D fi i ã da d direção di ã preferencial f i l (fixa (fi ou critério ité i SSTF) Definição 02/06 6/2015 • 02/06 6/2015 Institu uto de Informática - U UFRGS • Institu uto de Informática - U UFRGS Scan (elevador) ( ) Sistemas Operacionais I 20 RAID: Redundant Arrayy of Independent* p Disks Institu uto de Informática - U UFRGS RAID pode ser implementado por software ou por hardware Agrupamento de discos (JBOD – Just a bunch of disks) Difere de RAID por não prover desempenho e confiabilidade *Na proposta original original, no artigo de David Patterson, Patterson Garth Gibson e Randy Katz, Katz o “I” I era de inexpensive. inexpensive disco Inserir redundância da informação para obter confiabilidade Redundância é inserida em porção de disco (extra) e não em setores como é o caso dos FEC (Forward Error Correction) Não há sobrecusto de tempo porque dados e redundância podem ser acessados em paralelo Sistemas Operacionais I 23 Faz apenas striping Não inclui redundância Fornece alta taxa de transferência Problema é falta de confiabilidade 02/06 6/2015 Institu uto de Informática - U UFRGS stripp 02/06 6/2015 Institu uto de Informática - U UFRGS A Acelerar l o acesso e alta lt taxa t de d ttransferência f ê i A unidade de divisão é o strip e pode ser setor, bloco ou trilha stripe 22 RAID nível 0 Dividir os dados de uma operação de E/S em vários discos fazendo as operações em paralelo registro Diferentes discos físicos são organizados de forma a compor um disco lógico Organização g ç é configurada g e ggerenciada ppelo controlador de disco RAID Controlador realiza a geração das informações de redundância (firmware) Implementa todos os níveis de RAID Sistemas Operacionais I RAID: Princípio p de funcionamento RAID em hardware: 21 Sistemas Operacionais I RAID em software: Diferentes partições (discos lógicos) compõem um único disco RAID é feito f it pelo l driver d i de d disco di (software) ( ft ) Normalmente implementa RAID nível 1 e RAID nível 5 RAID 1, RAID 2, RAID 3, RAID 4 e RAID 5 Diferentes capacidades de desempenho e confiabilidade Padrões posteriores: níveis RAID 0, RAID 6 e combinações (RAID 10) 02/06 6/2015 Institu uto de Informática - U UFRGS Conjunto de discos rigídos visto pelo sistema operacional como um único disco lógico Definição de 5 níveis (original) 02/06 6/2015 Implementação p ç de RAID Sistemas Operacionais I 24 RAID nível 1 RAID nível 2 Faz espelhamento (mirroring) Redundância de 100% Não melhora a taxa de escrita, apenas a de leitura Oito superfícies para gravar um byte Não encontrado em unidades comerciais 11010010 25 Discos de dados Emprega apenas uma unidade para armazenar a paridade Paridade P id d pode d ser iimplementada l t d ffacilmente il t em hhardware d (XOR) RAID 4 é similar ao RAID 3 Usa um bloco de dados como unidade de striping invés de bit Sistemas Operacionais I Similar a configuração de RAID 4, mas distribui as paridades entre os discos, ou seja 27 Permite a recuperação dos dados em caso de falha de disco única Paridade 02/06 6/2015 0 1 Institu uto de Informática - U UFRGS 1 1 Paridade 02/06 6/2015 Institu uto de Informática - U UFRGS 0 1 26 Não Nã faz f distinção di ti ã entre t discos di dde dados d d e disco di dde paridade id d Pi = b3 xor b2 xor b1 xor bo Letra W : 0101 0111 1 1 Discos de paridade (Hamming) RAID nível 5 O RAID 3 é similar ao RAID 2 0 0 0 1 0 ((nibble superior p apenas) p ) Sistemas Operacionais I RAID nível 3 e RAID nível 4 0101 0111 U id d dde di Unidades disco ddevem ser rigorosamente i t sincronizadas i i d 02/06 6/2015 Institu uto de Informática - U UFRGS 02/06 6/2015 Institu uto de Informática - U UFRGS Redundância é inserida em unidades adicionais (discos) Código de Hamming (detecção e correção de erros) Dados podem ser lidos em paralelos nos diferentes discos Sistemas Operacionais I A unidade de striping é o bit Sistemas Operacionais I 28 RAID nível 6 Outros tipos p de RAID Emprega dois cálculos de paridade Permite a reconstrução dos dados na presença de falha dupla de discos Espelha um bloco de dados e realiza o striping Emprega duas paridades Funções linearmente independentes Uma das paridades é calculada na diagonal 29 Sistemas Operacionais I Backupp Cópia de segurança Diferencial Copia todos os arquivos criados ou modificados desde o último backup normal ou diferencial Não desmarca atributo de arquivamento Sistemas Operacionais I 31 A. Silberchatz, P. Galvin; Sistemas Operacionais. (7a edição). Campus 2008 Campus, 2008. Capítulo 9: seções 9.5 a 9.9 A. Ca arissimi -02/06/2 2015 Incremental Institu uto de Informática - U UFRGS 02/06 6/2015 Institu uto de Informática - U UFRGS Copia todos os arquivos criados ou modificados desde o último backup normal ou incremental Desmarca atributo de arquivamento A. Tanenbaum. Sistemas Operacionais Modernos (3a edição), Pearson Brasil, 2010. Capítulo C ít l 9: 9 seção ã 3.5 35 Normal Copia todos os arquivos selecionados para o backup Desmarca atributo de arquivamento 30 Leituras complementares p Baseado em atributo de arquivamento e/ou datas criação/modificação RAID DP (Dupla paridade) 02/06 6/2015 Institu uto de Informática - U UFRGS Paridade 02/06 6/2015 Institu uto de Informática - U UFRGS Sistemas Operacionais I RAID 1+0 (RAID 10) R. Oliveira, R Oliveira A A. Carissimi, Carissimi S. S Toscani; Sistemas Operacionais. Operacionais Editora Bookman 4a edição, 2010 Capítulo 6 e capítulo 7 Sistemas Operacionais I 32