SlideShare uma empresa Scribd logo
Sistemas Distribuídos
Parte 2
Gerenciamento de Entrada e Saída
Professor Eduardo Xavier
Objetivos do controle de E/S
• Emitir comandos para os dispositivos
– Na maioria das vezes, os programas e o próprio SO
enxergam os dispositivos de uma forma que não é a sua
real interface. Por exemplo:
– Discos são vistos como blocos de bytes, em vez de
trilhas e cilindros.
– Partições lógicas em um mesmo disco são vistas
como discos fisicamente diferentes
• Atender interrupções
– Sempre que uma operação de I/O (Input/Output)
termina, é preciso informar ao SO que o processo que
solicitou a operação já pode ser desbloqueado. Isso é
feito por meio de uma “interrupção”.
Professor Eduardo Xavier
Objetivos do controle de E/S (cont.)
• Manipular erros
– Se ocorre algum problema em uma operação de I/O, é
preciso que o erro seja tratado. O tratamento do erro
geralmente se processa de duas formas:
– Definir um curso de ação para fazer com que a
operação de I/O seja processada corretamente
(exemplo: repetir a operação)
– Gerar uma mensagem de erro que será
encaminhada para o SO (ou para quem solicitou o
I/O)
Professor Eduardo Xavier
Diversas formas de “ver” o hardware
• Dependendo do ponto de vista de cada indivíduo, o hardware
pode ser encarado de uma maneira diferente
– Programadores de aplicações enxergam cada dispositivo
da forma como suas aplicações devem manipular os dados
– Projetistas de SO visualizam a forma como cada dispositivo
vai interagir com o sistema operacional
– Projetistas de hardware focalizam sua atenção em
consumo de energia e trocas de sinais elétricos entre cada
dispositivo e o restante do hardware do computador
• Nesta parte da disciplina vamos concentra nossa atenção em
como o HW é programado e manipulado pelo sistema
operacional, sem se preocupar com funciona interno.
Professor Eduardo Xavier
Dispositivos de Entrada/Saída
• Podemos classificar os dispositivos de I/O em
três categorias:
1. Dispositivos organizados em BLOCOS
2. Dispositivos organizados em CARACTERES
3. Dispositivos organizados de outra forma
Professor Eduardo Xavier
Dispositivos de Entrada/Saída
• Categoria 1: Dispositivos de BLOCO
• Neste tipo de dispositivo as informações são
armazenadas e transmitidas em blocos de tamanho
fixo e cada bloco tem um endereço próprio que
permite sua localização.
• Normalmente, o tamanho do bloco varia entre 128 e
4096 bytes (mas não se trata de uma restrição e sim
de um padrão normalmente adotado pela indústria)
• É possível ler ou escrever cada bloco
independentemente do outro a qualquer instante
• Exemplo de dispositivo organizado em blocos:
– Discos magnéticosProfessor Eduardo Xavier
Dispositivos de Entrada/Saída
• Categoria 2: Dispositivos de CARACTERE
• Este tipo de dispositivo libera ou aceita filas de
caracteres sem levar em conta a padronização da
estrutura de armazenamento
• As informações enviadas/obtidas por este tipo de
dispositivo não são endereçáveis nem aceitam
operações de busca aleatória
• Exemplos de dispositivo organizados em caracteres:
– Impressoras
– Leitoras ópticas
Professor Eduardo Xavier
Dispositivos de Entrada/Saída
• Categoria 3: Outros dispositivos
• As duas categorias anteriores abrangem a maioria dos
dispositivos hoje fabricados, porém existem alguns que
trabalham de formas diferentes, que não se
enquadram nem na transmissão de dados em blocos
nem em filas de caracteres
• Exemplo de dispositivo cuja organização não se dá nem
em blocos nem em caracteres:
– Relógios - não usam blocos endereçáveis ou filas de
caracteres, apenas geram interrupções em intervalos
regulares
Professor Eduardo Xavier
Controladores de Dispositivos
• Unidades de E/S são o resultado da combinação de
componentes mecânicos e componentes eletrônicos
– O componente eletrônico é chamado de controlador de
dispositivo (é comum também ser chamado de device
controler ou adapter em literatura técnica)
• Geralmente, é um circuito impresso que pode ser
inserido no computador
• Exemplos: controlador de vídeo, controladora de discos
– O componente mecânico é o dispositivo propriamente
dito
• Exemplo: vídeo, discos, impressora
Professor Eduardo Xavier
Controladores de Dispositivos
• IMPORTANTE
– O SO vê o controlador e não o dispositivo
• O SO usa o(s) barramento(s) para se comunicar com os
dispositivos
• Nos mainframes, estes barramentos são chamados de
“canais de E/S” e servem para aliviar a carga da CPU
• Entre um controlador e cada dispositivo existe uma interface
de baixo nível, responsável por converter a forma como o
dispositivo manipula os dados em uma forma padronizada de
comunicação
– Por exemplo: Discos são formatados em setores, trilhas e
cilindros, mas o driver envia uma lista serial de bits e cabe
ao controlador converter esta lista em um grupo de blocos
Professor Eduardo Xavier
Controladores de Dispositivos
Professor Eduardo Xavier
Barramento
Memória
Principal
CPU
Interfaces
de baixo nível
Controlador
de Discos
Controlador
de Vídeo
Controlador
USB
Controlador
de
Impressora
Outros
Controladores
? ? ?
Controladores de Dispositivos
• Registradores internos de cada controlador
– Cada controlador tem uns poucos registradores que são
usados para comunicação com a CPU
– Em algumas máquinas estes registradores fazem parte do
espaço de endereçamento regular, ou seja, podem ser
endereçados diretamente
– O SO realiza operações de E/S escrevendo comandos e
parâmetros (que os comandos utilizam) nestes
registradores
– Quando o comando é completado, o controlador causa
uma interrupção para permitir que a CPU assuma o
comando novamente e teste o resultado da operação
– As informações a respeito do andamento da operação
também são armazenadas nestes registradores
Professor Eduardo Xavier
Software de Entrada/Saída
• O gerenciamento de I/O é organizado como uma
série de camadas sobrepostas
– As camadas mais baixas se preocupam com o
hardware
– As camadas mais altas se destinam a manter uma
interface simples para o usuário
Professor Eduardo Xavier
Software de Entrada/Saída
• Conceitos importantes:
– Independência do dispositivo físico
• Exemplo: qualquer software que acessa discos deve
conseguir funcionar para vários tipos de disco sem
necessitar ser recompilado a cada mudança de
hardware
– Uniformidade de nome
• O nome de um dispositivo deve ser uma cadeia de
caracteres ou um inteiro. A formação deste nome não
deve depender do dispositivo
– Manipulação de erros:
• Erros devem ser tratados o mais próximo possível do
hardware e só são repassados para as camadas
superiores caso não possam ser resolvidosProfessor Eduardo Xavier
Software de Entrada/Saída
• Tipos de Transferências de Dados
– Transferências Síncronas
• Transferências de dados síncronas são realizadas em
blocos
– Transferências Assíncronas
• Transferências de dados assíncronas são controladas
por interrupções
• Muitos dispositivos de E/S são assíncronos
– A CPU inicia a transferência e vai cuidar de outra coisa
enquanto esta é processada até que ocorra uma
interrupção
• Para o usuário geralmente isso se apresenta de
forma síncrona (blocos), pois facilita a programação
Professor Eduardo Xavier
Software de Entrada/Saída
• Existem dispositivos dedicados ou compartilhados
por vários usuários
– IMPORTANTE: Dispositivos dedicados também podem
gerar DEADLOCK
• O software de E/S pode ser estruturado em 4
camadas:
– Software de manipulação de interrupções
– Drivers de dispositivos
– Software do sistema operacional independente do
dispositivo
– Software em nível de usuário
Professor Eduardo Xavier
Camada 1:
Software de Manipulação de Interrupções
• O que são “Interrupções”?
– Interrupções são eventos complexos, que
devem ser isolados de modo que apenas uma
pequena parte do sistema operacional os
manipule
• O isolamento pode ser feito através do
bloqueio de processos envolvidos com a
operação de I/O solicitada
– Quando a operação de I/O se encerra, uma
interrupção é gerada para informar o fato ao
sistema operacional
Professor Eduardo Xavier
Camada 1:
Software de Manipulação de Interrupções
• Como funciona o software de manipulação
de interrupções?
– Ao captar uma interrupção, a rotina de
tratamento da mesma desbloqueia o processo
que dependia da operação de I/O
• OBS: O bloqueio aconteceu no momento em
que este processo solicitou a execução da
operação de entrada/saída, conforme foi
visto nas aulas de gerenciamento de
processos
Professor Eduardo Xavier
Camada 2:
Drivers de Dispositivos
• O que é um “Driver de Dispositivo”?
– Parte do SO que conhece intimamente o
controlador de dispositivo
– Cada driver manipula um dispositivo ou uma
classe de dispositivos
– O trabalho do driver é aceitar requisições de
software de alto nível e atendê-las
Professor Eduardo Xavier
Camada 2:
Drivers de Dispositivos
• Funcionamento dos Drivers
– Os drivers organizam as requisições pendentes em filas
– Passos do funcionamento dos drivers:
1.Traduz a requisição em comandos de baixo nível que o
controlador de dispositivo entenda
2.Escreve os comandos nos registradores do controlador
3.Aguarda a execução ou bloqueia-se (se as operações
forem lentas)
4.Verifica erros (quando a operação é completada)
5.Repassa o resultado (dados e/ou status) para o
solicitante
6.Atende a próxima requisição da fila (volta ao passo 1)
ou aguarda nova requisição (se a fila estiver vazia)
Professor Eduardo Xavier
Camada 3:
Software Independente de Dispositivo
• Este tipo de software realiza operações de E/S que são
comuns a todos os dispositivos usando uma interface
uniforme para o SW do usuário
• É sua função:
– Encarregar-se do mapeamento entre nomes simbólicos de
dispositivos e drivers
– Proteger os dispositivos (garante apenas acessos autorizados)
– Manipular blocos lógicos de informação de forma padronizada,
independente do dispositivo físico
• Exemplo: o SW se encarrega de mostrar ao usuário um tamanho de bloco
lógico único, independente da formatação de cada disco
– Executar “bufferrização” para tornar transparente o fluxo de dados
– Coordenar a alocação de espaço em dispositivos do tipo BLOCO
– Controlar a alocação e liberação de dispositivos dedicados
– Gerenciar erros
Professor Eduardo Xavier
Camada 4:
Software em Nível de Usuário
• O que é?
– É uma pequena porção de software formada por
bibliotecas ligadas (linkadas) juntamente com
programas de usuário
• Grande parte das “system calls” partem deste
nível
• Geralmente, a formatação de uma entrada ou
saída de dados é feita por um procedimento de
biblioteca
Professor Eduardo Xavier
Camada 4:
Software em Nível de Usuário
• Spooling
– Nem todo o software de E/S utilizado pelo usuário
consiste de procedimentos da biblioteca. Outra
importante categoria é o spooling.
• Spooling é um modo de negociação com dispositivos
dedicados de E/S em sistemas multiprogramados
• Exemplo: Spooling de impresão
– Durante as aulas de gerenciamento de processos o
funcionamento do spooling de impressão (fila de impressão)
foi usado para exemplificar o problema de condições de
corrida
Professor Eduardo Xavier
DISPOSITIVODISPOSITIVO
Resumo da Arquitetura
de Entrada/Saída
Professor Eduardo Xavier
Gerenciadores
de Interrupção
Drivers de Dispositivo
Software Independente
do Dispositivo
Processos do Usuário
Camadas
Requisição de E/S
Resposta da
Requisição de E/S
Funcionalidades
Executa operação de E/S
Identificação, proteção, bloqueio e
“bufferização”
Inicializa registradores do dispositivo
Verifica Status da operaçao
Desbloqueia o driver quando a operação
de E/S se completa
Executa fisicamente a operação de E/S

Mais conteúdo relacionado

Mais procurados

Interface Homem Computador - Aula04 - Principios da Gestalt
Interface Homem Computador - Aula04 - Principios da GestaltInterface Homem Computador - Aula04 - Principios da Gestalt
Interface Homem Computador - Aula04 - Principios da Gestalt
CEULJI/ULBRA Centro Universitário Luterano de Ji-Paraná
 
Exercicio banco de_dados
Exercicio banco de_dadosExercicio banco de_dados
Exercicio banco de_dados
Rafael Lima
 
Aula 05-entrada e-saida
Aula 05-entrada e-saidaAula 05-entrada e-saida
Aula 05-entrada e-saida
Cristiano Pires Martins
 
Memória RAM
Memória RAMMemória RAM
Memória RAM
Roney Sousa
 
Lista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus Januária
Lista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus JanuáriaLista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus Januária
Lista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus Januária
Suzana Viana Mota
 
Software hardware-peopleware
Software hardware-peoplewareSoftware hardware-peopleware
Software hardware-peopleware
Bruna Ribeiro Vieira
 
Aula 7 - Modelagem de Software
Aula 7 - Modelagem de SoftwareAula 7 - Modelagem de Software
Aula 7 - Modelagem de Software
Leinylson Fontinele
 
Sistemas Operacionais - Gnu/Linux Montando e Desmontando Sistemas de Arquivos
Sistemas Operacionais - Gnu/Linux Montando e Desmontando Sistemas de ArquivosSistemas Operacionais - Gnu/Linux Montando e Desmontando Sistemas de Arquivos
Sistemas Operacionais - Gnu/Linux Montando e Desmontando Sistemas de Arquivos
Luiz Arthur
 
Formatando o computador
Formatando o computadorFormatando o computador
Formatando o computador
Suzana Viana Mota
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
Adir Kuhn
 
Aula 05 - Como funciona o Computador
Aula 05 - Como funciona o ComputadorAula 05 - Como funciona o Computador
Aula 05 - Como funciona o Computador
Suzana Viana Mota
 
Analise de Requisitos Software
Analise de Requisitos SoftwareAnalise de Requisitos Software
Analise de Requisitos Software
Rildo (@rildosan) Santos
 
MC - Aula 05 - Memória e Dispositivos de Armazenamento
MC - Aula 05 - Memória e Dispositivos de ArmazenamentoMC - Aula 05 - Memória e Dispositivos de Armazenamento
MC - Aula 05 - Memória e Dispositivos de Armazenamento
Felipe J. R. Vieira
 
Estrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - ApresentaçãoEstrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - Apresentação
Leinylson Fontinele
 
Informatica Básica - Sexta Básica
Informatica Básica - Sexta BásicaInformatica Básica - Sexta Básica
Informatica Básica - Sexta Básica
Professor Samuel Ribeiro
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de Dados
Rafael Albani
 
Exercicios
ExerciciosExercicios
Exercicios
Marco Coelho
 
01 - Informatica Basica.pdf
01 - Informatica Basica.pdf01 - Informatica Basica.pdf
01 - Informatica Basica.pdf
NiltonRaice
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
Cleyton Ferrari
 
Sistemas de Arquivos do Windows
Sistemas de Arquivos do WindowsSistemas de Arquivos do Windows
Sistemas de Arquivos do Windows
Joeldson Costa Damasceno
 

Mais procurados (20)

Interface Homem Computador - Aula04 - Principios da Gestalt
Interface Homem Computador - Aula04 - Principios da GestaltInterface Homem Computador - Aula04 - Principios da Gestalt
Interface Homem Computador - Aula04 - Principios da Gestalt
 
Exercicio banco de_dados
Exercicio banco de_dadosExercicio banco de_dados
Exercicio banco de_dados
 
Aula 05-entrada e-saida
Aula 05-entrada e-saidaAula 05-entrada e-saida
Aula 05-entrada e-saida
 
Memória RAM
Memória RAMMemória RAM
Memória RAM
 
Lista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus Januária
Lista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus JanuáriaLista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus Januária
Lista de Exerícios - Manutenção e Redes de Computadores IFNMG - Campus Januária
 
Software hardware-peopleware
Software hardware-peoplewareSoftware hardware-peopleware
Software hardware-peopleware
 
Aula 7 - Modelagem de Software
Aula 7 - Modelagem de SoftwareAula 7 - Modelagem de Software
Aula 7 - Modelagem de Software
 
Sistemas Operacionais - Gnu/Linux Montando e Desmontando Sistemas de Arquivos
Sistemas Operacionais - Gnu/Linux Montando e Desmontando Sistemas de ArquivosSistemas Operacionais - Gnu/Linux Montando e Desmontando Sistemas de Arquivos
Sistemas Operacionais - Gnu/Linux Montando e Desmontando Sistemas de Arquivos
 
Formatando o computador
Formatando o computadorFormatando o computador
Formatando o computador
 
Sistemas Operacionais
Sistemas OperacionaisSistemas Operacionais
Sistemas Operacionais
 
Aula 05 - Como funciona o Computador
Aula 05 - Como funciona o ComputadorAula 05 - Como funciona o Computador
Aula 05 - Como funciona o Computador
 
Analise de Requisitos Software
Analise de Requisitos SoftwareAnalise de Requisitos Software
Analise de Requisitos Software
 
MC - Aula 05 - Memória e Dispositivos de Armazenamento
MC - Aula 05 - Memória e Dispositivos de ArmazenamentoMC - Aula 05 - Memória e Dispositivos de Armazenamento
MC - Aula 05 - Memória e Dispositivos de Armazenamento
 
Estrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - ApresentaçãoEstrutura de Dados - Aula 01 - Apresentação
Estrutura de Dados - Aula 01 - Apresentação
 
Informatica Básica - Sexta Básica
Informatica Básica - Sexta BásicaInformatica Básica - Sexta Básica
Informatica Básica - Sexta Básica
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de Dados
 
Exercicios
ExerciciosExercicios
Exercicios
 
01 - Informatica Basica.pdf
01 - Informatica Basica.pdf01 - Informatica Basica.pdf
01 - Informatica Basica.pdf
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Sistemas de Arquivos do Windows
Sistemas de Arquivos do WindowsSistemas de Arquivos do Windows
Sistemas de Arquivos do Windows
 

Destaque

Cadernodequestes ano2011
Cadernodequestes ano2011Cadernodequestes ano2011
Cadernodequestes ano2011
Computação Depressão
 
PESQUISA SOBRE BARRAMENTO
PESQUISA SOBRE BARRAMENTOPESQUISA SOBRE BARRAMENTO
PESQUISA SOBRE BARRAMENTO
Otaviano Viana
 
Gerência de Dispositivos
Gerência de DispositivosGerência de Dispositivos
Gerência de Dispositivos
elliando dias
 
Princípios de Sistemas de Informação Unidade IV Unip
Princípios de Sistemas de Informação Unidade IV UnipPrincípios de Sistemas de Informação Unidade IV Unip
Princípios de Sistemas de Informação Unidade IV Unip
Heber Gutenberg
 
Gerenciamento E/S
Gerenciamento E/SGerenciamento E/S
Gerenciamento E/S
Wando Santos
 
Gerência de Dispositivos
Gerência de DispositivosGerência de Dispositivos
Gerência de Dispositivos
Jefferson Matheus
 
Gerenciamento de memoria
Gerenciamento de memoriaGerenciamento de memoria
Gerenciamento de memoria
Jailson Silva
 
Processadores
ProcessadoresProcessadores
Aritmetica Computacional
Aritmetica ComputacionalAritmetica Computacional
Aritmetica Computacional
elliando dias
 
Portas lógicas
Portas lógicasPortas lógicas
Portas lógicas
Ihane Soares
 
SO-06 Gerenciamento de Memória: Paginação e Segmentação
SO-06 Gerenciamento de Memória: Paginação e SegmentaçãoSO-06 Gerenciamento de Memória: Paginação e Segmentação
SO-06 Gerenciamento de Memória: Paginação e Segmentação
Eduardo Nicola F. Zagari
 
Circuito Digital Aula3 portas logicas
Circuito Digital Aula3 portas logicasCircuito Digital Aula3 portas logicas
Circuito Digital Aula3 portas logicas
tarcisioti
 
Aulas 10 e 11 - Álgebra de Boole
Aulas 10 e 11 - Álgebra de BooleAulas 10 e 11 - Álgebra de Boole
Aulas 10 e 11 - Álgebra de Boole
Jocelma Rios
 
Aula 4 - Sistemas de Informação
Aula 4 - Sistemas de InformaçãoAula 4 - Sistemas de Informação
Aula 4 - Sistemas de Informação
Jocelma Rios
 
Processadores
ProcessadoresProcessadores
Processadores
Felipe Weizenmann
 
Processadores
ProcessadoresProcessadores
Processadores
Vinicius
 
O processador
O processadorO processador
O processador
Neguinho Chocolatado
 
Sistemas operacionais pronatec- prof. manoel
Sistemas operacionais   pronatec- prof. manoelSistemas operacionais   pronatec- prof. manoel
Sistemas operacionais pronatec- prof. manoel
Manoel Rufino Neto
 
Aula 07-oac-processadores
Aula 07-oac-processadoresAula 07-oac-processadores
Aula 07-oac-processadores
Cristiano Pires Martins
 
Aulas 8 e 9 - Sistemas de Numeração
Aulas 8 e 9 - Sistemas de NumeraçãoAulas 8 e 9 - Sistemas de Numeração
Aulas 8 e 9 - Sistemas de Numeração
Jocelma Rios
 

Destaque (20)

Cadernodequestes ano2011
Cadernodequestes ano2011Cadernodequestes ano2011
Cadernodequestes ano2011
 
PESQUISA SOBRE BARRAMENTO
PESQUISA SOBRE BARRAMENTOPESQUISA SOBRE BARRAMENTO
PESQUISA SOBRE BARRAMENTO
 
Gerência de Dispositivos
Gerência de DispositivosGerência de Dispositivos
Gerência de Dispositivos
 
Princípios de Sistemas de Informação Unidade IV Unip
Princípios de Sistemas de Informação Unidade IV UnipPrincípios de Sistemas de Informação Unidade IV Unip
Princípios de Sistemas de Informação Unidade IV Unip
 
Gerenciamento E/S
Gerenciamento E/SGerenciamento E/S
Gerenciamento E/S
 
Gerência de Dispositivos
Gerência de DispositivosGerência de Dispositivos
Gerência de Dispositivos
 
Gerenciamento de memoria
Gerenciamento de memoriaGerenciamento de memoria
Gerenciamento de memoria
 
Processadores
ProcessadoresProcessadores
Processadores
 
Aritmetica Computacional
Aritmetica ComputacionalAritmetica Computacional
Aritmetica Computacional
 
Portas lógicas
Portas lógicasPortas lógicas
Portas lógicas
 
SO-06 Gerenciamento de Memória: Paginação e Segmentação
SO-06 Gerenciamento de Memória: Paginação e SegmentaçãoSO-06 Gerenciamento de Memória: Paginação e Segmentação
SO-06 Gerenciamento de Memória: Paginação e Segmentação
 
Circuito Digital Aula3 portas logicas
Circuito Digital Aula3 portas logicasCircuito Digital Aula3 portas logicas
Circuito Digital Aula3 portas logicas
 
Aulas 10 e 11 - Álgebra de Boole
Aulas 10 e 11 - Álgebra de BooleAulas 10 e 11 - Álgebra de Boole
Aulas 10 e 11 - Álgebra de Boole
 
Aula 4 - Sistemas de Informação
Aula 4 - Sistemas de InformaçãoAula 4 - Sistemas de Informação
Aula 4 - Sistemas de Informação
 
Processadores
ProcessadoresProcessadores
Processadores
 
Processadores
ProcessadoresProcessadores
Processadores
 
O processador
O processadorO processador
O processador
 
Sistemas operacionais pronatec- prof. manoel
Sistemas operacionais   pronatec- prof. manoelSistemas operacionais   pronatec- prof. manoel
Sistemas operacionais pronatec- prof. manoel
 
Aula 07-oac-processadores
Aula 07-oac-processadoresAula 07-oac-processadores
Aula 07-oac-processadores
 
Aulas 8 e 9 - Sistemas de Numeração
Aulas 8 e 9 - Sistemas de NumeraçãoAulas 8 e 9 - Sistemas de Numeração
Aulas 8 e 9 - Sistemas de Numeração
 

Semelhante a Sd02 (si) gerenciamento de entrada e saída

SO-10 Entrada e Saída: Software
SO-10 Entrada e Saída: SoftwareSO-10 Entrada e Saída: Software
SO-10 Entrada e Saída: Software
Eduardo Nicola F. Zagari
 
Entrada e saida cap 05 (iii unidade)
Entrada e saida  cap 05 (iii unidade)Entrada e saida  cap 05 (iii unidade)
Entrada e saida cap 05 (iii unidade)
Faculdade Mater Christi
 
io
ioio
Sistemas Operacionais - 2º unidade - Tiago Falcão
Sistemas Operacionais - 2º unidade - Tiago FalcãoSistemas Operacionais - 2º unidade - Tiago Falcão
Sistemas Operacionais - 2º unidade - Tiago Falcão
Camila Seródio
 
Introdução a Sistemas Operacionais
Introdução a Sistemas OperacionaisIntrodução a Sistemas Operacionais
Introdução a Sistemas Operacionais
Lucas Aires Araújo
 
Entrada Saida
Entrada SaidaEntrada Saida
Entrada Saida
Rodrigo Piovesana
 
M1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptxM1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptx
Doraestevao
 
01 -hardware_-_1
01  -hardware_-_101  -hardware_-_1
01 -hardware_-_1
Nesch Naval
 
Dispositivos [Entrada E SaíDa]
Dispositivos [Entrada E SaíDa]Dispositivos [Entrada E SaíDa]
Dispositivos [Entrada E SaíDa]
SergioSouza
 
sistemas operativos.ppt
sistemas operativos.pptsistemas operativos.ppt
sistemas operativos.ppt
ssuserb52d9e
 
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
 
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
SuperTec1
 
Aula 3 sistema computacional (hardware e software)
Aula 3   sistema computacional (hardware e software)Aula 3   sistema computacional (hardware e software)
Aula 3 sistema computacional (hardware e software)
Vitor Hugo Melo Araújo
 
2 organização do sistema operativo - sistemas operativos
2   organização do sistema operativo - sistemas operativos2   organização do sistema operativo - sistemas operativos
2 organização do sistema operativo - sistemas operativos
Maria194536
 
Componentes básicos de um computador.pdf
Componentes básicos de um computador.pdfComponentes básicos de um computador.pdf
Componentes básicos de um computador.pdf
p2playeducation
 
Configuração de dispositivos de io
Configuração de dispositivos de ioConfiguração de dispositivos de io
Configuração de dispositivos de io
Luis Ferreira
 
Processadores de computador - redes e sistemas.pptx
Processadores de computador - redes e sistemas.pptxProcessadores de computador - redes e sistemas.pptx
Processadores de computador - redes e sistemas.pptx
p2playeducation
 
Visão Geral: Introdução
Visão Geral: IntroduçãoVisão Geral: Introdução
Visão Geral: Introdução
Alexandre Duarte
 
A arquitetura básica de um computador
A arquitetura básica de um computadorA arquitetura básica de um computador
A arquitetura básica de um computador
redesinforma
 
Bus ou Barramento
Bus ou BarramentoBus ou Barramento
Bus ou Barramento
Carlos Pereira
 

Semelhante a Sd02 (si) gerenciamento de entrada e saída (20)

SO-10 Entrada e Saída: Software
SO-10 Entrada e Saída: SoftwareSO-10 Entrada e Saída: Software
SO-10 Entrada e Saída: Software
 
Entrada e saida cap 05 (iii unidade)
Entrada e saida  cap 05 (iii unidade)Entrada e saida  cap 05 (iii unidade)
Entrada e saida cap 05 (iii unidade)
 
io
ioio
io
 
Sistemas Operacionais - 2º unidade - Tiago Falcão
Sistemas Operacionais - 2º unidade - Tiago FalcãoSistemas Operacionais - 2º unidade - Tiago Falcão
Sistemas Operacionais - 2º unidade - Tiago Falcão
 
Introdução a Sistemas Operacionais
Introdução a Sistemas OperacionaisIntrodução a Sistemas Operacionais
Introdução a Sistemas Operacionais
 
Entrada Saida
Entrada SaidaEntrada Saida
Entrada Saida
 
M1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptxM1_Sistemas Operativos.pptx
M1_Sistemas Operativos.pptx
 
01 -hardware_-_1
01  -hardware_-_101  -hardware_-_1
01 -hardware_-_1
 
Dispositivos [Entrada E SaíDa]
Dispositivos [Entrada E SaíDa]Dispositivos [Entrada E SaíDa]
Dispositivos [Entrada E SaíDa]
 
sistemas operativos.ppt
sistemas operativos.pptsistemas operativos.ppt
sistemas operativos.ppt
 
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
 
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
[Cliqueapostilas.com.br] arquitetura-de-sistemas-operacionais
 
Aula 3 sistema computacional (hardware e software)
Aula 3   sistema computacional (hardware e software)Aula 3   sistema computacional (hardware e software)
Aula 3 sistema computacional (hardware e software)
 
2 organização do sistema operativo - sistemas operativos
2   organização do sistema operativo - sistemas operativos2   organização do sistema operativo - sistemas operativos
2 organização do sistema operativo - sistemas operativos
 
Componentes básicos de um computador.pdf
Componentes básicos de um computador.pdfComponentes básicos de um computador.pdf
Componentes básicos de um computador.pdf
 
Configuração de dispositivos de io
Configuração de dispositivos de ioConfiguração de dispositivos de io
Configuração de dispositivos de io
 
Processadores de computador - redes e sistemas.pptx
Processadores de computador - redes e sistemas.pptxProcessadores de computador - redes e sistemas.pptx
Processadores de computador - redes e sistemas.pptx
 
Visão Geral: Introdução
Visão Geral: IntroduçãoVisão Geral: Introdução
Visão Geral: Introdução
 
A arquitetura básica de um computador
A arquitetura básica de um computadorA arquitetura básica de um computador
A arquitetura básica de um computador
 
Bus ou Barramento
Bus ou BarramentoBus ou Barramento
Bus ou Barramento
 

Mais de Computação Depressão

Sd08 (si) sistemas de arquivos distribuídos
Sd08 (si)   sistemas de arquivos distribuídosSd08 (si)   sistemas de arquivos distribuídos
Sd08 (si) sistemas de arquivos distribuídos
Computação Depressão
 
Sd06 (si) exclusão mútua
Sd06 (si)   exclusão mútuaSd06 (si)   exclusão mútua
Sd06 (si) exclusão mútua
Computação Depressão
 
Sd05 (si) relógios e sincronização
Sd05 (si)   relógios e sincronizaçãoSd05 (si)   relógios e sincronização
Sd05 (si) relógios e sincronização
Computação Depressão
 
Sd04 (si) comunicação em sd
Sd04 (si)   comunicação em sdSd04 (si)   comunicação em sd
Sd04 (si) comunicação em sd
Computação Depressão
 
Sd03 (si) conceitos básicos de sd
Sd03 (si)   conceitos básicos de sdSd03 (si)   conceitos básicos de sd
Sd03 (si) conceitos básicos de sd
Computação Depressão
 
Sd01 (si) sistemas de arquivos
Sd01 (si)   sistemas de arquivosSd01 (si)   sistemas de arquivos
Sd01 (si) sistemas de arquivos
Computação Depressão
 
Sd07 (si) eleição
Sd07 (si)   eleiçãoSd07 (si)   eleição
Sd07 (si) eleição
Computação Depressão
 
Ufbamat2013
Ufbamat2013Ufbamat2013
Ufbaingles2013
Ufbaingles2013Ufbaingles2013
Ufbaingles2013
Computação Depressão
 
Ufbagab mat 2013
Ufbagab mat 2013Ufbagab mat 2013
Ufbagab mat 2013
Computação Depressão
 
Ufbagab ingles2013
Ufbagab ingles2013Ufbagab ingles2013
Ufbagab ingles2013
Computação Depressão
 
Ufbagab fis 2013
Ufbagab fis 2013Ufbagab fis 2013
Ufbagab fis 2013
Computação Depressão
 
Ufbafisqui2013
Ufbafisqui2013Ufbafisqui2013
Ufbafisqui2013
Computação Depressão
 
Ufbagab qui 2013
Ufbagab qui 2013Ufbagab qui 2013
Ufbagab qui 2013
Computação Depressão
 
Questesdetecnologia ano2002
Questesdetecnologia ano2002Questesdetecnologia ano2002
Questesdetecnologia ano2002
Computação Depressão
 
Questesdematemtica ano2003
Questesdematemtica ano2003Questesdematemtica ano2003
Questesdematemtica ano2003
Computação Depressão
 
Questesdematemtica ano2002
Questesdematemtica ano2002Questesdematemtica ano2002
Questesdematemtica ano2002
Computação Depressão
 
Questesdefundamentos ano2002
Questesdefundamentos ano2002Questesdefundamentos ano2002
Questesdefundamentos ano2002
Computação Depressão
 
Gabarito ano2011
Gabarito ano2011Gabarito ano2011
Gabarito ano2011
Computação Depressão
 

Mais de Computação Depressão (20)

Sd08 (si) sistemas de arquivos distribuídos
Sd08 (si)   sistemas de arquivos distribuídosSd08 (si)   sistemas de arquivos distribuídos
Sd08 (si) sistemas de arquivos distribuídos
 
Sd06 (si) exclusão mútua
Sd06 (si)   exclusão mútuaSd06 (si)   exclusão mútua
Sd06 (si) exclusão mútua
 
Sd05 (si) relógios e sincronização
Sd05 (si)   relógios e sincronizaçãoSd05 (si)   relógios e sincronização
Sd05 (si) relógios e sincronização
 
Sd04 (si) comunicação em sd
Sd04 (si)   comunicação em sdSd04 (si)   comunicação em sd
Sd04 (si) comunicação em sd
 
Sd03 (si) conceitos básicos de sd
Sd03 (si)   conceitos básicos de sdSd03 (si)   conceitos básicos de sd
Sd03 (si) conceitos básicos de sd
 
Sd01 (si) sistemas de arquivos
Sd01 (si)   sistemas de arquivosSd01 (si)   sistemas de arquivos
Sd01 (si) sistemas de arquivos
 
Sd07 (si) eleição
Sd07 (si)   eleiçãoSd07 (si)   eleição
Sd07 (si) eleição
 
Ufbamat2013
Ufbamat2013Ufbamat2013
Ufbamat2013
 
Ufbaingles2013
Ufbaingles2013Ufbaingles2013
Ufbaingles2013
 
Ufbagab mat 2013
Ufbagab mat 2013Ufbagab mat 2013
Ufbagab mat 2013
 
Ufbagab ingles2013
Ufbagab ingles2013Ufbagab ingles2013
Ufbagab ingles2013
 
Ufbagab fis 2013
Ufbagab fis 2013Ufbagab fis 2013
Ufbagab fis 2013
 
Ufbafisqui2013
Ufbafisqui2013Ufbafisqui2013
Ufbafisqui2013
 
Ufbagab qui 2013
Ufbagab qui 2013Ufbagab qui 2013
Ufbagab qui 2013
 
Questesdetecnologia ano2002
Questesdetecnologia ano2002Questesdetecnologia ano2002
Questesdetecnologia ano2002
 
Questesdematemtica ano2003
Questesdematemtica ano2003Questesdematemtica ano2003
Questesdematemtica ano2003
 
Questesdematemtica ano2002
Questesdematemtica ano2002Questesdematemtica ano2002
Questesdematemtica ano2002
 
Questesdefundamentos ano2003
Questesdefundamentos ano2003Questesdefundamentos ano2003
Questesdefundamentos ano2003
 
Questesdefundamentos ano2002
Questesdefundamentos ano2002Questesdefundamentos ano2002
Questesdefundamentos ano2002
 
Gabarito ano2011
Gabarito ano2011Gabarito ano2011
Gabarito ano2011
 

Sd02 (si) gerenciamento de entrada e saída

  • 1. Sistemas Distribuídos Parte 2 Gerenciamento de Entrada e Saída Professor Eduardo Xavier
  • 2. Objetivos do controle de E/S • Emitir comandos para os dispositivos – Na maioria das vezes, os programas e o próprio SO enxergam os dispositivos de uma forma que não é a sua real interface. Por exemplo: – Discos são vistos como blocos de bytes, em vez de trilhas e cilindros. – Partições lógicas em um mesmo disco são vistas como discos fisicamente diferentes • Atender interrupções – Sempre que uma operação de I/O (Input/Output) termina, é preciso informar ao SO que o processo que solicitou a operação já pode ser desbloqueado. Isso é feito por meio de uma “interrupção”. Professor Eduardo Xavier
  • 3. Objetivos do controle de E/S (cont.) • Manipular erros – Se ocorre algum problema em uma operação de I/O, é preciso que o erro seja tratado. O tratamento do erro geralmente se processa de duas formas: – Definir um curso de ação para fazer com que a operação de I/O seja processada corretamente (exemplo: repetir a operação) – Gerar uma mensagem de erro que será encaminhada para o SO (ou para quem solicitou o I/O) Professor Eduardo Xavier
  • 4. Diversas formas de “ver” o hardware • Dependendo do ponto de vista de cada indivíduo, o hardware pode ser encarado de uma maneira diferente – Programadores de aplicações enxergam cada dispositivo da forma como suas aplicações devem manipular os dados – Projetistas de SO visualizam a forma como cada dispositivo vai interagir com o sistema operacional – Projetistas de hardware focalizam sua atenção em consumo de energia e trocas de sinais elétricos entre cada dispositivo e o restante do hardware do computador • Nesta parte da disciplina vamos concentra nossa atenção em como o HW é programado e manipulado pelo sistema operacional, sem se preocupar com funciona interno. Professor Eduardo Xavier
  • 5. Dispositivos de Entrada/Saída • Podemos classificar os dispositivos de I/O em três categorias: 1. Dispositivos organizados em BLOCOS 2. Dispositivos organizados em CARACTERES 3. Dispositivos organizados de outra forma Professor Eduardo Xavier
  • 6. Dispositivos de Entrada/Saída • Categoria 1: Dispositivos de BLOCO • Neste tipo de dispositivo as informações são armazenadas e transmitidas em blocos de tamanho fixo e cada bloco tem um endereço próprio que permite sua localização. • Normalmente, o tamanho do bloco varia entre 128 e 4096 bytes (mas não se trata de uma restrição e sim de um padrão normalmente adotado pela indústria) • É possível ler ou escrever cada bloco independentemente do outro a qualquer instante • Exemplo de dispositivo organizado em blocos: – Discos magnéticosProfessor Eduardo Xavier
  • 7. Dispositivos de Entrada/Saída • Categoria 2: Dispositivos de CARACTERE • Este tipo de dispositivo libera ou aceita filas de caracteres sem levar em conta a padronização da estrutura de armazenamento • As informações enviadas/obtidas por este tipo de dispositivo não são endereçáveis nem aceitam operações de busca aleatória • Exemplos de dispositivo organizados em caracteres: – Impressoras – Leitoras ópticas Professor Eduardo Xavier
  • 8. Dispositivos de Entrada/Saída • Categoria 3: Outros dispositivos • As duas categorias anteriores abrangem a maioria dos dispositivos hoje fabricados, porém existem alguns que trabalham de formas diferentes, que não se enquadram nem na transmissão de dados em blocos nem em filas de caracteres • Exemplo de dispositivo cuja organização não se dá nem em blocos nem em caracteres: – Relógios - não usam blocos endereçáveis ou filas de caracteres, apenas geram interrupções em intervalos regulares Professor Eduardo Xavier
  • 9. Controladores de Dispositivos • Unidades de E/S são o resultado da combinação de componentes mecânicos e componentes eletrônicos – O componente eletrônico é chamado de controlador de dispositivo (é comum também ser chamado de device controler ou adapter em literatura técnica) • Geralmente, é um circuito impresso que pode ser inserido no computador • Exemplos: controlador de vídeo, controladora de discos – O componente mecânico é o dispositivo propriamente dito • Exemplo: vídeo, discos, impressora Professor Eduardo Xavier
  • 10. Controladores de Dispositivos • IMPORTANTE – O SO vê o controlador e não o dispositivo • O SO usa o(s) barramento(s) para se comunicar com os dispositivos • Nos mainframes, estes barramentos são chamados de “canais de E/S” e servem para aliviar a carga da CPU • Entre um controlador e cada dispositivo existe uma interface de baixo nível, responsável por converter a forma como o dispositivo manipula os dados em uma forma padronizada de comunicação – Por exemplo: Discos são formatados em setores, trilhas e cilindros, mas o driver envia uma lista serial de bits e cabe ao controlador converter esta lista em um grupo de blocos Professor Eduardo Xavier
  • 11. Controladores de Dispositivos Professor Eduardo Xavier Barramento Memória Principal CPU Interfaces de baixo nível Controlador de Discos Controlador de Vídeo Controlador USB Controlador de Impressora Outros Controladores ? ? ?
  • 12. Controladores de Dispositivos • Registradores internos de cada controlador – Cada controlador tem uns poucos registradores que são usados para comunicação com a CPU – Em algumas máquinas estes registradores fazem parte do espaço de endereçamento regular, ou seja, podem ser endereçados diretamente – O SO realiza operações de E/S escrevendo comandos e parâmetros (que os comandos utilizam) nestes registradores – Quando o comando é completado, o controlador causa uma interrupção para permitir que a CPU assuma o comando novamente e teste o resultado da operação – As informações a respeito do andamento da operação também são armazenadas nestes registradores Professor Eduardo Xavier
  • 13. Software de Entrada/Saída • O gerenciamento de I/O é organizado como uma série de camadas sobrepostas – As camadas mais baixas se preocupam com o hardware – As camadas mais altas se destinam a manter uma interface simples para o usuário Professor Eduardo Xavier
  • 14. Software de Entrada/Saída • Conceitos importantes: – Independência do dispositivo físico • Exemplo: qualquer software que acessa discos deve conseguir funcionar para vários tipos de disco sem necessitar ser recompilado a cada mudança de hardware – Uniformidade de nome • O nome de um dispositivo deve ser uma cadeia de caracteres ou um inteiro. A formação deste nome não deve depender do dispositivo – Manipulação de erros: • Erros devem ser tratados o mais próximo possível do hardware e só são repassados para as camadas superiores caso não possam ser resolvidosProfessor Eduardo Xavier
  • 15. Software de Entrada/Saída • Tipos de Transferências de Dados – Transferências Síncronas • Transferências de dados síncronas são realizadas em blocos – Transferências Assíncronas • Transferências de dados assíncronas são controladas por interrupções • Muitos dispositivos de E/S são assíncronos – A CPU inicia a transferência e vai cuidar de outra coisa enquanto esta é processada até que ocorra uma interrupção • Para o usuário geralmente isso se apresenta de forma síncrona (blocos), pois facilita a programação Professor Eduardo Xavier
  • 16. Software de Entrada/Saída • Existem dispositivos dedicados ou compartilhados por vários usuários – IMPORTANTE: Dispositivos dedicados também podem gerar DEADLOCK • O software de E/S pode ser estruturado em 4 camadas: – Software de manipulação de interrupções – Drivers de dispositivos – Software do sistema operacional independente do dispositivo – Software em nível de usuário Professor Eduardo Xavier
  • 17. Camada 1: Software de Manipulação de Interrupções • O que são “Interrupções”? – Interrupções são eventos complexos, que devem ser isolados de modo que apenas uma pequena parte do sistema operacional os manipule • O isolamento pode ser feito através do bloqueio de processos envolvidos com a operação de I/O solicitada – Quando a operação de I/O se encerra, uma interrupção é gerada para informar o fato ao sistema operacional Professor Eduardo Xavier
  • 18. Camada 1: Software de Manipulação de Interrupções • Como funciona o software de manipulação de interrupções? – Ao captar uma interrupção, a rotina de tratamento da mesma desbloqueia o processo que dependia da operação de I/O • OBS: O bloqueio aconteceu no momento em que este processo solicitou a execução da operação de entrada/saída, conforme foi visto nas aulas de gerenciamento de processos Professor Eduardo Xavier
  • 19. Camada 2: Drivers de Dispositivos • O que é um “Driver de Dispositivo”? – Parte do SO que conhece intimamente o controlador de dispositivo – Cada driver manipula um dispositivo ou uma classe de dispositivos – O trabalho do driver é aceitar requisições de software de alto nível e atendê-las Professor Eduardo Xavier
  • 20. Camada 2: Drivers de Dispositivos • Funcionamento dos Drivers – Os drivers organizam as requisições pendentes em filas – Passos do funcionamento dos drivers: 1.Traduz a requisição em comandos de baixo nível que o controlador de dispositivo entenda 2.Escreve os comandos nos registradores do controlador 3.Aguarda a execução ou bloqueia-se (se as operações forem lentas) 4.Verifica erros (quando a operação é completada) 5.Repassa o resultado (dados e/ou status) para o solicitante 6.Atende a próxima requisição da fila (volta ao passo 1) ou aguarda nova requisição (se a fila estiver vazia) Professor Eduardo Xavier
  • 21. Camada 3: Software Independente de Dispositivo • Este tipo de software realiza operações de E/S que são comuns a todos os dispositivos usando uma interface uniforme para o SW do usuário • É sua função: – Encarregar-se do mapeamento entre nomes simbólicos de dispositivos e drivers – Proteger os dispositivos (garante apenas acessos autorizados) – Manipular blocos lógicos de informação de forma padronizada, independente do dispositivo físico • Exemplo: o SW se encarrega de mostrar ao usuário um tamanho de bloco lógico único, independente da formatação de cada disco – Executar “bufferrização” para tornar transparente o fluxo de dados – Coordenar a alocação de espaço em dispositivos do tipo BLOCO – Controlar a alocação e liberação de dispositivos dedicados – Gerenciar erros Professor Eduardo Xavier
  • 22. Camada 4: Software em Nível de Usuário • O que é? – É uma pequena porção de software formada por bibliotecas ligadas (linkadas) juntamente com programas de usuário • Grande parte das “system calls” partem deste nível • Geralmente, a formatação de uma entrada ou saída de dados é feita por um procedimento de biblioteca Professor Eduardo Xavier
  • 23. Camada 4: Software em Nível de Usuário • Spooling – Nem todo o software de E/S utilizado pelo usuário consiste de procedimentos da biblioteca. Outra importante categoria é o spooling. • Spooling é um modo de negociação com dispositivos dedicados de E/S em sistemas multiprogramados • Exemplo: Spooling de impresão – Durante as aulas de gerenciamento de processos o funcionamento do spooling de impressão (fila de impressão) foi usado para exemplificar o problema de condições de corrida Professor Eduardo Xavier
  • 24. DISPOSITIVODISPOSITIVO Resumo da Arquitetura de Entrada/Saída Professor Eduardo Xavier Gerenciadores de Interrupção Drivers de Dispositivo Software Independente do Dispositivo Processos do Usuário Camadas Requisição de E/S Resposta da Requisição de E/S Funcionalidades Executa operação de E/S Identificação, proteção, bloqueio e “bufferização” Inicializa registradores do dispositivo Verifica Status da operaçao Desbloqueia o driver quando a operação de E/S se completa Executa fisicamente a operação de E/S