Sistemas Operativos II: Funcionamento interno de sistemas operativos - Gestão de E-S PDF
Document Details
Uploaded by jorgecosta
Instituto Politécnico de Coimbra
Tags
Summary
This document discusses the internal functioning of operating systems, particularly I/O management. It details components like I/O controllers, device drivers, and various communication protocols used for input/output operations. The document also includes different types of devices and their communication processes.
Full Transcript
Sistemas Operativos II Funcionamento interno de sistemas operativos SO II – 24/25 Interpretador de Comandos (Chamadas ao...
Sistemas Operativos II Funcionamento interno de sistemas operativos SO II – 24/25 Interpretador de Comandos (Chamadas ao sistema) Gestão de Gestão de Processos ficheiros e (processos, pastas Principais comunicação e sincronização Componente entre s / Funções processos,…) do Sistema Operativo Gestão de Gestão de E/S memória (Periféricos, (Memória, Entrada e Segurança e Saída) proteção,...) Funcionamento interno SOs SO II – 24/25 Gestão de E/S (Periféricos, Entrada e Saída) Introdução Dispositivos e objetivos do subsistema de E/S Transferência de Dados Modelo e Interface (orientado a bloco, caractere, rede) do subsistema de E/S. E/S síncrona e assíncrona. Chamadas de sistema (Bloqueantes, não Bloqueantes e Assíncronas) Arquitetura, Funcionamento do driver, Camada dependente e independente do dispositivo (Buffer, Cache, Tratamento de erros, Escalonamento do dispositivo e Partilha), Tratamento de interrupções Entrada/Saída – Disco magnético (Desempenho, Escalonamento, Sistemas RAID). Funcionamento interno SOs SO II – 24/25 Introdução (Dispositivos e objetivos subsistema E/S) Os sistemas computacionais requerem comunicação com o exterior (dispositivos específicos que dependem se o “interlocutor” é um ser humano ou outro sistema computacional) e armazenamento não volátil de longo prazo (dispositivos que variam em capacidade, desempenho, custo, etc...). Existe desafios na gestão do subsistema de E/S, devido à grande variedade de dispositivos existentes e ao constante aparecimento de novos. Isso exige um design modular e adaptável para lidar com diferentes controladores e configurações. Funcionamento interno SOs SO II – 24/25 Introdução (Dispositivos e objetivos subsistema E/S) Os diversos dispositivos são classificados em dois grandes grupos: 1. Dispositivos de comunicação: 1. Entrada: Capturam dados do ambiente externo e converte-os para formato binário. Exemplos: teclado, rato, scanners e digitalizadores de voz. 2. Saída: Apresentam dados binários num formato compreensível, como monitores, impressoras e sintetizadores de voz. 2. Dispositivos de armazenamento: 1. Envolvem operações de entrada e saída para gravar e ler informações de forma não volátil. Funcionamento interno SOs SO II – 24/25 Introdução (Dispositivos e objetivos subsistema E/S) O subsistema é projetado para assegurar três funcionalidades básicas: 1. Fornecer uma visão lógica ou abstrata dos dispositivos de E/S: 1. Apesar da variedade de dispositivos (read, write, read‐write) em termos de funções, velocidades e tipos de controle, é criado um padrão uniforme que define dispositivos genéricos e abstratos. 2. Permitir a utilização eficiente dos dispositivos: 1. Dispositivos podem operar simultaneamente e permitir a sobreposição de operações de E/S com atividades do processador. 3. Viabilizar a partilha de dispositivos: 1. Garante a alocação e escalonamento de recursos para evitar conflitos e proteger o uso partilhado entre diferentes processos. Funcionamento interno SOs SO II – 24/25 Introdução (Dispositivos e objetivos subsistema E/S) Temos diversos dispositivos de E/S: Memória (discos e tapes) Transmissão (placas de rede, modems) Interface com humanos (ecrã, teclado, ratos, …) Outros dispositivos especializados Funcionamento interno SOs SO II – 24/25 Introdução (Dispositivos e objetivos subsistema E/S) Controlador de Dispositivos de E/S: Componente eletrónico que controla as operações do dispositivo e faz a interface com o computador/servidor. Exemplos: controlador da porta‐série (UART) controlador do disco NIC (Network Interface Controller) VGA (Video Graphics Adapter) Estrutura típica dum PCI bus Funcionamento interno SOs SO II – 24/25 Gestão de E/S (Periféricos, Entrada e Saída) Introdução Dispositivos e objetivos do subsistema de E/S Transferência de Dados Modelo e Interface (orientado a bloco, caractere, rede) do subsistema de E/S. E/S síncrona e assíncrona. Chamadas de sistema (Bloqueantes, não Bloqueantes e Assíncronas) Arquitetura, Funcionamento do driver, Camada dependente e independente do dispositivo (Buffer, Cache, Tratamento de erros, Escalonamento do dispositivo e Partilha), Tratamento de interrupções Entrada/Saída – Disco magnético (Desempenho, Escalonamento, Sistemas RAID). Funcionamento interno SOs SO II – 24/25 Transferência de dados (Conceitos) Elementos Básicos da Comunicação E/S Para que o computador comunique com os dispositivos de E/S, são utilizados três componentes principais: 1. Porto (port): 1. Um ponto de comunicação ou interface que permite a ligação entre o controlador de um dispositivo e o sistema computacional. 2. Barramento (bus): 1. Uma via de comunicação partilhada, através da qual os dados, comandos e sinais de controle são transmitidos entre o processador, a memória e os dispositivos de E/S. 3. Controlador: 1. Um intermediário que gere a interação entre o dispositivo e o computador. 2. Pode ser associado a um porto, barramento ou diretamente a um dispositivo específico. Funcionamento interno SOs SO II – 24/25 Transferência de dados (Conceitos) Comunicação CPU - Controlador Para que o processador envie comandos e disponibilize dados para um controlador, é necessário: O controlador possuir registos específicos: Registos de dados: incluem o registo de entrada de dados (data-in) e o registo de saída de dados (data-out). Registos de sinais de controlo: incluem o registo de estado (status) e o registo de controlo (control). O processador comunica com o controlador lendo e escrevendo nesses registos, manipulando padrões de bits para enviar comandos ou interpretar estados. Funcionamento interno SOs SO II – 24/25 Transferência de dados A interação entre o processador e o controlador pode ocorrer de duas formas: 1. Instruções E/S diretas: 1. Comandos específicos para comunicação E/S. 2. Envolve a especificação de um byte e um endereço de porto E/S. 2. Instruções E/S mapeadas em memória: 1. Os registos de E/S são mapeados diretamente no Localização de alguns portos E/S de PCs espaço de endereçamento de memória. 2. O processador acede a esses registos como se fossem localizãções de memória normais. Funcionamento interno SOs SO II – 24/25 Transferência de dados Comunicação CPU ‐ Dispositivo E/S via Polling (Espera Ocupada do Processador) Polling é um método em que o processador verifica continuamente o estado do dispositivo de E/S para determinar se ele está pronto para realizar uma operação. Durante o polling, o processador permanece ativo e num ciclo de espera, verificando repetidamente os registos do controlador até que o dispositivo esteja disponível. O mecanismo de polling utiliza um processo de “aperto de mão” (handshaking), onde o processador e o controlador coordenam as suas operações. Este processo é implementado através de bits de sinalização nos registos do controlador: 1. Busy bit (do registo status): Indica que o dispositivo está ocupado executando uma operação e não pode aceitar novos comandos. 2. Ready bit (do registo command): Sinaliza que o dispositivo está pronto para realizar a próxima operação. 3. Error bit: Aponta que ocorreu uma falha durante a operação de E/S. Funcionamento interno SOs SO II – 24/25 Transferência de dados Comunicação CPU‐Dispositivo E/S via Polling (Espera Ocupada do Processador) (cont.) O Processador realiza as seguintes ações durante o polling: 1. Lê o registo status do controlador para verificar o estado do dispositivo. 2. Se o dispositivo estiver ocupado (Busy bit ativo), o processador continua a verificar num loop (espera ocupada). 3. Quando o dispositivo estiver pronto (Ready bit ativo), o processador emite comandos ou transfere dados para o dispositivo. 4. Após o fim da operação, o processador pode verificar se houve erros através do Error bit. Funcionamento interno SOs SO II – 24/25 Transferência de dados Comunicação CPU‐Dispositivo E/S via interrupções As interrupções são sinais enviados por dispositivos de E/S ao processador para notificá-lo de que estão prontos para executar uma tarefa ou que uma operação foi concluída. Este mecanismo permite que o processador realize outras atividades enquanto aguarda a conclusão das operações de E/S, sendo posteriormente alertado pelo dispositivo. Apesar das suas vantagens, o uso de interrupções pode ser ineficiente em casos onde as operações de E/S são extremamente rápidas, pois o tempo para manipular a interrupção pode superar o tempo da operação. Funcionamento interno SOs SO II – 24/25 Transferência de dados Funcionamento da Comunicação via Interrupções 1. Inicio da Operação: 1. O processador envia um comando para o dispositivo, iniciando uma operação de E/S. 2. Em vez de verificar continuamente o estado do dispositivo, o processador volta a executar outras tarefas. 2. Geração de Interrupção: 1. Quando o dispositivo conclui sua tarefa (por exemplo, finaliza uma operação de saída, disponibiliza dados de entrada ou deteta uma falha), gera uma interrupção. 2. O sinal de interrupção é enviado ao processador por meio da linha de pedido de interrupção (Interrupt Request Line). Funcionamento interno SOs SO II – 24/25 Transferência de dados Funcionamento da Comunicação via Interrupções (cont.) 3. Interrupção e Chamada ao Interrupt Handler: 1. Ao receber o sinal de interrupção, o processador pausa a execução do processo atual e verifica a causa da interrupção. 2. O processador chama uma rotina específica chamada Interrupt Handler (rotina de tratamento de interrupção), que é responsável por processar a interrupção. 4. Execução da Rotina: 1. O Interrupt Handler identifica o dispositivo que gerou a interrupção e realiza as ações necessárias: 1. Processa os dados recebidos ou termina a tarefa pendente. 2. Lida com erros, se necessário. 2. Após o fim, o processador volta ao ponto onde estava antes de processar a interrupção. Funcionamento interno SOs SO II – 24/25 Acesso Direto à Memória (DMA - Direct Memory Access) O Acesso Direto à Memória (DMA - Direct Memory Access) é um método avançado para transferência de dados entre dispositivos de Entrada/Saída (E/S) e a memória principal do sistema, evitando a necessidade de intervenção contínua do processador. Permite que dispositivos de E/S transfiram dados diretamente para a memória, sem passar pelo processador para cada byte ou bloco de dados. Isto é realizado através de um controlador DMA, que gere a comunicação entre o dispositivo e a memória. Funcionamento interno SOs SO II – 24/25 Acesso Direto à Memória (DMA - Direct Memory Access) Funcionamento do DMA 1. Configuração Inicial: 1. O processador inicia o processo configurando o controlador DMA: 1. Define o endereço inicial na memória onde os dados devem ser lidos ou gravados. 2. Especifica a quantidade de dados a serem transferidos. 3. Indica se a operação será de leitura ou escrita. 2. Transferência Direta: 1. O controlador DMA assume o controlo do barramento do sistema para executar a transferência entre o dispositivo de E/S e a memória principal, sem envolvimento do processador. 3. Notificação de Conclusão: 1. Quando a transferência é concluída, o controlador DMA gera uma interrupção para notificar o processador de que os dados estão disponíveis ou que a operação foi completada. Funcionamento interno SOs SO II – 24/25 Acesso Direto à Memória (DMA - Direct Memory Access) O processador tem que programar o controlador de DMA com: Endereço de memória com o buffer de dados Endereço do dispositivo de E/S Número de bytes a transferir Outros parâmetros para controlar a transferência Exemplo: o sentido da transferência Funcionamento interno SOs SO II – 24/25 Acesso Direto à Memória (DMA - Direct Memory Access) Por serem mais lentos, os canais de DMA são utilizados por periféricos lentos, como drive de disquetes, mas os periféricos mais rápidos, como discos rígidos, utilizam o Bus Mastering, um DMA melhorado. Benefícios Maior Eficiência: Liberta o processador para realizar outras tarefas enquanto a transferência de dados ocorre. Velocidade Melhorada: Reduz a sobrecarga de comunicação entre o processador e os dispositivos. Transferências de Dados em Blocos: Permite a movimentação de grandes volumes de dados de forma eficiente. O DMA é usado em operações que envolvem grandes volumes de dados, como: Transferência de ficheiros entre um disco rígido e a memória. Transferência de pacotes em dispositivos de rede. Manipulação de dados em placas gráficas. Funcionamento interno SOs SO II – 24/25 Barramentos de E/S É uma via de comunicação partilhada que liga o processador, a memória e os dispositivos de E/S e permite a transferência de dados, comandos e sinais de controlo entre estes componentes. O barramento é uma infraestrutura fundamental para a comunicação eficiente dentro do sistema computacional. Vantagens: Compatibilidade: Vários dispositivos podem partilhar o mesmo barramento, simplificando o design do sistema. Flexibilidade: Permite a ligação de diferentes tipos de dispositivos, como de armazenamento, de comunicação e interfaces humanas. Redução de Custo: Um barramento partilhado reduz a necessidade de ligações individuais e dedicadas entre o processador e cada dispositivo. Funcionamento interno SOs SO II – 24/25 Barramentos de E/S Barramentos podem ser usados para acesso simultâneo ou separado à memória e aos dispositivos de E/S. Figura (a): Um barramento único é partilhado pelo processador, pela memória e pelos dispositivos de E/S, onde todos os endereços, sejam de memória ou de E/S, transitam pelo mesmo barramento. É simples e económico em termos de hardware, mas, o tráfego intenso no barramento pode causar dificuldades, reduzindo a eficiência em sistemas com alta exigência de E/S e memória. Funcionamento interno SOs SO II – 24/25 Barramentos de E/S Barramentos podem ser usados para acesso simultâneo ou separado à memória e aos dispositivos de E/S. Figura (b): Dois barramentos distintos são usados: Um barramento de elevada largura de banda para comunicação entre o processador e a memória. Um barramento separado para os dispositivos de E/S, com acesso à memória através de um "porto de memória". Reduz “soluços”, permitindo maior eficiência ao separar o tráfego de memória do tráfego de E/S, mas é mais complexo e caro de implementar. Funcionamento interno SOs SO II – 24/25 Gestão de E/S (Periféricos, Entrada e Saída) Introdução Dispositivos e objetivos do subsistema de E/S Transferência de Dados Modelo e Interface (orientado a bloco, caractere, rede) do subsistema de E/S E/S síncrona e assíncrona. Chamadas de sistema (Bloqueantes, não Bloqueantes e Assíncronas) Arquitetura, Funcionamento do driver, Camada dependente e independente do dispositivo (Buffer, Cache, Tratamento de erros, Escalonamento do dispositivo e Partilha), Tratamento de interrupções Entrada/Saída – Disco magnético (Desempenho, Escalonamento, Sistemas RAID). Funcionamento interno SOs SO II – 24/25 Interface do subsistema de E/S O subsistema de E/S organiza os dispositivos em categorias abstratas, cada uma representando uma classe com propriedades específicas. Estas categorias incluem: Dispositivos “abstratos”: Orientados a bloco (block devices) Permitem acesso direto a blocos de dados de tamanho fixo: normalmente usados para armazenar um sistema de ficheiros Orientados a caractere (character devices) Incluem quase todos os restantes periféricos Rede (network devices) Funcionamento interno SOs SO II – 24/25 Interface do subsistema de E/S Dispositivos Orientados a Bloco (Block Devices): São usados principalmente para armazenamento em massa. Dados são organizados em blocos de tamanho fixo (ex.: 512B a 32KB), que podem ser lidos ou escritos independentemente. Exemplos: Discos rígidos. Serviços Abstratos: Sistemas de ficheiros. Memória virtual (swap). Operações Típicas: open(), read(), write(), close(), disponibilizadas aos utilizadores através do sistema de ficheiros Funcionamento interno SOs SO II – 24/25 Interface do subsistema de E/S Dispositivos Orientados a Caracteres (Character Devices): Controlam dispositivos que produzem ou consomem fluxos contínuos de dados arbitrários (sequência de caracteres). Não permitem operações de endereçamento individual ou seek. Exemplos: Teclados, ratos, impressoras e portas seriais. Operações Típicas: put() e get(). Funcionamento interno SOs SO II – 24/25 Interface do subsistema de E/S Dispositivos de Rede (Network Devices): Representam dispositivos que gerem comunicação com outros sistemas ou redes. Utilizam uma interface baseada em sockets para enviar ou receber dados. Operações Típicas: open(), close(), create() Suporte a serviços: Orientados à ligação (TCP): open(), close(), connect() Sem ligação (UDP): send(), recv() Funcionamento interno SOs SO II – 24/25 Modelo do subsistema de E/S Uniformizar o acesso a dispositivos, independentemente das suas particularidades físicas ou tecnológicas. Simplificar a interação entre o software e o hardware, abstraindo os detalhes específicos dos dispositivos. Funcionamento interno SOs SO II – 24/25 Gestão de E/S (Periféricos, Entrada e Saída) Introdução Dispositivos e objetivos do subsistema de E/S Transferência de Dados Modelo e Interface (orientado a bloco, caractere, rede) do subsistema de E/S E/S síncrona e assíncrona. Chamadas de sistema (Bloqueantes, não Bloqueantes e Assíncronas) Arquitetura, Funcionamento do driver, Camada dependente e independente do dispositivo (Buffer, Cache, Tratamento de erros, Escalonamento do dispositivo e Partilha), Tratamento de interrupções Entrada/Saída – Disco magnético (Desempenho, Escalonamento, Sistemas RAID). Funcionamento interno SOs SO II – 24/25 E/S síncrona e assíncrona. Chamadas de sistema E/S Síncrona Ocorre quando o processo é bloqueado até que a operação de E/S seja concluída. Durante esse tempo, o sistema fica à espera, sem realizar outras tarefas relacionadas àquele processo, assegurando que os dados solicitados estejam disponíveis ou que a operação seja completamente realizada antes de prosseguir. E/S Assíncrona O processo não precisa esperar pela conclusão da operação de E/S. A operação é iniciada e o controlo é imediatamente devolvido ao processo de aplicação, que pode continuar a executar outras tarefas enquanto aguarda a conclusão. Funcionamento interno SOs SO II – 24/25 E/S síncrona e assíncrona. Chamadas de sistema Chamadas de Sistema Bloqueantes O "controlo" é devolvido à aplicação apenas após a conclusão da operação de E/S. O processo entra no estado bloqueado enquanto aguarda o término da operação. Mais fácil de implementar, pois o programa continua apenas quando os dados estão prontos. Exemplo: Leitura de dados de um arquivo: o processo aguarda que toda a leitura seja concluída antes de continuar. Funcionamento interno SOs SO II – 24/25 E/S síncrona e assíncrona. Chamadas de sistema Chamadas de Sistema Não Bloqueantes O controlo é devolvido ao programa imediatamente, mesmo que os dados ainda não estejam disponíveis. Não há bloqueio do processo. Funcionamento interno SOs SO II – 24/25 E/S síncrona e assíncrona. Chamadas de sistema Chamadas de Sistema Assíncrona A aplicação é informada quando a operação de E/S é concluída, seja por uma interrupção ou por consulta periódica (polling). O programa pode agendar operações de E/S e continuar a execução. Exemplo: Transferência de dados pela rede: o processo envia uma solicitação e continua a executar, sendo notificado quando os dados chegam. Difere de uma chamada não bloqueante porque, após a conclusão, os dados solicitados estão disponíveis Funcionamento interno SOs SO II – 24/25 Gestão de E/S (Periféricos, Entrada e Saída) Introdução Dispositivos e objetivos do subsistema de E/S Transferência de Dados Modelo e Interface (orientado a bloco, caractere, rede) do subsistema de E/S E/S síncrona e assíncrona. Chamadas de sistema (Bloqueantes, não Bloqueantes e Assíncronas) Arquitetura, Funcionamento do driver, Camada dependente e independente do dispositivo (Buffer, Cache, Tratamento de erros, Escalonamento do dispositivo e Partilha), Tratamento de interrupções Entrada/Saída – Disco magnético (Desempenho, Escalonamento, Sistemas RAID). Funcionamento interno SOs SO II – 24/25 Camada independente do dispositivo Objetivos 1. Funções Comuns: Realizar tarefas padronizadas que não dependem do tipo específico de dispositivo. 2. Interface Uniforme: Prover uma interface consistente tanto para o software do utilizador quanto para os drivers de dispositivos. Fornece suporte a um conjunto de funções comuns: Bufferização e cache Tratamento de erros Escalonamento do dispositivo Partilha (proteção e reserva) Funcionamento interno SOs SO II – 24/25 Camada independente do dispositivo Funcionamento interno SOs SO II – 24/25 Camada independente do dispositivo (Buffer) Um buffer é uma área de memória temporária localizada principalmente na RAM e que é utilizado para armazenar dados temporariamente enquanto são transferidos entre o processador e um dispositivo de E/S, especialmente quando há diferenças de velocidade entre eles. Objetivos do Buffer Ajustar Velocidades: Mitiga diferenças de velocidade entre os componentes, permitindo que os dados sejam enviados ou recebidos em intervalos apropriados. Exemplo: Comunicação via modem, que opera a velocidades menores que a CPU. Ajustar Tamanhos de Dados: Permite gerir unidades de dados de diferentes tamanhos. Exemplo: Pilhas de protocolos de redes que operam com tamanhos distintos de pacotes. Troca de Processos ou Páginas: Facilita a troca eficiente de processos ou páginas, assegurando que as operações de E/S não degradam o desempenho geral. Funcionamento interno SOs SO II – 24/25 Camada independente do dispositivo (Cache) A cache é uma área de armazenamento rápido, geralmente implementada com RAM estática (SRAM), que serve para reter dados frequentemente acedidos ou utilizados recentemente. Proporciona um acesso significativamente mais rápido em comparação ao armazenamento principal ou aos dispositivos de E/S e pode estar integrada na memória principal ou localizada num dispositivo separado, como um disco rígido. Apesar de a cache ser um tipo de buffer, existem diferenças importantes no seu propósito e implementação. Objetivo da Cache A principal finalidade do uso de cache é melhorar a performance do sistema, reduzindo o tempo de espera para aceder aos dados. Isso é especialmente importante em cenários onde o dispositivo de E/S é muito mais lento do que o processador. Funcionamento interno SOs SO II – 24/25 Camada independente do dispositivo (Tratamento de erros) O tratamento de erros é fundamental para lidar com problemas que podem ocorrer durante operações de leitura, escrita ou acesso aos dispositivos de E/S. Os erros podem ser classificados em: Erros Transientes: Temporários e geralmente recuperáveis. Podem ser causados por problemas momentâneos no dispositivo ou no sistema. Erros Persistentes: Erros permanentes que requerem intervenção ou substituição do hardware. Exemplo: falha num dispositivo de armazenamento. Origem dos Erros: Erros de software: Resultam de configurações incorretas, operações inválidas ou falhas de compatibilidade. Erros de hardware: Causados por mau funcionamento físico dos dispositivos. Funcionamento interno SOs SO II – 24/25 Camada independente do dispositivo (Tratamento de erros) Como o Sistema Operativo trata os Erros? Identificação do Erro: Cada erro é associado a um código de erro que ajuda a identificar sua natureza. Os códigos de erro podem ser devolvidos por chamadas de sistema (ex: leitura/escrita) para informar o utilizador ou o sistema sobre o problema. Registo em Logs: Os erros são normalmente registados em logs pelo sistema operativo. Isso facilita a auditoria e o debugging (depuração), permitindo identificar padrões ou problemas recorrentes. Ações Corretivas: O sistema operativo pode tentar resolver erros automaticamente, como repetir uma operação em caso de erro transiente. Para erros persistentes, o sistema pode notificar o utilizador ou tomar medidas de isolamento do dispositivo defeituoso. Funcionamento interno SOs SO II – 24/25 Camada independente do dispositivo (Escalonamento) O escalonamento é o processo de organizar e prioritizar as solicitações de E/S antes de enviá-las à camada dependente do dispositivo, otimizando os acessos e reduzindo os tempos de espera. Objetivo 1. Otimizar Acessos: Minimiza o tempo necessário para completar as operações de E/S. Maximiza o uso dos dispositivos, garantindo eficiência. 2. Reorganizar Pedidos: As solicitações são ordenadas de acordo com critérios que maximizam o desempenho do dispositivo de E/S. Exemplo: Escalonamento de discos rígidos para reduzir o movimento da cabeça de leitura/gravação. Funcionamento interno SOs SO II – 24/25 Camada independente do dispositivo (Escalonamento) Exemplo de Escalonamento de Discos FIFO (First-In, First-Out): Processa os pedidos na ordem em que são recebidos. Simples, mas pode ser ineficiente em alguns cenários. SSTF (Shortest Seek Time First): Satisfaz o pedido mais próximo da posição atual da cabeça do disco. Reduz o tempo de busca (seek), mas pode resultar na negligência de pedidos mais distantes. SCAN (Elevador): A cabeça do disco move-se numa direção, satisfazendo os pedidos ao longo do caminho, e depois inverte o movimento. É mais equilibrado e reduz negligência de pedidos. Funcionamento interno SOs SO II – 24/25 Camada independente do dispositivo (Partilha: proteção e reserva) Os dispositivos de E/S podem ser utilizados por vários processos. Existem dois tipos principais de utilização: Utilização Série (request/release): Neste modelo, um processo solicita o uso do dispositivo e, após a utilização, liberta-o para que outro processo possa utilizá-lo. Utilização Concorrente: Vários processos podem utilizar o dispositivo simultaneamente, o que requer mecanismos de sincronização para evitar conflitos e garantir a integridade dos dados. Funcionamento interno SOs SO II – 24/25 Camada dependente do dispositivo (Driver do dispositivo) É responsável por transformar um pedido efetuado num nível de abstração mais alto para os comandos específicos de um hardware. Esta camada é essencial para a comunicação entre o software e o hardware, garantindo que os dispositivos funcionem corretamente com o sistema operativo. Funções e Responsabilidades Dispositivos Genéricos: Os dispositivos podem ser orientados a bloco, caractere ou rede. Cada tipo de dispositivo requer um tratamento específico dependendo do dispositivo real. Software Fornecido pelo Fabricante: O driver é geralmente fornecido pelo fabricante do dispositivo e é "acoplado" ao sistema operativo (núcleo). Pode ser compilado junto com o núcleo ou inserido como um módulo. Execução: O driver pode ser executado como processo em modo utilizador ou modo núcleo. Funcionamento interno SOs SO II – 24/25 Camada dependente do dispositivo (Driver do dispositivo) Arquitetura Transformação de Pedidos: O driver transforma pedidos de operações (parâmetros de entrada) em comandos específicos para a controladora do dispositivo. O driver possuí uma parte dependente e uma parte independente Funcionamento interno SOs SO II – 24/25 Camada dependente do dispositivo (Driver do dispositivo) Arquitetura (cont.) O driver possuí uma parte dependente e uma parte independente Funcionamento interno SOs SO II – 24/25 Camada dependente do dispositivo (Driver do dispositivo) Funcionamento Verificação de Parâmetros: Verifica a validade dos parâmetros e do dispositivo, ordena os pedidos e pode receber pedidos de múltiplos processos de utilizador. Execução de Comandos: Envia comandos para a controladora e executa de duas formas: bloqueia o processo e espera uma interrupção de hardware para desbloquear, não bloqueia o processo e espera de alguma forma a sua conclusão (ex. polling). Tratamento de Erros: Verifica se houve erros durante a execução. Funcionamento interno SOs SO II – 24/25 Camada dependente do dispositivo (Driver do dispositivo) Organização Genérica Recursividade (Reentrante): O driver deve ser recursivo, ou seja, pode ser chamado uma segunda vez sem estar concluída a primeira chamada. Tratamento de Interrupções: Possui dois componentes de interrupções: First Level Interrupt Handler (FLIH): Assíncrona, ocorre uma interrupção de hardware, recupera informações críticas. No Linux é chamado de upper half ou top half. Second Level Interrupt Handler (SLIH): Espera escalonamento ou tratamento pelo núcleo, trata os eventos da fila (consumidor). No Linux é chamado de bottom half ou low half. Funcionamento interno SOs SO II – 24/25 Gestão de E/S (Periféricos, Entrada e Saída) Introdução Dispositivos e objetivos do subsistema de E/S Transferência de Dados Modelo e Interface (orientado a bloco, caractere, rede) do subsistema de E/S E/S síncrona e assíncrona. Chamadas de sistema (Bloqueantes, não Bloqueantes e Assíncronas) Arquitetura, Funcionamento do driver, Camada dependente e independente do dispositivo (Buffer, Cache, Tratamento de erros, Escalonamento do dispositivo e Partilha), Tratamento de interrupções Entrada/Saída – Disco magnético (Desempenho, Escalonamento, Sistemas RAID). Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco magnético (Introdução) Os discos magnéticos são considerados um dos dispositivos de E/S mais importantes devido à sua função crucial nos sistemas operativos. São utilizados tanto como gestores de memória (área de swap), quanto como sistemas de ficheiros (armazenamento de ficheiros e pasta). Prós e Contras Prós: Os discos magnéticos são um meio económico para realizar o armazenamento permanente de dados. Contras: Comparados com o processador e a memória, os discos magnéticos possuem uma velocidade de acesso muito mais lenta. Necessidade de Otimização Devido à sua velocidade de acesso relativamente lenta, é necessário otimizar o desempenho dos discos magnéticos para aumentar a largura de banda, ou seja, a quantidade de bytes transferidos por segundo. Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco magnético ou disco rígido Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco magnético Formatação Física A formatação física é realizada pelo fabricante do disco e normalmente é feita apenas uma vez durante a vida útil do disco. Este processo envolve a criação de setores e pistas na superfície magnética do disco. Nos setores, são colocadas informações de identificação e também são assinalados os setores defeituosos, conhecidos como "bad blocks". Formatação Lógica A formatação lógica é realizada através de comandos do sistema operativo. Este processo cria uma organização de blocos e sua estrutura de gestão, essencialmente configurando o sistema de ficheiros. Um disco pode ser formatado logicamente várias vezes ao longo de sua vida útil. Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco magnético (Acesso a dados) A unidade básica de transferência é o bloco, composto por setores de tamanho fixo. Para aceder a dados, é necessário localizar a pista, a superfície e o setor no disco. Existem dois métodos de endereçamento: CHS (Cylinder, Head, Sector): Usa coordenadas físicas para identificar setores. LBA (Logical Block Addressing): Numera blocos de forma linear e sequencial, simplificando o acesso. Em discos modernos, a tradução entre endereços lógicos e físicos é realizada automaticamente pela controladora do disco Não é um mapeamento direto por haver setores fisicamente defeituosos e pelo número de setores por pista não ser constante e o desempenho depende de fatores como o tempo de busca, latência da rotação e tempo de transferência. Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco magnético (Tempo de acesso ao disco) Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco magnético (Acesso a dados: Tempo de busca ‐ seek ) O tempo de busca, ou seek time, é o tempo necessário para que a cabeça de leitura/escrita de um disco magnético se mova para a posição correta onde os dados desejados estão armazenados. Este é um dos componentes mais críticos no desempenho de um disco magnético, pois afeta diretamente a velocidade com que os dados podem ser acedidos. Fatores que influenciam o Tempo de Busca Tempo de Ativação: Tempo necessário para iniciar o movimento da cabeça de leitura/escrita. Aceleração e Deslocamento: Movimento físico da cabeça até alcançar a pista solicitada. Confirmação da Pista: Tempo para identificar e confirmar a chegada à pista correta. Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco magnético (Acesso a dados: Tempo de busca ‐ seek ) Tipos de Tempo de Busca Seek Time: Tempo total necessário para deslocar a cabeça até uma determinada pista. Head Switch Time: Tempo para ativar a cabeça de leitura/escrita correta ao alternar entre superfícies. Cylinder Time: Tempo para mover a cabeça entre pistas adjacentes. Tempo Médio de Busca Fornecido pelo fabricante e representa uma média considerando acessos aleatórios. Exemplo típico: 5 a 10 ms. Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco magnético (Acesso a dados: Tempo de latência rotacional) É o tempo que a cabeça de leitura/escrita espera pela rotação do disco até que o setor correto esteja posicionado para o acesso. É determinado pela velocidade de rotação do disco, medida em rotações por minuto (RPM). Cálculo do Tempo Médio de Latência O tempo médio é considerado como metade do tempo de uma rotação completa, pois não se sabe a posição inicial relativa do setor em relação à cabeça. Exemplo: Para um disco de 10.000 RPM: Tempo de uma rotação: 6 ms. Tempo médio de latência: 3 ms. Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco magnético (Acesso a dados: Tempo de latência rotacional) Exemplo de um disco: 512 bytes por setor, 5400 RPM (latência rotacional de 5.55 ms), single track (4‐5.5 ms read; 4‐6.5 ms write), seek time (13‐16 ms read, 14‐17 ms write) Impacto no Desempenho Discos com maior RPM (ex.: 15.000 RPM) apresentam menor latência rotacional, melhorando o desempenho em operações de E/S. A latência rotacional, junto com o tempo de busca e o tempo de transferência, compõe o tempo total de acesso ao disco. Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco magnético (Acesso a dados: Tempo de transferência) É o período necessário para mover os dados do disco para a memória ou vice-versa. Depende da velocidade de rotação do disco e da quantidade de dados a serem lidos ou escritos e é influenciado pelo número de bytes a transferir e pela taxa de transferência do disco. Formula: b = número de bytes a serem transferidos N = número de bytes numa pista R = número de rotações por minuto (RPM) r = número de rotações por segundo (RPS) Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco magnético (Fatores de desempenho) Aspetos Mecânicos Para ler/escrever dados é necessário que a cabeça de leitura e escrita esteja posicionada na pista e no início do setor desejado, e por isso os tempos mecânicos são os maiores responsáveis pela latência em discos magnéticos: Tempo de Busca (Seek Time): Tempo necessário para posicionar a cabeça de leitura/escrita na pista desejada. Latência Rotacional: Tempo de espera para que o setor desejado no disco seja alinhado com a cabeça de leitura/escrita. Tempo de Transferência: Tempo necessário para mover os dados entre o disco e a memória principal. Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco magnético (Fatores de desempenho) Aspetos do Sistema Operativo O sistema operativo pode influenciar o desempenho do disco por meio de: Política de Alocação de Espaço: Métodos como contíguo, encadeado ou indexado determinam a forma como os dados são organizados no disco. Uso de Caches de E/S: Armazenam dados acedidos frequentemente para reduzir o tempo de acesso. Escalonamento de Pedidos ao Disco: Técnicas como FIFO, SSTF ou SCAN são usadas para reorganizar pedidos e otimizar a ordem de acesso aos dados. Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco magnético (Fatores de desempenho) Esses fatores são geridos para: Aumentar a largura de banda (quantidade de bytes transferidos por segundo, normalmente fornecido em MB/s). Reduzir o tempo total de acesso aos dados, especialmente em ambientes com operações de leitura e escrita intensivas. Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco magnético (Estratégias para melhorar o desempenho) Estratégias Mecânicas Trocar o disco por um modelo de melhor desempenho: Menor tempo de busca (seek time) e maior velocidade de rotação. Adicionar mais discos físicos ao sistema: Permite a execução simultânea de múltiplos pedidos. Estratégias de Software (Sistema Operativo) Uso de sistemas de ficheiros apropriados: Melhoria na alocação de espaço em disco, minimizando deslocamentos físicos da cabeça de leitura/escrita. Uso de cache no subsistema de E/S: Dados acedidos frequentemente são armazenados na memória, reduzindo a latência. Otimização na execução de pedidos: Aplicação de políticas de escalonamento para gerir a ordem de execução de pedidos, como: FIFO (First In, First Out), SSTF (Shortest Seek Time First) e SCAN, C-SCAN, LOOK e suas variações, que organizam os pedidos de forma a reduzir os deslocamentos da cabeça do disco. Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco magnético (Desempenho ‐ Escalonamento) São usadas políticas e estratégias para melhorar a eficiência do uso do disco rígido, focando na redução do tempo de acesso e no aumento da taxa de transferência (banda passante). Objetivos Reduzir o tempo de acesso ao disco: Tempo gasto para mover a cabeça de leitura/escrita até a posição desejada. Aumentar a banda passante do disco: Quantidade de dados transferidos por segundo (MB/s). Funcionamento Geral Quando o disco está ocupado, os pedidos de leitura/escrita são colocados numa fila de espera. Para melhorar a eficiência, é possível reordenar os pedidos na fila com base em critérios específicos. Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco magnético (Desempenho ‐ Escalonamento) Pergunta Após a conclusão da execução em curso, qual deve ser a próximo pedido da fila a ser executado? R: Depende da política de escalonamento utilizada. Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco magnético (Desempenho ‐ Políticas de Escalonamento) Recapitulando a otimização da busca: FIFO (First In, First Out) ou FCFS (First Come, First Served) SSTF (Shortest Seek Time First) SCAN (Elevador) e sua variações C-SCAN (Circular SCAN) LOOK e C-LOOK Otimização rotacional: SLTF (Shortest Latency Time First) SPTF (Shortest Positioning Time First) Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco magnético (Desempenho ‐ Políticas de Escalonamento) FIFO ou FCFS: Os pedidos são processados na ordem de chegada. Vantagens: Simples de implementar. Justo, pois não altera a ordem dos pedidos. Desvantagens: Padrão de procura aleatório que pode gerar movimentações (mecânicas) desnecessárias da cabeça, resultando em baixa Cabeça percorre 640 pistas eficiência. Péssimo comportamento sob elevada carga (filas grandes de pedidos) Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco magnético (Desempenho ‐ Políticas de Escalonamento) SSTF: Seleciona primeiro o pedido mais próximo da posição atual da cabeça. Vantagens: Reduz o tempo médio de procura (maior rendimento) Desvantagens: Cabeça percorre 236 pistas Não garante justiça ( ”fura” a fila ) Pode causar adiamento indefinido de alguns pedidos ("fome"). Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco magnético (Desempenho ‐ Políticas de Escalonamento) SCAN: A cabeça percorre o disco numa direção até atingir a extremidade, executando os pedidos pelo caminho. Em seguida, inverte a direção. Vantagens: Bons tempos médios de resposta → Bom rendimento Desvantagens: Se um pedido chegar à frente da direção da cabeça ele é executada Pode haver poucos pedidos para executar durante a inversão do na sequência, caso contrário tem que esperar o regresso. sentido. Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco magnético (Desempenho ‐ Políticas de Escalonamento) C-SCAN: Variante do SCAN, onde os pedidos são executados apenas num sentido. Após atingir o final, a cabeça volta diretamente ao início do disco. Vantagens: Compensa o fato de que, ao realizar a leitura nos dois sentidos, após a inversão, quase não há pedidos para serem executados. Uniformiza o tempo de espera dos pedidos. Exemplo Fornece uma visão lógica onde o disco é tratado como uma fila circular Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco magnético (Desempenho ‐ Políticas de Escalonamento) LOOK e C-LOOK: Variação dos algoritmos SCAN e C‐SCAN onde o braço não se desloca até as extremidades do disco, mas sim até à pista mais externa correspondente a um pedido, no sentido do movimento: LOOK: executa pedidos nos dois sentidos do movimento C‐LOOK: executa pedidos apenas num sentido do movimento Exemplo Difere do C‐Scan porque não vai até ao final do disco – pista 199 Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco magnético (Desempenho ‐ Políticas de Escalonamento) Otimização rotacional: estratégias combinadas SLTF (Shortest Latency Time First): Reordena os pedidos no mesmo cilindro com base no menor tempo de latência rotacional. SPTF (Shortest Positioning Time First): Reordena os pedidos considerando a soma de dois fatores: Tempo de seek e latência rotacional. SATF (Shortest Access Time First): Uma variação do SPTF, que leva em conta o tempo de seek, a latência e também o tempo de transferência para reordenar os pedidos. Ambas as técnicas otimizam o uso da cabeça de leitura/escrita e a rotação do disco, reduzindo o tempo total de espera dos pedidos. SLTF é mais focado em minimizar a espera dentro de um único cilindro. SPTF equilibra o tempo total considerando tanto o deslocamento da cabeça quanto a rotação. Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco magnético (Fiabilidade e Desempenho) A fiabilidade de um disco é frequentemente medida em MTBF (Mean Time Between Failures), ou seja, o tempo médio entre falhas. Exemplo: um disco pode ter uma falha estimada a cada 20.000 horas de funcionamento. Se houver vários discos no sistema, a probabilidade de falha aumenta: Com 4 discos, a falha ocorrerá em média a cada 5.000 horas. Assumindo falhas independentes, a probabilidade de falhas simultâneas em dois discos na mesma posição é muito menor (exemplo: 20.0002). Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco magnético (Fiabilidade e Desempenho) Para melhorar o desempenho, é possível usar estratégias que favoreçam o paralelismo, aumentando a taxa de transferência de dados. Ou seja, múltiplos discos operam simultaneamente para executar várias tarefas de E/S ao mesmo tempo, aumentando a velocidade, porém, o paralelismo não melhora a fiabilidade, pois não há redundância. Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco magnético (Fiabilidade e Desempenho) Há um compromisso entre: Fiabilidade elevada: obtida através de redundância, com discos em espelho (mirror). Contudo, essa abordagem exige muitos discos, o que pode ser dispendioso. Desempenho elevado: conseguido com paralelismo, mas sem redundância, o que compromete a fiabilidade. Solução: Combinar redundância de baixo custo com paralelismo, usando técnicas de paridade combinadas com segmentação (paralelismo), como nos sistemas RAID (Redundant Array of Independent Disks), que permitem alcançar um equilíbrio entre fiabilidade e desempenho, dependendo do nível implementado. Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco (RAID: Redundant Array of Independent Disks) O RAID é uma tecnologia que organiza múltiplos discos rígidos de forma a serem vistos pelo sistema operativo como um único disco lógico, oferecendo vantagens em termos de desempenho e/ou fiabilidade. Características Gerais Organização: Os discos podem ser organizados de formas diferentes, dependendo do nível de RAID utilizado. Essas configurações proporcionam melhor desempenho, maior fiabilidade ou uma combinação de ambos. Implementação: Pode ser feita por software (controlada pelo sistema operativo) ou por hardware (através de controladores RAID dedicados). Definições Originais: O RAID foi inicialmente definido com os níveis: RAID 1, RAID 2, RAID 3, RAID 4 e RAID 5. Níveis adicionais como RAID 0, RAID 6 e combinações como RAID 1+0 (RAID 10) foram introduzidos posteriormente. Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco (RAID) RAID 0 (Striping) Divisão dos dados em "strips", distribuídos por todos os discos. Usa n discos. Vantagem: Alto desempenho devido ao paralelismo. Desvantagem: Não oferece redundância (não há proteção contra falhas). Não é realmente um RAID porque não há redundância. Uso: Recomendado para aplicações que priorizam velocidade e podem tolerar perda de dados. Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco (RAID) RAID 1 (Mirroring) Os dados são duplicados em discos espelhados. Necessita 2xn discos. Usando 2 discos de 1TB o sistema reconhecerá 1TB Vantagem: Alta fiabilidade, já que os dados estão sempre duplicados. Desvantagem: Requer o dobro de discos para a capacidade desejada. Uso: Indicado para sistemas críticos que necessitam de alta fiabilidade. Cada strip é escrito duas vezes (sem ganho), mas leitura pode ser feita num só disco (pode executar leituras diferentes em simultâneo). Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco (RAID) RAID 2 Os dados são divididos em "strips" e distribuídos entre os discos. Usa discos adicionais para armazenar bits de paridade com códigos Hamming, que permitem corrigir erros nos dados. Vantagens: Alta fiabilidade: A correção de erros oferece maior proteção contra falhas de dados. Desvantagens: Alto custo: Requer discos adicionais para a paridade e para armazenar os bits de correção, o que o torna caro e ineficiente em termos de capacidade de armazenamento. Pouco utilizado hoje em dia: A complexidade e o custo tornam o RAID 2 obsoleto, sendo substituído por outras soluções mais eficientes. Requisitos: Requer um número de discos multiplicado por 3 (um para os dados, e os outros para a paridade e os bits de correção). Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco (RAID) RAID 3 Os dados são divididos em "strips" e distribuídos por todos os discos, mas com um disco dedicado para armazenar a paridade. O disco de paridade armazena informações para permitir a reconstrução dos dados em caso de falha de um disco. Vantagens: Desempenho de leitura melhorado devido ao striping. Redundância proporcionada pela paridade, garantindo proteção contra falhas de um único disco. Desvantagens: Gargalo de desempenho: O disco de paridade pode se tornar um ponto de estrangulamento (bottleneck) no sistema. Custo: Requer um disco extra para paridade, mas ainda assim oferece boa eficiência de armazenamento. Requisitos: Mínimo de 3 discos. Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco (RAID) RAID 4 Similar ao RAID 3, mas opera com blocos em vez de bytes. Usa n+1 discos Desvantagem: O disco de paridade ainda é um ponto de falha e gargalo. Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco (RAID) RAID 5 Combina striping (RAID 0) com paridade distribuída, onde os dados são divididos em "strips" e distribuídos por todos os discos. A paridade (informações de redundância) é distribuída entre os discos, em vez de ser armazenada em um único disco, como no RAID 3 ou 4. Vantagens: Desempenho: Boa performance de leitura e escrita devido ao striping. Redundância: A paridade permite que os dados sejam recuperados em caso de falha de um disco, sem perda de dados. Eficiência de armazenamento: Ao distribuir a paridade, o RAID 5 usa menos discos para redundância do que configurações como RAID 1. Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco (RAID) Desvantagens: Desempenho de gravação: O cálculo da paridade pode reduzir a performance de escrita em comparação com outros níveis, como RAID 0. Rebuild lento: Quando um disco falha, a reconstrução dos dados pode ser lenta, especialmente em discos grandes. Requisitos: Mínimo de 3 discos. Uso: Amplamente utilizado em servidores e sistemas críticos. Exemplo: Temos 4 discos de 1TB, então o cálculo ficaria 4 x 1TB - 1TB = 3TB Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco (RAID) RAID 6 Semelhante ao RAID 5, mas com dupla paridade, permitindo a falha simultânea de até dois discos. Utiliza n+2 discos Requisitos: Mínimo de quatro discos. Vantagem: Maior fiabilidade do que o RAID 5. Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco (RAID) RAID 10 (1+0) Combina RAID 1 e RAID 0. Utilizando 4 discos de 1TB o sistema reconhece 2TB Dados são espelhados (RAID 1) e divididos em "strips" (RAID 0). Vantagem: Alta fiabilidade e desempenho, é uma ótima opção, pois permite-nos aproveitar a melhoria de desempenho de um RAID 0 e a segurança de um RAID 1. Desvantagem: Alto custo devido ao número de discos necessários. Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco (RAID) RAID 0+1 Combina RAID 0 (striping) e RAID 1 (mirroring). RAID 0 melhora o desempenho dividindo os dados em "strips" e distribuindo- os por dois ou mais discos. RAID 1 oferece redundância, espelhando os dados em discos adicionais. Vantagens: Desempenho (graças ao striping). Redundância (graças ao espelhamento). Desvantagens: Custo elevado (requer o dobro de discos). Menor resistência a falhas que o RAID 10 (1+0), pois a falha de um disco em qualquer par pode causar a falha total do RAID. Requisitos: Mínimo de 4 discos. Funcionamento interno SOs SO II – 24/25 Entrada/Saída ‐ Disco (RAID) - Resumo O RAID permite um compromisso entre fiabilidade e desempenho dependendo do nível escolhido: Níveis como RAID 0 priorizam desempenho. Níveis como RAID 1, 5 ou 6 equilibram desempenho e fiabilidade. RAID 10 combina os melhores aspetos de desempenho e segurança, mas a um custo elevado. Regra geral: Um sistema RAID requer n discos para armazenamento de dados e r discos adicionais para redundância, dependendo do nível. Funcionamento interno SOs SO II – 24/25 Discos Discos Total Nível RAID Características Vantagens Desvantagens Requisitos Dados Redundância Discos Sem redundância; perda total de Alto desempenho RAID 0 Dados divididos em "strips" (striping) dados em caso de falha de Mínimo de 2 discos n 0 n Entrada/Saída ‐ Disco (RAID) - Resumo (paralelismo) qualquer disco Dados espelhados em discos Alta fiabilidade; Alto custo (usa o dobro de RAID 1 Mínimo de 2 discos n n 2n duplicados (mirroring) leitura simultânea discos) Alto custo; sincronização Vários discos para RAID 2 Correção de erros (código de Hamming) Boa fiabilidade n x n+x obrigatória dados + paridade Paridade armazenada num disco RAID 3 Boa fiabilidade Gargalo no disco de paridade Mínimo de 3 discos n 1 n+1 dedicado Melhora Paridade por blocos, num disco RAID 4 desempenho em Gargalo no disco de paridade Mínimo de 3 discos n 1 n+1 dedicado relação ao RAID 3 Equilíbrio entre RAID 5 Paridade distribuída entre os discos desempenho e Requer mais processamento Mínimo de 3 discos n 1 n+1 redundância Tolerância a falha Redução de desempenho; mais RAID 6 Dupla paridade distribuída Mínimo de 4 discos n 2 n+2 de até 2 discos discos necessários Combinação de RAID 1 (espelhamento) Alto desempenho e Mínimo de 4 discos RAID 10 Alto custo n n 2n e RAID 0 fiabilidade (2 pares espelhados) Boa fiabilidade e desempenho RAID 0+1 Combinação de RAID 0 e RAID 1 Alto custo Mínimo de 4 discos n n 2n (menor que RAID 10) SO II – 24/25