Buscar

Trabalho sistemas operacionais José Gomes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 19 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 19 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 19 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

INSTITUTO ENSINAR BRASIL
FACULDADES UNIFICADAS DE TEÓFILO OTONI
JOSÉ GOMES CAMARGOS
SISTEMAS OPERACIONAIS
Gerência de: Memória, Arquivos, Entrada e Saída
Teófilo Otoni - MG
2016
INSTITUTO ENSINAR BRASIL
FACULDADES UNIFICADAS DE TEÓFILO OTONI
JOSÉ GOMES CAMARGOS
Gerência de: Memória, Arquivos, Entrada e Saída
Trabalho de sistemas operacionais ao curso de Sistemas de Informação das Faculdades Unificadas de Teófilo Otoni como requisito para aprovação na disciplina Fundamentos de SO, orientada pelo Prof. Salim Aouar
Teófilo Otoni -MG
17
2016
Gerenciamento de Memória 
Memória é o segundo recurso de maior importância dentro da arquitetura de um sistema computador. A disponibilidade e o gerenciamento deste recurso é vital para o desempenho do sistema. Assim, fatores como a quantidade de memória disponível, tempo de acesso e custo são capitais na sua especificação e aquisição. 
Evidente que o desejado é poder-se ter memória de maior capacidade, que seja bastante rápida e cujo custo seja no mínimo compatível com o dos demais componentes do computador. Como era de esperar, existe uma relação de compromisso entre estes três fatores, na realidade o que ocorre é que: 
Memórias mais rápidas apresentam maior custo por bit armazenado; 
Memórias de maior capacidade apresentam menor custo por bit; 
Quanto maior a capacidade da memória mais lenta ela será. 
Estes fatos fazem com que os projetistas busquem solucionar o problema, dentro das restrições inerentes a tecnologia atualmente disponível, adotando não uma mas sim um conjunto de memórias organizadas segundo uma hierarquia tal que possibilite adequar custo, capacidade de armazenamento e tempo de resposta.
Níveis hierárquicos de Armazenamento 
Seis níveis formam uma estrutura de memória que opera integrada e ordenada segundo a capacidade de armazenamento, a velocidade de acesso que proporcionam ao sistema e ao custo por bit.
Níveis Hierárquicos de Armazenamento
Registradores 
Localizados no interior da UCP, servem de memória (buffer) para as operações internas a UCP e são de acesso exclusivo ao processo corrente. Resumem-se a alguns poucos registradores, cujo número e tamanho depende da arquitetura interna de hardware da UCP. São de tamanho fixo e normalmente idêntico ao da palavra de memória.
Cache
 É uma memória RAM de tamanho reduzido e com velocidade de acesso bem mais elevada do que a da memória principal. É utilizada com o objetivo de acelerar a execução dos processos possibilitando acesso mais rápido àquelas palavras mais freqüentemente referenciadas e, com isto, explorar o princípio da localidade de referência dos dados e dos programas.
Memória Principal
 É constituída por um determinado número de células, cada uma podendo armazenar uma quantidade fixa de informação e sendo individualizada por um endereço único. A célula representa a unidade de acesso à memória, isto é, a menor quantidade de bits que pode ser individualmente endereçada e acessada. O tamanho (quantidade de bits) de cada célula depende da arquitetura física do computador. A célula de memória muitas vezes é referenciada como byte por geralmente coincidir com o tamanho deste.
Figura 2: Tamanhos de Células para alguns computadores conhecidos
Memória Virtual
 É uma técnica sofisticada e eficiente de gerenciamento de memória, incorporada aos SOs mais recentes. Ela combina, de forma transparente aos usuários e ao restante do próprio sistema operacional, as memórias principal e secundária (disco) afim de proporcionar a ilusão de existir uma memória principal muito maior do que a real. 
O conceito de memória virtual se baseia na separação entre o endereçamento usado pelo programa e os endereços físicos da memória principal. Agora, o espaço que um programa pode endereçar é chamado de espaço virtual, que pode ser bem maior do que o espaço físico existente na memória principal. 
O Endereçamento Virtual possui as seguintes características:
É o conjunto de endereços que podem ser utilizados pelos processos em execução.
O espaço virtual pode ser muito maior do que o espaço físico.
O compilador se encarrega de implementar automaticamente o endereçamento virtual. 
Um programa, em um ambiente de memória virtual, não faz referência a endereços físicos, apenas a endereços virtuais. O software de gerenciamento da memória virtual se encarrega de mapear cada endereço virtual para um endereço físico, de forma automática e transparente ao processo e ao usuário. 
O sistema operacional faz uso da memória secundária como extensão da memória principal, de forma transparente.
Quando um programa é executado, apenas uma parte do código executável fica na memória principal, o restante permanece em memória secundária e só é carregado quando referenciado para uso.
Cada processo tem a seu dispor o mesmo espaço de endereçamento virtual, como se toda a memória virtual lhe pertencesse. Cabe ao software de gerenciamento controlar e impedir qualquer violação de acesso entre dois ou mais processos concorrentes.
Mapeamento 
Nos sistemas atuais, para agilizar o processo, o mapeamento é executado por um hardware específico que trabalha junto com o sistema operacional. Para garantir segurança, o mecanismo de mapeamento se encarrega de manter tabelas de mapeamento exclusivas para cada processo (page tables).
Caso a granularidade do mapeamento fosse o byte, o espaço físico requerido pelas tabelas de mapeamento seria tão grande quanto o espaço virtual, o que inviabilizaria o uso e a implementação do mecanismo de memória virtual. Em virtude disto, as tabelas mapeiam blocos de informações chamadas páginas ou segmentos. Observe que quanto maior o tamanho do bloco, menor a tabela de mapeamento, porém maior o tempo de transferência do mesmo de / ou para a MP (fig. VII.20).
Paginação 
É a técnica virtual que faz uso de blocos de tamanho fixo tanto no espaço virtual (pá- ginas) como no espaço real (frames). Nesta técnica, o endereço virtual é formado pelo número da página virtual e pelo deslocamento dentro desta mesma página. O número (endereço) da página virtual é único dentro da page table. 
O endereço físico é calculado (mapeado) pela composição do endereço do frame fornecido pela page table com o deslocamento fornecido pela instrução virtual, conforme pode ser visto na figura VII.21 a seguir. 
Além da informação sobre a localização física da página virtual (frame), a page table possui outras informações como o nível de proteção da página, o bit de validade (validity bit), que indica se a página está na memória física ou não, e o bit de modificação (modified bit), que indica se a página na memória física foi modificada ou não. Esta informação é importante pois se o sistema precisar remover a página da memória física por uma razão de necessidade de espaço, terá ou não que salvá-la em disco antes de alterar o bit de validade na page table.
Working Set 
O conceito de working set surgiu da observação e análise da taxa de paginação dos vá- rios processos em execução. Percebeu-se a ocorrência de uma elevada taxa de paginação durante a fase inicial de execução (carga) do processo e, geralmente, uma estabilização desta taxa no decorrer do restante do processamento. Este comportamento deve-se ao fato de que antes de iniciada a execução o processo reside como um todo na memória secundária (MS), sendo então necessário carregar para a memória as páginas a medida que estas vão sendo referenciadas pela primeira vez, mas depois de um certo tempo de processamento a demanda por novas páginas tende a reduzir (princípio da localidade) e a taxa de paginação se estabiliza. 
O tamanho do working set é definido pelo gerente do sistema (system manager), e é de fundamental importância para garantir um fluxo adequado de execução dos processos (throughput). Um working set muito grande reduz o número de processos que podem compartilhar simultâneamente a memória, além de geralmente ser sub-utilizado pela maioria dos processos existentes. Algunssistemas operacionais adotam a estratégia de estabelecimento de um working set dinâmico, observado um tamanho máximo e mínimo pré-definidos.
Relocação de Páginas
 Um dos maiores problemas na implementação de um software de gerenciamento para paginação é o tratamento dos page faults, pois isto demanda a escolha de uma estratégia para selecionar as páginas a serem removidas da MP, afim de que seja aberto espaço para o carregamento de páginas residentes na MS. 
Qualquer que seja a estratégia adotada de projeto, ela deve sempre considerar o bit de modificação (modified bit) para determinar se a página a ser retirada da MP sofreu ou não alguma alteração durante sua estada na memória. Caso positivo a página precisa ser salva na MS antes que a outra seja carregada, caso contrário basta carregar a outra por cima. 
A melhor estratégia possível a adotar seria a de relocar a página que não viesse a ser referenciada em futuro próximo. Isto seria o ideal, porém é impraticável pois o sistema operacional (SO) não possui bola de cristal e, portanto, não tem como adivinhar o futuro. As estratégias mais conhecidas são:
FIFO (first_in_first_out, simples de ser implementada);
LRU (least_recently_used, gera um overhead razoável); 
NUR (not_used_recently, usa um flag inicializado com 0); 
LFU (least_frequently_used, mantém um contador de referências p/ cada página)
Segmentação
 É a técnica de gerenciamento que possibilita os programas serem subdivididos logicamente em blocos distintos como, por exemplo, área de código e área de dados, e o carregamento de cada um destes blocos em uma área (segmento) distinto da MP. Os blocos, diferentemente das páginas, podem ter tamanhos distintos e são chamados segmentos, cada um possuindo seu espaço de endereçamento próprio. 
A grande diferença entre paginação e segmentação está no fato de que a primeira divide o programa em partes iguais e de tamanho fixo, sem qualquer relação lógica com a estrutura do mesmo, e a segunda, não fazendo uso de blocos de tamanho fixo, permite a adoção de uma relação entre os blocos e a lógica do programa. Na paginação tem-se um esquema de memória virtual unidimensional, ao passo que na segmentação pode-se adotar um esquema multidimensional. Este fato pode facilitar ao programador sua tarefa de otimizar o desempenho operacional do programa.
Segmentação_com_Paginação 
Conceitualmente é a reunião das técnicas de segmentação e de paginação. O processo é logicamente segmentado (como na técnica de segmentação) e agora, dentro de cada segmento ele é subdividido em páginas de tamanho fixo.
 O endereço virtual agora é formado por um número de segmento, um número de página e um deslocamento (offset) dentro da página. O mapeamento requer uma etapa a mais do que o necessário para as duas técnicas anteriores.
Proteção 
É realizada a nível de página ou segmento (dependendo da técnica adotada) e vem especificada nos primeiros bits de cada entrada na page ou segment table.
O código executável de alguns programas, principalmente utilitários e programas de sistema, podem ser compartilhados afim de evitar o consumo desnecessário de MP. Para que isto ocorra o programa reentrante precisa ser especificamente caracterizado como tal pelo gerente do sistema e, assim, automaticamente, o sistema operacional se encarrega de fazer com que os processos que estiverem usando um determinado programa reentrante estejam com as entradas das suas respectivas page ou segment tables apontando para os mesmos frames na MP (frames estes ocupados pelo código executável do programa reentrante). Na figura VII.26 abaixo pode ser observado o caso em que dois processos A e B, compartilham o mesmo código de um terceiro processo, reentrante, que reside em MP.
Gerencia de Arquivos
Um sistema de arquivos é o conjunto de estruturas lógicas e rotinas que permitem ao sistema operacional armazenar dados nas unidades de memória persistentes: discos flexíveis e rígidos, pendrivers, CDROMs e DVDs etc.
É de acordo com os recursos oferecidos por essas estruturas que é possível determinar, por exemplo, o espaço disponível e ocupado em uma unidade de disco, ou gerenciar como partes de um arquivo podem ficar "distribuídas" nas áreas de armazenamento desta unidade. 
A medida que cresce a capacidade das unidades de armazenamento e aumenta a quantidade de arquivos, a complexidade desses sistemas também aumenta. Por tanto, é necessário o uso de sistemas de arquivos cada vez mais eficientes e robustos. 
O sistema de arquivos é independente do hardware do sistema, sendo especificado através do sistema operacional na configuração das suas unidades de armazenamento.  É através do sistemas de arquivos que gravamos e recuperamos os dados em nosso computador. 
Após a instalação física dessas unidades, uma formatação lógica é efetuada, determinando a maneira que os dados são gravados e recuperados e as propriedades desses conjuntos de dados. Essas propriedades estão relacionadas à segurança destes dados e às informações sobre eles, tais como: tamanho, data e hora da criação ou modificação, tipo do arquivo e diversas outras propriedades que os qualificam. 
Arquivos 
Os arquivos, também conhecidos como documentos, são estruturas fornecidas pelos sistemas operacionais, através dos seus sistemas de arquivos, utilizadas para armazenar e recuperar informações em dispositivos, tais como disco rígidos, pendrivers, disquetes, CD, DVD etc.  
Apesar das regras para formação de identificadores de arquivos variarem de sistema para sistema, a maioria dos sistemas operacionais suportam identificadores compostos por duas partes: o nome do arquivo e a extensão. Estas partes são separadas pelo caractere “.” (ponto).
Formação dos Identificadores
Os identificadores podem ser formados por caracteres numéricos e alfanuméricos, contudo existem alguns caracteres que não podem ser usados em sua formação, pois a maioria dos sistemas operacionais os utilizam como caracteres de controle, são eles:  \ / :  * ? " < > |  
O nome do arquivo é formado por um conjunto de caracteres que deve dar a noção ao usuário do conteúdo do arquivo sem que seja necessário abrilo. 
Já a extensão, em identificador de arquivo, é um conjunto de caracteres que ajuda ao sistema operacional “entender” qual tipo de informação e, de que forma esta, está armazenada dentro do arquivo. Através da extensão, o sistema operacional associa programas que podem interpretar este conteúdo. 
Atributos dos arquivos
 Além do nome e da extensão, o sistema operacional associa a cada arquivo algumas outras informações, como por exemplo, a data e a hora em que o arquivo foi criado e seu tamanho, se é um arquivo de sistema, se está oculto ou se está protegido contra gravação (só para leitura). Chamamos estes “itens extras” de atributos do arquivo. 
Figura 3: Esquema do sistema de arquivos
Diretórios
Os Diretórios, também conhecidos como Pastas, são arquivos especiais do sistema de arquivos que tem a função de guardar as informações de identificação dos documentos em seu computador, tais como: o nome, atributos e localização física. Um diretório pode conter, tipicamente, arquivos e outros diretórios. Um diretório que é interno a outro é chamado de subdiretório ou subpasta. Os diretórios têm a formação de identificadores semelhante aos arquivos, entretanto não é comum o uso de extensões. 
A estrutura hierárquica é mais utilizada para a construção do sistema de arquivos. 
O Diretório Raiz 
Em todos os sistemas de arquivos hierárquicos o diretório inicial é chamado de diretório raiz. Este é o diretório de maior nível hierárquico, normalmente, é representado pelo caractere “/” (“\” no MSDOS e na plataforma Windows) e é a partir dele que todos os outros diretórios têm origem.
Representação das unidades de armazenamento 
Cada unidade de armazenamento em seu computador é um sistema de arquivos independente e, deve ser representada de alguma forma. No MSDOS e nas plataformas Windows, cada unidade é representada por uma letra, como exemplo, imagine que em nosso computadorexistam três unidades de armazenamento: uma unidade de disco flexível, uma unidade de disco rígido e uma unidade CD-ROM. Sendo assim, nos sistemas acima, estas unidades seriam representadas como: A:\, C:\ e D:\ respectivamente.
Caminho de um arquivo
O caminho de um arquivo corresponde ao “endereço completo” do arquivo em uma unidade de armazenamento. Por tanto, ele é formado pelo: 
 Identificador da unidade + identificador da pasta + identificador do arquivo 
Exemplos:
● c:\meus documentos\tarefa01.doc 
● e:\virtual\disciplinas\informática\capítuloiii.pdf 
● /home/rostand/material_didático/software_livre.odt 
● /mnt/cdrom/uab/glossário.pdf 
Não é possível ter nomes de arquivos iguais dentro de um diretório em uma unidade de armazenamento
Gerência de Entrada e Saída
A gerência de dispositivos de entrada/saída é uma das principais e mais complexas funções do sistema operacional. Sua implementação é estruturada através de camadas de um modelo semelhante ao apresentado para o sistema operacional, utilizando o conceito de máquina de níveis. As camadas de mais baixo nível escondem características das camadas superiores, oferecendo uma interface simples e confiável ao usuário e suas aplicações.
A diversidade de dispositivos de E/S exige que o sistema operacional implemente uma camada, chamada de subsistema de E/S, com a função de isolar a complexidade dos dispositivos da camada de sistemas de arquivo e da aplicação. Dessa forma, é possível ao sistema operacional ser flexível, permitindo a comunicação dos processos com qualquer tipo de periférico. Aspectos como velocidade de operação, unidade de transferência, representação de dados, tipos de operações e demais detalhes de cada um dos periféricos são tratados pela camada de device driver, oferecendo uma interface uniforme entre o subsistema de E/S e todos os dispositivos. 
As camadas são divididas em dois grupos, onde o primeiro grupo visualiza os diversos tipos de dispositivos do sistema de um modo único, enquanto o segundo é específico para cada dispositivo. A maior parte das camadas trabalha de forma independente do dispositivo.
 Acesso ao Subsistema de Entrada e Saída 
O sistema possui um conjunto de rotinas que possibilita a comunicação com qualquer dispositivo que possa ser conectado ao computador. Esse conjunto de rotinas, denominando rotinas de entrada/saída, faz parte do subsistema de E/S e permite ao usuário realizar operações de E/S sem se preocupar com detalhes do dispositivo que está sendo acessado. As operações de E/S devem ser realizadas através de system calls que chamam as rotinas de E/S do kernel do sistema operacional. Dessa forma, é possível escrever um programa que manipule arquivos, estejam eles em disquetes, discos rígidos ou qualquer outro dispositivo, sem ter que alterar o código para cada tipo de dispositivo. As system calls responsáveis por essa comunicação são denominadas system calls de entrada/saída.
Subsistema de Entrada e Saída 
O subsistema de entrada e saída é responsável por realizar as funções comuns a todos os tipos de dispositivos, ficando os aspectos específicos de cada periférico como responsabilidade dos drivers. Dessa forma, o subsistema de E/S é a parte do sistema operacional que oferece uma interface uniforme com as camadas superiores.
Device Drivers 
O device driver ou apenas driver tem como função implementar a comunicação do subsistema de E/S com os dispositivos, através de controladores. Enquanto o subsistema de E/S trata de funções ligadas a todos os dispositivos, os drivers tratam apenas dos seus aspectos particulares. Os drivers têm como função receber comandos gerais sobre acessos aos dispositivos e traduzi-los em comandos específicos para aquele dispositivo em questão. Cada driver manipula somente um tipo de dispositivo ou grupos de dispositivos semelhantes.
Controladores 
Os controladores são componentes de hardware responsáveis por manipular diretamente os dispositivos de E/S. O sistema operacional, mais exatamente o driver, comunica-se com os dispositivos através dos controladores. Em geral, o controlador pode ser uma placa independente conectada a um slot do computador ou implementada diretamente na placamãe.
Dispositivos de Entrada e Saída 
Os dispositivos de entrada e saída são utilizados para permitir a comunicação entre o sistema computacional e o mundo externo. Os dispositivos de E/S podem ser classificados como de entrada de dados, como CDROM, DVD, teclado e mouse, ou de saída de dados, como impressoras e monitores. Também é possível que um dispositivo realize tanto entrada como saída de dados, como placas de som, de rede, HDs, monitor touchscreen.
RAID 0 (zero)
Também conhecido como striping (fracionamento), o nível RAID 0 é aquele onde os dados são divididos em pequenos segmentos e distribuídos entre os discos. Trata-se de um nível que não oferece proteção contra falhas, já que nele não existe redundância. Isso significa que uma falha em qualquer um dos discos pode ocasionar perda de informações para o sistema todo, especialmente porque "pedaços" do mesmo arquivo podem ficar armazenados em discos diferentes.
O foco do RAID 0 acaba sendo o desempenho, uma vez que o sistema praticamente soma a velocidade de transmissão de dados de cada unidade. Assim, pelo menos teoricamente, quanto mais discos houver no sistema, maior é a sua taxa de transferência. Não é difícil entender o porquê: como os dados são divididos, cada parte de um arquivo é gravada em unidades diferentes ao mesmo tempo. Se este processo acontecesse apenas em um único HD, a gravação seria uma pouco mais lenta, já que teria que ser feita sequencialmente.
Por ter estas características, o RAID 0 é muito utilizado em aplicações que lidam com grandes volumes de dados e não podem apresentar lentidão, como tratamento de imagens e edição de vídeos.
RAID 1
O RAID 1 é, provavelmente, o modelo mais conhecido. Nele, uma unidade "duplica" a outra, isto é, faz uma "cópia" da primeira, razão pela qual o nível também é conhecido como mirroring (espelhamento). Com isso, se o disco principal falhar, os dados podem ser recuperados imediatamente porque existe cópias no outro.
Perceba que, por conta desta característica, sistemas RAID 1 devem funcionar em pares, de forma que uma unidade sempre tenha um "clone". Na prática, isso significa que um sistema RAID composto por dois HDs com 500 GB cada terá justamente esta capacidade, em vez de 1 TB.
O nível RAID 1 é claramente focado na proteção dos dados, ou seja, não torna o acesso mais rápido. Na verdade, pode até ocorrer uma ligeira perda de desempenho, uma vez que o processo de gravação acaba tendo que acontecer duas vezes, uma em cada unidade.
É importante observar, no entanto, que o uso de RAID 1 não dispensa soluções de backup. Como a duplicação dos dados é feita praticamente em tempo real, significa que se uma informação indevida for gravada na primeira unidade (como um vírus) ou se um arquivo importante for apagado por engano, o mesmo acontecerá no segundo disco. Por isso, RAID 1 se mostra mais adequado para proteger o sistema de falhas "físicas" das unidades.
RAID 2
RAID é um tipo de solução de armazenamento que surgiu no final dos anos 1980. Naquela época e nos anos seguintes, os HDs não tinham o mesmo padrão de confiabilidade que têm hoje. Por este motivo, foi criado o RAID 2. Ele é, até certo ponto, parecido com o RAID 0, mas conta com um mecanismo de detecção de falhas do tipo ECC (Error Correcting Code). Hoje, este nível quase não é mais utilizado, uma vez que praticamente todos os HDs contam com o referido recurso.
RAID 3
Este é um nível parecido com o RAID 5 por utilizar paridade. A principal diferença é que o RAID 3 reserva uma unidade de armazenamento apenas para guardar as informações de paridade, razão pela qual são necessários pelo menos três discos para montar o sistema. Este nível também pode apresentar maior complexidade de implementação pelo fato de as operações de escrita e leitura de dados considerarem todos os discos em vez de tratá-losindividualmente.
RAID 4
O RAID 4 também utiliza o esquema de paridade, tendo funcionamento similar ao RAID 3, com o diferencial de dividir os dados em blocos maiores e de oferecer acesso individual a cada disco do sistema.
Este nível pode apresentar algum comprometimento de desempenho, pois toda e qualquer operação de gravação exige atualização na unidade de paridade. Por este motivo, seu uso é mais indicado em sistemas que priorizam a leitura de dados, ou seja, que realizam muito mais consultas do que gravação.
RAID 5
O RAID 5 é outro nível bastante conhecido. Nele, o aspecto da redundância também é considerado, mas de maneira diferente: em vez de existir uma unidade de armazenamento inteira como réplica, os próprios discos servem de proteção. Deste modo, pode-se inclusive montar o sistema com quantidade ímpar de unidades. Mas, como isso é possível? Com o uso de um esquema de paridade.
Neste método de proteção, os dados são divididos em pequenos blocos. Cada um deles recebe um bit adicional - o bit de paridade - de acordo com a seguinte regra: se a quantidade de bits '1' do bloco for par, seu bit de paridade é '0'; se a quantidade de bits '1' for ímpar, o bit de paridade é '1'.
As informações de paridade - assim como os próprios dados - são distribuídas entre todos os discos do sistema. Via de regra, o espaço destinado à paridade é equivalente ao tamanho de um dos discos. Assim, um array formado por três HDs de 500 GB terá 1 TB para armazenamento e 500 GB para paridade.
A partir daí, se em uma tarefa de verificação o sistema constatar, por exemplo, que o bit de paridade de um bloco é '1', mas ali há uma quantidade par de bits, percebe que há um erro. Se houver apenas um bit com problema e se o sistema conseguir identificá-lo, conseguirá substituí-lo imediatamente. A restauração dos dados poderá ser feita inclusive depois de o HD ter sido trocado.
Como exemplo, imagine um bloco de dados com os bits '110X' e paridade '1'. O X indica um bit perdido, mas será que ele é '0' ou '1'? Como a paridade é '1', significa que o bloco é composto por quantidade ímpar de bits '1'. Logo, se X fosse '0', a paridade também deveria ser '0', pois ali existiria quantidade par de bits '1'. Isso significa que o bit X só pode ser '1'.
Durante a substituição, é possível manter o sistema em funcionamento, principalmente com o uso de equipamentos que suportam hot-swaping, ou seja, a troca de componentes sem necessidade de desligamento do computador. Isso é possível porque os dados são distribuídos entre todos os discos. Caso um falhe, o esquema de paridade permite recuperar os dados a partir das informações existentes nas demais unidades.
RAID 6
O RAID 5 é uma opção bastante interessante para sistemas que precisam aliar redundância com custos (relativamente) baixos, mas tem uma limitação considerável: consegue proteger o sistema se apenas um disco apresentar falha.
Uma maneira de lidar com isso é acrescentando um recurso de nome hot-spare ao sistema. Trata-se de um esquema onde um ou mais discos são acrescentados para ficar de reserva, entrando em ação tão logo uma unidade apresente problemas.
Outra alternativa interessante é o uso de RAID 6. Trata-se de uma especificação mais recente e parecida com o RAID 5, mas com uma importante diferença: trabalha com dois bits de paridade. Com isso, é possível oferecer redundância para até dois HDs no sistema, em vez de apenas um.

Outros materiais

Materiais relacionados

Perguntas relacionadas

Perguntas Recentes