14
1 Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios 2 Gerência de Dispositivos Subsistemas de E/S Device Driver Controlador de E/S Dispositivos de E/S Discos Magnéticos Desempenho, redundância, proteção de dados

352ncia de Dispositivos [Modo de Compatibilidade]) · striping, que é distribuir as operações de E/S entre os diversos discos físicos contidos no array com o intuito de otimizar

Embed Size (px)

Citation preview

Page 1: 352ncia de Dispositivos [Modo de Compatibilidade]) · striping, que é distribuir as operações de E/S entre os diversos discos físicos contidos no array com o intuito de otimizar

1

Sistemas OperacionaisProf. Esp. André Luís BeliniBacharel em Sistemas de InformaçõesMBA em Gestão Estratégica de Negócios

2

Gerência de Dispositivos

• Subsistemas de E/S• Device Driver• Controlador de E/S• Dispositivos de E/S• Discos Magnéticos• Desempenho, redundância, proteção de dados

Page 2: 352ncia de Dispositivos [Modo de Compatibilidade]) · striping, que é distribuir as operações de E/S entre os diversos discos físicos contidos no array com o intuito de otimizar

2

3

Gerência de Dispositivos

• A gerência de dispositivos de entrada/saída é uma dasprincipais e mais complexas funções de um sistemaoperacional.

• Sua implementação é estruturada através de camadasem um modelo semelhante ao apresentado para o S.O.como um todo.

• As camadas de mais baixo nível escondemcaracterísticas dos dispositivos das camadas superiores,oferecendo uma interface simples e confiável ao usuárioe suas aplicações.

4

Subsistemas de Entrada e Saída

• O S.O. deve tornar as operações de E/S o mais simplespossível para o usuário e suas aplicações.

• O subsistema de E/S isola a complexidade deoperações específicas para cada tipo de dispositivo dacamada de sistema de arquivo, do sistema gerenciadorde banco de dados (SGBD) ou diretamente daaplicação.

• Dessa forma, é possível que as aplicações manipulemqualquer tipo de periférico com mais simplicidade.

Page 3: 352ncia de Dispositivos [Modo de Compatibilidade]) · striping, que é distribuir as operações de E/S entre os diversos discos físicos contidos no array com o intuito de otimizar

3

5

Gerência de dispositivos

Controladores

Dispositivos de E/S

Processo

Sistema de Arquivos

Device Drivers

Subsistema de E/S

Operações de E/ S

Modo U

suári

oM

odo K

ern

el

Independentedo dispositivo

(a)

Dependentedo dispositivo

(b)

SOFT

WA

RE

HA

RD

WA

RE

6

• O subsistema de E/S é composto por um conjunto derotinas que possibilita a comunicação com qualquerdispositivo que possa ser conectado ao computador.

• Esse conjunto de rotinas, denominado rotinas deentrada/saída, permite ao usuário realizar operações deE/S sem se preocupar com detalhes do dispositivo queestá sendo acessado.

• Nesse caso, quando um usuário cria um arquivo emdisco não lhe interessa como é a formatação do disco,nem em que trilha ou setor o arquivo será gravado.

Page 4: 352ncia de Dispositivos [Modo de Compatibilidade]) · striping, que é distribuir as operações de E/S entre os diversos discos físicos contidos no array com o intuito de otimizar

4

7

• As operações de E/S são realizadas por intermédio dechamadas às rotinas de E/S, possibilitando aindependência da aplicação com relação acaracterísticas específicas das arquiteturas dosdiferentes dispositivos.

• Aplicações podem realizar operações de E/S de dadosque podem estar logicamente estruturados em umdispositivo como também em dados armazenados deforma não estruturada.

• As operações de E/S podem ser classificadas conformeo seu sincronismo. Uma operação é síncrona quando oprocesso que realizou a operação fica aguardando noestado de espera pelo seu término.

8

• Uma operação é assíncrona quando o processo querealizou a operação não aguarda pelo seu término econtinua pronto para ser executado.

• Neste caso, o sistema deve oferecer algum mecanismode sinalização que avise ao processo que a operação foiterminada.

• Cada dispositivo trabalha com unidades de informaçãode tamanhos diferentes, como caracteres ou blocos. Osubsistema de E/S é responsável por criar uma unidadelógica de transferência independente do dispositivo erepassá-la para os níveis superiores, sem oconhecimento do conteúdo da informação.

Page 5: 352ncia de Dispositivos [Modo de Compatibilidade]) · striping, que é distribuir as operações de E/S entre os diversos discos físicos contidos no array com o intuito de otimizar

5

9

• Normalmente, o tratamento de erros nas operações deE/S é realizado pelas camadas mais próximas aohardware.

• Existem, porém, certos erros que podem ser tratados ereportados de maneira uniforme pelo sistema dearquivos, independentemente do dispositivo. Erros comoa gravação em dispositivos de entrada, leitura emdispositivos de saída e operações inexistentes podemser tratados neste nível.

• Todos os dispositivos de E/S são controlados com oobjetivo de obter o maior compartilhamento possívelentre os diversos usuários de forma segura e confiável.

10

Técnica de buffering

• É uma tarefa implementada pelo subsistema deE/S,permitindo reduzir o número de operações de E/S,utilizando uma área de memória intermediária chamadabuffer.

• Por exemplo, quando um dado é lido do disco o sistematraz para a área de buffer não só o dado solicitado, masum bloco de dados.

• O objetivo dessa técnica é minimizar as operações deE/S e, consequentemente, melhorar a eficiência dosistema.

Page 6: 352ncia de Dispositivos [Modo de Compatibilidade]) · striping, que é distribuir as operações de E/S entre os diversos discos físicos contidos no array com o intuito de otimizar

6

11

Device Driver

• O device driver, ou somente driver, tem como funçãoimplementar a comunicação do subsistema de E/S comos dispositivos, por intermédio dos controladores de E/S.

• Enquanto o subsistema de E/S trata de funções ligadasa todos os dispositivos, os drivers tratam apenas dosseus aspectos específicos.

• Os drivers têm como função receber comandos geraissobre acessos aos dispositivos e traduzi-los paracomandos específicos, que poderão ser executadospelos controladores. Cada device driver manipulasomente um tipo de dispositivo ou grupo de dispositivossemelhantes.

12

Device Drivers

Processo

Driver deImpressora

Subsistema de E/ S

Driver deDisco

Driver deFita

Page 7: 352ncia de Dispositivos [Modo de Compatibilidade]) · striping, que é distribuir as operações de E/S entre os diversos discos físicos contidos no array com o intuito de otimizar

7

13

Controlador de Entrada e Saída

• Os controladores de E/S são componentes de hardwareresponsáveis por manipular diretamente os dispositivosde E/S.

• O S.O., mais exatamente o device driver, comunica-secom os dispositivos através de controladores. Em geral,o controlador pode ser uma placa independenteconectada a um slot do computador ou implementado namesma placa do processador.

14

• O controlador possui memória e registradores própriosutilizados na execução de instruções enviadas pelodevice driver. Essas instruções de baixo nível sãoresponsáveis pela comunicação entre o controlador e odispositivo de E/S.

• Em operações de leitura, o controlador deve armazenarem seu buffer interno uma sequência de bitsprovenientes do dispositivo até formar um bloco.

• Após verificar a ocorrência de erros, o bloco pode sertransferido para um buffer de E/S na memória principal.

• Essa transferência pode ser feita pela UCP ou pelocontrolador DMA.

Page 8: 352ncia de Dispositivos [Modo de Compatibilidade]) · striping, que é distribuir as operações de E/S entre os diversos discos físicos contidos no array com o intuito de otimizar

8

15

Técnica de DMA

UCP

Controladorde DMA

Registradores

Buffer

MemóriaPrincipal

Buffer de E/S

Controladorde

Disco

Disco

1

2

3

4

16

• O padrão mais popular para a conexão de dispositivos aum computador é o SCSI (Small Computer SystemsInterface). Inicialmente utilizado em estações RISC, oSCSI pode ser encontrado hoje em sistemas decomputação de todos os portes, desde computadorespessoais até servidores de grande porte.

• O SCSI define padrões de hardware e software quepermitem conectar ao sistema computacionaldispositivos de fabricantes diferentes. Para que isso sejapossível, deve-se configurar o S.O. com um driver SCSIe o hardware com um controlador SCSI, onde osperiféricos são conectados.

Page 9: 352ncia de Dispositivos [Modo de Compatibilidade]) · striping, que é distribuir as operações de E/S entre os diversos discos físicos contidos no array com o intuito de otimizar

9

17

Controlador SCSI

Dis

posi

tivo

s SC

SI

UCP

MemóriaPrincipal

Dis

posi

tivo

s não-S

CSI

18

Dispositivos de Entrada e Saída

• Os dispositivos de E/S são utilizados para permitir acomunicação entre o sistema computacional e o mundoexterno.

• Os dispositivos de E/S podem ser classificados como deentrada de dados, como CD-ROM, teclado e mouse, oude saída de dados, com impressoras, etc.

Page 10: 352ncia de Dispositivos [Modo de Compatibilidade]) · striping, que é distribuir as operações de E/S entre os diversos discos físicos contidos no array com o intuito de otimizar

10

19

Discos Magnéticos

• Entre os diversos dispositivos de E/S, os discosmagnéticos merecem atenção especial, por serem oprincipal repositório de dados utilizado pela maioria dasaplicações e pelo próprio S.O.

• Um disco magnético é constituído por vários discossobrepostos, unidos por um mesmo eixo vertical,girando a uma velocidade constante.

• Cada disco é composto por trilhas concêntricas, que porsua vez são divididas em setores.

20

Estrutura de um disco magnético

Page 11: 352ncia de Dispositivos [Modo de Compatibilidade]) · striping, que é distribuir as operações de E/S entre os diversos discos físicos contidos no array com o intuito de otimizar

11

21

• O tempo utilizado para leitura e gravação de um blocode dados em um disco é função de três fatores: temposde seek, de latência rotacional e de transferência.

• O tempo de seek é o tempo gasto no posicionamento domecanismo de leitura e gravação até o cilindro onde obloco se encontra.

• O tempo de latência rotacional é o tempo de espera atéque o setor desejado se posicione sob o mecanismo deleitura/gravação.

• O tempo de transferência corresponde ao temponecessário para a transferência do bloco entre memóriaprincipal e o setor do disco.

22

Desempenho, redundância e proteção de dados

• No final da década de 1980, pesquisadores daCalifórnia desenvolveram técnicas de gerenciamentode disco que otimizavam as operações de E/S eimplementavam redundância e proteção de dadosconhecidas como RAID (Redundant Arrays ofInexpensive Disk).

• Uma característica fundamental na técnica de RAID éa criação de um dispositivo virtual conhecido comoarray de discos.

Page 12: 352ncia de Dispositivos [Modo de Compatibilidade]) · striping, que é distribuir as operações de E/S entre os diversos discos físicos contidos no array com o intuito de otimizar

12

23

RAID 0

• A técnica de RAID 0, também conhecida comostriping, consiste na implementação do chamado diskstriping, que é distribuir as operações de E/S entre osdiversos discos físicos contidos no array com o intuitode otimizar desempenho.

• Apesar da denominação RAID, esta técnica nãoimplementa qualquer tipo de redundância, só sendovantajosa no ganho de desempenho das operações deE/S.

24

RAID 1: Espelhamento

• A técnica de RAID 1, também conhecida como espelhamento oumirroring, consiste em replicar todo o conteúdo do disco principal,chamado primário, em um ou mais discos denominados espelhos ousecundários.

• A técnica de RAID 1 pode ser implementada por software em umsubsistema JBOD ou por hardware diretamente pelo controlador dedisco em um subsistema RAID externo.

Page 13: 352ncia de Dispositivos [Modo de Compatibilidade]) · striping, que é distribuir as operações de E/S entre os diversos discos físicos contidos no array com o intuito de otimizar

13

25

RAID 5: Acesso independente com paridade distribuída

• A técnica RAID 5 consiste em distribuir os dados entreos discos do array e implementar redundânciabaseada em prioridade. Este mecanismo deredundância é implementado através de cálculos dovalor da paridade dos dados, que são armazenadosnos discos do array junto com os dados.

• A principal vantagem de uma técnica de redundânciaque utiliza paridade é que esta requer um espaçoadicional menor para armazenar informação decontrole que a técnica de espelhamento.

26

RAID 5

Page 14: 352ncia de Dispositivos [Modo de Compatibilidade]) · striping, que é distribuir as operações de E/S entre os diversos discos físicos contidos no array com o intuito de otimizar

14

Prof. André Luís Belini E-mail: [email protected]

Blog: http://profandreluisbelini.wordpress.com/