Notas da Aula 16 - Fundamentos de Sistemas Operacionais



Documentos relacionados
Fundamentos de Sistemas Operacionais

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

Capítulo 5 Gerência de Dispositivos

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

Admistração de Redes de Computadores (ARC)

Sistemas Operacionais: Sistema de Arquivos

Notas da Aula 17 - Fundamentos de Sistemas Operacionais

O que é RAID? Tipos de RAID:

ORGANIZAÇÃO DE COMPUTADORES MÓDULO 10

Sistemas Operacionais Gerência de Dispositivos

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

Sistemas Operacionais

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

AVALIAÇÃO À DISTÂNCIA 1 GABARITO

FORMATAÇÃO DE DISCO SETORES

Sistemas Operacionais

EA960 Redundância e Confiabilidade: RAID

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

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Dispositivos de Memória

Níveis de RAID - RAID 0

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

TRABALHO COM GRANDES MONTAGENS

ARQUITETURA DE COMPUTADORES

RAID 1. RAID 0 2. RAID 1

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

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

Capacidade = 512 x 300 x x 2 x 5 = ,72 GB

DISPOSITIVOS DE BLOCO. Professor: João Paulo de Brito Gonçalves

FUNDAMENTOS DE HARDWARE CD-ROM. Professor Carlos Muniz

Sistema de Arquivos. Ambientes Operacionais. Prof. Simão Sirineo Toscani

Gerenciador de Entrada/Saída

RAID Redundat Arrays of Inexpensive Disks

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

Dispositivos de Armazenamento

Estruturas do Sistema de Computação

Sistemas Operacionais

Sistemas de armazenamento

Tecnologia de armazenamento Intel (Intel RST) RAID 0, 1, 5, 10, Matrix RAID, RAID -Pronto

Tópicos Especiais em Informática

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

Sou o professor Danilo Augusto, do TIParaConcursos.net, e lá costumo trabalhar temas relacionados a Redes de Computadores e Sistemas Operacionais.

Fundamentos de Arquivos e Armazenamento Secundário

Memórias Prof. Galvez Gonçalves

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

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

ROM-BIOS Inicialização Sistemas de Arquivos Formatação

Disciplina: Introdução à Informática Profª Érica Barcelos

Programador/a de Informática

Leandro Ramos RAID.

AULA 5 Sistemas Operacionais

CAPÍTULO 2 CARACTERÍSTICAS DE E/S E PORTA PARALELA

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

BACHARELADO EM SISTEMAS DE INFORMAÇÃO EaD UAB/UFSCar Sistemas de Informação - prof. Dr. Hélio Crestana Guardia

Prof.: Roberto Franciscatto. Capítulo 1.2 Aspectos Gerais

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

5.1 - Armazenamento em Disco

XDOC. Solução otimizada para armazenamento e recuperação de documentos

Aula 26: Arquiteturas RISC vs. CISC

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

Arquitetura e Organização de Computadores

Fundamentos de Sistemas Operacionais

Informática Aplicada

Sistemas de Informação. Sistemas Operacionais 4º Período

Sistemas de Armazenamento

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

O hardware é a parte física do computador, como o processador, memória, placamãe, entre outras. Figura 2.1 Sistema Computacional Hardware

Unidade 13: Paralelismo:

Organização e Arquitetura de Computadores

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar

Sistemas Distribuídos

Escalonamento no Linux e no Windows NT/2000/XP

CONHEÇA MELHOR SEU COMPUTADOR

Sistemas Operacionais

SW DE E/S INDEPENDENTE DE DISPOSITIVO

Backup. Permitir a recuperação de sistemas de arquivo inteiros de uma só vez. Backup é somente uma cópia idêntica de todos os dados do computador?

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Estrutura geral de um computador

Organização e Arquitetura de Computadores I

TRANSMISSÃO DE DADOS Prof. Ricardo Rodrigues Barcelar

Tecnologia da Informação. Prof Odilon Zappe Jr

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

3. Arquitetura Básica do Computador

EAGLE TECNOLOGIA E DESIGN CRIAÇÃO DE SERVIDOR CLONE APCEF/RS

CURSO BÁSICO DE INFORMÁTICA

Sistemas Operacionais

19/09/2009 TIPOS DE DISPOSITIVOS DE ARMAZENAMENTO. ARMAZENAMENTO DE INFORMAÇÕES George Gomes Cabral ARMAZENAMENTO MAGNÉTICO

INTRODUÇÃO BARRAMENTO PCI EXPRESS.

HD, SSD ou disco híbrido, qual o melhor para sua empresa?

COMPONENTES BÁSICOS DE

Fundamentos de Sistemas de Informação Hardware: Dispositivos de Entrada, Processamento e Saída

SISTEMA DE ARQUIVOS. Instrutor: Mawro Klinger

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

FUNDAMENTOS DE HARDWARE HD, DISCO RIGIDO OU WINCHESTER. Professor Carlos Muniz

Ministério da Educação Secretaria de Educação Profissional e Tecnológica Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul

Técnicas de Manutenção de Computadores

Sistemas Operacionais Processos e Threads

Sistemas Operacionais

Arquitetura de Rede de Computadores

Transcrição:

Notas da Aula 16 - Fundamentos de Sistemas Operacionais 1. Disco Rígido: Visão Geral Há inúmeros dispositivos de E/S em um sistema computacional moderno. Por esta razão, é inviável do ponto de vista de uma disciplina sobre Sistemas Operacionais cobrir o funcionamento de todos eles. Assim, para ilustrar alguns dos mecanismos de entrada e saída estudados neste capítulo foi escolhido um único representante: o disco rígido. O disco rígido (ou HD, da sigla em inglês) é um dos dispositivos de E/S mais interessantes de um sistema computacional moderno. Em primeiro lugar, ele é utilizado para várias tarefas diferentes dentro de um sistema. A tarefa mais comum é o armazenamento não-volátil de arquivos do sistema, que será estudada em mais detalhes no Capítulo 8. Outra utilidade do HD é a utilização de espaço de armazenamento para uma operação chamada de Swap. Nesta operação, informações que deveriam ser armazenadas em memória principal são copiadas para memória secundária (em geral, um HD) para liberar espaço (para novos processos, por exemplo). A operação de Swap será estudada em mais detalhes no Capítulo 7. Outra característica que torna o estudo dos HDs interessante é o fato destes serem um dos poucos dispositivos nos computadores mais recentes que fazem uso de operações mecânicas. Este fato tem duas consequências. Primeiro, por envolver operações mecânicas, o tempo de acesso de um HD é muito mais alto que o da maior parte dos demais componentes de um computador. Em segundo lugar, componentes mecânicos em geral são menos confiáveis que dispositivos puramente eletrônicos, tanto em termos de falhas permanentes, quanto em termos de falhas transientes. Logo, a gerência de um HD tende a ser mais complexa que a de outros tipos de dispositivos de E/S. Hoje existem outros dispositivos de armazenamento de massa que têm se popularizado. Além das mídias removíveis, como pendrives, cartões de memória CDs, DVDs e discos Blu-Ray, são comuns hoje os chamados SSDs (Solid-State Drive), que são utilizados como HDs, porém tem funcionamento completamente eletrônico (não há operações mecânicas envolvidas). A grande maioria dos SSDs são baseados em memória flash (como pendrives ou cartões de memória). Há, no entanto, os chamados HyperDrives, que são SSDs baseados em memória RAM. Como a memória RAM é volátil (necessita de atualizações do conteúdo periódicas), este tipo de SSD conta com baterias auxiliares para garantir a persistência dos dados mesmo em caso de desligamento da máquina. Os HyperDrives, no entanto, ainda são muito caros e utilizados apenas em aplicações muito específicas, como em grandes servidores de bases de dados. Embora estas novas tecnologias comecem a ganhar destaque (principalmente em laptops), os HDs convencionais ainda dominam o mercado. Um dos motivos é a sua grande capacidade de armazenamento e baixo custo de produção. Hoje, é possível encontrar HDs com capacidade de armazenamento de Terabytes em computadores pessoais. Fisicamente, um HD é composto por um ou mais discos metálicos, chamados de pratos, que

giram em torno de um eixo comum. No caso de múltiplos pratos, estes são dispostos em alturas diferentes no eixo de rotação. Cada prato tem sua superfície recoberta por uma película magnética. Acoplado ao conjunto de pratos, encontra-se um braço mecânico com um ou mais cabeçotes de leitura e escrita (um para cada superfície de cada prato). Este braço mecânico é capaz de girar em um outro eixo, fazendo com que os cabeçotes de leitura possam alcançar qualquer ponto, da borda até o centro de cada prato. Como os pratos giram, os cabeçotes conseguem cobrir toda a sua superfície. Logicamente, cada prato de um HD é dividido em trilhas. Uma trilha é uma circunferência concêntrica ao eixo de rotação do prato. Por sua vez, uma trilha é dividida em vários setores. Um setor é um segmento da circunferência da trilha que armazena uma quantidade fixa de bytes (em geral, algo entre 512 e 4096 bytes). Cada bit de um setor é representado através da polarização magnética da película naquele determinado ponto. Podem ser utilizadas modulações mais complexas para a representação dos dados, mas a maneira mais simples é definir uma determinada polarização como 0 e a polarização oposta como 1. Durante a gravação, os cabeçotes geram um campo eletromagnético que tem sua polaridade controlada eletronicamente. Este campo faz com que a parte da película que representa um determinado bit tenha sua polaridade alinhada com a do cabeçote. Durante a leitura, o cabeçote passa a ser um elemento passivo, tendo uma tensão induzida de acordo com as linhas de força do campo resultante da polarização da película. Olhando para os pratos de um HD de cima para baixo, define-se um cilindro como o conjunto de trilhas de todos os pratos que estão a um mesmo raio do eixo de rotação. Estas três divisões lógicas, cilindro, trilha e setor, permitem o endereçamento dos dados em um HD. É interessante notar que os setores são divisões radiais das trilhas. Em outras palavras, toda trilha de um HD tem o mesmo número de setores. Como trilhas mais próximas do centro do prato tem uma circunferência menor, o comprimento físico dos seus setores também é menor que os das trilhas mais externas. Por outro lado, todo setor armazena a mesma quantidade de bytes. Logo, nos setores das trilhas mais internas, a densidade de bytes por área física é maior. Historicamente, este fato trouxe duas consequências. Em primeiro lugar, em HDs mais antigos, era comum que determinados setores do disco apresentassem defeitos físicos com o passar do tempo (eles ficavam simplesmente inutilizados). Em geral, os setores mais defeituosos eram aqueles localizados nas trilhas mais internas (por causa da alta densidade de gravação). Hoje, os HDs são mais confiáveis e este tipo de problema é bem mais raro. Por outro lado, alguns fabricantes decidiram aumentar a capacidade de armazenamento dos seus HDs criando setores de capacidade de armazenamento variável. A ideia é manter constante a densidade de gravação. Logo, as trilhas mais externas passam a ter mais setores. Nos equipamentos em que isso ocorre, no entanto, esta alteração é realizada sempre por hardware. Do ponto de vista do software, considera-se sempre a geometria de disco tradicional. A capacidade de um HD pode ser calculada com base na quantidade de cilindros, setores, bytes por setor e superfícies de gravação. Os fabricantes geralmente informam o número de superfícies de gravação através do número de cabeçotes do HD. Por exemplo, um disco com

16 cabeças de gravação, 1016 cilindros, 51 setores por cilindro e 512 bytes por setor tem uma capacidade total de 16 x 1016 x 51 x 512 = 424476672 bytes (aproximadamente 420 MBytes). Para endereçar um determinado setor de um HD, podem ser usados dois esquemas distintos. O esquema mais tradicional é o chamado CHS (Cylinder, Head, Sector). Neste esquema, o processador especifica explicitamente um cilindro, um cabeçote e um setor. Há ainda o modo LBA (Linear Block Addressing), no qual o HD é visto como uma grande sequência linear de setores, numerados de 0 até o número máximo de setores menos 1. Obviamente, para realizar a conversão entre os dois modos de endereçamento, é necessário conhecer o número de setores por trilha e o número máximo de cabeçotes por cilindro. 2. Tempo de Acesso de um Disco Rígido Para acessar um byte ou um conjunto de bytes em um disco rígido, uma série de operações são necessárias. Basicamente, é preciso posicionar o cabeçote sobre o setor da trilha desejada e, em seguida, realizar a leitura. Esta operação é dividida em duas etapas: Seek time: tempo necessário para posicionar o cabeçote até o cilindro correspondente à trilha que se deseja acessar. Latency time: tempo necessário para a rotação do prato até que o setor desejado se encontre sob o cabeçote. Transfer time: tempo necessário para a rotação do prato até que todos os bytes do setor tenham passado sob o cabeçote. O tempo total de acesso a um dado no HD é igual a soma de todos estes tempos. O tempo de seek depende da velocidade de movimentação do cabeçote e do raio dos pratos do HD. Os tempos de latência e de transferência dependem da velocidade de rotação do disco (em geral, entre 3600 e 15000 RPM). Os três tempos dependem também da posição atual do disco e do cabeçote de leitura. Em geral, a componente que domina o tempo de acesso é o tempo de seek, sendo, na média, da ordem de alguns milissegundos. Uma técnica interessante para melhorar o tempo de acesso aos HDs é o chamado Entrelaçamento (ou interleaving). A ideia é que processos geralmente requisitam a leitura ou escrita de vários setores consecutivos. Suponha por exemplo que um processo deseje ler os setores 14 e 15 de uma dada trilha. Inicialmente, o HD vai realizar o acesso ao setor 14, tendo que esperar os tempos de seek, latência e transferência. Quando a leitura tiver sido concluída, o bloco será enviado para o processador (ou para o DMA), que demorará um tempo para realizar a próxima parte do pedido (leitura do setor 15). Se os setores são organizados fisicamente no disco de maneira sequencial, imediatamente após o final do setor 14, começará o setor 15. Por causa do atraso entre os dois pedidos, é provável que não seja possível começar a leitura do setor 15 na mesma revolução do prato. Neste caso, será necessário que o HD aguarde uma nova rotação completa até que o setor 15 volte a estar sob o cabeçote. Para evitar isso, o método de entrelaçamento propõe que entre dois setores com endereços consecutivos (por exemplo, o 14 e o 15) sejam colocados n outros setores. O valor de n é chamado de fator de entrelaçamento. Quando maior o fator de entrelaçamento, maior o

atraso permitido entre duas requisições de setores consecutivos. Por outro lado, se o fator de entrelaçamento for muito alto, o benefício acaba sendo perdido, pois a nova requisição chegará ao HD antes que o setor fique sob o cabeçote. A escolha do fator de entrelaçamento, portanto, precisa ser definido de acordo com a velocidade do processador, do barramento de dados, da controladora de disco e da rotação dos pratos do disco. 3. Algoritmos de Escalonamento Assim como um processador, um HD é um recurso compartilhado entre vários processos. Múltiplos processos podem realizar requisições simultâneas de leituras ou escritas em disco. Logo, é preciso que o SO determine em que ordem estas requisições serão atendidas. Como discutido na seção anterior, os tempos de acesso a dados em um HD são relativamente altos. A ordem do tempo de acesso de um HD comum chega a dezenas de milissegundos. Apenas como comparação, um processador de 2GHz executa 20 milhões de ciclos em 10 ms. Além disso, como também discutido, o tempo de acesso depende da posição dos pratos e dos cabeçotes de leitura do HD. Logo, políticas diferentes de escalonamento podem resultar em grandes diferenças no desempenho deste dispositivo. O objetivo do escalonamento de requisições de acesso a disco é sempre o de garantir a maior vazão de dados possível. Uma vez que o cabeçote tenha sido posicionado no local correto, a velocidade de escrita ou leitura de um HD é constante. Logo, deseja-se reduzir ao máximo o tempo de acesso. Como citado anteriormente, a componente dominante neste tempo é o tempo de seek, que corresponde ao tempo de movimentação do cabeçote. Logo, deseja-se um algoritmo de escalonamento que minimize a quantidade de movimentos do cabeçote. O algoritmo mais simples é o FIFO (também chamado de FCFS, First Come First Served). Neste caso, o escalonador apenas atende os pedidos na ordem em que eles chegam, sem considerar qualquer outro critério de desempenho. Um algoritmo melhor é o SSTF (Shortest Seek Time First), que avalia, dentre todas as requisições disponíveis, qual é aquela que requer a menor movimentação do cabeçote. Dependendo da ordem de chegada das requisições, este algoritmo pode resultar em um desempenho muito bom. Por outro lado, existem casos em que as ordens de chegada não favorecem o desempenho do SSTF, fazendo com que seu desempenho seja ruim. Além disso, como este algoritmo estabelece prioridades de atendimento, ele pode levar algumas requisições a starvation. O SCAN é um algoritmo de escalonamento que opera de forma bastante simples. Ele estabelece um sentido de varredura do cabeçote. Por exemplo, em um dado momento o SCAN pode determinar que o cabeçote se movimentará da parte interna dos pratos para a parte externa. Neste caso, as requisições serão atendidas de acordo com qual cilindro desejase acessar: os mais internos serão atendidos primeiro. Quando o cabeçote chega à parte mais externa dos pratos, o sentido de varredura é invertido. Desta forma, a prioridade dos

atendimentos também. O SCAN continua neste ciclo até que todas as requisições sejam atendidas. Uma maneira de visualizar o funcionamento do SCAN é pensando no elevador de um prédio comercial. Inicialmente, o elevador encontra-se no andar térreo. Quando há uma passageiros, o elevador começa a subir, parando sequencialmente em cada um dos andares desejados, deixando passageiros. Quando o elevador chega ao último andar, ele começa a descer, parando naqueles andares nos quais há novos passageiros a serem atendidos. O elevador, portanto, atende aos passageiros sempre em um dos dois modos: sempre subindo ou sempre descendo. Por esta semelhança com o funcionamento do elevador de um prédio, o SCAN é conhecido popularmente como Algoritmo do Elevador. Uma pequena variação do algoritmo SCAN é o C-SCAN. A diferença entre eles é simples: ao invés de inverter a ordem de atendimento uma vez que o cabeçote chegue a um dos extremos dos pratos, o C-SCAN faz o cabeçote se reposicionar no extremo inicial e recomeçar o processo de atendimento. Em outras palavras, o sentido de movimentação do cabeçote para atendimento dos clientes é sempre o mesmo. Na abstração do elevador, isso é equivalente a um elevador que só para nos andares para pegar novos passageiros quando está subindo. Ao chegar ao topo do prédio, o elevador começa uma descida direta (sem parada em outros andares) até o térreo. A motivação para esta variação é prover uma maior justiça. No algoritmo SCAN tradicional requisições feitas para cilindros nos extremos dos pratos são prejudicadas, porque o intervalo entre duas passagens do cabeçote por tais cilindros é muito alto (o cabeçote tem que percorrer todo o prato duas vezes, ida e volta, até chegar novamente nestes cilindros). Por outro lado, os cilindros do meio do prato esperam apenas por um percorrimento do prato (meia ida mais meia volta) para serem novamente atendidos. Há ainda outras pequenas variações do algoritmo do elevador, como os algoritmos FSCAN e LOOK. A vantagem do algoritmo FIFO, como sempre, é a sua simplicidade. Por outro lado, em quase todos os aspectos, o algoritmo do elevador (e suas variações) tem desempenho superior aos demais. 4. RAID (Redundant Array of Independent Disks) Os HDs são dispositivos com partes mecânicas. Como discutido anteriormente, isso faz com que, em geral, eles sejam mais lentos e menos confiáveis que os demais componentes de um computador. Para computadores pessoais, estes problemas geralmente não são tão relevantes. Os níveis atuais de desempenho e confiabilidade e desempenho dos HDs são satisfatórios para a maior parte dos usuários. No entanto, em grandes servidores estes problemas acabam se potencializando. Servidores, em geral, tem um grande número de acessos simultâneos a disco, evidenciando o desempenho dos HDs como gargalos do sistema. Além disso, os dados armazenados em servidores são geralmente sensíveis, o que significa que defeitos que levem a perda de dados tem consequências sérias. Além disso, quando maior o servidor, maior a quantidade de HDs

utilizados, o que, por sua vez, aumenta a probabilidade de falha de ao menos um deles. Para solucionar ou pelo menos mitigar estes problemas nestes ambientes de grande porte foi criada a tecnologia RAID. A ideia do RAID é combinar vários HDs fisicamente separados em uma única unidade lógica de armazenamento, de forma a obter ganhos de desempenho e/ ou de confiabilidade. Como o próprio nome sugere, na maior parte das configurações RAID há algum tipo de informação redundante sendo armazenada, o que reduz a probabilidade de perda de dados. Há diversos modos (ou níveis) de funcionamento do RAID. São 8 níveis básicos: RAID 0: todos os discos armazenam apenas dados. Os dados são divididos entre os HDs, mas não há qualquer mecanismo de correção de erros ou de redundância. A vantagem deste modo está no simples fato de escritas ou leituras poderem ser realizadas em paralelo, já que duas requisições podem ser mapeadas em discos físicos separadas. Este esquema é conhecido também como stripping. Como não há redundância, o espaço total de armazenamento disponível é igual a soma das capacidades dos HDs. RAID 1: neste nível são usados n HDs de igual capacidade, um principal e outros secundários. Este conjunto funciona em um esquema de espelhamento: tudo o que é escrito no HD principal é replicado nos secundários. A grande vantagem deste nível é o alto grau de redundância. Se o HD principal sofre uma falha, todo o conteúdo estará salvo nos secundários. Por outro lado, perde-se muito da capacidade nominal de armazenamento (e.g., com dois discos de 500GB, a capacidade total será de 500GB). RAID 2/3/4: nestes 3 níveis são usados n + 1 HDs. Nos n primeiros HDs é usado um esquema de stripping, como no RAID 0. O último HD, é usado para armazenar informações de redundância (paridade) dos dados armazenados nos demais. Todos os três níveis (2, 3 e 4) funcionam desta forma: a diferença está em como a redundância é armazenada: o RAID 2 usa paridade de bit, o RAID 3 usa paridade de byte e o RAID 4 usa paridade de bloco. De toda forma, em caso de falha em um dos n primeiros HDs é possível recuperar os dados perdidos através das informações dos outros n - 1, além do HD de prioridade. RAID 5: funciona como o RAID 4, porém as informações de paridade são distribuídas entre todos os HDs. Isto é, não existe um HD específico para paridade. RAID 6: similar ao RAID 5, porém com um esquema de paridade dupla que permite falha de até dois HDs dentro do conjunto. RAID 10: combina os níveis 0 e 1, utilizando vários pares de HDs de igual capacidade. O esquema de stripping é feito nos HDs principais de cada par. Além disso, cada um destes HDs principais tem seu conteúdo espelhado no seu respectivo HD secundário. Os níveis de RAID podem ser implementados tanto em hardware (pela controladora de disco), quanto em software (pelo SO). Quando implementado em hardware, todo o processo é transparente para o SO. De fato, neste caso, o SO simplesmente vê o conjunto de HDs em RAID como um único disco.

As primeiras implementações em software do RAID eram consideravelmente mais lentas que as implementações em hardware. Hoje, esta diferença não é mais tão grande, porém, ela ainda existe.