ensino À distÂncia - static.eventials.com · o sistema possui um conjunto de rotinas que...

40
ENSINO À DISTÂNCIA

Upload: hoangngoc

Post on 27-Nov-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

ENSINO À DISTÂNCIA

ENSINO À DISTÂNCIA

ENSINO À DISTÂNCIA

✓ Atualmente é professor na área de informática da Universidade Salgado de Oliveira(Universo) – campus NITERÓI desde 2000, tendo sido professor no campus SÃOGONÇALO de 2003 a 2008.

✓ Foi Coordenador do Curso de ANÁLISE DE SISTEMAS/SISTEMAS DE INFORMAÇÃO naUNIVERSO campus NITERÓI de 2000 a 19/02/2008.

✓ Possui Curso de Graduação em Engenharia de Telecomunicações pelo IME eMestrado em Sistemas & Computação também pelo IME. Possui Curso deEspecialização em Análise de Sistemas pela PRODESP e no Curso Avançado emSistemas e Computação pela IBM

✓ É Sócio-Diretor da GLOBAL FC CONSULTORIA E SERVIÇOS LTDA - ME.

✓ Atuou como professor em diversas instituições a nível de graduação e pós-graduaçãocom a IBM, USU, Gama Filho, Estácio de Sá, entre outras.

✓ Atuou e atua de 1989 como membro de Bancas em Concursos Públicos com diversasinstituições como CESGRANRIO, FGV, FESP/CEPERJ, FUNCAB, IBAM, SELECON, entreoutras.

ENSINO À DISTÂNCIA

Professor CELSO CARDOSO NETO, M. Sc.

UNIDADE

IV

ENSINO À DISTÂNCIA

ENSINO À DISTÂNCIA

Gerência de Dispositivos de Entrada e Saída

4.1 Princípios de hardware de E/S (classificação de dispositivos de E/S, controladores de dispositivos, comunicação CPU e dispositivos de E/S, DMA)

4.2 Princípios de Software de E/S (drivers, tipos de transferência, camadas de software de E/S)

4.3 E/S programada, E/S orientada à interrupção

4.4 E/S usando DMA

ENSINO À DISTÂNCIA

❖ OBJETIVO

✓ Esta Unidade tem por objetivos apresentar os conceitos fundamentais relacionados à gerência de dispositivos de entrada e saída, com destaque para os princípios de hardware e software de E/S, como também da E/S programada, da E/S orientada à interrupção e da E/S usando DMA.

ENSINO À DISTÂNCIA

❖ INTRODUÇÃO

✓ é uma das principais e mais COMPLEXAS FUNÇÕES do S. O. ✓ Sua implementação é estruturada por meio de camadas,

utilizando o CONCEITO DE MÁQUINA DE NÍVEIS.✓ as camadas de mais baixo nível escondem características das

camadas superiores, oferecendo uma interface simples e confiável ao usuário e suas aplicações.

ENSINO À DISTÂNCIA

Gerência de

dispositivos de

entrada/saída

ENSINO À DISTÂNCIA

❖GERÊNCIA DE DISPOSITIVOS DE ENTRADA/SAÍDA

✓ SUBSISTEMA DE E/S --- função de isolar a complexidade dos dispositivos da camada de sistemas de arquivo e da aplicação.

✓ DRIVER --- oferece uma INTERFACE uniforme entre o Subsistema De E/S e TODOS OS DISPOSITIVOS. Trata aspectos como velocidade de operação, unidade de transferência, representação de dados, tipos de operações e demais detalhes de cada um dos periféricos

✓ As camadas ... divididas em dois grupos, grupo 1 visualiza os diversos tipos de dispositivos do sistema de um modo único, enquanto o 2 é específico para cada dispositivo. A maior parte das camadas trabalha de forma independente do dispositivo.

ENSINO À DISTÂNCIA

✓ O sistema possui 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 e permite ao usuário realizar operações de E/S sem se preocupar com detalhes do dispositivo que está sendo acessado.

✓ O SUBSISTEMA DE ENTRADA E SAÍDA é responsável por realizar as funções comuns a todos os tipos de dispositivos, ficando os aspectos específicos de cada periférico como responsabilidade dos drivers.

❖GERÊNCIA DE DISPOSITIVOS DE ENTRADA/SAÍDA

ENSINO À DISTÂNCIA

✓ Dispositivos de E/S são controlados, com o objetivo de obter o maior compartilhamento possível entre os diversos usuários de forma segura e confiável.

✓ Dispositivos como os DISCOS, podem ser compartilhados, simultaneamente, entre os diversos usuários, sendo o sistema operacional responsável pela integridade dos dados acessados. Outros como as IMPRESSORAS, devem ter acesso exclusivo, e o sistema operacional deve controlar o seu compartilhamento de forma organizada.

✓ O subsistema de E/S implementa mecanismo de proteção de acesso aos dispositivos. A BUFFERIZAÇÃO é técnica que permite reduzir o número de operações de E/S, utilizando uma área de memória intermediária, chamada de BUFFER.

❖GERÊNCIA DE DISPOSITIVOS DE ENTRADA/SAÍDA

ENSINO À DISTÂNCIA

✓ DRIVER ... função implementar a comunicação do subsistema de E/S com os dispositivos, através de controladores. Enquanto o SUBSISTEMA DE E/S trata de funções ligadas a todos os dispositivos, os DRIVERS tratam apenas dos seus aspectos particulares.

✓ Os CONTROLADORES ... componentes de hardware responsáveis por manipular diretamente os dispositivos de E/S. O S. O. por meio do DRIVER, comunica-se com os

dispositivos através dos controladores. O controlador pode ser uma placa independente conectada

a um slot do computador ou implementada diretamente na placa mãe. O controlador possui memória e registradores.

❖GERÊNCIA DE DISPOSITIVOS DE ENTRADA/SAÍDA

ENSINO À DISTÂNCIA

✓ DISPOSITIVOS DE ENTRADA E SAÍDA são utilizados para permitir a comunicação entre o sistema computacional e o mundo externo.

✓ Os dispositivos de e/s podem ser classificados como de entrada de dados, como teclado, mouse e scanner, ou de saída de dados, como impressoras, plotters e monitores. Também é possível que um dispositivo realize tanto entrada como saída de dados, dependendo do momento em que são empregados, como pendrives e impressoras multifuncionais.

❖GERÊNCIA DE DISPOSITIVOS DE ENTRADA/SAÍDA

ENSINO À DISTÂNCIA

PRINCÍPIOS DE HARDWARE✓ Uma das principais funções do S. O. é gerenciar os dispositivos

de Entrada e Saída (E/S) integrados à configuração de um computador.

✓ Os dispositivos de E/S são integrados à configuração dos computadores por meio de interfaces/conectores.

✓ A função básica de um controlador é implementar um conjunto de operações genéricas do tipo “ler dados”, “escrever dados”, “reinicializar”, “ler status” ou “escrever comando”.

✓ Interface SERIAL X PARALELA

❖GERÊNCIA DE DISPOSITIVOS DE ENTRADA/SAÍDA

ENSINO À DISTÂNCIA

✓ A transferência do bloco do buffer interno do controlador para o buffer de E/S na memória principal pode ser realizada pelo processador ou por um controlador de DMA.

✓ O uso da técnica de DMA evita que o processador fique ocupado com a transferência do bloco para a memória.

✓ O controlador de DMA é um dispositivo de hardware que pode fazer parte do computador ou pode ser um dispositivo independente.

PRINCÍPIOS DE HARDWARE❖GERÊNCIA DE DISPOSITIVOS DE ENTRADA/SAÍDA

ENSINO À DISTÂNCIA

✓ O processador “enxerga” o controlador através de um conjunto de registradores, os quais recebem ordens do processador, fornecem o estado de uma operação e permitem a leitura/escrita de dados do/no periférico.

✓ O acesso a esses registradores pode ser feito através de duas técnicas :

1) Entrada e Saída mapeada em espaço de E/S 2) Entrada e Saída mapeada em memória.

PRINCÍPIOS DE HARDWARE❖GERÊNCIA DE DISPOSITIVOS DE ENTRADA/SAÍDA

ENSINO À DISTÂNCIA

1) Mapeamento em espaço de E/S o processador possui instruções especiais para operações de

E/S. um espaço de endereçamento “normal’’ para acessar a

memória e outro dedicado à E/S. 2) Mapeamento em memória reservada uma zona de endereçamento da memória

principal na qual não existirá fisicamente uma memória, mas sim dispositivos de E/S.

Espaço de endereçamento do computador é único, mas alguns endereços (posições de memória) corresponderão a registradores internos de controladores de dispositivos.

PRINCÍPIOS DE HARDWARE❖GERÊNCIA DE DISPOSITIVOS DE ENTRADA/SAÍDA

ENSINO À DISTÂNCIA

✓ Independentemente do tipo de mapeamento de E/S, a interação processador-interface (via controlador) para acessar os dispositivos de E/S pode ser feita através de três técnicas diferentes:

1) E/S programada,

2) E/S por interrupções,

3) E/S baseada no acesso direto à memória (DMA).

PRINCÍPIOS DE HARDWARE❖GERÊNCIA DE DISPOSITIVOS DE ENTRADA/SAÍDA

ENSINO À DISTÂNCIA

✓ O SUBSISTEMA DE E/S de um S. O. é um software bastante complexo devido principalmente à diversidade de dispositivos encontradas atualmente.

✓ Em uma mesma “classe de dispositivos”, existe uma grande variedade, como por exemplo, placas de rede com protocolos, tecnologias e velocidades diferentes, ou ainda discos magnéticos do tipo SCSI, IDE, SATA, ZIP, etc.

PRINCÍPIOS DE SOFTWARE❖GERÊNCIA DE DISPOSITIVOS DE ENTRADA/SAÍDA

ENSINO À DISTÂNCIA

➢ Um conceito fundamental no projeto de software de E/S é conhecido por INDEPENDÊNCIA DO DISPOSITIVO.

Esse conceito propõe que deveria ser possível escrever programas aptos a acessar qualquer dispositivo de E/S sem a necessidade de especificar antecipadamente o

dispositivo. Por exemplo, um programa que lê um arquivo como entrada deveria ser capaz de ler um

arquivo de um HD, de um CDROM, de um DVD ou de um dispositivo USB sem ter de modificar o programa

para cada dispositivo.

PRINCÍPIOS DE SOFTWARE❖GERÊNCIA DE DISPOSITIVOS DE ENTRADA/SAÍDA

ENSINO À DISTÂNCIA

✓ Objetivo principal do Subsistema De E/S é buscar a padronização ao máximo das rotinas de acesso aos periféricos.

✓ Estrutura em camadas

PRINCÍPIOS DE SOFTWARE❖GERÊNCIA DE DISPOSITIVOS DE ENTRADA/SAÍDA

ENSINO À DISTÂNCIA

✓ O hardware interage com os drivers através das interfaces físicas (paralelas ou seriais) e seus controladores e pelo emprego de interrupções e DMA.

✓ As técnicas empregadas para entrada e saída podem ser resumidas no quadro

PRINCÍPIOS DE SOFTWARE❖GERÊNCIA DE DISPOSITIVOS DE ENTRADA/SAÍDA

ENSINO À DISTÂNCIA

E/S PROGRAMADA

❖GERÊNCIA DE DISPOSITIVOS DE ENTRADA/SAÍDA

A FORMA MAIS SIMPLES DE E/S, tendo a CPU fazendo todo o trabalho.

Por EXEMPLO, vamos supor um processo de usuário que precisa imprimir a cadeia de caracteres “ABCDEFGH” na impressora. a) Se a impressora está ocupada com outra tarefa, a

chamada falha e retorna um código de erro, até que a impressora esteja disponível.

ENSINO À DISTÂNCIA

E/S PROGRAMADA

❖GERÊNCIA DE DISPOSITIVOS DE ENTRADA/SAÍDA

b) Se a impressora está livre, o S. O. copia a cadeia de caracteres no buffer da impressora.

c) No processo, o S. O. copia o primeiro caractere para o registrador de dados da impressora, mediante o uso da E/S mapeada na memória, ação essa que ativa a impressora.

d) O primeiro caractere pode ainda não aparecer impresso, porque algumas impressoras armazenam uma linha ou uma página antes de imprimir qualquer coisa.

e) Sendo o primeiro caractere “A” impresso, o sistema já marca o segundo, que é o “B”.

f) E assim, todo o processo de impressão continua até o seu final.

ENSINO À DISTÂNCIA

E/S PROGRAMADA

❖GERÊNCIA DE DISPOSITIVOS DE ENTRADA/SAÍDA

A E/S PROGRAMADA é simples, mas tem a desvantagem de ocupar a CPU o tempo todo.

Era uma técnica usada quando não havia sistema de interrupção (nos computadores antigos era assim ... hoje a técnica só é usada em máquinas simples).

O problema desse método é que as OPERAÇÕES DE E/S são MUITO LENTAS se comparadas com as operações de cálculo.

O emprego de POLLING reduz o desperdício de tempo do processador, mas introduz um outro problema: determinar a

frequência de sua realização. O que é POLLING?

ENSINO À DISTÂNCIA

E/S PROGRAMADA

❖GERÊNCIA DE DISPOSITIVOS DE ENTRADA/SAÍDA

Se a frequência for muito alta, pode significar desperdício de tempo, principalmente se o dispositivo for realmente lento.

Por outro lado, efetuar o POLLING com uma frequência baixa pode acarretar esperas desnecessárias por parte do dispositivo de E/S, ou ainda, o que é pior, perda de informações

O ideal seria que o dispositivo de E/S “chamasse” a atenção do processador logo que o dado estivesse disponível. Isso é possível através do emprego do mecanismo de INTERRUPÇÕES.

ENSINO À DISTÂNCIA

E/S PROGRAMADA

❖GERÊNCIA DE DISPOSITIVOS DE ENTRADA/SAÍDA

Uma forma simples de o POLLING:

❖O sistema de POLLING é o equivalente a ter uma criança no

banco de trás de um automóvel a perguntar continuamente

"já chegamos?" durante uma viagem.

❖O sistema de INTERRUPTS será equivalente a ter a criança a

brincar distraidamente no banco de trás, até que alguém

lhe diga "já chegamos!"

ENSINO À DISTÂNCIA

E/S ORIENTADA À INTERRUPÇÃO

❖GERÊNCIA DE DISPOSITIVOS DE ENTRADA/SAÍDA

Nessa técnica, o processo de impressão não armazena os caracteres, e sim vai imprimindo um a um, à medida que que chegam.

O uso do mecanismo de INTERRUPÇÕES elimina a necessidade de POLLING em operações de E/S. Tem-se então E/S ORIENTADA À INTERRUPÇÃO

ENSINO À DISTÂNCIA

E/S ORIENTADA À INTERRUPÇÃO

❖GERÊNCIA DE DISPOSITIVOS DE ENTRADA/SAÍDA

Aqui o processador é responsável – VIA SOFTWARE – apenas por iniciar uma operação de E/S enviando comandos à interface (controlador).

Após, o processador passa a executar uma outra tarefa, e o controlador, a operação de E/S.

Quando a operação de E/S é concluída, a interface (controlador) interrompe o processador, provocando a execução do tratador de interrupção associado.

O tratador de interrupções, por sua vez, irá acionar o driver do dispositivo.

ENSINO À DISTÂNCIA

E/S ORIENTADA À INTERRUPÇÃO

❖GERÊNCIA DE DISPOSITIVOS DE ENTRADA/SAÍDA

Uma DESVANTAGEM óbvia da E/S orientada à interrupção é a ocorrência de uma interrupção para cada caractere.

Interrupções levam tempo, de modo que o esquema utilizado desperdiça uma certa quantidade de tempo de CPU.

Uma solução é usar o ACESSO DIRETO À MEMÓRIA (DMA).

ENSINO À DISTÂNCIA

E/S USANDO DMA

❖GERÊNCIA DE DISPOSITIVOS DE ENTRADA/SAÍDA

Aqui, a ideia é FAZER O CONTROLADOR DE DMA ALIMENTAR OS CARACTERES PARA A IMPRESSORA UM POR VEZ, SEM QUE A CPU SEJA PERTURBADA.

Na verdade, O DMA EXECUTA E/S PROGRAMADA, EM QUE SOMENTE O CONTROLADOR DE DMA FAZ TODO O TRABALHO, EM VEZ DA CPU. Essa estratégia requer hardware especial para o controlador de DMA.

A GRANDE VANTAGEM DO DMA é reduzir o número de interrupções de uma por caractere para uma por buffer impresso.

ENSINO À DISTÂNCIA

E/S USANDO DMA

❖GERÊNCIA DE DISPOSITIVOS DE ENTRADA/SAÍDA

O emprego de interrupções resolve o problema de determinar o momento exato em que um dispositivo de E/S necessita da atenção do processador,

No entanto, não auxilia na execução de outra tarefa bastante importante em operações de E/S: a transferência de dados.

ENSINO À DISTÂNCIA

E/S USANDO DMA

❖GERÊNCIA DE DISPOSITIVOS DE ENTRADA/SAÍDA

Convém destacar que o processador seria ainda o responsável pela leitura de valores na interface (controlador) e por sua transferência à memória, pela leitura na memória e transferência para a interface.

Quando o volume de dados a ser transferido é importante, esse procedimento torna-se ineficaz pois, além de envolver o processador, essa transferência representa dois movimentos de dados: um da interface (controlador) ao processador, e outro do processador à memória.

Uma solução para isso é transferir diretamente os dados da interface (controlador) para a memória, o que é conseguido por um mecanismo conhecido como DMA (Direct Memory Access).

ENSINO À DISTÂNCIA

E/S USANDO DMA

❖GERÊNCIA DE DISPOSITIVOS DE ENTRADA/SAÍDA

A técnica de DMA baseia-se no emprego de um hardware especial, o controlador de DMA, para realizar a transferência de dados entre um dispositivo e a memória.

Para tanto, o controlador de DMA deve possuir a capacidade de acessar diretamente a memória, sendo então conectado fisicamente ao barramento de dados e de endereços do computador.

ENSINO À DISTÂNCIA

E/S USANDO DMA

❖GERÊNCIA DE DISPOSITIVOS DE ENTRADA/SAÍDA

O controlador de DMA possui internamente uma série de registradores utilizados pelo processador para programar a transferência de dados.

Tipicamente, encontra-se um par de registradores para o armazenamento dos endereços fonte e destino da transferência, um registrador que determina quantos bytes devem ser transferidos, além de registradores de comando e de estado.

ENSINO À DISTÂNCIA

E/S USANDO DMA

❖GERÊNCIA DE DISPOSITIVOS DE ENTRADA/SAÍDA

Para que ocorra uma transferência por DMA é necessário que, em primeiro lugar, o processador inicialize o controlador de DMA, fornecendo informações como quantidade de dados a transferir (tamanho de bloco), a origem e o destino desses blocos, e ainda qual o sentido da transferência, se memória para dispositivo ou vice-versa.

Após essa programação, o processador dispara a execução do DMA, iniciando a transferência. Enquanto o controlador de DMA efetua a transferência, o processador pode dedicar-se a outra tarefa. Ao término da transferência, o controlador de DMA sinaliza o processador através de uma interrupção de hardware.

ENSINO À DISTÂNCIA

E/S USANDO DMA

❖GERÊNCIA DE DISPOSITIVOS DE ENTRADA/SAÍDA

A técnica de DMA é mais eficiente que as anteriores, quando a operação de E/S envolve a leitura (escrita) de muitos dados, como, por exemplo, uma leitura de disco ou a recepção de uma mensagem em uma rede local.

Através do DMA, o processador é liberado da tarefa de transferir vários kBytes de dados do controlador para a memória, e vice-versa, podendo ser empregado para realizar outra tarefa.

ENSINO À DISTÂNCIA

TANENBAUM, Andrew S. Sistemas operacionais Modernos. 2.ed. São Paulo: Pearson, 2012.TANENBAUM. Andrew S. Sistemas operacionais: projeto e implementação. Porto Alegre: Bookman, 2008.DEITEL, Harvey. M., DEITEL, P.J., CHOFINES, D.R. Sistemas operacionais. 3.ed. São Paulo : Pearson Prenticce Hall, 2005.MACHADO, F. B.; MAIA, L. P. Arquitetura de Sistemas Operacionais. Rio de Janeiro: LTC, 1997.TOSCANI, Simão. Sistemas Operacionais - Vol 11. 4ª ed. Artmed, 2010.

ENSINO À DISTÂNCIA