Gerência de Dispositivos - IME-USP - Instituto de ...adao/GERDISP.pdf · dispositivo e seu...

Post on 21-Jan-2019

216 views 0 download

Transcript of Gerência de Dispositivos - IME-USP - Instituto de ...adao/GERDISP.pdf · dispositivo e seu...

1

Gerência de Dispositivos

Adão de Melo Neto

2

Gerência de Dispositivos

IntroduçãoAcesso ao Subsistema de E/SSubsistema de E/SDevice DriversControladoresDispositivos de E/SDiscos MagnéticosDesempenho, redundância e proteção de dados

3

Gerência de Dispositivos

4

Gerência de DispositivosA gerência de dispositivos de entrada e saída é uma dasprincipais e mais complexas funções de um sistemaoperacionalSua implementação é estruturada através de camadasA camadas de mais baixo nível escondem ascaracterísticas dos dispositivos das camadas superioresoferecendo uma interface simples e confíavel.

5

Gerência de DispositivosAs camadas são

divididas em dois grupos

A sua implementação é estruturada

através de camadas

As camadas de mais baixonível escondem as características dos

dispositivos das camadassuperiores

6

SUBSISTEMA DE E/S

– Tem como função isolar a complexidade dosdispositivos das camadas de sistema de arquivos e daaplicação

– Torna o sistema flexível permitindo a comunicaçãodos processos com qualquer tipo de periférico

Gerência de Dispositivos

7

Gerência de DispositivosTem como função isolar a

complexidade dos dispositivos das camadas de sistema de arquivos

e da aplicação

Torna o sistema flexível permitindo a comunicação

dos processos com qualquer tipo de periférico

8

DEVICE DRIVER

– Oferece uma interface entre o subsistema de E/S etodos os dispositivos (Hardware)

– Trata de aspectos como:• velocidade de operação• Unidade de transferência• Representação dos dado• Tipos de operações e• Demais detalhes de cada um dos periféricos

Gerência de Dispositivos

9

Gerência de DispositivosOferece uma interface entre

o subsistema de E/S e todos os dispositivos

(Hardware)

Trata de aspectos como velocidade de operação, unidade de

transferência, representação dos dados,

tipos de operações e demais detalhes de cada um dos periféricos

10

Acesso ao Subsistema de E/SO sistema possui um conjunto de rotinas (que fazparte do subsistema de E/S) que possibilita acomunicação com qualquer dispositivo que possaser conectado ao computador.As operações de E/S devem ser realizadas atravésde System Calls que chamam as rotinas de E/S dokernel do sistema operacional.Desta forma é possível escrever programas quemanipulem arquivos, estejam eles em disquetes,discos rígidos ou qualquer outro dispositivo.

11

Acesso ao Subsistema de E/S

12

Acesso ao Subsistema de E/S As operações de E/S devem ser realizadas através de System Calls de E/S que chamam as rotinas de E/S do kernel do sistema operacional.

Desta forma é possível escrever programas que manipulem arquivos, estejam eles em disquetes, discos rígidos ou qualquer outro dispositivo.

13

Acesso ao Subsistema de E/SComunicação entre comandos de E/S oferecidospelas linguagens de programação (C, C++, C# ,etc ) são feitas por passagem de parâmetros,como caminho para o arquivo e tipo de operação(leitura ou escrita)O compilador da linguagem relaciona o comandoe a system call

14

Acesso ao Subsistema de E/SComunicação entre comandos de E/S oferecidos pelas linguagens de programação(C, C++,etc ) são feitas por passagem de parâmetros, como caminho para o arquivo e tipo de operação (leitura ou escrita)

O compilador da linguagem relaciona o comando e a system call

15

SUBSISTEMA DE E/S

– Tem como função isolar a complexidade dosdispositivos das camadas de sistema de arquivos e daaplicação

– Torna o sistema flexível permitindo a comunicaçãodos processos com qualquer tipo de periférico

Gerência de Dispositivos

16

Gerência de DispositivosTem como função isolar a

complexidade dos dispositivos das camadas de sistema de arquivos

e da aplicação

Torna o sistema flexível permitindo a comunicação

dos processos com qualquer tipo de periférico

17

Subsistema de E/SResponsável por realizar funções comuns a todos ostipos de dispositivos ficando aspectos específicos decada periféricos como responsabilidade dos driversÉ parte do sistema operacional que oferece umainterface uniforme com as camadas superiores.

18

Subsistema de E/SResponsável por realizar funções comuns a todos os tipos de dispositivos ficando aspectos específicos de cada periféricos como responsabilidade dos drivers

É parte do sistema operacional que oferece uma interface uniforme com as camadas superiores.

19

Subsistema de E/SÉ responsável por implementar todo um mecanismo deproteção de acesso aos dispositivos. No momento queum usuário solicita uma operação de E/S, é verificado seseu processo possui a permissão para realizar aoperaçãoNo momento que um usuário solicita uma operação deE/S, é verificado se seu processo possui a permissãopara realizar a operação

20

Subsistema de E/SResponsável por implementar todo ummecanismo de proteção de acesso aos dispositivos. No momento que um usuário solicita uma operação de E/S, é verificado se seu processo possui a permissão para realizar a operação

21

Subsistema de E/S

É responsável por criar uma interface padronizada comos device drivers.O subsistema tem que oferecer uma interfacepadronizada que permita a inclusão de novos drivers(que é necessário quando um novo dispositivo éinstalado) sem a alteração da camada de subsistema deE/S.

22

Subsistema de E/SResponsável por criar uma interface padronizada com os device drivers. O subsistema tem que oferecer uma interfacepadronizada que permita a inclusão de novos drivers (que é necessário quando um novo dispositivo é instalado) sem a alteração a camada de subsistema de E/S.

23

DEVICE DRIVER

– Oferece uma interface entre o subsistema de E/S etodos os dispositivos (Hardware)

– Trata de aspectos como:• velocidade de operação• Unidade de transferência• Representação dos dado• Tipos de operações e• Demais detalhes de cada um dos periféricos

Gerência de Dispositivos

24

Gerência de DispositivosOferece uma interface entre

o subsistema de E/S e todos os dispositivos

(Hardware)

Trata de aspectos como velocidade de operação, unidade de

transferência, representação dos dados,

tipos de operações e demais detalhes de cada um dos periféricos

25

Device Drivers

26

Tem como função implementar a comunicação dosubsistema de E/S com os dispositivos, através decontroladores.Trata apenas de aspectos particulares dosdispositivos.Tem como função receber comandos gerais sobreacesso aos dispositivos e traduzi-los em comandosespecíficos para aquele dispositivo em questão.Cada driver manipula somente um tipo de dispositivoespecífico ou grupo de dispositivos semelhantes

Device Driver (ou driver)

27

Esta ligado diretamente às funções do controlador.É o componente do sistema que reconhece ascaracterísticas particulares do funcionamento decada dispositivo de E/S, como o número deregistradores do controlador, funcionamento ecomandos específicos.

Device Driver (ou driver)

28

Sua função principal é receber comandos abstratosdo sistema de E/S e traduzi-los para comandos que ocontrolador possa entender e executar.Pode realizar outras funções como a inicialização dodispositivo e seu gerenciamento

Device Driver (ou driver)

29

Os drivers fazem parte do núcleo do sistemaoperacional, sendo escritos normalmente emassembly.Executam no modo kernel . Qualquer erro deprogramação pode comprometer o funcionamento dosistema e por isso deve ser cuidadosamentedesenvolvido e testado.

Device Driver (ou driver)

30

Gerenciamento de dispositivo

31

Alta dependência entre os drivers e o restante dokernel do sistema os fabricantes desenvolvemdiferentes drivers para um mesmo dispositivo:– Um para cada arquitetura de processador (32 ou 64 bits)– Um para cada sistema operacional.

Sempre que um dispositivo é instalado, um driver dodispositivo deve ser adicionado ao kernel dosistema

Device Driver (ou driver)

32

Controladoras

33

ControladoresControladores são componentes de hardware responsáveispor manipular diretamente os dispositivos de E/SPode ser uma placa independente conectada a um SLOTdo computador ou implementado diretamente na placa-mãe.

34

ControladoresO controlador possui memória e registradores própriosutilizados na execução de instruções enviadas pelo driver.Essas instruções, de baixo nível, são responsáveis pelacomunicação entre o controlador e o dispositivo de E/S.

35

Técnica DMAEm operações de leitura, o controlador deve armazenar emseu buffer interno uma seqüência de bits provenientes dodispositivo 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.A transferência do bloco do buffer interno do controladorpara o buffer de E/S na memória principal pode serrealizada pelo processador ou por um controlador deDMA .

36

Técnica DMAO uso da técnica de DMA evita que o processador fiqueocupado com a transferência do bloco para a memória.O controlador de DMA é um dispositivo de hardware quepode fazer parte do computador ou pode ser um dispositivoindependente.

37

Dispositivos de E/SA transferência de dados pode ocorrer através de blocosde informação ou caracteres por meio controladores dosdispositivos.Em função da forma com que os dados são armazenados,os dispositivos de E/S podem ser classificados em duascategorias: dispositivos estruturados e dispositivos não-estruturados

38

Dispositivos de E/SDispositivos estruturados (block devices)– Caracterizam-se por armazenar informações em blocos

de tamanho fixo possuindo cada qual um endereço quepode ser lido ou gravado de forma independente dosdemais.

Classificação dos Dispositivos estruturados– Os dispositivos estruturados classificam-se em

dispositivos de acesso direto e seqüencial, em funçãoda forma com que os blocos são acessados.

39

Dispositivos de E/SDispositivo de Acesso Direto– Um dispositivo é classificado como de acesso direto

quando um bloco pode ser recuperado diretamenteatravés de um endereço.

– O HD é o um exemplo de dispositivo de acesso direto.

40

Dispositivos de E/SDispositivo de Acesso Sequencial– Um dispositivo é do tipo de acesso seqüencial quando

para acessar um bloco, o dispositivo deve percorrersequencialmente dos demais blocos.

– A Fita Magnética é um exemplo deste tipo dedispositivo.

41

Dispositivos de E/SDispositivos não-estruturados– Os dispositivos não-estruturados (character devices)

são aqueles que enviam ou recebem uma seqüência decaracteres sem estar estruturada no formato de blocos.

– Desse modo, a seqüência de caracteres não éendereçável, não permitindo operações de acesso diretoao dado.

– Dispositivos como terminais, impressoras e interfacesde rede são exemplos de dispositivos não-estruturados.