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.