Baixe o app para aproveitar ainda mais
Prévia do material em texto
Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN 53 Uma das principais e mais complicadas funções do sistema operacional é a implementação da gerência de dispositivo. Toda a sua implementação é feita por meio de camadas, de forma bem parecida à do sistema operacional. As camadas que são implementadas no mais baixo nível escondem características dos dispositivos das camadas superiores, assim elas oferecem uma usabilidade de fácil compreensão para o usuário. A grande quantidade de dispositivos existentes faz com que seja implementada uma camada chamada de subsistema de E/S, cuja função é a de isolar a complexidade dos Aula 06 GERÊNCIA DE DISPOSITIVO Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN 54 dispositivos físicos. Com isso os sistemas operacionais se tornam mais fl exíveis, permitindo assim a comunicação entre as aplicações com qualquer tipo de periférico. Algumas particularidades do periférico como a velocidade de operação, representação de dados, tipos de operações e alguns outros detalhes de cada periférico são tratados pela camada de device driver. O device driver proporciona uma interface uniforme entre o subsistema de E/S e todos os dispositivos e um de seus principais objetivos é ocultar do subsistema de E/S do kernel as diferenças existentes entre os controladores de dispositivos. As camadas são defi nidas em dois grupos: o primeiro grupo tem uma visão geral de todos os tipos de dispositivos do sistema e o segundo a visão específi ca para cada dispositivo. A maioria das camadas trabalha de forma independente do dispositivo físico. SUBSISTEMA DE ENTRADA E SAÍDA O usuário deve ter um acesso mais simples possível aos dispositivos de E/S, que deve proporcionar uma interface de fácil usabilidade para suas aplicações e quem deve dispor dessa interface é o próprio sistema operacional. Já o subsistema tem a incumbência de separar a complexidade das operações específi cas para cada tipo de dispositivo da camada de sistema de arquivos, do sistema gerenciador de banco de dados ou diretamente da aplicação. Com isso, as aplicações e usuários podem manusear qualquer tipo de periférico com maior facilidade. A fi gura 18 mostra como são implementadas as camadas dentro do sistema operacional. Quanto ao subsistema de E/S ser independente do dispositivo isso facilita o trabalho do desenvolvedor do sistema operacional. Os fabricantes de dispositivos também levam vantagem sobre essa independência. Eles criam novos dispositivos para serem compatíveis com uma interface de controlador de hospedeiro existente como para novos hardwares. Com isso, novos dispositivos podem ser conectados ao computador sem ter que esperar que o fornecedor do sistema operacional desenvolva o código de suporte ao novo dispositivo. } } } } Processo Sistema de arquivos SGBD Subsistema de E/S Device Driver Controlador Dispostivo de E/S So ftw ar e Ha rd wa re Mo do d e Us uá rio Independente do dispositivo Independente do dispositivo Mo do K er ne l Aplicação Figura 18 Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN 55 Para os fabricantes de dispositivos existe uma barreira a mais a respeito no desenvolvimento do controlador do dispositivo, pois cada tipo de sistema operacional tem seus próprios padrões de interface de driver. Com isso, o fabricante é obrigado a desenvolver um driver para cada sistema operacional, por exemplo, um driver do mesmo dispositivo para o sistema operacional MS-DOS, outro para o windows 95/98 e um para outro windows NT. Aqui seguem algumas diferenças entre os controles de dispositivos. A transferência de dados para o dispositivo pode ser em cadeia de caracteres que transfere bytes um a um, ou pode ser feita em bloco. O dispositivo pode fazer transferência sequencialmente de modo que a transferência de dados é feita em uma ordem fi xa determinada pelo dispositivo ou o usuário de dispositivo de acesso aleatório pode instruir o dispositivo a buscar qualquer localização de armazenamento. Pode o dispositivo síncrono realizar transferência de dados com tempo de resposta previsível ou ele ser assíncrono onde ele apresenta tempos de resposta irregulares ou imprevisíveis. Essas são algumas diferenças que o desenvolvedor de dispositivo pode encontrar no tratamento de cada dispositivo, por isso ha necessidade da criação de um driver do mesmo dispositivo para diferentes sistemas. DISCOS MAGNÉTICOS Há vários dispositivos de E/S, mas um deles se destaca em relação aos outros, o disco magnético, o qual é de grande importância para um sistema computacional por ser o principal meio de armazenamento de dados do sistema. O sistema operacional tem a responsabilidade de utilizar o hardware de maneira efi ciente. Com os discos magnéticos não pode ser diferente, mas, para atender essa responsabilidade o sistema tem que ter um tempo de acesso rápido e uma maior largura de banda. Esse tempo de acesso tem dois fatores importantes: o tempo de busca, que é o tempo necessário para o braço do disco mover os cabeçotes até o cilindro onde está o setor desejado e o tempo adicional de espera ou latência rotacional, que se refere ao tempo para que o disco gire o setor procurado até o cabeçote do disco. A largura de banda é a quantidade total de bytes transferidos dividido pelo tempo total entre o instante em que o serviço é requisitado e o instante em que a última transferência foi concluída. FORMATAÇÃO DO DISCO Um disco magnético novo pode ser comparado a uma mesa lisa, pode-se pensar que ali está um material magnético para alguma gravação e algumas bandejas. Antes que o disco possa armazenar dados ele tem que passar por um processo de preparação, ou seja tem que ser formatado para que trilhas e setores sejam criados onde o controlador de disco tem a possibilidade de ler e escrever. Podemos chamar esse processo de formatação de baixo nível ou formatação física, a qual adiciona ao disco uma estrutura de dados específi ca para cada Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN 56 setor. Essa estrutura geralmente é formada por um cabeçalho, uma área para dados e um trailer. O cabeçalho e o trailer contêm informações utilizadas pelo controlador de disco como, por exemplo, um número de setor e um código de correção de erros (ECC – error-correcting cod). Quando o controlador de disco grava em um setor de dados durante um E/S normal, O ECC é recalculado e comparado como valor armazenado. Se os valores tiverem resultados diferentes, isso signifi ca que a área de dados do setor foi corrompida e que o setor do disco pode estar danifi cado. Discos novos saem formatados fi sicamente como parte do processo fabricação. Com essa formatação há a possibilidade do fabricante testar o disco, assim garantindo que o disco não tenha defeitos que ocasionem prejuízos ao usuário. Para que o computador funcione ele necessita de um programa de inicialização. Esse programa inicializa todos os componentes do sistema computacional como registradores da CPU, controladores de dispositivos e conteúdos da memória principal e logo depois inicia o sistema operacional. Para que isso ocorra o programa inicial encontra o kernel do sistema operacional no disco, carrega-o ele na memória e é alocado em um endereço inicial assim começando a execução do sistema operacional. Esse programa inicial também pode ser chamado de bootstrap. Esse programa inicial fi ca armazenado em uma partição chamada de blocos de inicialização, em uma parte fi xa do disco. Por isso um disco que tenha gravado uma partição de inicialização é chamado de disco de inicialização ou disco do sistema. Na maioria dos computadores parte do programa de inicialização fi ca gravado na memória ROM, local propício para isso, pois com uma memória somente de leitura o programa inicial fi ca livre de ser infectado por vírus e ela está em uma área fi xa onde o processador pode começar a executar quando for ligado ou reiniciado.O problema de o programa inicial ser gravado na memória ROM é que caso esse código do programa tenha que ser alterado ocasiona a trocar da placa ROM. Por isso a maioria dos sistemas armazena o mínimo do programa inicial na ROM. No fi nal dos anos 80 foram desenvolvidas técnicas de gerenciamento de disco que otimizavam as operações de E/S. Foi desenvolvida a técnica de RAID (Redundant Arrays if Inexpensive Disk), em que eram implementadas as redundâncias e proteção de dados. Essas implementações foram publicadas em 6 níveis (RAID 1-6). Logo essas técnicas tiveram uma boa aceitação no mercado e assim desenvolveram um novo nível que foi chamado de RAID O. Essas técnicas de RAID podem ser implementadas diretamente nos controladores de disco, conhecidos como subsistemas de RAID, ou elas podem ser implementados por meio do sistema operacional ou até mesmo por intermédio de um produto gerenciador de disco. A técnica de RAID utiliza-se da criação de um dispositivo virtual que também é conhecido por array de disco. O array é um conjunto de disco que é reconhecido pelo sistema operacional com se fosse um único disco, o qual apresenta certas características como ser de alta capacidade de armazenamento e também ter alto desempenho e confi abilidade nos dados armazenados. Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN 57 RAID 0 OU STRIPING Essa técnica tem como função de fazer a distribuição das operações entre vários discos físicos contidos no array com a intenção de otimizar o desempenho, técnica também conhecida como disk striping. Com esses dados divididos, as operações de E/S podem ser processadas paralelamente. Para que esse processo possa ser colocado em prática é necessário formar um conjunto de discos que são chamados de stripe set, onde cada disco é dividido em pedaços (stripers). A ação que é executada é a de quando um arquivo for gravado, seus dados são divididos em pedaços iguais espalhados todos ao mesmo tempo pelos stripers dos diversos discos. Apesar de essa técnica ter o nome de RAID, ela não implementa nenhum tipo de redundância, ela só tem a vantagem no ganho de desempenho das operações de E/S. Sobre sua implementação é importante ressaltar que quando há uma falha em qualquer disco de stripe set, os dados serão perdidos. As aplicações de multimídia que precisam ter um alto desempenho são beneficiadas com o uso dessa técnica. Veja na figura 19 a representação. strip 00 strip 05 strip 07 strip 02 strip 01 strip 06 strip 08 strip 04 strip 03 RAID 1: ESPELHAMENTO Essa técnica consiste em replicar todo o conteúdo do disco principal para um ou mais discos secundários que podem ser chamados de espelhos, sendo conhecida como espelhamento ou mirroring. Essa redundância pode garantir que se houver falhas no disco principal os discos-espelho podem ser utilizados pelo sistema de arquivos. Apesar de causar um overhead a mais ele é considerado pequeno se comparado pelo benefi cio em segurança que a redundância traz para o sistema. A técnica de RAID 1 pode ser aplicada através de hardware ou de software; para a aplicação por software existe a necessidade de que o sistema operacional ou algum produto gerenciador de disco ofereça essa facilidade.Veja na fi gura 20 uma visualização de como é feito o espelhamento de discos. Figura: 19 Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN 58 RAID 5: ACESSO INDEPENDENTE COM PARIDADE DISTRIBUÍDA Essa técnica faz a distribuição de dados entre discos do array e utiliza a redundância baseando-se de paridade. Essa redundância é implementada através de cálculos do valor de paridade dos dados que são armazenados no disco de arrays junto com os dados. Se houver falha em qualquer um dos discos do array, os dados são recuperado através de algoritmos de reconstrução, os quais utilizam informações de paridade dos demais discos. A vantagem dessa técnica de redundância é que ela utiliza um espaço adicional menor para armazenamento de informações de controle se comparado com a técnica de espelhamento. Observe a fi gura 21 de implementação de acesso independente com paridade distribuída. strip 00 strip 05 strip 07 strip 00 strip 05 strip 07 strip 02 strip 01 strip 06 strip 02 strip 01 strip 06 strip 08 strip 04 strip 03 strip 08 strip 04 strip 03 Figura 20 strip 00 strip 05 paridade 05 strip 02 strip 06 strip 08 strip 04 paridade 00 paridade 02 Figura 21 Você sabia: Os discos ópticos de primeira geração foram inventados pelo conglomerado holandês Philips para o armazenamento de fi lmes. Eles tinham 30 cm de diâmetro e eram comercializados com o nome LaserVision, mas não tiveram muito sucesso, a não ser no Japão. Em 1980, a Philips juntamente com a Sony desenvolveu o CD, o qual substituiu rapidamente o disco de vinil de 33 cm de 1/3 RPM para o armazenamento de musica. (fonte: – Sistemas Operacionais Modernos - Andrew S. Tanenbaum- 2° Ed. São Paulo : Prentice Hall, 2003). Sistemas Operacionais I - France Ricardo Marques Gonzaga - UNIGRAN 59 ATIVIDADES As atividades referentes a esta aula estão disponibilizadas na ferramenta “Atividades”. Após respondê-las, envie-nas por meio do Portfólio- ferramenta do ambiente de aprendizagem UNIGRANET. Em caso de dúvidas, utilize as ferramentas apropriadas para se comunicar com o professor.
Compartilhar