7
 Gerência de Dispositivos Caro aluno, Esta é a sétima aula. Seu conteúdo é a Gerência de Dispositivos em Sistemas Operacionais. Este capítulo contém os conceitos básicos para o entendimento de como funcionam a entrada e saída dos dispositivos no Sistema Operacional. Bom estudo! 1.1. Introdução A gerência de dispositivos de entrada/saída é uma das principais e mais complexas funções de um sistema operacional. Sua implementação é estruturada por meio de camadas, em um modelo semelhante ao apresentado para o sistema operacional como um todo. As camadas de mais baixo nível escondem características dos dispositivos das camadas superiores, oferecendo uma interface simples e confiável. Observe na figura a seguir o modo como se estrutura e funciona essa atividade de gerenciamento.

Capítulo 6 - Gerência de Dispositivos de Entrada e Saída_REVISADO

Embed Size (px)

Citation preview

5/17/2018 Cap tulo 6 - Ger ncia de Dispositivos de Entrada e Sa da_REVISADO - slidepdf.com

http://slidepdf.com/reader/full/capitulo-6-gerencia-de-dispositivos-de-entrada-e-saidarevisad

Gerência de Dispositivos

Caro aluno,Esta é a sétima aula. Seu conteúdo é a Gerência de Dispositivos em SistemasOperacionais.

Este capítulo contém os conceitos básicos para o entendimento de comofuncionam a entrada e saída dos dispositivos no Sistema Operacional.

Bom estudo!

1.1.  Introdução

A gerência de dispositivos de entrada/saída é uma das principais e mais complexasfunções de um sistema operacional. Sua implementação é estruturada por meio de camadas, emum modelo semelhante ao apresentado para o sistema operacional como um todo.

As camadas de mais baixo nível escondem características dos dispositivos das camadassuperiores, oferecendo uma interface simples e confiável. Observe na figura a seguir o modocomo se estrutura e funciona essa atividade de gerenciamento.

5/17/2018 Cap tulo 6 - Ger ncia de Dispositivos de Entrada e Sa da_REVISADO - slidepdf.com

http://slidepdf.com/reader/full/capitulo-6-gerencia-de-dispositivos-de-entrada-e-saidarevisad

 Figura 01: Gerência de dispositivos

Fonte: Machado e Maia, 2004. Adaptação.

A diversidade dos dispositivos de E/S exige que o sistema operacionalimplemente uma camada, chamada de subsistema de E/S, com a função deisolar a complexidade dos dispositivos da camada de sistema de arquivos eda 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 dos dados, tipos de operações e demais detalhes de cadaperiférico 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: o primeiro visualiza os diversos tipos dedispositivos do sistema de um modo único (Figura 01), enquanto o segundo é específico paracada dispositivo (Figura 01). A maior parte das camadas trabalha de forma independente dodispositivo.

Controladores

Dispositivos de E/S

Processo

Sistemade Arquivos

Device Drivers

Subsistema de E/S

Operações de E/ S

   M  o   d  o   U  s  u   á  r   i  o

   M  o   d  o   K  e

  r  n  e   l

Independentedo dispositivo

(a)

Dependentedo dispositivo

(b)

   S   O   F   T   W   A   R   E

   H   A   R   D   W   A   R   E

5/17/2018 Cap tulo 6 - Ger ncia de Dispositivos de Entrada e Sa da_REVISADO - slidepdf.com

http://slidepdf.com/reader/full/capitulo-6-gerencia-de-dispositivos-de-entrada-e-saidarevisad

1.2.  Acesso ao subsistema de entrada e saída

O sistema operacional deve tornar as operações de E/S o mais simples possívelpara o usuário e para as aplicações. A fim de que isso aconteça, o sistemapossui um conjunto de rotinas que possibilita a comunicação com qualquer

dispositivo que possa ser conectado ao computador. Esse conjunto de rotinas,denominado rotinas de entrada/saída faz parte do subsistema de E/S epermite ao usuário realizar operações de E/S, sem se preocupar com detalhesdo dispositivo que está sendo acessado. Nesse caso, quando um usuário cria umarquivo em disco, não lhe interessa como é a formatação do disco, nem em quetrilha ou setor o arquivo será gravado.

As operações de E/S devem ser realizadas por meio de  system calls (chamadas desistemas) que chamam as rotinas de E/S do núcleo do sistema operacional. Dessa forma, épossível escrever um programa que manipule arquivos, estejam eles em disquetes, discosrígidos ou fita magnética, 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 E/S.

A maneira mais simples de se ter acesso a um dispositivo é por meio de comandos deleitura/gravação e chamadas a bibliotecas de rotinas oferecidas por linguagens de alto nível,como Pascal ou C. A comunicação entre os comandos de E/S, oferecidos pelas linguagens deprogramação de alto nível e as system calls de E/S é feita simplesmente por meio de passagemde parâmetros. O relacionamento entre o comando e a system call é criado na geração do códigoexecutável do programa. Uma outra forma de acessar um dispositivo é pelo system call diretamente do código em alto nível. A maioria dos sistemas operacionais disponibiliza estafacilidade.

Um dos objetivos principais das system calls de E/S é simplificar a interface entre asaplicações e os dispositivos. Com isso, elimina-se a necessidade de duplicação de rotinas

idênticas nos diversos aplicativos, além de esconder do programador características específicasassociadas à programação de cada dispositivo. A Figura 02 ilustra a comunicação entreaplicação e dispositivos de maneira simplificada.

5/17/2018 Cap tulo 6 - Ger ncia de Dispositivos de Entrada e Sa da_REVISADO - slidepdf.com

http://slidepdf.com/reader/full/capitulo-6-gerencia-de-dispositivos-de-entrada-e-saidarevisad

 

Figura 02: Operações de entrada/saídaFonte: Machado e Maia, 2004. Adaptação.

As operações de E/S podem ser classificadas conforme o seu sincronismo. Umaoperação é dita síncrona, quando o processo que realizou a operação fica aguardando no estadode espera pelo seu término. A maioria dos comandos das linguagens de alto nível funciona

dessa forma. Uma operação é dita assíncrona quando o processo que realizou a operação nãoaguarda pelo seu término e continua pronto para ser executado. Nesse caso, o sistema deveoferecer algum mecanismo de sinalização que avise ao processo que a operação foi terminada.

1.3.  Subsistema de Entrada e Saída

O subsistema de entrada e saída é responsável pela realização das funçõescomuns a todos os tipos de dispositivos, ficando os aspectos específicos decada periférico como responsabilidade dos device drivers. Dessa forma, osubsistema de E/S é a parte do sistema operacional que oferece uma interface

uniforme com as camadas superiores.Cada dispositivo trabalha com unidades de informação de tamanhos diferentes, como

caracteres ou blocos. O subsistema de E/S é responsável por criar uma unidade lógica detransferência independente do dispositivo e repassá-la para os níveis superiores, sem oconhecimento do conteúdo da informação. No caso de a camada superior ser o sistema dearquivos, essa informação poderá ser interpretada como um registro lógico de um arquivo,devendo obedecer a uma certa organização e a um método de acesso estabelecidos.

Normalmente, o tratamento de erros nas operações de E/S é realizado pelas camadasmais próximas ao hardware. Existem, porém, certos erros que podem ser tratados e reportadosde maneira uniforme pelo sistema de arquivos, independentemente do dispositivo. Erros como agravação em dispositivos de entrada, leitura em dispositivos de saída e operações emdispositivos inexistentes podem ser tratados nesse nível.

Device drivers

Dispositivos de E/S

Comandosde E/ S

Rotina s de E/S

System calls de E/ S

Aplicação

Bibliotecas

5/17/2018 Cap tulo 6 - Ger ncia de Dispositivos de Entrada e Sa da_REVISADO - slidepdf.com

http://slidepdf.com/reader/full/capitulo-6-gerencia-de-dispositivos-de-entrada-e-saidarevisad

Todos os dispositivos de E/S são controlados, com o objetivo de se obter, de formasegura e confiável, o maior compartilhamento possível entre os diversos usuários. Algunsdispositivos, como os discos, podem ser compartilhados, simultaneamente, entre diversosusuários, sendo o sistema operacional responsável pela integridade dos dados acessados. Outros,como as impressoras, devem ter acesso exclusivo, e o sistema deve controlar seucompartilhamento de forma organizada. O subsistema de E/S é responsável também porimplementar todo um mecanismo de proteção de acesso aos dispositivos. No momento em que ousuário realiza uma operação de E/S, é verificado se o seu processo possui permissão pararealizar tal operação.

A “bufferização” é outra tarefa realizada por esse subsistema. Essa técnica permitereduzir o número de operações de E/S, utilizando uma área de memória intermediária chamadade buffer . Por exemplo, quando um dado é lido do disco, o sistema traz para a área de buffer  não só o dado solicitado, mas um bloco de dados. Caso haja uma solicitação de leitura de umnovo dado que pertença ao bloco anteriormente lido, não existe a necessidade de uma novaoperação de E/S, melhorando, dessa forma, a eficiência do sistema.

Uma das principais funções do subsistema de E/S é criar uma interface padronizada

com os device drivers). Sempre que um novo dispositivo é instalado no computador, énecessário que um novo driver seja adicionado ao sistema. O subsistema de E/S deve ofereceruma interface padronizada que permita a inclusão de novos drivers sem a necessidade dealteração da camada de subsistema de E/S.

1.4.  Device Drivers

O  device driver, ou somente  driver, tem como função implementar acomunicação do subsistema de E/S com os dispositivos, por meio decontroladores. Enquanto o subsistema de E/S trata de funções ligadas a todosos dispositivos, os drivers tratam apenas dos seus aspectos particulares.

Os drivers têm como função receber comandos gerais sobre acessos aos dispositivos etraduzi-los para comandos específicos, que poderão ser executados pelos controladores. Cadadevice driver manipula somente um tipo de dispositivo ou grupo de dispositivos semelhantes.Normalmente, um sistema possui diferentes drivers, como drivers para disco, fita magnética,rede e vídeo.

Já houve situação em que você já tentou utilizar algum dispositivo (comoimpressora, scanner, webcam, placa de vídeo ou de rede, etc.) e não conseguiuporque o device driver não estava instalado?

5/17/2018 Cap tulo 6 - Ger ncia de Dispositivos de Entrada e Sa da_REVISADO - slidepdf.com

http://slidepdf.com/reader/full/capitulo-6-gerencia-de-dispositivos-de-entrada-e-saidarevisad

 

Figura 03: Device drivers Fonte: Machado e Maia, 2004. Adaptação.

O driver está integrado diretamente às funções do controlador, sendo o componente dosistema que reconhece as características particulares do funcionamento de cada dispositivo deE/S, como número de registradores do controlador, funcionamento e comandos do dispositivo.Sua função principal é receber comandos abstratos do subsistema de E/S e traduzi-los paracomandos que o controlador possa entender e executar. Além disso, o driver  pode realizaroutras funções, como a inicialização do dispositivo e seu gerenciamento.

Por exemplo, na leitura síncrona de um dado em disco, o driver recebe a solicitação deleitura de um determinado bloco e informa ao controlador o disco, cilindro, trilha e setor em queo bloco se localiza, iniciando, dessa forma, a operação (Figura). Enquanto se realiza a leitura, oprocesso que solicitou a operação é colocado no estado de espera até que o controlador avise aUCP do término da operação através de uma interrupção que, por sua vez, ativa novamente odevice driver . Após verificar a inexistência de erros, o device driver  transfere as informaçõespara a camada superior. Com os dados disponíveis, o processo pode ser retirado do estado deespera e retornar ao estado de pronto para continuar seu processamento.

Figura 04: Driver de discoFonte: Machado e Maia, 2004. Adaptação.

Processo

Driver deImpressora

Subsistema de E/ S

Driver deDisco

Driver deFita

Rotinade E/S

Driverde Disco

Controladorde Disco

Ler bloco n Ler setor x

Discos

5/17/2018 Cap tulo 6 - Ger ncia de Dispositivos de Entrada e Sa da_REVISADO - slidepdf.com

http://slidepdf.com/reader/full/capitulo-6-gerencia-de-dispositivos-de-entrada-e-saidarevisad

 

Os device drivers fazem parte do núcleo do sistema operacional, sendo escritosgeralmente em linguagem Assembly. Como os drivers são códigos reentrantes que executam em modo kernel, qualquer erro de programação podecomprometer por completo o funcionamento do sistema. Por isso, um device

driver deve ser cuidadosamente desenvolvido e testado.

Devido ao alto grau de dependência entre os drivers e o restante do núcleo do sistema,os fabricantes desenvolvem, para um mesmo dispositivo, diferentes device drivers, um paracada sistema operacional. Sempre que um novo dispositivo é instalado, o driver do dispositivodeve ser adicionado ao núcleo do sistema.

Nos sistemas mais antigos, a inclusão de um novo driver significava a recompilação dokernel, uma operação complexa e que exigia a reinicialização do sistema. Atualmente, algunssistemas permitem a fácil instalação de novos drivers, sem a necessidade de reinicialização.

Atividades

1.  Explique o modelo de camadas aplicado na gerência de dispositivos.2.  Qual a principal finalidade das rotinas de E/S?3.  Quais as diferentes formas de um programa chamar rotinas de E/S?4.  Quais as principais funções do subsistema de E/S?5.  Qual a principal função de um device driver ?6.  Por que o sistema de E/S deve criar uma interface padronizada com os device drivers?

[1]MACHADO, F.B. e MAIA, L.P.  Arquitetura de Sistemas Operacionais. 4.ed.LTC, 2007.

[2]SILBERSCHATZ, A., GALVIN, P.B., GAGNE, G.  Fundamentos de Sistemas

Operacionais. 6.ed. LTC, 2004.

[3]TANENBAUM, A.S. Sistemas Operacionais Modernos. 2.ed. Pearson Brasil,2007.

[4]OLIVEIRA, R.S., CARISSIMI, A.S., TOSCANI, S.S. Sistemas Operacionais.3.ed. Sagra-Luzzato. 2004.

[5]SIM ES, SERGIO NERY. Sistemas Operacionais I .1 ed. CEFETES, 2008.

_____________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________