IO - Unijuí

Propaganda
UNIJUI – Universidade Regional do Noroeste do Estado do Rio Grande do Sul
DETEC – Departamento de Tecnologia
Curso: Informática
Disciplina: Sistemas Operacionais
Professor: Edson Luiz Padoin
Nome:_Maiquel Roberto Schneider____
Data: 18/06/2007
Trabalho: Gerenciamento de I/O
Linux:
A performance de um I/O é bem mais complexa que a de um processador, depende de
aspectos sistêmicos (características dos dispositivos, conexão entre o dispositivo e o resto do
sistema, hierarquia de memória e SO), lembre-se que as máquinas interagem com as pessoas por
intermédio dos dispositivos de I/O.
Arquivos de dispositivos
 Representam os dispositivos de e/s.
 Cada um possui 3 atributos:
o Tipo: caracter, bloco.
o Número maior: identifica a classe.
o Número menor: identifica um dispositivo específico em uma classe.
Implementação de E/S
 Comunicação Kernel - DRIVER
o Orientados a Bloco
o Orientados a Caracter
o Dispositivos de Rede
 Comunicação Driver – Controladora
 Comunicação Controladora – Dispositivo
Orientados a Bloco
 Permitem acesso aleatório aos dados
o Possibilita operações de Seek
 Transfere uma quantidade fixa de dados (somente o bloco inteiro)
Orientados a Caracter
 Os devices de caractere são aqueles que podem ser acessados e manejados como um
arquivo normal. Este tipo de driver geralmente implementa as funções primitivas como
open(), close(), read() e write().
Controladores (adapters)
Interface (em hardware) que o dispositivo apresenta ao resto do sistema
 Componente de hardware que conecta os periféricos ao computador
 Interfaces empregam um outro componente: o controlador
O controlador é geralmente constituído por:
o Conjunto de registos programáveis
o Conjunto de registos para dados (escrita/leitura)
o Lógica de controlo
o No fundo é um micro-processador, com ligações aos barramentos do sistema
o São processadores desenvolvidos para realizar determinada função (controlar um
disco rígido)
o Possuem registradores de estado e de controle (CSR), sendo estes utilizados para
inicializar, encerrar, diagnosticar e realizar instruções em um controlador
Dispositivos De Rede
 Não utiliza a interface do VFS
 Utiliza chamadas de sistema especiais
 - listen, bind, socket, etc...
Sistema de arquivos
 Os dispositivos podem ser visualizados no sistema de arquivos.
 Cada dispositivo de e/s é visto como um arquivo especial e se encontram do diretório /dev.
Exemplo: IDEs
Portas seriais
Porta paralela, dispositivo nulo
 /dev/lpN: Corresponde a porta da impressora ou porta de um serviço paralelo. N é o
número correspondente a porta... 0 = LPT1 por exemplo.
Outros
 /dev/console: Este é um dispositivo especial, simbolizando os consoles (terminais nãográficos).
 /dev/null: Este é um dispositivo nulo! Ou seja, tudo que você mandar ou se referir a ele,
será nulo.
2
Windows:
Uma das principais funções de um sistema operacional é controlar os dispositivos de
entrada/saída.
O sistema operacional deve disponibilizar uma interação entre os dispositivos e o resto do
sistema, que seja simples e fácil de usar.
O sistema operacional não se preocupa com o funcionamento interno e com a forma que é
construído o hardware de entrada/saída, mas com a programação e utilização deste hardware.





Principais Funções do SO no I/O
Controlar todos os dispositivos de E/S e emitir comandos;
Interceptar interrupções;
Tratar os erros;
Fornecer uma interface entre os dispositivos e o restante do sistema, uma interface que
seja simples e fácil de usar.
Na medida do possível a interface deve ser a mesma para todos os dispositivos(O código
de E/S representa uma fração significativa de todo o sistema operacional).
Exemplos de dispositivos:
 Entrada: Teclados, mouses, joysticks, digitalizadores de imagem, cameras fotograficas,
leitores de codigo de barra, microfones, etc...
 Saída: Monitores, impressoras, plotters, gravadores de CD, placas de som, etc...
 Armazenamento: Discos flexiveis, discos rigidos, cd-rom, DVDs, Zip-Drivers, unidades de
fita, etc...







windows
Gerenciador está bastante relacionado com gerenciador de plug and play;
Plug end Play é basicamente um barramento enumerável;
Barramentos: PCI, USB, IEEE, SCSI, etc..
Plug and Play envia uma requisição a cada Slot, pedindo que cada dispositivo ali alojado se
identifique;
Depois de descobrir o que existe ele aloca os recursos de Hardware, como níveis de
interrupção, localiza os drivers apropriados e carrega-os na memória;
Um objeto-drive é criado para cada um;
Obs: Linux trata todos os dispositivos como VFS(Virtual File System)
Princípios básicos de hardware
Dispositivos de Entrada e saída:
 dispositivos de bloco: armazena informações em blocos de tamanho fixo, cada um com seu
próprio endereço. Os tamanhos de blocos comuns variam de 512 bytes a 32.768 bytes. A
propriedade essencial de um dispositivo de blocos é que cada bloco pode ser lido ou escrito
independentemente de todos os outros. Os discos são os dispositivos de blocos mais
comuns.
Exemplos: discos-rígidos, CD-ROMs
 dispositivos de carctere: envia ou recebe um fluxo de caracteres, sem considerar qualquer
outra estrutura de blocos. Ele não é endereçável e não dispõe de qualquer operação de
posicionamento. Impressoras, interfaces de redes, mouses e a maior parte de outros
dispositivos que são diferentes dos discos podem ser considerados dispositivos de
Caractere.
Exemplos: teclados, modens, impressoras
 Periférico;
 Interface;
 Controlador
- ler dados;
- escrever dados;
- ler status;
- escrever comando.
As unidades de E/S consistem, usualmente, em um componente mecânico e um
componente eletrônico. Muitas vezes é possível separar as duas partes para permitir o
desenvolvimento de um projeto mais geral e modular.
O componente eletrônico é chamado de Controlador do dispositivo ou Adaptador.
Nos computadores pessoais é freqüente ele se apresentar na forma de uma placa controladora
de circuito impresso que pode ser inserida em um conector de expansão.
O componente mecânico é o dispositivo propriamente dito. Ex: Dispositivos com suas
taxas de transferência entre componentes eletrônicos e mecânicos.




I/O – hardware
Objetivos do Software de I/O
Manipuladores de Interrupção;
Drivers de Dispositivos;
Software do Windows independente do dispositivo;
Software do nível do usuário.
Controladores (adapters)
 Interface (em hardware) que o dispositivo apresenta ao resto do sistema
 O controlador é geralmente constituído por:
o Conjunto de registros programáveis
o Conjunto de registros para dados (escrita/leitura)
o Lógica de controle
o No fundo é um micro-processador, com ligações aos barramentos do sistema
Acesso aos Dispositivos de I/O
E/S programada;
Interrupções;
 Vimos que as interrupções podem ser de três tipos:
o Hardware – geradas por periféricos
o Software – geradas por programas
o Excepções – geradas no próprio processador
 Em questões de I/O, as interrupções de hardware têm um papel muito importante
o Quando um dispositivo termina uma operação de I/O, gera uma interrupção numa
linha de IRQ
DMA (acesso direto a memória).
4
BUS
3. Transferência de dados
1. CPU programa o
controlador DMA
2. Pedido de
transferência
Endereç
o
Contado
r
Controlo
CPU
5. Interrupção
Controlador
de DMA
Buffer
4. Acknowledge
Controlador
de Disco
Memória RAM
* Interrupções de hardware
2. Controlador activa
linha de interrupções
3. CPU envia
1. Dispositivo termina I/O
IRQ é activada
4. Controlador coloca interrupt vector no BUS
Existem basicamente três formas diferentes de efetuar operações de I/O
I/O programada
 O CPU efetua todo o trabalho de I/O
 O CPU vai enviando/recebendo os dados dos dispositivos
 Após despachar cada dado (byte ou bloco), verifica se o periférico está pronto para
continuar
 Este método designa-se por polling
 Desvantagem:
 O processador passa maior parte do tempo em espera ativa







I/O por interrupções
Com este modelo, o processador envia/recebe dados do periférico, mas depois pode-se
dedicar a outro processo
Entretanto quando o periférico está pronto para continuar, interrompe o processador
Após a interrupção o processador envia/recebe mais dados e assim sucessivamente até a
operação de I/O estar concluída
Vantagem
Maior rendimento – o processador pode-se ocupar de outros processos, enquanto não
chega uma interrupção
Desvantagem
As interrupções ocorrem com demasiada frequência
I/O por DMA
5
 Semelhante a I/O programada, mas o controlador DMA substitui o processador
 O processador limita-se a dar as instruções necessárias ao controlador de DMA para iniciar
a transferência de dados
 Quando o controlador termina a transferência de dados, notifica o processador através de
uma interrupção
 Vantagem:
 Uma só interrupção após toda a operação de I/O terminar
 Desvantagem (só em alguns casos):
 Este esquema pode não funcionar se o periférico for demasiado rápido em relação ao
controlador de DMA

Níveis de I/O
 O modelo de I/O para um sistema operativo, pode ser descrito por várias camadas
funcionais
Utilizador
Device independent software
Device drivers
Tratamento de interrupções
Hardware
Tratamento de Interrupções
 Quando ocorre uma interrupção, o SO tem diversas tarefas a efetuar:
o Salva/0000000guardar o conteúdo dos registos do processador
o Estabelecer um contexto para a rotina de tratamento da interrupção (que no fundo é
um processo)
o Enviar sinal ao controlador de interrupções (ou reativá-las, se não existir controlador)
o Executar a rotina de tratamento da interrupção
o Escolher um novo processo para correr
 Entretanto pode ter desbloqueado um processo prioritário, por isso o processo
que vai correr não é necessariamente aquele que perdeu o processador
devido à interrupção
6
Download