Upload
internet
View
123
Download
1
Tags:
Embed Size (px)
Citation preview
1
Entrada e Saída
Sistemas Operacionais
2
Princípios básicos de hardware
• Periférico é um dispositivo conectado a um computador de forma a possibilitar sua interação com o mundo externo
• Os periféricos são conectados ao computador através de um componente denominado interface
• As interfaces são interconectadas aos barramentos internos do computador
• As interfaces possuem registradores internos, através dos quais são acionadas
• Interfaces possuem um microprocessador (controlador ou controladora) dedicado a realização e controle das operações de entrada e saída
3
Arquitetura de Entrada e Saída
• Dispositivo de E/S possui uma parte mecânica e outra eletrônica
• Tipos de conexão e transferência de dados
DISPOSITIVOSI/O
INTERFACESDO
COMPUTADOR BARRAMENTO
INTERCONEXÃO FÍSICA DAS INTERFACES COM DISPOSITIVOS I/O
INTERFACE SERIAL
TRANSFERÊNCIA DE
DADOS
INTERFACE PARALELA
Apenas com uma linha paratransferência de dados
(bit a bit)
Mais de uma linha paratransferência de dados
Ex.: n x 8 bits
Arquitetura de Entrada e Saída
Dispositivos de Entrada e Saída
• Classificados de acordo com o tipo de entidade que interagem
– Comunicação do homem com o computador• Teclado, mouse, monitor, etc
– Comunicação entre computadores• Modems, placas de redes, etc
– Aqueles destinados ao armazenamento de informações• Fitas, Discos, CD-Rom, etc
Dispositivos de Entrada e Saída
• Classificados de acordo com o fluxo de dados
– De entrada– De saída– De entrada e saída
7
Dispositivos de Entrada e Saída
• Classificados como:– Orientados a caractere
• Unidade de transferência é o caractere– Ex. Teclado, interface serial (mouse)
– Orientados a bloco• Unidade de transferência de dados é um bloco de caracteres
(tamanho fixo)– Ex. disco
8
Tipos de conexão e transferência de dados
• Dois tipos de intefaces– Interface Serial
• Apenas uma linha p/ transferência – Interface Paralela
• Mais de uma linha
9
Dispositivos de Entrada e Saida
• Apresentam características próprias– Taxa de transferência de dados– Complexidade de controle– Unidade de transferência– Tratamento de erros
10
Como controladores e SO interagem?
• Controladora é programada via registradores da interface
11
Espaço de endereçamento
– Conjunto de endereços de memória que o processador consegue acessar diretamente
– A forma de acessar os registradores (das interfaces) dos periféricos é definida no projeto do processador
12
Técnicas para realizar E/S
• E/S programada• E/S orientada à interrupções• Acesso direto à memória
13
E/S programada
• Toda interação entre o processador e o controlador é de responsabilidade do programador
• Ciclo de funcionamento– Envia comando ao controlador– Espera término do comando
• Processador espera o término da operação
14
E/S orientada à interrupção
• Processador inicia a operação de E/S
• Enquanto interrupção não ocorre, a CPU pode executar outras tarefas (portanto, evita desperdício de tempo de CPU)
15
DMA – Acesso direto à memória
• Transfere diretamente um bloco de dados entre o dispositivo E/S e a memória
• Interrupção só quando acaba a transferência de todo o bloco
• Processador só se envolve com E/S no início e no fim da transferência
16
Objetivos da gerência de E/S
• Eficiência• Uniformidade é desejável:
– Todos dispositivos enxergados da forma mais uniforme possível
• Esconder os detalhes (estes são tratados pelas camadas de mais baixo nível)
17
Princípios básicos de sw de E/S
• Subsistema de E/S é complexo dada a diversidade de periféricos
• Padronizar ao máximo para reduzir número de rotinas– Novos dispositivos não alteram a visão do usuário em
relação ao SO• Organizado em camadas
18
Estrutura do subsistema E/S
driverteclado
driverSCSI
driverEIDE
driverfloppy
driverrede
Hardware
E/S independente do dispositivo
E/S nível de usuário
Interface padrão para drivers de dispositivos (API)
Softw
are
Sis
tem
a op
erac
iona
l
19
Visão Geral do software de E/S
• Tratador de interrupção– É acionado ao final da operação de transferência– Aciona driver
• Driver de dispositivo– Recebe requisições– Configura (aciona) o controlador
20
Driver de Dispositivo
• Conjunto de estruturas de dados e funções que controlam um ou mais dispositivos com interface bem definida
• Fornecido pelo fabricante do periférico• Vantagens:
– Isola código especifico do dispositivo– Facilidade de adicionar novos drivers– O kernel fica isolado de modificações dos drivers– O sistema tem uma visão uniforme dos dispositivos
21
E/S Independente de dispositivo
• Escalonamento– Determina melhor ordem para atendimento à
requisições de E/S– Divide de forma justa o acesso a periféricos
• Manipulação de buffers– Área de armazenamento temporária
• Direitos de acesso– Controlar acesso à dispositivos de acordo com as
suas permissões • Tratamento de erros
– Informar à camada superior que houve erro
22
E/S a nível de usuário
• Implementação, em nível de linguagem de programação, de rotinas que permitem programas fazer acesso à dispositivos
• Estas rotinas estão em bibliotecas da linguagem• Interagem com as funções da API do SO (chamada
de sistema)
23
Disco
• Dispostos em alturas diferentes com auxílio de um eixo central (spindle).
• A tecnologia atual permite superpor até 8 discos.• As duas superfícies de cada disco são recobertas
por uma película magnética na qual os dados são gravados.
• O eixo gira a uma rotação constante (ex. 5400 rpm) • Os cabeçotes de leitura/gravação (um para cada
superfície de disco) realizam movimentos de vai-e-vem (seek)
24
Disco
25
Disco
• Tempo de acesso
• Onde – taccess é o tempo de acesso total– tseek é o tempo de movimentação do cabeçote– tlatency é o tempo de atraso rotacional– ttransfer é o tempo para transferir os dados
tttt transferlatencyseekaccess