Vous êtes sur la page 1sur 60

Sistemas Operacionais

Prof. MSc. Jos Hermano Cavalcanti Filho

jose.cavalcanti@ifpb.edu.br

http://www.ifpb.edu.br
Sistema de Entrada e Sada E/S (Input/Output) Viso Geral

n Principais objetivos:

q Estabelecer uma interface que seja a mais simples possvel


para que as aplicaes possam controlar as distintas
caractersticas dos dispositivos de entrada/sada;

q Otimizar a E/S para obteno de um maior paralelismo,


tendo em vista que tais dispositivos so em geral
componentes crticos para o desempenho;

q Estruturao em camadas de HW e SW, a fim de prover uma


interface simples e confivel para o usurio e suas
aplicaes;
Sistema de Entrada e Sada E/S (I/O) Viso Geral

n Resumindo:

q Controlar todos os dispositivos de E/S do computador:

v Emitindo comandos para os dispositivos;

v Atendendo interrupes e;

v Manipulando erros;
Sistema de Entrada e Sada E/S (I/O) Viso Geral
Sistema de Entrada e Sada E/S (I/O)

n Principal tarefa:

q Toda computao comea com uma entrada de dados;

q Toda computao termina com uma sada de dados;

q O tempo de resposta dos dispositivos de I/O so MUITO


diferentes que o tempo de componentes como memria e
processador;
Sistema de Entrada e Sada E/S (I/O)

n Tempo de resposta de dispositivos:


Sistema de Entrada e Sada E/S (I/O)

n Viso padronizada:

q O usurio no deve se preocupar se o dispositivo est ligado


numa placa ou na placa me;

q O usurio no deve se preocupar com o tempo de resposta;

q O usurio no deve se preocupar com as caractersticas


mecnicas do dispositivo;

q O SO deve tratar da melhor maneira possvel falhas de


hardware;
Sistema de Entrada e Sada E/S (I/O)

n Controlar acesso concorrente:

q Alguns dispositivos no so preemptveis:


v Ex.: Portas Seriais;

q Alguns deles nem so compartilhveis:


v Ex.: Impressoras, Gravador de CDs;

q O sistema deve evitar situaes de deadlock e prover acesso


justo a todos os recursos por todos os processos;
Sistema de Entrada e Sada Princpios de Hardware

n A comunicao de um dispositivo com o sistema


computacional feita atravs do envio de sinais (cabo ou ar)
num ponto de conexo chamado de porta;

n O meio usado por um ou mais dispositivos para conexo


com o computador chamado de barramento;

n Para cada barramento, definido um protocolo que


especifica um conjunto de mensagens que podem ser
enviadas pelos fios;
Sistema de Entrada e Sada Princpios de Hardware

n Dispositivos podem variar de diversas maneiras:

q O acesso aos dados armazenados pode ser sequencial


(modem) ou aleatrio (cd-rom);

q Os dados podem ser transferidos de forma sncrona (fita) ou


assncrona (teclado);

q Os dispositivos podem ser restritos a um nico processo


(fita) ou compartilhados simultaneamente por vrios
(teclado);

q O acesso pode ser apenas para leitura (cd-rom), apenas


para escrita (monitor) ou para leitura e escrita (disco);

q A velocidade de acesso pode variar muito;


Sistema de Entrada e Sada Princpios de Hardware

n Responsveis pela comunicao entre o computador e o


mundo externo;

n Muitos tipos de dispositivos so usados em computadores,


como:

q Dispositivos de armazenamento (discos, fitas);


q Dispositivos de transmisso (placas de rede, modems);
q Dispositivos de interface com usurios (tela, teclado, mouse);

n A transferncia de dados, realizada por intermdio dos


controladores, pode ser atravs de blocos de informaes
ou palavra a palavra;
Sistema de Entrada e Sada Princpios de Hardware

n Tipos de Dispositivos:

q Dispositivos de Bloco (disco);

q Dispositivos de Caractere (terminal);


Sistema de Entrada e Sada Princpios de Hardware

n Dispositivos de Bloco (disco):

q Acesso em conjuntos de n Bytes (Blocos);

q Cada bloco tem um endereo diferente;

q Transferncias so em um ou mais blocos;

v Ex.: Disco, Pen Drive e CDROM;


Sistema de Entrada e Sada Princpios de Hardware

n Dispositivos de Caractere (terminal):

q Acesso em Bytes;

q Transferncias em fluxo de caracteres;

q No enderevel;

v Ex.: Impressoras, Rede e Mouse;


Sistema de Entrada e Sada Princpios de Hardware

n Exemplo de Dispositivos de Bloco e Caracteres:


Sistema de Entrada e Sada Princpios de Hardware

n Arquitetura PC:
Sistema de Entrada e Sada Princpios de Hardware

n Controladores de Dispositivos:

q Unidades de E/S consistem tipicamente de:


v Componentes mecnicos (o dispositivo);
v Componentes eletrnicos (o controlador);

q Tal diferena deve ser ressaltada, uma vez que o SO v o


controlador e no o dispositivo;

q Normalmente, mini e microcomputadores usam um


barramento nico para comunicao entre CPU e os
controladores (atravs de device drivers);
Sistema de Entrada e Sada Princpios de Hardware

n Controladores de Dispositivos:

q Como o processador envia comandos e dados a um


controlador para que seja feita uma transferncia de dados?

v O controlador possui memria e registradores prprios


para armazenar dados e sinais de controle, de forma a
executar instrues enviadas pelo device driver;
Sistema de Entrada e Sada Princpios de Hardware

n Controladores de Dispositivos:

q O SO realiza E/S, escrevendo comandos e seus parmetros


nestes registradores dos controladores:

v As instrues de E/S especiais podem ser usadas para


especificar a transferncia de um byte ou palavra para
uma porta de E/S, que tem um determinado endereo;

v A instruo de E/S faz com que o dispositivo apropriado


seja selecionado de acordo com o sinal transmitido no
barramento e que os bits sejam ento transferidos para
um registrador ou a partir de um registrador do
dispositivo;
Sistema de Entrada e Sada Princpios de Hardware

n E/S Mapeamento de Memria

q Cada controlador tem alguns registradores usados para a


comunicao com a CPU;

q Por meio da escrita nesses registradores, o SO pode


comandar o dispositivo para entregar ou aceitar dados,
alternar por si mesmo entre ligar e desligar ou executar
alguma outra tarefa;

q A partir da leitura desses registradores, o SO pode descobrir


o estado do dispositivo, se ele est preparado para aceitar
um novo comando e assim por diante;
Sistema de Entrada e Sada Princpios de Hardware

n Conexo da CPU com os dispositivos de I/O


a) Arquitetura com barramento nico;
b) Arquitetura de memria com barramento duplo;
Sistema de Entrada e Sada Princpios de Hardware

n E/S Mapeamento de Memria

q A CPU precisa enderear os controladores dos dispositivos


para poder trocar dados com eles;

q A CPU pode requisitar dados de um controlador de E/S, um


byte de cada vez, mas, fazendo isso desperdia muito tempo
de CPU, de modo que um esquema diferente chamado de
acesso direto memria (DMA Direct Memory Access)
muitas vezes usado;

q Normalmente, um nico controlador de DMA se encontra


disponvel para controlar as transferncias para vrios
dispositivos, as quais podem ocorrer, muitas vezes
simultaneamente;
Sistema de Entrada e Sada Princpios de Hardware

n Acesso direto memria (DMA):

q Visa melhorar a performance geral no micro, permitindo que


os perifricos transmitam dados diretamente para a memria,
poupando o processador de mais esta tarefa;

q Existem 8 portas de DMA e, como acontece com os pedidos


de interrupo, dois dispositivos no podem compartilhar o
mesmo canal DMA, caso contrrio haver conflito;
Sistema de Entrada e Sada Princpios de Hardware

n Acesso direto memria (DMA):


Sistema de Entrada e Sada Princpios de Hardware

n Acesso direto memria (DMA):


Sistema de Entrada e Sada Princpios de Hardware

n Transferncia entre o dispositivo e a memria sem DMA:

q 1 Controlador l do disco;

q 2 Controlador checa integridade;

q 3 Controlador interrompe a CPU;

q 4 SO em loop copia os dados do controlador para memria


principal;
Sistema de Entrada e Sada Princpios de Hardware

n Transferncia entre o dispositivo e a memria com DMA:


Sistema de Entrada e Sada Princpios de Hardware

n Desvantagens de usar DMA:

q A CPU muito mais rpida que o controlador de DMA;

q Se os dispositivos de I/O no so to lentos melhor que a


CPU espere pelo I/O;

q Usando DMA a CPU espera pelo controlador DMA que


espera pelo dispositivo;

q Em sistemas embarcados isso implica em um custo por


vezes muito alto;
Sistema de Entrada e Sada Princpios de Software

n Interrupes:

q Provm comunicao assncrona com a CPU;

q Funcionamento:
Sistema de Entrada e Sada Princpios de Software

n Gerenciador de Interrupes:

q Nvel mais baixo antes do fsico;

q So pequenos trechos de cdigo executados quando ocorre


uma interrupo;

q a responsvel por comunicar aos nveis superiores quando


uma operao foi completada;

q Devem ser escondidos de outros blocos do SO;


Sistema de Entrada e Sada Princpios de Software

n Gerenciador de Interrupes:

1. salva registradores que ainda no foram salvos pelo hardware


de interrupo;
2. estabelece contexto para rotina de tratamento de interrupo;
3. estabelece uma pilha para a rotina de tratamento de
interrupo;
4. sinaliza o controlador de interrupo, reabilita as interrupes;
5. copia os registradores de onde eles foram salvos;
6. executa rotina de tratamento de interrupo;
7. escolhe o prximo processo a executar;
8. estabelece o contexto da MMU para o prximo processo a
executar;
9. carrega os registradores do novo processo;
10. comea a executar o novo processo;
Sistema de Entrada e Sada Princpios de Software

n Drivers de dispositivos (Device Drivers):

q Contm todo o cdigo dependente do dispositivo;

q Comunica-se com as controladoras enviando os comandos e


preenchendo registradores;

q Traduo de instrues abstratas para comandos concretos


do dispositivo;

q Tratamento de possveis erros do dispositivo;

q O criador do hardware desenvolve para o SO;


Sistema de Entrada e Sada Princpios de Software

n Drivers de dispositivos:

q O SO oferece uma interface padro para o desenvolvimento


de drivers;

v De Bloco;

v De Caractere;
Sistema de Entrada e Sada Princpios de Software

n Drivers de dispositivos:
Sistema de Entrada e Sada Princpios de Software

n Camadas de Software E/S:


Sistema de Entrada e Sada Princpios de Software

n Interface uniforme para os drivers dos dispositivos:

a) Sem uma interface-padro para o driver;

b) Com uma interface-padro para o driver;


Sistema de Entrada e Sada Princpios de Software

n Funes do software independente de dispositivo:

q Uniformizar interfaces para os drivers de dispositivos;

q Armazenamento em buffer;

q Reportar erros;

q Alocar e liberar dispositivos dedicados;

q Providenciar um tamanho de bloco independente de


dispositivos;
Sistema de Entrada e Sada Princpios de Software

n Software independente de dispositivo:


q Armazenamento em buffer:
a) Entrada sem utilizao de buffer;
b) Utilizao de buffer no espao do usurio;
c) Utilizao de buffer no ncleo seguido de cpia para o
espao do usurio;
d) Utilizao de buffer duplo no ncleo;
Sistema de Entrada e Sada Princpios de Software

n Viso geral do software de I/O:


Sistema de Entrada e Sada RAID

n RAID (redundant array of independent disks):

q Conjunto redundante de discos independentes;

q Consiste em um conjunto de dois ou mais discos rgidos


com dois objetivos bsicos:

Tornar o sistema de disco mais rpido, atravs de uma


tcnica chamada diviso de dados (RAID 0 - stripping);

Tornar o sistema de disco mais seguro, atravs de uma


tcnica chamada espelhamento (RAID 1 mirroring);

q Essas duas tcnicas podem ser usadas isoladamente ou


em conjunto;
Sistema de Entrada e Sada RAID via Software

n Na implementao via software, o SO gerencia o RAID


atravs de controladora de discos, sem a necessidade de um
controlador de RAIDs, tornando-a mais barata;

n Nesse tipo de implementao, todo o processamento


necessrio para o gerenciamento do RAID feito pela CPU;

q Toda movimentao de dados (leitura e escrita) feita por


uma camada de software que faz a abstrao entre a
operao lgica (RAID) e os discos fsicos, e controlada
pelo SO;
Sistema de Entrada e Sada RAID via Hardware

n Controladoras RAID em hardware usam layouts de disco


proprietrios;

n Normalmente no possvel misturar controladoras de


fabricantes diferentes;

n Requer pelo menos uma controladora especialmente


dedicada para isso;

n A controladora e os discos utilizados devem ser isolados;

n Podem estar conectados diretamente ao computador, ou


conectados via SAN (Rede de rea de Armazenamento);
Sistema de Entrada e Sada RAID via Hardware
Sistema de Entrada e Sada RAID via Hardware

n Promovem performance garantida, no sobrecarregam o


processador e podem suportar vrios SOs, j que a
controladora apresentar ao SO um disco simples;

n A maioria tambm suporta hot-swapping, permitindo que


discos com falha sejam substitudos enquanto o sistema
est sendo executado;
Sistema de Entrada e Sada RAID 0 (Data Stripping)

n A informao segmentada e, cada segmento, armazenado


em cada unidade do arranjo;

n Neste nvel, no h redundncia, pois h somente uma


diviso (stripping) da informao;

n A nica vantagem do RAID 0 o ganho de velocidade no


acesso a informao;
Sistema de Entrada e Sada RAID 0 (Data Stripping)

n Dois ou mais discos rgidos so agrupados;

n Os dados so gravados distribuindo-se a carga entre os


discos que fazem parte da matriz;

n Esse mtodo no muito seguro, j que se um disco falhar,


todos os dados sero perdidos;

n No entanto, o mais rpido, pois a leitura e a gravao so


distribudas;
Sistema de Entrada e Sada RAID 0 (Data Stripping)
Sistema de Entrada e Sada RAID 1 (Data Mirroring)

n A informao gravada igualmente em todas as unidades


(mirror espelho);

n partir deste nvel, h redundncia de dados, pois com a


duplicidade da informao, quando uma unidade falha, o seu
espelho (mirro) assume;

n A escrita feita em pares de unidades, enquanto a leitura


ocorre em todas as unidades ao mesmo tempo;
Sistema de Entrada e Sada RAID 1 (Data Mirroring)

n Tambm chamado de espelhamento: um dos discos serve de


espelho para o outro;

n Tudo que gravado em um dos discos gravado no outro;

n Isso faz com que a performance de gravao seja um pouco


prejudicada, no entanto, a leitura dos dados acelerada;

n uma forma bem segura, mas tambm a mais cara, sendo


que apenas 50% do espao disponvel aproveitado;
Sistema de Entrada e Sada RAID 1 (Data Mirroring)
Sistema de Entrada e Sada RAID 0 + 1

n Uma combinao dos nveis 0 e 1, onde os dados so


divididos entre os discos para melhorar o rendimento, mas
tambm utilizam outros discos para duplicar as
informaes;

n necessrio pelo menos 4 discos para montar um RAID


desse tipo;

n Se um dos discos vier a falhar, o sistema vira um RAID 0;


Sistema de Entrada e Sada RAID 0 + 1

n Vantagens:
q Segurana contra perda de dados;
q Pode falhar 1 dos HDs ou os dois do mesmo Diskgroup,
porm deixando de ser RAID 0 + 1;

n Desvantagens:
q Alto custo de expanso de hardware ( no mnimo 4 HDs);
q Os drives devem ficar em sincronismo de velocidade para
obter a mxima performance;
Sistema de Entrada e Sada RAID 0 + 1
Sistema de Entrada e Sada RAID 5

n Melhor relao custo x performance x segurana;

n H necessidade de no mnimo 3 discos;

n Informaes de paridade so gravadas em cada disco de tal


forma que se um dos discos falhar, as informaes nele
contidas podem ser reconstrudas;
Sistema de Entrada e Sada RAID 5

n Sua performance de gravao menor do que a do RAID 0 e


maior que a do RAID 1;

n A performance de leitura a melhor entre as aqui citadas, j


que as informaes esto distribudas entre trs ou mais
discos;

n O algoritmo utilizado para a paridade utiliza cerca de 30% de


espao em disco para armazenar a paridade;
Sistema de Entrada e Sada RAID 5
Sistema de Entrada e Sada RAID 1+0

n Conhecido como RAID 10, exige ao menos 4 discos rgidos;

n Cada par ser espelhado, garantindo redundncia, e os


pares sero distribudos, melhorando desempenho;

n At metade dos discos pode falhar simultaneamente, sem


colocar o conjunto a perder, desde que no falhem os dois
discos de um espelho qualquer;

n o nvel recomendado para base de dados, por ser o mais


seguro e dos mais velozes, assim como qualquer outro uso
onde a necessidade de economia no se sobreponha
segurana e desempenho;
Sistema de Entrada e Sada RAID 1+0

n Vantagens:
q Segurana contra perda de dados;
q Pode falhar um ou dois dos HDs ao mesmo tempo;

n Desvantagens:
q Alto custo de expanso de hardware (no mnimo 4 HDs);
q Os drivers devem ficar em sincronismo de velocidade para
obter a mxima performance;
Sistema de Entrada e Sada RAID 1+0
Obrigado!

Sistemas Operacionais
Prof. MSc. Jos Hermano Cavalcanti Filho

jose.cavalcanti@ifpb.edu.br

http://www.ifpb.edu.br