SlideShare uma empresa Scribd logo
Sistemas operacionais
modernos
Terceira edição
ANDREW S. TANENBAUM
Capítulo 5
Entrada/Saída
1
Prof. Rodrigo Ronner
Visão Geral
Principais objetivos:
• Estabelecer uma interface que seja a mais simples possível para
que as aplicações possam controlar as distintas características dos
dispositivos de entrada/saída.
• otimizar a entrada/saída para obtenção de um maior paralelismo,
tendo em vista que tais dispositivos são em geral componentes
críticos para o desempenho.
Enfim,
Controlar todos os dispositivos de entrada/saída (E/S) do computador, emitindo
comandos para os dispositivos, atendendo interrupções e manipulando erros.
Visão Geral
• Estruturação em camadas de HW e SW, a fim de prover uma
interface simples e confiável para o usuário e suas aplicações.
• Desta forma, as camadas inferiores escondem das superiores os
diversos detalhes (características) de cada periférico e suas
diferenças (velocidade de operação, unidade de transferência,
representação de dados, tipos de operação etc).
Visão Geral
Fonte: Eduardo Nicola F. Zagari
Princípios de Hardware
Princípiosde hardware: Dispositivosde E/S
Dispositivos podem variar de diversas maneiras:
 Transf. por caractere (terminal) ou por bloco deles (disco);
Dispositivos de Blocos
Um dispositivo de blocos é aquele que armazena informação 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 ou outros. Discos rígidos, CD-ROMs e pen drivers são
dispositivos de blocos mais comuns.
Dispositivos de Caracteres
Envia ou recebe um fluxo de caracteres, sem considerar qualquer 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 do disco podem ser considerados dispositivos de caractere.
ExemploDispositivosdeBlocoeCaracteres
[ronner@localhost Documents]$ cat /proc/devices
Character devices:
1 mem (Acesso Memória Física)
2 /dev/vc/0 (Console Virtual)
3 tty (Dispositivos do Tipo Terminais Estilo BSD (TTY)
4 /dev/ptmx (Multiplexador para dispositivos do tipo estilo AT&T )
5 vcs (Dispositivos de captura de console virtual)
6 misc (Mouses não seriais)
7 input (Núcleo de entrada – Normalmente contém um mouse)
8 sound (Dispositivo de Áudio)
9 usb (Dispositivo USB)
10 alsa (Advanced Linux Sound Driver (Driver Avançado de som linux)
Block devices:
1 fd Unidade de disco flexível
2 ide0 Canal IDE Primário
3 ide0 Canal IDE Secundário
4 sda1 Canal Sata
• A comunicação de um dispositivo com o sistema computacional é feita através do
envio de sinais (cabo ou ar) num ponto de conexão chamado de porta.
• O meio usado por um ou mais dispositivos para conexão com o computador é
chamado de barramento.
• Para cada barramento, é definido um protocolo que especifica um conjunto de
mensagens que podem ser enviadas pelos fios.
Princípios de hardware: Dispositivos de E/S
Dispositivos de E/S
• Dispositivos podem variar de diversas maneiras:
 O acesso aos dados armazenados pode ser sequencial (modem) ou aleatório
(CD-ROM);
 Os dados podem ser transferidos de forma síncrona (fita) ou assíncrona
(teclado);
 Os dispositivos podem ser restritos a um único processo (fita) ou
compartilhados simultaneamente por vários (teclado);
 O acesso pode ser apenas para leitura (CD-ROM), apenas para escrita (CRT)
ou para leitura e escrita (disco);
 A velocidade de acesso pode variar muito (frequentemente, estes dispositivos
são os mais lentos de um sistema computacional).
Dispositivosde E/S
Responsáveis pela comunicação entre o computador e o mundo
externo.
Muitos tipos de dispositivos são usados em computadores, como:
• dispositivos de armazenamento (discos, fitas)
• dispositivos de transmissão (placas de rede, modems)
• dispositivos de interface com usuários (tela, teclado, mouse)
A transferência de dados, realizada por intermédio dos controladores,
pode ser através de blocos de informações ou palavra a palavra.
6
ARQUITETURA PC
Princípiosdehardware:Controladoresde
Dispositivos
Unidades de E/S consistem tipicamente de:
 Componentes mecânicos (o dispositivo propriamente dito)
 Componentes eletrônicos (o controlador)
Tal diferença deve ser ressaltada, uma vez que o SO vê o controlador e não o
dispositivo.
Normalmente, mini e microcomputadores usam um barramento único para
comunicação entre CPU e os controladores (através de device drivers)
Mainframes frequentemente usam um modelo diferente, no qual múltiplos
barramentos e computadores especializados de E/S (canais de E/S) aliviam parte
da carga da CPU.
Princípiosdehardware:Controladoresde
Dispositivos
Como o processador envia comandos e dados a um controlador para que seja feita
uma transf. de dados?
O controlador possui memória e registradores próprios para armazenar
dados e sinais de controle, de forma a executar instruções enviadas pelo device
driver
O SO realiza E/S, escrevendo comandos e seus parâmetros nestes registradores
dos controladores.
o As instruções de E/S especiais podem ser usadas para especificar a
transferência de um byte ou palavra para uma porta de E/S, que tem
um determinado endereço.
o A instrução de E/S faz com que o dispositivo apropriado seja
selecionado de acordo com o sinal transmitido no barramento e que os
bits sejam então transferidos para um registrador ou a partir de um
registrador do disp.
E/S Mapeamento de Memória
• Cada controlador tem alguns
registradores usados para a
comunicação com a CPU.
• Por meio da escrita nesses
registradores, o sistema operacional
pode comandar o dispositivo para
entregar ou aceitar dados, alternar por
si mesmo entre ligar e desligar ou
executar alguma outra tarefa.
• A partir da leitura desses registradores,
o sistema operacional pode descobrir o
estado do dispositivo, se ele está
preparado para aceitar um novo
comando e assim por diante.
Princípiosdehardware:AcessodiretoàMemória
• Não importa se a CPU tem ou não E/S mapeada na memória: ela precisa
endereçar os controladores dos dispositivos para poder trocar dados com eles.
• A CPU pode requisitar dados de um controlador de E/S, um byte de cada vez,
mas, fazendo isso desperdiça muito tempo de CPU, de modo que um esquema
diferente chamado de acesso direto à memória (direct memory access - DMA) é
muitas vezes usado.
• O sistema operacional somente pode usar DMA se o hardware tem o controlador
de DMA, existente na maioria dos sistemas.
• Algumas vezes, esse controlador é integrado nos controladores de disco e em
outros controladores, mas esse projeto requer um controlador de DMA separado
para cada dispositivo.
• Normalmente, um único controlador de DMA se encontra disponível (por
exemplo, na placa-mãe) para controlar as transferências para vários dispositivos,
as quais podem ocorrer, muitas vezes simultaneamente.
Princípiosdehardware:AcessodiretoàMemória
• O DMA visa melhorar a performance geral do micro, permitindo
que os periféricos transmitam dados diretamente para a
memória, poupando o processador de mais esta tarefa.
• Existem 8 portas de DMA e, como acontece com os pedidos de
interrupção, dois dispositivos não podem compartilhar o mesmo
canal DMA, caso contrário haverá um conflito. Os 8 canais DMA
são numerados de 0 a 7, sendo nos canais de 0 a 3 a
transferência de dados feita a 8 bits e nos demais a 16 bits. O
uso de palavras binárias de 8 bits pelos primeiros 4 canais de
DMA visa manter compatibilidade com periféricos mais antigos.
Princípiosdehardware:AcessodiretoàMemória
• Justamente por serem muito lentos, os canais de DMA são
utilizados apenas por periféricos lentos, como drives de
disquete, placas de som e portas paralelas padrão ECP.
Periféricos mais rápidos, como discos rígidos, utilizam o Bus
Mastering, uma espécie de DMA melhorado.
• O Canal 2 de DMA é nativamente usado pela controladora de
disquetes. Uma placa de som geralmente precisa de dois canais
de DMA, um de 8 e outro de 16 bits, usando geralmente o DMA
1 e 5. O DMA 4 é reservado à placa mãe. Ficamos então com os
canais 3, 6 e 7 livres. Caso a porta paralela do micro seja
configurada no Setup para operar em modo ECP, precisará
também de um DMA, podemos então configurá-la para usar o
canal 3.
Princípios de hardware: Acesso direto à
Memória
Princípiosdehardware:InterrupçõesRevisitadas
Em hardware, as interrupções trabalham da seguinte maneira:
• quando um dispositivo de E/S finaliza seu trabalho, ele gera uma interrupção
(presumindo que as interrupções tenham sido habilitadas pelo sistema
operacional).
• Ele faz isso enviando um sinal pela linha do barramento à qual está associado. O
sinal é detectado pelo chip controlador de interrupção localizado na placa-mãe, o
qual então decide o que fazer.
Como ocorre uma interrupção. As conexões entre os dispositivos e o
controlador de interrupção atualmente utilizam linhas de interrupção no
barramento em vez de fios dedicados.
Princípiosdehardware:AcessodiretoàMemória
Operação de leitura em disco sem suporte à DMA:
• A Principio o controlador lê um bloco (um ou mais setores) do dispositivo
serialmente, bit a bit, até que todo o bloco esteja no buffer interno do
controlador;
• Em seguida, ele calcula a soma de verificação para conferir se não
ocorreu nenhum erro de leitura;
• Então, o controlador causa uma interrupção;
• Quando o SO inicializa o atendimento, ele pode ler o bloco do disco a
partir do buffer no controlador, um byte ou uma palavra cada vez, em um
laço, onde cada interação lê um byte ou palavra do registrador do
controlador e armazena na memória principal.
 Isto consome um tempo apreciável da CPU;
 Solução: Usar DMA (Direct Memory Access).
Princípiosdehardware:AcessodiretoàMemória
Operação de leitura em disco com suporte à DMA:
• Primeiramente, a CPU programa o controlador de DMA inserindo valores em
seus registradores de modo que ele saiba o que transferir e para onde
transferir (passo 1 na Figura);
• Ele também emite um comando para o controlador de disco ordenando
carregar os dados do disco para seu buffer interno e verificar a soma da
verificação. Quando os dados que estão no buffer do controlador são válidos
o DMA pode começar.
• O controlador de DMA inicia a transferência emitindo, pelo barramento, uma
requisição de leitura para o controlador de disco (passo 2).
• Normalmente, o endereço de memória para onde escrever está nas linhas de
endereços do barramento, de modo que quando o controlador de disco busca
a próxima palavra de seu buffer interno ele sabe onde escrevê-la. A escrita na
memória é outro ciclo de barramento-padrão (passo 3).
Princípiosdehardware:AcessodiretoàMemória
Operação de leitura em disco com suporte à DMA:
• Quando a escrita está completa, o controlador de disco envia um sinal de
confirmação para o controlador de DMA, também por meio do
barramento (passo 4),
• O controlador de DMA então incrementa o endereço de memória e
diminui o contador de bytes. Se o contador de bytes ainda é maior do
que 0, os passos de 2 a 4 são repetidos até que o contador seja 0.
• Nesse momento, o controlador de DMA interrompe a CPU para deixá-la
ciente de que a transferência está completa. Quando sistema operacional
inicia o atendimento da interrupção, ele não precisa copiar o bloco do
disco para a memória: ele já está lá.
Princípiosdehardware:AcessodiretoàMemória
Princípios de Software
Princípiosde Software: DeviceDrivers
• Device driver é o comando de um dispositivo ou programa. É a forma a partir da qual
uma unidade periférica cria uma interface com o sistema operacional para se conectar
com o dispositivo do hardware.
• Vejamos um exemplo prático: quando se conecta uma impressora a um computador,
esta impressora requer a instalação do "driver" (que é instalado a partir de um CD ou
de um disquete que vem junto com o equipamento), sem o qual ela não conseguirá
fazer a interface com o Computador. O "driver" é o elemento que faz esse comando. É,
literalmente, o dirigente.
• Foi a solução encontrada para que os Sistemas Operacionais sejam compatíveis com
diferentes tipos de equipamentos. Cada impressora, por exemplo, tem suas
peculiaridades de hardware, logo torna-se inviável que o Sistema Operacional tenha
conhecimento sobre todos os equipamentos disponíveis. O Sistema Operacional
disponibiliza bibliotecas de programação, para que o fabricante possa criar uma
interface entre seu equipamento e o software.
Tratadores de interrupção
1. Salva quaisquer registradores que não foram salvos pelo software de
interrupção.
2. Estabelece um contexto para a rotina de tratamento da interrupção.
3. Estabelece uma pilha para a rotina de tratamento da interrupção.
4. Sinaliza o controlador de interrupção. Se não há um controlador de
interrupção centralizado, reabilita a interrupção.
5. Copia os registradores de onde foram salvos para a tabela de
processos.
6. Executa a rotina de tratamento da interrupção.
7. Escolhe o próximo processo a ser executado.
8. Estabelece o contexto da MMU para o próximo processo a ser
executado.
9. Carrega os registradores do novo processo, incluindo sua PSW.
10. Inicializa a execução do novo processo.
PRINCÍPIOS DE SOFTWARE: DEVICE
DRIVERS
Posicionamento lógico dos drivers dos dispositivos. Na
realidade toda comunicação entre os drivers e os controladores é
feita por meio do barramento.
Camadas de software E/S
Software E/S independente de dispositivo
Interfaceuniformeparaosdrivers dedispositivo
RAID
O sistema RAID consiste em um conjunto de dois ou mais
discos rígidos com dois objetivos básicos:
tornar o sistema de disco mais rápido (isto é, acelerar o
carregamento de dados do disco), através de uma técnica
chamada divisão de dados (data stripping ou RAID 0) e/ou
tornar o sistema de disco mais seguro, através de uma
técnica chamada espelhamento (mirroring ou RAID 1).
Essas duas técnicas podem ser usadas isoladamente ou em
conjunto.
RAID - Implementação Via
software
• Na implementação via software, o sistema operacional gerencia
o RAID através da controladora de discos, sem a necessidade de
um controlador de RAIDs, tornando-a mais barata.
• Nesse tipo de implementação, todo o processamento necessário
para o gerenciamento do RAID é feito pela CPU. Toda
movimentação de dados(leitura e escrita) é feita por uma
camada de software que faz a abstração entre a operação lógica
(RAID) e os discos físicos, e é controlada pelo sistema
operacional.
• A configuração do RAID via software é feita pelo sistema
operacional, que precisa ter implementado no próprio núcleo a
utilização de RAIDs via software. É possível criar RAIDs via
software no Mac OS X, Linux, FreeBSD, OpenBSD e no Windows
(versão server). Alternativamente, podem ser criados com algum
software especialmente dedicado a manutenção de discos
rígidos do fabricante da placa mãe (quando há suporte para
RAID, é claro).
RAID - Implementação Via
Hardware
• Controladoras RAID em hardware usam layouts de disco
proprietários (e diferentes). Por isso, normalmente não é possível
misturar controladoras de fabricantes diferentes. Eles não
utilizam recursos do processador. O BIOS - Basic Input/Output
System - pode iniciar (dar boot) por ela, e uma integração maior
com o driver de dispositivo pode oferecer um melhor tratamento
de erros.
• Uma implementação de RAID em hardware requer pelo menos
uma controladora especialmente dedicada para isso. Em uma
estação de trabalho (PC comum) isso pode ser uma placa de
expansão PCI, PCI-e ou uma placa integrada à placa-mãe.
Controladoras utilizando a maioria dos tipos de drive podem ser
usadas - IDE/ATA, Serial ATA, SCSI, SSA, Fibre Channel, e às vezes
uma combinação.
• A controladora e os discos utilizados devem estar isolados.
Podem estar conectados diretamente ao computador, ou
conectados via SAN. A controladora gerencia os drives e faz os
cálculos de paridade necessários pelo nível de RAID escolhido.
RAID - Implementação Via
Hardware
• A maioria das implementações em hardware proveem
cache de leitura e escrita, o que (dependendo da carga de
I/O) melhora a performance. Na maioria dos casos, o cache
de escrita é não-volátil (protegido por bateria), e portanto,
escritas pendentes não são perdidas no caso de uma falha
no suprimento de energia.
• Implementações em hardware promovem performance
garantida, não sobrecarregam o processador e podem
suportar vários sistemas operacionais, já que a
controladora apresentará ao sistema operacional um disco
simples.
• A maioria das implementações em hardware também
suporta o "hot-swapping", permitindo que discos com falha
sejam substituídos enquanto o sistema está sendo
executado.
RAID 0
RAID 0 – DATA STRIPPING
• No nível RAID 0, a informação é segmentada e, cada segmento, armazenado em cada
unidade do arranjo. Neste nível, não há redundância, pois há somente uma divisão
(stripping) da informação. A única vantagem do RAID 0 é o ganho de velocidade no
acesso a informação.
Fonte: Internet??
RAID - 0
• Dois ou mais discos rígidos são agrupados. Os dados são gravados
distribuindo-se a carga entre os discos que fazem parte da matriz (geralmente
em blocos de 32kb ou 64Kb de dados). Este método não é muito seguro, já
que se um participante da matriz falhar, todos os dados serão perdidos. No
entanto, é o mais rápido, pois a leitura e gravação são distribuídas.
Fonte: http://technet.microsoft.com/pt-br/library/cc716445.aspx
RAID 1
RAID 1 – DATA MIRRORING
• No RAID nível 1, a informação é
gravada igualmente em todas as
unidades (mirror – espelho). À
partir deste nível, hà redundância
de dados, pois com a duplicidade da
informação, quando uma unidade
falha, o seu espelho (mirror)
assume.
Fonte: http://pt.wikipedia.org/wiki/RAID
RAID - 1
Também chamado de espelhamento: um dos discos serve de espelho para o
outro. Tudo que é gravado em um dos discos é gravado no outro. Isso faz
com que a performance de gravação seja um pouco prejudicada, no
entanto, a leitura dos dados é acelerada, já que temos dois discos lendo o
mesmo arquivo. É uma forma bem segura, mas também a mais cara, sendo
que apenas 50% do espaço disponível é aproveitado.
Fonte: http://technet.microsoft.com/pt-br/library/cc716445.aspx
RAID - (zero) + 1
• O RAID 0 + 1 é uma combinação dos níveis 0 (Striping) e 1 (Mirroring), onde os
dados são divididos entre os discos para melhorar o rendimento, mas também
utilizam outros discos para duplicar as informações. Assim, é possível utilizar o
bom rendimento do nível 0 com a redundância do nível 1.
• No entanto, é necessário pelo menos 4 discos para montar um RAID desse tipo.
Tais características fazem do RAID 0 + 1 o mais rápido e seguro, porém o mais
caro de ser implantado. No RAID 0+1, se um dos discos vier a falhar, o sistema
vira um RAID 0.
• Ex: se os dois discos que possuam a sequencia A1, A3, A5 falharem ao mesmo tempo,
haverá perda de dados. Se apenas uma das controladoras falhar, o sistema continua
funcionando, mas sem outra tolerância a falha e sem o ganho de velocidade.
• Vantagens:
• segurança contra perda de dados;
• pode falhar 1 dos HD's, ou os dois HD's do mesmo DiskGroup,
porém deixando de ser RAID 0 + 1.
• Desvantagens:
• alto custo de expansão de hardware (custo mínimo = 4N HDs);
• os drives devem ficar em sincronismo de velocidade para obter a
máxima performance.
Fonte: http://pt.wikipedia.org/wiki/RAID
RAID 5
• Melhor relação custo x performance x segurança. Para esse tipo de RAID, há necessidade de
no mínimo 3 discos.
• As informações de paridade são gravadas em cada disco de tal forma que se um dos
integrantes da matriz falhar, as informações nele contidas podem ser reconstruídas.
• Sua performance de gravação é menor do que a do RAID 0 e maior que a do RAID 1. A
performance de leitura é a melhor entre as aqui citadas, já que as informações estão
distribuídas entre três ou mais discos.
• O algoritmo utilizado para a paridade utiliza cerca de 30% de espaço em disco para
armazenar a paridade.
Fonte: Internet
RAID 5
• Melhor relação custo x performance x segurança. Para esse tipo de RAID, há
necessidade de no mínimo 3 discos. As informações de paridade são gravadas em
cada disco de tal forma que se um dos integrantes da matriz falhar, as informações
nele contidas podem ser reconstruídas. Sua performance de gravação é menor do
que a do RAID 0 e maior que a do RAID 1. A performance de leitura é a melhor entre
as aqui citadas, já que as informações estão distribuídas entre três ou mais discos.
Fonte: http://technet.microsoft.com/pt-br/library/cc716445.aspx
RAID - RAID 1+0
• O RAID 1+0, ou 10, exige ao menos 4 discos rígidos. Cada par será espelhado,
garantindo redundância, e os pares serão distribuídos, melhorando desempenho.
Até metade dos discos pode falhar simultaneamente, sem colocar o conjunto a
perder, desde que não falhem os dois discos de um espelho qualquer — razão
pela qual usam-se discos de lotes diferentes de cada ‘lado’ do espelho.
• É o nível recomendado para bases de dados, por ser o mais seguro e dos mais
velozes, assim como qualquer outro uso onde a necessidade de economia não se
sobreponha à segurança e desempenho.
• Vantagens:
• segurança contra perda de dados;
• pode falhar um ou dois dos HDs ao mesmo tempo, dependendo de qual avaria.
• Desvantagens:
• alto custo de expansão de hardware (custo mínimo = 4N HDs);
• os drivers devem ficar em sincronismo de velocidade para
obter a máxima performance.
Fonte: http://pt.wikipedia.org/wiki/RAID

Mais conteúdo relacionado

Mais procurados

Barramentos
Barramentos Barramentos
Barramentos
Bruna Ribeiro Vieira
 
Processamento paralelo
Processamento paraleloProcessamento paralelo
Processamento paralelo
Alvaro Oliveira
 
2. conceito de processos
2. conceito de processos2. conceito de processos
2. conceito de processos
vini_campos
 
Aula 09 - Memórias do Computador
Aula 09 - Memórias do ComputadorAula 09 - Memórias do Computador
Aula 09 - Memórias do Computador
Suzana Viana Mota
 
Arquitetura de Computadores: Barramentos e instruções
Arquitetura de Computadores: Barramentos e instruçõesArquitetura de Computadores: Barramentos e instruções
Arquitetura de Computadores: Barramentos e instruções
Alex Camargo
 
Sistemas de arquivos cap 04 (iii unidade)
Sistemas de arquivos cap 04 (iii unidade)Sistemas de arquivos cap 04 (iii unidade)
Sistemas de arquivos cap 04 (iii unidade)
Faculdade Mater Christi
 
Memória RAM
Memória RAMMemória RAM
Memória RAM
Roney Sousa
 
Arquitetura de Computadores: Conceitos básicos
Arquitetura de Computadores: Conceitos básicosArquitetura de Computadores: Conceitos básicos
Arquitetura de Computadores: Conceitos básicos
Alex Camargo
 
Aula 04-gerenciamento-basico-de-memoria
Aula 04-gerenciamento-basico-de-memoriaAula 04-gerenciamento-basico-de-memoria
Aula 04-gerenciamento-basico-de-memoria
Cristiano Pires Martins
 
Conceito de processos
Conceito de processosConceito de processos
Conceito de processos
Willian Ribeiro Assanuma
 
Gerência de Processos: Processos
Gerência de Processos: ProcessosGerência de Processos: Processos
Gerência de Processos: Processos
Alexandre Duarte
 
Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e Threads
Evandro Júnior
 
Arquitetura de Computadores - Concorrência
Arquitetura de Computadores - ConcorrênciaArquitetura de Computadores - Concorrência
Arquitetura de Computadores - Concorrência
Evandro Júnior
 
Aula04 Sistemas Distribuídos - Processos
Aula04 Sistemas Distribuídos - ProcessosAula04 Sistemas Distribuídos - Processos
Aula04 Sistemas Distribuídos - Processos
Messias Batista
 
Aula07 - Arquitetura e Manutenção de Computadores
Aula07 - Arquitetura e Manutenção de ComputadoresAula07 - Arquitetura e Manutenção de Computadores
Aula07 - Arquitetura e Manutenção de Computadores
Jorge Ávila Miranda
 
Processos e threads
Processos e threadsProcessos e threads
Processos e threads
Silvino Neto
 
Processos e threads cap 02 (i unidade)
Processos e threads   cap 02 (i unidade)Processos e threads   cap 02 (i unidade)
Processos e threads cap 02 (i unidade)
Faculdade Mater Christi
 
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre ProcessosSistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos
Charles Fortes
 
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)
Leinylson Fontinele
 
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Leinylson Fontinele
 

Mais procurados (20)

Barramentos
Barramentos Barramentos
Barramentos
 
Processamento paralelo
Processamento paraleloProcessamento paralelo
Processamento paralelo
 
2. conceito de processos
2. conceito de processos2. conceito de processos
2. conceito de processos
 
Aula 09 - Memórias do Computador
Aula 09 - Memórias do ComputadorAula 09 - Memórias do Computador
Aula 09 - Memórias do Computador
 
Arquitetura de Computadores: Barramentos e instruções
Arquitetura de Computadores: Barramentos e instruçõesArquitetura de Computadores: Barramentos e instruções
Arquitetura de Computadores: Barramentos e instruções
 
Sistemas de arquivos cap 04 (iii unidade)
Sistemas de arquivos cap 04 (iii unidade)Sistemas de arquivos cap 04 (iii unidade)
Sistemas de arquivos cap 04 (iii unidade)
 
Memória RAM
Memória RAMMemória RAM
Memória RAM
 
Arquitetura de Computadores: Conceitos básicos
Arquitetura de Computadores: Conceitos básicosArquitetura de Computadores: Conceitos básicos
Arquitetura de Computadores: Conceitos básicos
 
Aula 04-gerenciamento-basico-de-memoria
Aula 04-gerenciamento-basico-de-memoriaAula 04-gerenciamento-basico-de-memoria
Aula 04-gerenciamento-basico-de-memoria
 
Conceito de processos
Conceito de processosConceito de processos
Conceito de processos
 
Gerência de Processos: Processos
Gerência de Processos: ProcessosGerência de Processos: Processos
Gerência de Processos: Processos
 
Arquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e ThreadsArquitetura de Computadores: Processos e Threads
Arquitetura de Computadores: Processos e Threads
 
Arquitetura de Computadores - Concorrência
Arquitetura de Computadores - ConcorrênciaArquitetura de Computadores - Concorrência
Arquitetura de Computadores - Concorrência
 
Aula04 Sistemas Distribuídos - Processos
Aula04 Sistemas Distribuídos - ProcessosAula04 Sistemas Distribuídos - Processos
Aula04 Sistemas Distribuídos - Processos
 
Aula07 - Arquitetura e Manutenção de Computadores
Aula07 - Arquitetura e Manutenção de ComputadoresAula07 - Arquitetura e Manutenção de Computadores
Aula07 - Arquitetura e Manutenção de Computadores
 
Processos e threads
Processos e threadsProcessos e threads
Processos e threads
 
Processos e threads cap 02 (i unidade)
Processos e threads   cap 02 (i unidade)Processos e threads   cap 02 (i unidade)
Processos e threads cap 02 (i unidade)
 
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre ProcessosSistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos
Sistemas Operacionais - Aula 8 - Sincronização e Comunicação entre Processos
 
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)
 
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
Sistemas Operacionais - Aula 02 (Visão geral de sistemas operacionais)
 

Destaque

Andamio de computadora 1°g
Andamio de computadora 1°gAndamio de computadora 1°g
Andamio de computadora 1°g
MayteMayorga1D5SOS
 
Rede e-Tec Brasil – Uma política de inclusão pela Educação Profissional a dis...
Rede e-Tec Brasil – Uma política de inclusão pela Educação Profissional a dis...Rede e-Tec Brasil – Uma política de inclusão pela Educação Profissional a dis...
Rede e-Tec Brasil – Uma política de inclusão pela Educação Profissional a dis...
Fernando Amorim
 
Capítulo 15 conexões de lans, redes backbone e lans virtuais
Capítulo 15   conexões de lans, redes backbone e lans virtuaisCapítulo 15   conexões de lans, redes backbone e lans virtuais
Capítulo 15 conexões de lans, redes backbone e lans virtuais
Faculdade Mater Christi
 
Introdução à linguagem UML
Introdução à linguagem UMLIntrodução à linguagem UML
Introdução à linguagem UML
Nécio de Lima Veras
 
Ficheiros em JAVA
Ficheiros em JAVAFicheiros em JAVA
Ficheiros em JAVA
Pedro De Almeida
 
Expandindo as oportunidades com Software Livre
Expandindo as oportunidades com Software LivreExpandindo as oportunidades com Software Livre
Expandindo as oportunidades com Software Livre
Diemesleno Souza Carvalho
 
Motherboard: resumen gráfico
Motherboard: resumen gráficoMotherboard: resumen gráfico
Motherboard: resumen gráfico
Edwin González Jaén
 
Hardware apresentação 5 - cpu e sockets
Hardware   apresentação 5 - cpu e socketsHardware   apresentação 5 - cpu e sockets
Hardware apresentação 5 - cpu e sockets
Luiz Pereira de Souza
 
Aula 22 caches associativas e associativas por conjunto
Aula 22   caches associativas e associativas por conjuntoAula 22   caches associativas e associativas por conjunto
Aula 22 caches associativas e associativas por conjunto
a Nunes
 
Esquema motherboard
Esquema motherboardEsquema motherboard
Esquema motherboard
cabaldreams
 
Sistemas de Arquivos FAT x NTFS
Sistemas de Arquivos FAT x NTFSSistemas de Arquivos FAT x NTFS
Sistemas de Arquivos FAT x NTFS
Cleber Ramos
 
Capítulo 5 Sistemas Operacionais Modernos
Capítulo 5 Sistemas Operacionais ModernosCapítulo 5 Sistemas Operacionais Modernos
Capítulo 5 Sistemas Operacionais Modernos
Wellington Oliveira
 
FLISOL Porque usar Software Livre Bruno Alexandre Barbosa Chucky
FLISOL Porque usar Software Livre Bruno Alexandre Barbosa ChuckyFLISOL Porque usar Software Livre Bruno Alexandre Barbosa Chucky
FLISOL Porque usar Software Livre Bruno Alexandre Barbosa Chucky
Bruno Alexandre
 
Ficha de revisões
Ficha de revisõesFicha de revisões
Ficha de revisões
Baguiasri
 
Conceitos de hardware e software cap 02 (i unidade)
Conceitos de hardware e software cap 02 (i unidade)Conceitos de hardware e software cap 02 (i unidade)
Conceitos de hardware e software cap 02 (i unidade)
Faculdade Mater Christi
 
Memoria cache princípio da localidade
Memoria cache   princípio da localidadeMemoria cache   princípio da localidade
Memoria cache princípio da localidade
Claudia Costa
 
Processadores
ProcessadoresProcessadores
Processadores
Jose Silva
 
Processadores
ProcessadoresProcessadores
Processadores
Victor Pereira
 
Socket
SocketSocket
Socket
Nelson Sousa
 
Aula 14 – Portas lógicas e suas funções
Aula 14 – Portas lógicas e suas funçõesAula 14 – Portas lógicas e suas funções
Aula 14 – Portas lógicas e suas funções
Vitor Hugo Melo Araújo
 

Destaque (20)

Andamio de computadora 1°g
Andamio de computadora 1°gAndamio de computadora 1°g
Andamio de computadora 1°g
 
Rede e-Tec Brasil – Uma política de inclusão pela Educação Profissional a dis...
Rede e-Tec Brasil – Uma política de inclusão pela Educação Profissional a dis...Rede e-Tec Brasil – Uma política de inclusão pela Educação Profissional a dis...
Rede e-Tec Brasil – Uma política de inclusão pela Educação Profissional a dis...
 
Capítulo 15 conexões de lans, redes backbone e lans virtuais
Capítulo 15   conexões de lans, redes backbone e lans virtuaisCapítulo 15   conexões de lans, redes backbone e lans virtuais
Capítulo 15 conexões de lans, redes backbone e lans virtuais
 
Introdução à linguagem UML
Introdução à linguagem UMLIntrodução à linguagem UML
Introdução à linguagem UML
 
Ficheiros em JAVA
Ficheiros em JAVAFicheiros em JAVA
Ficheiros em JAVA
 
Expandindo as oportunidades com Software Livre
Expandindo as oportunidades com Software LivreExpandindo as oportunidades com Software Livre
Expandindo as oportunidades com Software Livre
 
Motherboard: resumen gráfico
Motherboard: resumen gráficoMotherboard: resumen gráfico
Motherboard: resumen gráfico
 
Hardware apresentação 5 - cpu e sockets
Hardware   apresentação 5 - cpu e socketsHardware   apresentação 5 - cpu e sockets
Hardware apresentação 5 - cpu e sockets
 
Aula 22 caches associativas e associativas por conjunto
Aula 22   caches associativas e associativas por conjuntoAula 22   caches associativas e associativas por conjunto
Aula 22 caches associativas e associativas por conjunto
 
Esquema motherboard
Esquema motherboardEsquema motherboard
Esquema motherboard
 
Sistemas de Arquivos FAT x NTFS
Sistemas de Arquivos FAT x NTFSSistemas de Arquivos FAT x NTFS
Sistemas de Arquivos FAT x NTFS
 
Capítulo 5 Sistemas Operacionais Modernos
Capítulo 5 Sistemas Operacionais ModernosCapítulo 5 Sistemas Operacionais Modernos
Capítulo 5 Sistemas Operacionais Modernos
 
FLISOL Porque usar Software Livre Bruno Alexandre Barbosa Chucky
FLISOL Porque usar Software Livre Bruno Alexandre Barbosa ChuckyFLISOL Porque usar Software Livre Bruno Alexandre Barbosa Chucky
FLISOL Porque usar Software Livre Bruno Alexandre Barbosa Chucky
 
Ficha de revisões
Ficha de revisõesFicha de revisões
Ficha de revisões
 
Conceitos de hardware e software cap 02 (i unidade)
Conceitos de hardware e software cap 02 (i unidade)Conceitos de hardware e software cap 02 (i unidade)
Conceitos de hardware e software cap 02 (i unidade)
 
Memoria cache princípio da localidade
Memoria cache   princípio da localidadeMemoria cache   princípio da localidade
Memoria cache princípio da localidade
 
Processadores
ProcessadoresProcessadores
Processadores
 
Processadores
ProcessadoresProcessadores
Processadores
 
Socket
SocketSocket
Socket
 
Aula 14 – Portas lógicas e suas funções
Aula 14 – Portas lógicas e suas funçõesAula 14 – Portas lógicas e suas funções
Aula 14 – Portas lógicas e suas funções
 

Semelhante a Entrada e saida cap 05 (iii unidade)

Dispositivos [Entrada E SaíDa]
Dispositivos [Entrada E SaíDa]Dispositivos [Entrada E SaíDa]
Dispositivos [Entrada E SaíDa]
SergioSouza
 
Windows7educacao brz-web
Windows7educacao brz-webWindows7educacao brz-web
Windows7educacao brz-web
Patibcosta
 
O computador e seu funcionamento
O computador e seu funcionamentoO computador e seu funcionamento
O computador e seu funcionamento
JackerCastilho
 
Entrada Saida
Entrada SaidaEntrada Saida
Entrada Saida
Rodrigo Piovesana
 
Sistema Operacional - Aula002
Sistema Operacional - Aula002Sistema Operacional - Aula002
Sistema Operacional - Aula002
Cláudio Amaral
 
Placa mãe e barramentos
Placa mãe e barramentosPlaca mãe e barramentos
Placa mãe e barramentos
Neil Azevedo
 
SO-09 Entrada e Saída: Hardware
SO-09 Entrada e Saída: HardwareSO-09 Entrada e Saída: Hardware
SO-09 Entrada e Saída: Hardware
Eduardo Nicola F. Zagari
 
Ac15 entrada e saída
Ac15   entrada e saídaAc15   entrada e saída
Ac15 entrada e saída
Elaine Cecília Gatto
 
io
ioio
Estrutura Básica de um
Estrutura Básica de um Estrutura Básica de um
Estrutura Básica de um
Ana Covas Grilo
 
Estrutura básica de um computador
Estrutura básica de um computadorEstrutura básica de um computador
Estrutura básica de um computador
Ana Covas Grilo
 
Gerência de dispositivos
Gerência de dispositivosGerência de dispositivos
Gerência de dispositivos
Rodrigo Rodrigues
 
01 introducao ifb - excelente
01   introducao ifb - excelente01   introducao ifb - excelente
01 introducao ifb - excelente
SENAR
 
MC - Aula 06 - Placa Mãe, E-S e Outras Informações
MC - Aula 06 - Placa Mãe, E-S e Outras InformaçõesMC - Aula 06 - Placa Mãe, E-S e Outras Informações
MC - Aula 06 - Placa Mãe, E-S e Outras Informações
Felipe J. R. Vieira
 
Aula 8 – Componentes de um computador
Aula 8 – Componentes de um computadorAula 8 – Componentes de um computador
Aula 8 – Componentes de um computador
Vitor Hugo Melo Araújo
 
03 FTI Hardware e Software-atualizado.pptx
03 FTI Hardware e Software-atualizado.pptx03 FTI Hardware e Software-atualizado.pptx
03 FTI Hardware e Software-atualizado.pptx
EduardoHernandes9
 
conceitos_basicos_de_informatica.pdf
conceitos_basicos_de_informatica.pdfconceitos_basicos_de_informatica.pdf
conceitos_basicos_de_informatica.pdf
LuanaBatista74
 
3 info 2_hardware_apresentacao
3 info 2_hardware_apresentacao3 info 2_hardware_apresentacao
3 info 2_hardware_apresentacao
alforreca567
 
Hardware e software
Hardware e softwareHardware e software
Hardware e software
Rafael Delmonego
 
Unidade 1
Unidade 1Unidade 1
Unidade 1
Fátima Santos
 

Semelhante a Entrada e saida cap 05 (iii unidade) (20)

Dispositivos [Entrada E SaíDa]
Dispositivos [Entrada E SaíDa]Dispositivos [Entrada E SaíDa]
Dispositivos [Entrada E SaíDa]
 
Windows7educacao brz-web
Windows7educacao brz-webWindows7educacao brz-web
Windows7educacao brz-web
 
O computador e seu funcionamento
O computador e seu funcionamentoO computador e seu funcionamento
O computador e seu funcionamento
 
Entrada Saida
Entrada SaidaEntrada Saida
Entrada Saida
 
Sistema Operacional - Aula002
Sistema Operacional - Aula002Sistema Operacional - Aula002
Sistema Operacional - Aula002
 
Placa mãe e barramentos
Placa mãe e barramentosPlaca mãe e barramentos
Placa mãe e barramentos
 
SO-09 Entrada e Saída: Hardware
SO-09 Entrada e Saída: HardwareSO-09 Entrada e Saída: Hardware
SO-09 Entrada e Saída: Hardware
 
Ac15 entrada e saída
Ac15   entrada e saídaAc15   entrada e saída
Ac15 entrada e saída
 
io
ioio
io
 
Estrutura Básica de um
Estrutura Básica de um Estrutura Básica de um
Estrutura Básica de um
 
Estrutura básica de um computador
Estrutura básica de um computadorEstrutura básica de um computador
Estrutura básica de um computador
 
Gerência de dispositivos
Gerência de dispositivosGerência de dispositivos
Gerência de dispositivos
 
01 introducao ifb - excelente
01   introducao ifb - excelente01   introducao ifb - excelente
01 introducao ifb - excelente
 
MC - Aula 06 - Placa Mãe, E-S e Outras Informações
MC - Aula 06 - Placa Mãe, E-S e Outras InformaçõesMC - Aula 06 - Placa Mãe, E-S e Outras Informações
MC - Aula 06 - Placa Mãe, E-S e Outras Informações
 
Aula 8 – Componentes de um computador
Aula 8 – Componentes de um computadorAula 8 – Componentes de um computador
Aula 8 – Componentes de um computador
 
03 FTI Hardware e Software-atualizado.pptx
03 FTI Hardware e Software-atualizado.pptx03 FTI Hardware e Software-atualizado.pptx
03 FTI Hardware e Software-atualizado.pptx
 
conceitos_basicos_de_informatica.pdf
conceitos_basicos_de_informatica.pdfconceitos_basicos_de_informatica.pdf
conceitos_basicos_de_informatica.pdf
 
3 info 2_hardware_apresentacao
3 info 2_hardware_apresentacao3 info 2_hardware_apresentacao
3 info 2_hardware_apresentacao
 
Hardware e software
Hardware e softwareHardware e software
Hardware e software
 
Unidade 1
Unidade 1Unidade 1
Unidade 1
 

Mais de Faculdade Mater Christi

Capítulo 6 e 8 comutação e multiplexação (3º unidade)
Capítulo 6 e 8   comutação e multiplexação (3º unidade)Capítulo 6 e 8   comutação e multiplexação (3º unidade)
Capítulo 6 e 8 comutação e multiplexação (3º unidade)
Faculdade Mater Christi
 
Capítulo 5 e 4 transmissão analógica e digital (2º unidade)
Capítulo 5 e 4   transmissão analógica e digital (2º unidade)Capítulo 5 e 4   transmissão analógica e digital (2º unidade)
Capítulo 5 e 4 transmissão analógica e digital (2º unidade)
Faculdade Mater Christi
 
Capítulo 3 dados e sinais (1º unidade)
Capítulo 3   dados e sinais (1º unidade)Capítulo 3   dados e sinais (1º unidade)
Capítulo 3 dados e sinais (1º unidade)
Faculdade Mater Christi
 
Capítulo 1 introdução a comunicação de dados(1º unidade)
Capítulo 1   introdução a comunicação de dados(1º unidade)Capítulo 1   introdução a comunicação de dados(1º unidade)
Capítulo 1 introdução a comunicação de dados(1º unidade)
Faculdade Mater Christi
 
Capítulo 10 detecção e correção de erros
Capítulo 10   detecção e correção de errosCapítulo 10   detecção e correção de erros
Capítulo 10 detecção e correção de erros
Faculdade Mater Christi
 
Capítulo 23 comunicação entre processos
Capítulo 23   comunicação entre processosCapítulo 23   comunicação entre processos
Capítulo 23 comunicação entre processos
Faculdade Mater Christi
 
Capítulo 19 camada de rede - end lógico
Capítulo 19   camada de rede - end lógicoCapítulo 19   camada de rede - end lógico
Capítulo 19 camada de rede - end lógico
Faculdade Mater Christi
 
Capítulo 2 modelos de redes
Capítulo 2   modelos de redesCapítulo 2   modelos de redes
Capítulo 2 modelos de redes
Faculdade Mater Christi
 
Capítulo 20 camada de rede - internet protocol
Capítulo 20   camada de rede - internet protocolCapítulo 20   camada de rede - internet protocol
Capítulo 20 camada de rede - internet protocol
Faculdade Mater Christi
 
Introdução aos sistemas operacionais cap 01 (i unidade)
Introdução aos sistemas operacionais cap 01 (i unidade)Introdução aos sistemas operacionais cap 01 (i unidade)
Introdução aos sistemas operacionais cap 01 (i unidade)
Faculdade Mater Christi
 
Introdução à sistemas distribuídos
Introdução à sistemas distribuídosIntrodução à sistemas distribuídos
Introdução à sistemas distribuídos
Faculdade Mater Christi
 
Impasses cap 06 (ii unidade)
Impasses cap 06 (ii unidade)Impasses cap 06 (ii unidade)
Impasses cap 06 (ii unidade)
Faculdade Mater Christi
 
Gerenciamento de memória cap 03 (ii unidade)
Gerenciamento de memória cap 03 (ii unidade)Gerenciamento de memória cap 03 (ii unidade)
Gerenciamento de memória cap 03 (ii unidade)
Faculdade Mater Christi
 

Mais de Faculdade Mater Christi (13)

Capítulo 6 e 8 comutação e multiplexação (3º unidade)
Capítulo 6 e 8   comutação e multiplexação (3º unidade)Capítulo 6 e 8   comutação e multiplexação (3º unidade)
Capítulo 6 e 8 comutação e multiplexação (3º unidade)
 
Capítulo 5 e 4 transmissão analógica e digital (2º unidade)
Capítulo 5 e 4   transmissão analógica e digital (2º unidade)Capítulo 5 e 4   transmissão analógica e digital (2º unidade)
Capítulo 5 e 4 transmissão analógica e digital (2º unidade)
 
Capítulo 3 dados e sinais (1º unidade)
Capítulo 3   dados e sinais (1º unidade)Capítulo 3   dados e sinais (1º unidade)
Capítulo 3 dados e sinais (1º unidade)
 
Capítulo 1 introdução a comunicação de dados(1º unidade)
Capítulo 1   introdução a comunicação de dados(1º unidade)Capítulo 1   introdução a comunicação de dados(1º unidade)
Capítulo 1 introdução a comunicação de dados(1º unidade)
 
Capítulo 10 detecção e correção de erros
Capítulo 10   detecção e correção de errosCapítulo 10   detecção e correção de erros
Capítulo 10 detecção e correção de erros
 
Capítulo 23 comunicação entre processos
Capítulo 23   comunicação entre processosCapítulo 23   comunicação entre processos
Capítulo 23 comunicação entre processos
 
Capítulo 19 camada de rede - end lógico
Capítulo 19   camada de rede - end lógicoCapítulo 19   camada de rede - end lógico
Capítulo 19 camada de rede - end lógico
 
Capítulo 2 modelos de redes
Capítulo 2   modelos de redesCapítulo 2   modelos de redes
Capítulo 2 modelos de redes
 
Capítulo 20 camada de rede - internet protocol
Capítulo 20   camada de rede - internet protocolCapítulo 20   camada de rede - internet protocol
Capítulo 20 camada de rede - internet protocol
 
Introdução aos sistemas operacionais cap 01 (i unidade)
Introdução aos sistemas operacionais cap 01 (i unidade)Introdução aos sistemas operacionais cap 01 (i unidade)
Introdução aos sistemas operacionais cap 01 (i unidade)
 
Introdução à sistemas distribuídos
Introdução à sistemas distribuídosIntrodução à sistemas distribuídos
Introdução à sistemas distribuídos
 
Impasses cap 06 (ii unidade)
Impasses cap 06 (ii unidade)Impasses cap 06 (ii unidade)
Impasses cap 06 (ii unidade)
 
Gerenciamento de memória cap 03 (ii unidade)
Gerenciamento de memória cap 03 (ii unidade)Gerenciamento de memória cap 03 (ii unidade)
Gerenciamento de memória cap 03 (ii unidade)
 

Entrada e saida cap 05 (iii unidade)

  • 1. Sistemas operacionais modernos Terceira edição ANDREW S. TANENBAUM Capítulo 5 Entrada/Saída 1 Prof. Rodrigo Ronner
  • 2. Visão Geral Principais objetivos: • Estabelecer uma interface que seja a mais simples possível para que as aplicações possam controlar as distintas características dos dispositivos de entrada/saída. • otimizar a entrada/saída para obtenção de um maior paralelismo, tendo em vista que tais dispositivos são em geral componentes críticos para o desempenho. Enfim, Controlar todos os dispositivos de entrada/saída (E/S) do computador, emitindo comandos para os dispositivos, atendendo interrupções e manipulando erros.
  • 3. Visão Geral • Estruturação em camadas de HW e SW, a fim de prover uma interface simples e confiável para o usuário e suas aplicações. • Desta forma, as camadas inferiores escondem das superiores os diversos detalhes (características) de cada periférico e suas diferenças (velocidade de operação, unidade de transferência, representação de dados, tipos de operação etc).
  • 4. Visão Geral Fonte: Eduardo Nicola F. Zagari
  • 6. Princípiosde hardware: Dispositivosde E/S Dispositivos podem variar de diversas maneiras:  Transf. por caractere (terminal) ou por bloco deles (disco); Dispositivos de Blocos Um dispositivo de blocos é aquele que armazena informação 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 ou outros. Discos rígidos, CD-ROMs e pen drivers são dispositivos de blocos mais comuns. Dispositivos de Caracteres Envia ou recebe um fluxo de caracteres, sem considerar qualquer 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 do disco podem ser considerados dispositivos de caractere.
  • 7. ExemploDispositivosdeBlocoeCaracteres [ronner@localhost Documents]$ cat /proc/devices Character devices: 1 mem (Acesso Memória Física) 2 /dev/vc/0 (Console Virtual) 3 tty (Dispositivos do Tipo Terminais Estilo BSD (TTY) 4 /dev/ptmx (Multiplexador para dispositivos do tipo estilo AT&T ) 5 vcs (Dispositivos de captura de console virtual) 6 misc (Mouses não seriais) 7 input (Núcleo de entrada – Normalmente contém um mouse) 8 sound (Dispositivo de Áudio) 9 usb (Dispositivo USB) 10 alsa (Advanced Linux Sound Driver (Driver Avançado de som linux) Block devices: 1 fd Unidade de disco flexível 2 ide0 Canal IDE Primário 3 ide0 Canal IDE Secundário 4 sda1 Canal Sata
  • 8. • A comunicação de um dispositivo com o sistema computacional é feita através do envio de sinais (cabo ou ar) num ponto de conexão chamado de porta. • O meio usado por um ou mais dispositivos para conexão com o computador é chamado de barramento. • Para cada barramento, é definido um protocolo que especifica um conjunto de mensagens que podem ser enviadas pelos fios. Princípios de hardware: Dispositivos de E/S
  • 9. Dispositivos de E/S • Dispositivos podem variar de diversas maneiras:  O acesso aos dados armazenados pode ser sequencial (modem) ou aleatório (CD-ROM);  Os dados podem ser transferidos de forma síncrona (fita) ou assíncrona (teclado);  Os dispositivos podem ser restritos a um único processo (fita) ou compartilhados simultaneamente por vários (teclado);  O acesso pode ser apenas para leitura (CD-ROM), apenas para escrita (CRT) ou para leitura e escrita (disco);  A velocidade de acesso pode variar muito (frequentemente, estes dispositivos são os mais lentos de um sistema computacional).
  • 10. Dispositivosde E/S Responsáveis pela comunicação entre o computador e o mundo externo. Muitos tipos de dispositivos são usados em computadores, como: • dispositivos de armazenamento (discos, fitas) • dispositivos de transmissão (placas de rede, modems) • dispositivos de interface com usuários (tela, teclado, mouse) A transferência de dados, realizada por intermédio dos controladores, pode ser através de blocos de informações ou palavra a palavra.
  • 12. Princípiosdehardware:Controladoresde Dispositivos Unidades de E/S consistem tipicamente de:  Componentes mecânicos (o dispositivo propriamente dito)  Componentes eletrônicos (o controlador) Tal diferença deve ser ressaltada, uma vez que o SO vê o controlador e não o dispositivo. Normalmente, mini e microcomputadores usam um barramento único para comunicação entre CPU e os controladores (através de device drivers) Mainframes frequentemente usam um modelo diferente, no qual múltiplos barramentos e computadores especializados de E/S (canais de E/S) aliviam parte da carga da CPU.
  • 13. Princípiosdehardware:Controladoresde Dispositivos Como o processador envia comandos e dados a um controlador para que seja feita uma transf. de dados? O controlador possui memória e registradores próprios para armazenar dados e sinais de controle, de forma a executar instruções enviadas pelo device driver O SO realiza E/S, escrevendo comandos e seus parâmetros nestes registradores dos controladores. o As instruções de E/S especiais podem ser usadas para especificar a transferência de um byte ou palavra para uma porta de E/S, que tem um determinado endereço. o A instrução de E/S faz com que o dispositivo apropriado seja selecionado de acordo com o sinal transmitido no barramento e que os bits sejam então transferidos para um registrador ou a partir de um registrador do disp.
  • 14. E/S Mapeamento de Memória • Cada controlador tem alguns registradores usados para a comunicação com a CPU. • Por meio da escrita nesses registradores, o sistema operacional pode comandar o dispositivo para entregar ou aceitar dados, alternar por si mesmo entre ligar e desligar ou executar alguma outra tarefa. • A partir da leitura desses registradores, o sistema operacional pode descobrir o estado do dispositivo, se ele está preparado para aceitar um novo comando e assim por diante.
  • 15. Princípiosdehardware:AcessodiretoàMemória • Não importa se a CPU tem ou não E/S mapeada na memória: ela precisa endereçar os controladores dos dispositivos para poder trocar dados com eles. • A CPU pode requisitar dados de um controlador de E/S, um byte de cada vez, mas, fazendo isso desperdiça muito tempo de CPU, de modo que um esquema diferente chamado de acesso direto à memória (direct memory access - DMA) é muitas vezes usado. • O sistema operacional somente pode usar DMA se o hardware tem o controlador de DMA, existente na maioria dos sistemas. • Algumas vezes, esse controlador é integrado nos controladores de disco e em outros controladores, mas esse projeto requer um controlador de DMA separado para cada dispositivo. • Normalmente, um único controlador de DMA se encontra disponível (por exemplo, na placa-mãe) para controlar as transferências para vários dispositivos, as quais podem ocorrer, muitas vezes simultaneamente.
  • 16. Princípiosdehardware:AcessodiretoàMemória • O DMA visa melhorar a performance geral do micro, permitindo que os periféricos transmitam dados diretamente para a memória, poupando o processador de mais esta tarefa. • Existem 8 portas de DMA e, como acontece com os pedidos de interrupção, dois dispositivos não podem compartilhar o mesmo canal DMA, caso contrário haverá um conflito. Os 8 canais DMA são numerados de 0 a 7, sendo nos canais de 0 a 3 a transferência de dados feita a 8 bits e nos demais a 16 bits. O uso de palavras binárias de 8 bits pelos primeiros 4 canais de DMA visa manter compatibilidade com periféricos mais antigos.
  • 17. Princípiosdehardware:AcessodiretoàMemória • Justamente por serem muito lentos, os canais de DMA são utilizados apenas por periféricos lentos, como drives de disquete, placas de som e portas paralelas padrão ECP. Periféricos mais rápidos, como discos rígidos, utilizam o Bus Mastering, uma espécie de DMA melhorado. • O Canal 2 de DMA é nativamente usado pela controladora de disquetes. Uma placa de som geralmente precisa de dois canais de DMA, um de 8 e outro de 16 bits, usando geralmente o DMA 1 e 5. O DMA 4 é reservado à placa mãe. Ficamos então com os canais 3, 6 e 7 livres. Caso a porta paralela do micro seja configurada no Setup para operar em modo ECP, precisará também de um DMA, podemos então configurá-la para usar o canal 3.
  • 18. Princípios de hardware: Acesso direto à Memória
  • 19. Princípiosdehardware:InterrupçõesRevisitadas Em hardware, as interrupções trabalham da seguinte maneira: • quando um dispositivo de E/S finaliza seu trabalho, ele gera uma interrupção (presumindo que as interrupções tenham sido habilitadas pelo sistema operacional). • Ele faz isso enviando um sinal pela linha do barramento à qual está associado. O sinal é detectado pelo chip controlador de interrupção localizado na placa-mãe, o qual então decide o que fazer. Como ocorre uma interrupção. As conexões entre os dispositivos e o controlador de interrupção atualmente utilizam linhas de interrupção no barramento em vez de fios dedicados.
  • 20. Princípiosdehardware:AcessodiretoàMemória Operação de leitura em disco sem suporte à DMA: • A Principio o controlador lê um bloco (um ou mais setores) do dispositivo serialmente, bit a bit, até que todo o bloco esteja no buffer interno do controlador; • Em seguida, ele calcula a soma de verificação para conferir se não ocorreu nenhum erro de leitura; • Então, o controlador causa uma interrupção; • Quando o SO inicializa o atendimento, ele pode ler o bloco do disco a partir do buffer no controlador, um byte ou uma palavra cada vez, em um laço, onde cada interação lê um byte ou palavra do registrador do controlador e armazena na memória principal.  Isto consome um tempo apreciável da CPU;  Solução: Usar DMA (Direct Memory Access).
  • 21. Princípiosdehardware:AcessodiretoàMemória Operação de leitura em disco com suporte à DMA: • Primeiramente, a CPU programa o controlador de DMA inserindo valores em seus registradores de modo que ele saiba o que transferir e para onde transferir (passo 1 na Figura); • Ele também emite um comando para o controlador de disco ordenando carregar os dados do disco para seu buffer interno e verificar a soma da verificação. Quando os dados que estão no buffer do controlador são válidos o DMA pode começar. • O controlador de DMA inicia a transferência emitindo, pelo barramento, uma requisição de leitura para o controlador de disco (passo 2). • Normalmente, o endereço de memória para onde escrever está nas linhas de endereços do barramento, de modo que quando o controlador de disco busca a próxima palavra de seu buffer interno ele sabe onde escrevê-la. A escrita na memória é outro ciclo de barramento-padrão (passo 3).
  • 22. Princípiosdehardware:AcessodiretoàMemória Operação de leitura em disco com suporte à DMA: • Quando a escrita está completa, o controlador de disco envia um sinal de confirmação para o controlador de DMA, também por meio do barramento (passo 4), • O controlador de DMA então incrementa o endereço de memória e diminui o contador de bytes. Se o contador de bytes ainda é maior do que 0, os passos de 2 a 4 são repetidos até que o contador seja 0. • Nesse momento, o controlador de DMA interrompe a CPU para deixá-la ciente de que a transferência está completa. Quando sistema operacional inicia o atendimento da interrupção, ele não precisa copiar o bloco do disco para a memória: ele já está lá.
  • 25. Princípiosde Software: DeviceDrivers • Device driver é o comando de um dispositivo ou programa. É a forma a partir da qual uma unidade periférica cria uma interface com o sistema operacional para se conectar com o dispositivo do hardware. • Vejamos um exemplo prático: quando se conecta uma impressora a um computador, esta impressora requer a instalação do "driver" (que é instalado a partir de um CD ou de um disquete que vem junto com o equipamento), sem o qual ela não conseguirá fazer a interface com o Computador. O "driver" é o elemento que faz esse comando. É, literalmente, o dirigente. • Foi a solução encontrada para que os Sistemas Operacionais sejam compatíveis com diferentes tipos de equipamentos. Cada impressora, por exemplo, tem suas peculiaridades de hardware, logo torna-se inviável que o Sistema Operacional tenha conhecimento sobre todos os equipamentos disponíveis. O Sistema Operacional disponibiliza bibliotecas de programação, para que o fabricante possa criar uma interface entre seu equipamento e o software.
  • 26. Tratadores de interrupção 1. Salva quaisquer registradores que não foram salvos pelo software de interrupção. 2. Estabelece um contexto para a rotina de tratamento da interrupção. 3. Estabelece uma pilha para a rotina de tratamento da interrupção. 4. Sinaliza o controlador de interrupção. Se não há um controlador de interrupção centralizado, reabilita a interrupção. 5. Copia os registradores de onde foram salvos para a tabela de processos. 6. Executa a rotina de tratamento da interrupção. 7. Escolhe o próximo processo a ser executado. 8. Estabelece o contexto da MMU para o próximo processo a ser executado. 9. Carrega os registradores do novo processo, incluindo sua PSW. 10. Inicializa a execução do novo processo.
  • 27. PRINCÍPIOS DE SOFTWARE: DEVICE DRIVERS Posicionamento lógico dos drivers dos dispositivos. Na realidade toda comunicação entre os drivers e os controladores é feita por meio do barramento.
  • 29. Software E/S independente de dispositivo
  • 31. RAID O sistema RAID consiste em um conjunto de dois ou mais discos rígidos com dois objetivos básicos: tornar o sistema de disco mais rápido (isto é, acelerar o carregamento de dados do disco), através de uma técnica chamada divisão de dados (data stripping ou RAID 0) e/ou tornar o sistema de disco mais seguro, através de uma técnica chamada espelhamento (mirroring ou RAID 1). Essas duas técnicas podem ser usadas isoladamente ou em conjunto.
  • 32. RAID - Implementação Via software • Na implementação via software, o sistema operacional gerencia o RAID através da controladora de discos, sem a necessidade de um controlador de RAIDs, tornando-a mais barata. • Nesse tipo de implementação, todo o processamento necessário para o gerenciamento do RAID é feito pela CPU. Toda movimentação de dados(leitura e escrita) é feita por uma camada de software que faz a abstração entre a operação lógica (RAID) e os discos físicos, e é controlada pelo sistema operacional. • A configuração do RAID via software é feita pelo sistema operacional, que precisa ter implementado no próprio núcleo a utilização de RAIDs via software. É possível criar RAIDs via software no Mac OS X, Linux, FreeBSD, OpenBSD e no Windows (versão server). Alternativamente, podem ser criados com algum software especialmente dedicado a manutenção de discos rígidos do fabricante da placa mãe (quando há suporte para RAID, é claro).
  • 33. RAID - Implementação Via Hardware • Controladoras RAID em hardware usam layouts de disco proprietários (e diferentes). Por isso, normalmente não é possível misturar controladoras de fabricantes diferentes. Eles não utilizam recursos do processador. O BIOS - Basic Input/Output System - pode iniciar (dar boot) por ela, e uma integração maior com o driver de dispositivo pode oferecer um melhor tratamento de erros. • Uma implementação de RAID em hardware requer pelo menos uma controladora especialmente dedicada para isso. Em uma estação de trabalho (PC comum) isso pode ser uma placa de expansão PCI, PCI-e ou uma placa integrada à placa-mãe. Controladoras utilizando a maioria dos tipos de drive podem ser usadas - IDE/ATA, Serial ATA, SCSI, SSA, Fibre Channel, e às vezes uma combinação. • A controladora e os discos utilizados devem estar isolados. Podem estar conectados diretamente ao computador, ou conectados via SAN. A controladora gerencia os drives e faz os cálculos de paridade necessários pelo nível de RAID escolhido.
  • 34. RAID - Implementação Via Hardware • A maioria das implementações em hardware proveem cache de leitura e escrita, o que (dependendo da carga de I/O) melhora a performance. Na maioria dos casos, o cache de escrita é não-volátil (protegido por bateria), e portanto, escritas pendentes não são perdidas no caso de uma falha no suprimento de energia. • Implementações em hardware promovem performance garantida, não sobrecarregam o processador e podem suportar vários sistemas operacionais, já que a controladora apresentará ao sistema operacional um disco simples. • A maioria das implementações em hardware também suporta o "hot-swapping", permitindo que discos com falha sejam substituídos enquanto o sistema está sendo executado.
  • 35. RAID 0 RAID 0 – DATA STRIPPING • No nível RAID 0, a informação é segmentada e, cada segmento, armazenado em cada unidade do arranjo. Neste nível, não há redundância, pois há somente uma divisão (stripping) da informação. A única vantagem do RAID 0 é o ganho de velocidade no acesso a informação. Fonte: Internet??
  • 36. RAID - 0 • Dois ou mais discos rígidos são agrupados. Os dados são gravados distribuindo-se a carga entre os discos que fazem parte da matriz (geralmente em blocos de 32kb ou 64Kb de dados). Este método não é muito seguro, já que se um participante da matriz falhar, todos os dados serão perdidos. No entanto, é o mais rápido, pois a leitura e gravação são distribuídas. Fonte: http://technet.microsoft.com/pt-br/library/cc716445.aspx
  • 37. RAID 1 RAID 1 – DATA MIRRORING • No RAID nível 1, a informação é gravada igualmente em todas as unidades (mirror – espelho). À partir deste nível, hà redundância de dados, pois com a duplicidade da informação, quando uma unidade falha, o seu espelho (mirror) assume. Fonte: http://pt.wikipedia.org/wiki/RAID
  • 38. RAID - 1 Também chamado de espelhamento: um dos discos serve de espelho para o outro. Tudo que é gravado em um dos discos é gravado no outro. Isso faz com que a performance de gravação seja um pouco prejudicada, no entanto, a leitura dos dados é acelerada, já que temos dois discos lendo o mesmo arquivo. É uma forma bem segura, mas também a mais cara, sendo que apenas 50% do espaço disponível é aproveitado. Fonte: http://technet.microsoft.com/pt-br/library/cc716445.aspx
  • 39. RAID - (zero) + 1 • O RAID 0 + 1 é uma combinação dos níveis 0 (Striping) e 1 (Mirroring), onde os dados são divididos entre os discos para melhorar o rendimento, mas também utilizam outros discos para duplicar as informações. Assim, é possível utilizar o bom rendimento do nível 0 com a redundância do nível 1. • No entanto, é necessário pelo menos 4 discos para montar um RAID desse tipo. Tais características fazem do RAID 0 + 1 o mais rápido e seguro, porém o mais caro de ser implantado. No RAID 0+1, se um dos discos vier a falhar, o sistema vira um RAID 0. • Ex: se os dois discos que possuam a sequencia A1, A3, A5 falharem ao mesmo tempo, haverá perda de dados. Se apenas uma das controladoras falhar, o sistema continua funcionando, mas sem outra tolerância a falha e sem o ganho de velocidade. • Vantagens: • segurança contra perda de dados; • pode falhar 1 dos HD's, ou os dois HD's do mesmo DiskGroup, porém deixando de ser RAID 0 + 1. • Desvantagens: • alto custo de expansão de hardware (custo mínimo = 4N HDs); • os drives devem ficar em sincronismo de velocidade para obter a máxima performance. Fonte: http://pt.wikipedia.org/wiki/RAID
  • 40. RAID 5 • Melhor relação custo x performance x segurança. Para esse tipo de RAID, há necessidade de no mínimo 3 discos. • As informações de paridade são gravadas em cada disco de tal forma que se um dos integrantes da matriz falhar, as informações nele contidas podem ser reconstruídas. • Sua performance de gravação é menor do que a do RAID 0 e maior que a do RAID 1. A performance de leitura é a melhor entre as aqui citadas, já que as informações estão distribuídas entre três ou mais discos. • O algoritmo utilizado para a paridade utiliza cerca de 30% de espaço em disco para armazenar a paridade. Fonte: Internet
  • 41. RAID 5 • Melhor relação custo x performance x segurança. Para esse tipo de RAID, há necessidade de no mínimo 3 discos. As informações de paridade são gravadas em cada disco de tal forma que se um dos integrantes da matriz falhar, as informações nele contidas podem ser reconstruídas. Sua performance de gravação é menor do que a do RAID 0 e maior que a do RAID 1. A performance de leitura é a melhor entre as aqui citadas, já que as informações estão distribuídas entre três ou mais discos. Fonte: http://technet.microsoft.com/pt-br/library/cc716445.aspx
  • 42. RAID - RAID 1+0 • O RAID 1+0, ou 10, exige ao menos 4 discos rígidos. Cada par será espelhado, garantindo redundância, e os pares serão distribuídos, melhorando desempenho. Até metade dos discos pode falhar simultaneamente, sem colocar o conjunto a perder, desde que não falhem os dois discos de um espelho qualquer — razão pela qual usam-se discos de lotes diferentes de cada ‘lado’ do espelho. • É o nível recomendado para bases de dados, por ser o mais seguro e dos mais velozes, assim como qualquer outro uso onde a necessidade de economia não se sobreponha à segurança e desempenho. • Vantagens: • segurança contra perda de dados; • pode falhar um ou dois dos HDs ao mesmo tempo, dependendo de qual avaria. • Desvantagens: • alto custo de expansão de hardware (custo mínimo = 4N HDs); • os drivers devem ficar em sincronismo de velocidade para obter a máxima performance. Fonte: http://pt.wikipedia.org/wiki/RAID