Aline Câmara Rodrigues
1 Sumário 2 a edição Revisão: Fev/2003 Sistemas Operacionais Entrada e saída Capítulo 5 Princípios básicos de hardware Arquitetura de computadores Gerência de entrada e saída Software de entrada e saída Disco magnético Sistemas Operacionais 2 Princípios básicos de hardware Arquitetura de entrada e saída Periférico é um dispositivo conectado a um computador de forma a possibilitar sua interação com o mundo externo Os periféricos são conectados ao computador através de um componente de hardware denominado de interface As interfaces são interconectadas aos barramentos internos de um computador Elemento chave na coordenação da transferências de dados Interfaces se utilizam de um processador dedicado a realização e controle das operações de entrada e saída Controladoras Dispositivo de entrada e saída possui um parte mecânica e outra eletrônica CPU Memória Disco Barramento Vídeo rede Sistemas Operacionais 3 Sistemas Operacionais 4
2 Dispositivos de entrada e saída (1) Dispositivos de entrada e saída (2) Classificados como: Orientado a caractere! Unidade de transferência é o caractere! e.g.; teclado, interface serial Orientado a bloco! Unidade de transferência de dados é um bloco de caracteres (fixo)! e.g.; disco, fitas DAT Esquema de classificação não é perfeito pois alguns dispositivos não se enquadram nestas situações e.g.; relógio, memória de vídeo mapeada em espaço de E/S Dispositivos de entrada e saída podem ser classificados de acordo com o tipo de entidade que interagem Com usuário! e.g.; vídeo, teclado, mouse, impressora, etc Com dispositivos eletrônicos! e.g; discos, fitas, atuadores, controladores, etc Com dispositivos remotos! e.g.; modem, interfaces de rede Sistemas Operacionais 5 Sistemas Operacionais 6 Dispositivos de entrada e saída (3) Tipos de conexão e transferência de dados Apresentam características próprias Taxa de transferência de dados Complexidade de controle Unidade de transferência! Caractere, bloco ou stream Representação de dados! Esquemas de codificação Tratamento de erros! Depende do tipo de dispositivo Em função da interconexão física das interfaces com os periféricos podem ser classificadas em dois tipos: Interface serial Interface paralela Interface serial Apenas uma linha para transferência de dados (bit à bit) Interface paralela Mais de uma linha para transferência de dados! e.g.; n x 8 bits Sistemas Operacionais 7 Sistemas Operacionais 8
3 Como controladoras e sistema operacional interagem? Mapeamento em espaço de memória e em espaço de entrada e saída Controladora é programada via registradores de configuração Recebem ordens do processador Fornecem estados de operação Leitura e escrita de dados do periférico Registradores são "vistos" como posições de memória E/S mapeada em espaço de E/S E/S mapeada em espaço de memória Espaço de endereçamento: Conjunto de endereços de memória que o processador consegue endereçar Definido no projeto de processador! Pode haver um único espaço de endereçamento! Pode haver um espaço de endereçamento dedicado a entrada e saída Instruções específicas para acessar um ou outro espaço de endereçamento e.g. mov, in, out Sistemas Operacionais 9 Sistemas Operacionais 10 Mapeamento em espaço de memória Mapeamento em espaço de entrada e saída Um único espaço de endereçamento No projeto do computador se reserva uma parte de sua área de endereçamento para acesso a periféricos (controladoras) Instruções de acesso a memória do tipo mov end, dado podem tanto referenciar uma posição real de memória como um registrador associado a um periférico de entrada/saída Exemplo: Processadores da familia Motorola O processador possui duas áreas distintas de endereçamento Espaço de memória: acessado via instruções de acesso de memória (mov) Espaço de E/S: acessado via instruções de acesso específica (in, out) No projeto de um computador (sistema) usando tal processador é possível de utilizar os dois tipos de mapeamento para acesso a periféricos de entrada e saída Exemplo: Processadores da familia Intel Sistemas Operacionais 11 Sistemas Operacionais 12
4 Exemplo de acesso a dispositivos Técnicas para realização de E/S Controladora de impressão onde um registrador fornece o status da impressão ( end. 315H) e outro corresponde ao envio do caracter a ser impresso (end. 312H). E/S programada E/S orientada a interrupções (interrupt driven) Acesso direto a memória Mapeado em memória Mapeado em entrada e saída Le_status: Print_char: mov AL, 315H mov AL, 65H mov 312H, AL Le_status: Print_char: in AL, 315H mov AL, 65H out 312H, AL Sistemas Operacionais 13 Sistemas Operacionais 14 E/S programada (1) Desvantagem E/S programada Toda interação entre o processador e o controlador é de responsabilidade exclusiva do programador Ciclo de funcionamento: Envio de comando a controladora Espera pela realização do comando Módulo (controladora) de entrada/saída atualiza bits de estado da operação Processador espera o término da operação (busy waiting) Desperdício do tempo do processador para verificar continuamente o estado de uma operação de entrada e saída Diferença de velocidade entre dispositivo de entrada e saída e processador Solução é inserir operações entre sucessivas consultas sobre o estado de uma operação de entrada e saída Polling Problema é determinar a freqüência para a realização do polling Sistemas Operacionais 15 Sistemas Operacionais 16
5 E/S orientada a interrupção (interrupt driven) Desvantagem E/S orientada a interrupção Método utilizado para evitar o desperdício de tempo do método de polling Processador é interrompido quando o módulo de E/S está pronto Enquanto a interrupção não ocorre o processador está liberado para executar outras tarefas Processador é responsável por iniciar uma operação de entrada e saída Interrupção solicita atenção do processador para executar uma rotina específica ao final da operação de entrada e saída Tratador de interrupção Processador atua como um intermediário na transferência, pois cada palavra lida (escrita) passa pelo processador Sistemas Operacionais 17 Sistemas Operacionais 18 Acesso direto a memória Evolução de arquiteturas de entrada e saída DMA (Direct Memory Access) Transfere diretamente um bloco de dados entre a memória e o módulo de E/S O mecanismo de interrupção é utilizado para sinalizar final de tarefa Processador é envolvido com a tarefa de E/S apenas no começo e no final da transferência Processador diretamente controla o periférico Controlador ou módulo de E/S é adicionado Processador emprega E/S programada sem interrupções Processador não necessita tratar detalhes dos dispositivos de E/S Controlador ou módulo de E/S porém baseado em interrupções Transferência de dados em DMA Módulo de E/S possui um processador separado Processador de E/S computador dedicado ao processamento de E/S Transferência de dados é feita, por exemplo, via rede Sistemas Operacionais 19 Sistemas Operacionais 20
6 Leituras complementares Sumário R. Oliveira, A. Carissimi, S. Toscani; Sistemas Operacionais. Editora Sagra-Luzzato, Capítulo 5, seção 5.1 A. Silberchatz, P. Galvin; Operating System Concepts. 4 a edição. Addison-Wesley. Capítulo 2 Princípios básicos de hardware Arquitetura de computadores Gerência de entrada e saída Software de entrada e saída Disco magnético Sistemas Operacionais 21 Sistemas Operacionais 22 O problema da gerência de entrada e saída Objetivos da gerência de entrada e saída Entrada e saída é extremamente lenta se comparada com a velocidade de processamento e de acesso a memória principal Multiprogramação possibilita que processos executem enquanto outros esperam por operações de entrada e saída Procedimento de swapping é entrada e saída Eficiência no tratamento de entrada e saída é importante Eficiência Generacidade é importante Desejável que dispositivos sejam tratados da forma mais uniforme possível Esconder os detalhes do serviço de entrada esaída em camadas de mais baixo nível Fornecer ao alto nível abstrações genéricas como read, write, open e close Envolve aspectos de hardware e de software Sistemas Operacionais 23 Sistemas Operacionais 24
7 Princípios básicos de software de entrada e saída Estrutura em camadas do subsistema de E/S Subsistema de entrada e saída é software bastante complexo devido a diversidade de periféricos Objetivo é padronizar as rotinas de acesso aos periféricos de E/S de forma a reduzir o número de rotinas Permite inclusão de novos dispositivos sem alterar visão do usuário (interface de utilização) Para atingir esse objetivo o subsistema de E/S é organizado em camadas Sistema operacional driver SCSI E/S independente do dispositivo driver EIDE E/S nível de usuário Interface padrão para drivers de dispositivos (API) driver floppy driver rede Hardware driver teclado Software Sistemas Operacionais 25 Sistemas Operacionais 26 Organização lógica do software de E/S (1) Visão geral do software de E/S Segue uma filosofia modular (três módulos base) Dispositivo lógico de E/S! Trata dispositivo como recurso lógico sem se preocupar com detalhes de controle! Oferece uma interface de programação ao processo usuário Dispositivo físico de E/S! aceita solicitações abstratas e converte para um tratamento específico! Bufferização Escalonamento e controle! Tratamento de interrupções e de status Organização não é única Depende do tipo do dispositivo e de sua aplicação Tratador de interrupção aciona driver ao final da operação de transferência Driver de dispositivo Configuração controladora e status Recebimento de requisições E/S independente do dispositivo Nomeação e proteção Bufferização E/S a nível de usuário Chamadas de E/S Formatação de E/S E/S a nível de usuário E/S independente Driver de dispositivo Tratador de Interrupção Sistemas Operacionais 27 Sistemas Operacionais 28
8 Device driver Funcionamento básico Conjunto de estruturas de dados e funções que controlam um ou mais dispositivos interagindo com o núcleo via uma interface bem definida Fornecido pelo fabricante do periférico Vantagens: Isolar código específico a um dispositivo em um módulo a parte Facilidade de adicionar novos drivers Fabricantes não necessitam mexer no núcleo Núcleo tem uma visão uniforme de todos os dispositivos através de uma mesma interface Núcleo aciona driver para: Configurar dispositivo Realizar acessos de leitura e escrita Controlar e obter informações de status Tratamento de interrupções Driver aciona núcleo para: Efetuar gerenciamento de buffers Escalonamento Sistemas Operacionais 29 Sistemas Operacionais 30 Subsistema de E/S Exemplo: subsistema de E/S do UNIX Porção do núcleo que controla a parte independente e interage com o driver de dispositivo para manipular/tratar a parte dependente Responsável por: Distribuição uniforme dos nomes (nomeação, espaço de nomes) Proteção Fornecer uma interface aos processos usuários (aplicativos) Gerenciamento e desempenho do sistema de E/S Corresponde a visão lógica do dispositivo Atribuição uniforme do nome independente do dispositivo O UNIX é um exemplo clássico: Nome do dispositivo é um string Discos (dispositivos) fazem parte do sistema de arquivos /dev ttys0 ttys1 ttys2 ttys3 crw root tty crw root tty crw root tty crw root tty Major number 4,64 may /dev/tty0 4,65 may /dev/tty1 4,66 may /dev/tty2 4,66 may /dev/tty3 Minor number Sistemas Operacionais 31 Sistemas Operacionais 32
9 Funcionalidades básicas do subsistema de E/S E/S nível de usuário Escalonamento de E/S Determinar a melhor ordem para o atendimento de requisições de E/S Dividir de forma justa o acesso a periféricos Disponibiliza a processos usuário (aplicação) operações de E/S através de bibliotecas ou chamadas de sistema Bufferização Área de armazenamento temporário de dados Cache Permitir o acesso rápido aos dados Spooling Controlar acesso a dispositivos que atendem apenas uma requisição por vez Reserva de dispositivos Controlar acesso exclusivo a dispositivos (alocação, desalocação, deadlock) Sistemas Operacionais 33 Sistemas Operacionais 34 Interface de programação Bloqueante Bloqueante Processo é suspenso até a conclusão da operação! Fácil programação e compreensão O controle retorna a camada de aplicação somente após a conclusão da operação de entrada e saída Não bloqueante Retorna imediatamente com os dados disponíveis no momento! Baseado em buffer Assíncrona Processo continua sua execução enquanto a E/S é realizada! Dificil programação! Necessário determinar o término da operação (signal versus polling) Espaço de usuário Espaço de sistema Camada de Aplicação P k espera (busy waiting/bloqueado) Driver do dispositivo Tratador de interrupções Transferência de dados P k Sistemas Operacionais 35 Sistemas Operacionais 36
10 Não bloqueante Assíncrona O controle retorna a camada de aplicação com os dados disponíveis no momento Camada de Aplicação O controle retorna a camada de aplicação sem que a operação de entrada e saída tenha sido concluída Programação (agendamento) de uma operação de E/S Camada de Aplicação Espaço de usuário Espaço de sistema P k Execução P k Driver do dispositivo Tratador de interrupções Transferência de dados Espaço de usuário Espaço de sistema P k Execução P k Driver do dispositivo Tratador de interrupções Transferência de dados Sistemas Operacionais 37 Sistemas Operacionais 38 Leituras complementares Sumário R. Oliveira, A. Carissimi, S. Toscani; Sistemas Operacionais. Editora Sagra-Luzzato, Capítulo 5, seção 5.2 A. Silberchatz, P. Galvin; Operating System Concepts. 4 a edição. Addison-Wesley. Capítulo 2 Princípios básicos de hardware Arquitetura de computadores Gerência de entrada e saída Software de entrada e saída Disco magnético Sistemas Operacionais 39 Sistemas Operacionais 40
11 Dispositivos periféricos típicos Disco magnético Dispositivos de E/S são fundamentais para que um sistema seja utilizável Existe uma grande gama de dispositivos de E/S Impossível de analisar todos Princípio de funcionamento tem uma base comum Periférico mais importante é o disco por desempenhar um papel fundamental em diversos aspectos do sistema operacional Armazenamento de dados Suporte a implementação de memória virtual Aspectos relacionados com tolerância a falhas e segurança de dados (RAID) Um disco de plástico, ou metal, recoberto de material magnético Pratos (platters) Dados são gravados e, posteriormente, recuperados através de um "mola" condutora (cabeçote de leitura e gravação) Escrita: o cabeçote é submetido a uma tensão que gera um campo magnético o qual magnetiza o disco com diferentes padrões de polaridades Leitura: a variação do campo magnético gerado pela rotação do disco induz uma corrente no cabeçote de leitura Sistemas Operacionais 41 Sistemas Operacionais 42 Organização e formatação (1) Organização e formatação (2) Disco é organizado em uma seqüência de circulos concêntricos Trilhas Largura da trilha corresponde a largura do cabeçote de leitura/escrita Trilhas são separadas por gaps Evitar problemas de alinhamentos Duas tecnologias definem o número de bits por trilhas O número de bits por trilha é constante! Trilhas mais internas possuem uma densidade maior bits/polegada! Discos com tecnologia CAV (Constant Angular Velocity) O número de bits por trilha depende se ela é mais interna ou mais externa! Discos com tecnologia CLV (Constant Linear Velocity)! e.g.; CDROM W. Stallings. Operating Systems (4th Ed.), Prentice Hall, Sistemas Operacionais 43 Sistemas Operacionais 44
12 Organização e formatação (3) Organização e formatação (4) Transferência de dados para o disco é feito em blocos Tipicamente, bloco é menor que a capacidade de uma trilha Trilha é subdividida em unidades de tamanho fixo (setores) Setor: Armazenamento de informações Informações de controle! e.g.; início e final do setor, ECC (Error Correcting Code) A definição de trilhas e setores é feita pela formatação física Feita na fábrica W. Stallings. Operating Systems (4th Ed.), Prentice Hall, Inf. de controle Zona de dados ECC Sistemas Operacionais 45 Sistemas Operacionais 46 Características físicas (1) Características físicas (2) Cabeçote de leitura/escrita são montados sobre um braço Fixo: um cabeçote por trilha Móvel: cabeçote se desloca sobre as trilhas Removível versus não removível Meio magnético (pratos) são montados fisicamente no braço ou não! e.g.; disquete Densidade dupla versus densidade simples Filme magnético é posto, ou não, nas duas superficies do prato Múltiplos pratos (disk pack) Vários pratos empilhados e centrados Cada prato um cabeçote de leitura/escrita (braço móvel) Cilindro: conjunto de trilhas de mesmo número em pratos diferentes Mecanismo do cabeçote leitura/escrita Contato físico entre a superfície magnética e o cabeçote (floppy) Distância fixa (air gap) da superfície magnética Distância fixa (air gap) da superfície magnética quando o disco entra em rotação (disco rígido) Sistemas Operacionais 47 Sistemas Operacionais 48
13 Características físicas (3) Exemplo de especificações de disco Prato Superfície Cabeçote R/W (1 por superfície) Braço mecânico Setor Cilindro Imaginário Trilha Disco 4.1 Gigabytes 255 cabeças 63 setores de 512 bytes 525 cilindros Capacidade: 255 x 63 x 512 x 525 Sexagésimo quarto setor mantém um mapa de setores na trilha Tecnologia atual permite até 8 pratos com 16 cabeçotes Diferença no número de cabeçotes é lógico Sistemas Operacionais 49 Sistemas Operacionais 50 Acesso a dados Desempenho do disco Menor unidade de transferência é um bloco lógico Composto por um ou mais setores físicos Acessar dado implica em localizar trilha, superfície e setor Dois métodos: Método CHS (Cylinder, Head, Sector) Método LBA (Linear Block Addressage)! Tradução do L-CHS (Logical) para P-CHS (Physical) 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! Cilindros que possuem mesmo número de setores (zonas) Para ler/escrever dados é necessário que o cabeçote de leitura e escrita esteja posicionada na trilha e no ínicio do setor desejados Três tempos envolvidos: Tempo de posicionamento (seek time)! Tempo necessário para posicionar o cabeçote de leitura/escrita na trilha desejada Tempo de latência rotacional! Tempo necessário para atingir o início do setor a ser lido/escrito Tempo de transferência! Tempo para escrita/leitura efetiva dos dados Sistemas Operacionais 51 Sistemas Operacionais 52
14 Temporização de acesso ao disco Tempo de posicionamento (seek) Latency time Transfer time acesso seek Setor latência Trilha t = t + t + t Seek time Cabeçote leitura/escrita trasnf. Possui duas componentes: Tempo de acionamento e aceleração do braço do cabeçote Tempo de deslocamento até a trilha desejada Não é linear em função do número do trilhas Tempo de identificação da trilha (confirmação) Tempo médio de seek Dado fornecido pelo fabricante! e.g.; 5 a 10 ms (tecnologia ano 2000) Sistemas Operacionais 53 Sistemas Operacionais 54 Tempo de latência rotacional Tempo de transferência Definido pela velocidade de rotação do motor e.g. (ano 2000):! discos rígidos (5400 rpm a rpm)! unidades de floppy (300 rpm a 600 rpm) Considera-se o tempo médio 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 rpm ( 6 ms uma rotação ) Tempo de transferência de dados de/para disco depende da velocidade de rotação b T = rn T = tempo de transferência b = número de bytes a serem transferidos N = número de bytes em uma trilha r = velocidade de rotação, nro de rotações por segundo Tempo médio de acesso é dado por: 1 Tacesso = tseek _ médio + + 2r b rn Sistemas Operacionais 55 Sistemas Operacionais 56
15 Exemplo Entrelaçamento (interleaving) Acessar um arquivo de dados de 1.3 Mbytes armazenado em disco com as seguintes características: T seek_médio = 10 ms, rpms, 512 bytes por setor, 320 setores por trilha Caso I: Acesso seqüêncial (2560 setores = 8 trilhas x 320 setores) T acesso = 10 ms + 8 x (3 + 6) ms = s (Obs: supondo trilhas vizinhas, despreza-se o tempo de seek) Caso II: Acesso randômico (leitura na base um setor por vez) T acesso = 2560 x (10 ms + 3 ms ms) = s Forma de aumentar o desempenho no acesso ao disco Objetivo é evitar a latência rotacional em setores adjacentes Técnica consiste em numerar os setores não mais de forma contígua mas sim com um espaço entre eles Disco 1 Disco 2 Fator de entrelaçamento = 0 Fator de entrelaçamento = Sistemas Operacionais 57 Sistemas Operacionais 58 Escalonamento do disco (1) Escalonamento do disco (2) Tratar E/S em disco de forma eficiente se traduz em obter um tempo de acesso rápido e explorar ao máximo a largura de banda do disco Se traduz em minimizar o tempo de posicionamento (seek) Largura de banda do disco é definida como sendo o número total de bytes transferidos, divididos pelo tempo decorrido entre o primeiro acesso e a conclusão da transferência. Algoritmos para reduzir o tempo de seek Algoritmos de escalonamento do disco! Forma de organizar o atendimento a requisições! FCFS, SSTF, SCAN, C-SCAN, etc Exemplo para análise Disco organizado em 200 trilhas (0-199) Posição inicial do cabeçote: trilha 53 Atender a seguinte fila de requisições: 98, 183, 37, 122, 14, 124, 65, 67 Sistemas Operacionais 59 Sistemas Operacionais 60
16 FCFS - First Come First Served (1) SSTF - Shortest Seek Time First (1) Acessa na ordem em que as requisições são solicitadas Para análise em questão obtem-se um deslocamento equivalente a 640 trilhas Seleciona a requisição com o menor tempo de seek em relação a posição atual do cabeçote de leitura/escrita Análogo ao escalonamento SJF (Shortest Job First) Pode provocar postergação de uma requisição Silberchatz, Galvin, Gagne. Applied Operating System Concepts (1st Ed.) John Wiley & Sons, Sistemas Operacionais 61 Sistemas Operacionais 62 SSTF - Shortest Seek Time First (2) SCAN (1) Deslocamento equivalente a 236 trilhas O movimento do cabeçote inicia em uma extremidade do disco e se movimenta em direção a outra extremidade Executa as requisições na ordem desta varredura Ao chegar no outro extremo, inverte o sentido e repete o procedimento Conhecido como algoritmo do elevador Silberchatz, Galvin, Gagne. Applied Operating System Concepts (1st Ed.) John Wiley & Sons, Sistemas Operacionais 63 Sistemas Operacionais 64
17 SCAN (2) C-SCAN (1) Deslocamento equivalente a 208 trilhas Silberchatz, Galvin, Gagne. Applied Operating System Concepts (1st Ed.) John Wiley & Sons, Sistemas Operacionais 65 Variação do algoritmo de SCAN Procedimento é idêntico ao do algoritmo SCAN porém as requisições são atendidas apenas em um sentido da varredura 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 Oferece um tempo médio de acesso mais uniforme que o algoritmo SCAN Sistemas Operacionais 66 C-SCAN (2) C-LOOK Versão do C-SCAN O cabeçote de leitura/escrita não necessita atingir o extremo do disco para voltar ao início do disco Silberchatz, Galvin, Gagne. Applied Operating System Concepts (1st Ed.) John Wiley & Sons, Sistemas Operacionais 67 Sistemas Operacionais 68
18 Outras variações de SCAN Qual algoritmo de escalonamento é melhor? N-step-SCAN Divide a fila de requisições em um certo número de filas de tamanho N Cada fila é atendida separadamente utilizando SCAN Novas requisições são inseridas em filas diferentes da que está sendo atendida no momento da chegada destas requisições FSCAN Baseada em duas filas Um fila recebe todas as novas requisições enquanto a outra é empregada para atender as requisições já feitas SSTF é o método comumente empregado SCAN e C-SCAN apresentam um melhor desempenho em discos que possuem um grande número de acesso Fatores importantes Quantidade e tipo de requisições Organização de arquivos e diretórios no disco (sistema de arquivos) O algoritmo de escalonamento deve ser escrito como um módulo separado do sistema operacional para permitir sua substituição de forma fácil Sistemas Operacionais 69 Sistemas Operacionais 70 RAID: Redundant Array of Inexpensive Disks RAID nível 0 Conjunto de discos rigídos visto pelo sistema operacional como um único disco lógico Dados são distribuídos entre os diferentes discos físicos Permite o acesso paralelo a dados aumentando o desempenho Possibilita o armazenamento de informações de paridade para permitir a recuperação de dados em caso de problemas no disco Aumento de possibilidade de falhas já que existem mais dispositivos envolvidos Diferentes níveis Sistemas Operacionais 71 Dados são distribuídos nos diferentes discos do array Requisições a blocos de dados armazenados em discos distintos podem ser efetuados em paralelo O disco lógico é dividido em unidade de distribuição (strips) Strip pode ser blocos físicos, setores, etc... Strip são mapeados de forma round-robin em n discos (stripes) Técnica conhecida como stripping W. Stallings. Operating Systems (4th Ed.), Prentice Hall, Sistemas Operacionais 72
19 RAID nível 1 RAID nível 1: vantagens e desvantagens Objetivo de RAID é fornecer uma redudância de dados para fornecer um certo grau de tolerância a falhas RAID 1 a redundância é obtida através da replicação dos dados Strips são armazenados em 2 conjuntos distintos de discos físicos Denominado de espelhamento (mirroring) Vantagens: Leitura de um dado pode ser feito privilegiando-se o disco que oferece o menor tempo de seek e atraso rotacional Recuperação em caso de erro é simples! Acessa dados do disco não danificado Desvantagem: Custo: necessita o dobro do espaço do disco lógico em discos físicos Sistemas Operacionais 73 Sistemas Operacionais 74 RAID nível 2 RAID nível 2 O conjunto de discos é sincronizado, isto é, todos os cabeçotes estão posicionados no mesmo ponto (trilha e setor) Todos discos são acessados na realização de uma requisição E/S A unidade de stripping é byte ou palavra Executa o cálculo de código de correção de erros considerando um certo número de bits e armazena o resultado em discos separados W. Stallings. Operating Systems (4th Ed.), Prentice Hall, O número de discos redundantes é proporcional ao logaritmo da quantidade de dados armazenados no disco Requisição de E/S Leitura: código de correção é calculado para os dados lidos e comparado com o código de correção lido Escrita: cálculo e gravação do código de correção Sistemas Operacionais 75 Sistemas Operacionais 76
20 RAID nível 3 RAID nível 3: reconstrução de dados Similar ao RAID 2 Diferença é que existe apenas um disco de redundância independente do número de discos para armazenamento de dados Exemplo: Array composto por 5 discos físicos, onde discos 0 a 3 servem ao armazenamento de dados e o disco 4 a paridade (redundância) Cálculo de um código de detecção de erro (paridade) Possível reconstruir dados de um disco falho a partir desta informação W. Stallings. Operating Systems (4th Ed.), Prentice Hall, Paridade para o bit i de cada disco é calculado da seguinte forma: x4( i) = x3( i) x2( i) x1( i) x0( i) Em caso de erro do disco 1, se pode reconstruir seus dados (bit a bit) realizando o seguinte cálculo: x1( i) = x4( i) x3( i) x2( i) x0( i) Sistemas Operacionais 77 Sistemas Operacionais 78 RAID nível 4 RAID nível 5 Diferença em relação aos níveis 2 e 3 é que os discos são independentes podendo então satisfazer requisições em paralelo Redundância é obtida calculado-se a paridade bit a bit de cada strip e armazenando o resultado em disco de paridade Organização é similar ao RAID 4 A informação de paridade é distribuída em todos os discos do array de forma round-robin W. Stallings. Operating Systems (4th Ed.), Prentice Hall, W. Stallings. Operating Systems (4th Ed.), Prentice Hall, Sistemas Operacionais 79 Sistemas Operacionais 80
21 RAID nível 6 RAID nível 10 Introduz um segundo cálculo de paridade para o mesmo conjunto de dados: Paridade é calculada utilizando o esquema de OU exclusivo de RAID 4 e 5 Algoritmo adicional de verificação de dados Vantagem sobre demais esquemas de RAID é que dois discos podem falhar simultâneamente W. Stallings. Operating Systems (4th Ed.), Prentice Hall, Combinação dos níveis RAID 0 e RAID 1 O dados são divididos em strips (RAID 0) e após os discos de armazenamento de dados são espelhados (RAID 1) W. Stallings. Operating Systems (4th Ed.), Prentice Hall, Sistemas Operacionais 81 Sistemas Operacionais 82 Software de RAID Leituras complementares Configurações de RAID podem ser implementadas em hardware (firmware) ou em software RAID em hardware: Diferentes discos físicos são organizados de forma a compor um disco lógico Organização é configurada e gerenciada pelo controlador de disco Controlador realiza a geração das informações de redundância (firmware) RAID em software: Diferentes partições (discos lógicos) compõem um único disco RAID é feito pelo driver de disco (software) Normalmente implementa RAID nível 1 e RAID nível 5 R. Oliveira, A. Carissimi, S. Toscani; Sistemas Operacionais. Editora Sagra-Luzzato, Capítulo 5, seção 5.3 A. Silberchatz, P. Galvin, G. Gagne; Applied Operating System Concepts. Addison-Wesley, Capítulo 12 e 13 W. Stallings; Operating Systems. (4 th edition). Prentice Hall, Capítulo 11 Sistemas Operacionais 83 Sistemas Operacionais 84
Princípios básicos de hardware Sistemas Operacionais Entrada e saída Capítulo 5 Periférico é um dispositivo conectado a um computador de forma a possibilitar sua interação com o mundo externo Os periféricos