Buscar

10 Camadas do Software de Entrada e Saída

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 38 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 38 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 38 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

SISTEMAS OPERACIONAIS
Camadas do Software de Entrada e 
Saída
Ana Cristina A. Oliveira Dantas
ana.oliveira@ifpb.edu.br
IFPB – Instituto Federal da Paraíba
Campus Campina Grande
Camadas do software de E/S
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
2
Camadas
Hardware
Tratadores de interrupções
Drivers dos dispositivos
Software do SO independente do dispositivo
Software de E/S no nível do usuário
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
3
Tratadores de interrupções
 Nível mais baixo para esconder a chateação das interrupções do 
resto do sistema
 O driver que solicitou uma operação de E/S fica bloqueado até que 
a interrupção chegue
 O tratador de interrupção trata a interrupção e depois acorda o 
driver que chamou a operação de E/S
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
4
Algumas tarefas realizadas em software
 Realiza mudança de contexto
 Salvar registradores não salvos
 Copia registradores para a tabela de processos
 Estabelece um contexto para a rotina de tratamento de interrupção
 Estabelece uma pilha para a rotina de tratamento de interrupção
 Executa rotina de tratamento de interrupção
 Escolhe o próximo processo a executar
 Muda o contexto para o próximo processo a rodar
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
5
Camadas
Drivers dos dispositivos
Tratadores de interrupções
Software do SO independente do dispositivo
Software de E/S no nível do usuário
Hardware
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
6
Drivers dos dispositivos
 Programar a controladora do mouse ≠ programar a controladora do 
disco!!!
 O driver do dispositivo conhece o dispositivo suficientemente bem 
para saber controlá-lo 
 É escrito pelo fabricante para SOs mais populares
 Faz parte do núcleo do SO
 SO é preparado para ser estendido através destes códigos de 
terceiros
 Interface bem definida
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
7
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
8
Mais sobre drivers
 Duas interfaces padrão:
 Dispositivos de bloco
 Dispositivos de caracteres
 Interfaces com procedimentos usados para se comunicar com os 
drivers
 Exemplos: leitura de um bloco, escrita de uma cadeia de caracteres
 Carregados em tempo de execução do SO
 Oposição ao SO como um único programa binário
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
9
Funções dos drivers
 Aceitar e executar requisições de alto nível vindas da camada 
superior
 Iniciar o dispositivo
 Programar o controlador do dispositivo adequadamente
 Tratar erros
 Serve de interface entre a parte do SO independente de dispositivo 
e os controladores de dispositivos
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
10
Quando um driver recebe uma solicitação de um 
serviço...
 A solicitação não está no formato que o controlador possa executar
 O driver ... vai verificar os parâmetros de entrada (se houver)
 O driver ... vai traduzir em comandos concretos que o controlador 
entenda
 Com a requisição formada, o driver ... vai trabalhar para que ela 
seja executada
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
11
Controlando o dispositivo
 O driver tem que descobrir se o dispositivo está ocioso
 Se estiver, tem que ver se ele está pronto para realizar a requisição
 Pode ser preciso ligá-lo
 Senão enfileira a requisição para atendimento posterior
 O dispositivo é controlado
 O driver emite uma seqüência de comandos para ele
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
12
Controlando o dispositivo
 Escreve nos registradores do controlador do dispositivo a seqüência 
de comandos
 Um a um
 Alguns controladores podem ler e processar uma seqüência de comandos 
sem ajuda do SO
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
13
Depois que os comandos são executados
 O driver ...
 se auto-bloqueia ao emitir a seqüência de comandos e o controlador vai 
enviar uma interrupção para acordá-lo
 não se bloqueia pois a operação era muito rápida
 O driver ... vai verificar se ocorreu erro
 O driver ... pode passar dados para o software independente de 
dispositivo
 O driver ... retorna informação de estado para o processo chamador
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
14
Comandos para o ControladorExistem
parâmetros de
entrada?
Chega uma requisição para o
driver
Verifica se
parâmetros estão
OK
sim
Traduz requisição para
seqüência de comandos
que o controlador
entenda
Parâmetros
OK?
sim
não
Indica erro para
requisitante
não
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
15
Comandos para o Controlador
Dispositivo
ocioso?
Envia comando
para
registradores
do controlador
sim
Dispositivo
pronto?
Põe seqüência de
comandos em fila
Realiza tarefas
necessárias para
que ele esteja
pronto
não
não
sim
Aguarda
interrupção do
dispositivo
Chega uma
interrupção do
dispositivo
Driver é
acordado
Driver estava
bloqueado?
sim
Verifica
ocorrência de
erros
não
Envia resultado
para processo
chamador
Mais
comandos?
sim
não
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
16
Outras características dos drivers
 Capaz de lidar com adição/remoção de dispositivos online
 Software reentrante (execução corrente segura)
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
17
Código não reentrante
int g_var = 1; 
int f() { 
g_var = g_var + 2; 
return g_var; 
} 
int g() { 
return f() + 2; 
} 
Código Reentrante
int f(int i) {
return i + 2; 
} 
int g(int i) {
return f(i) + 2; 
} 
Camadas
Hardware
Software do SO independente do dispositivo
Tratadores de interrupções
Drivers dos dispositivos
Software de E/S no nível do usuário
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
18
Software de E/S independente de dispositivo
 O driver tem que saber controlar o dispositivo
 É específico para um certo dispositivo, ou para uma classe de dispositivos
 Fronteira variável entre software dependente e independente do 
dispositivo
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
19
Funções do software independente de dispositivo
 Fornecer interface uniforme para o software no nível do usuário
 Definir interface padrão para comunicação driver  SO
 Executar tarefas comuns a todos os dispositivos
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
20
Interface não uniforme para drivers
 O que acontece ao adicionar um novo dispositivo?
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
21
Interface uniforme para drivers
 O SO já está preparado para lidar com drivers que expõem certa 
interface
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
22
Atividades comuns
 Mapeia nomes simbólicos dos dispositivos para os drivers apropriados
 Protege dispositivos de usuários não autorizados
 Organiza o uso de buffers que melhoram o desempenho de 
leitura/escrita em dispositivos
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
23
Entrada com/sem uso de buffers
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
24
Saída com/sem uso de buffers
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
25
Exemplo de operação em rede
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
26
Atividades comuns
 Tratamento de erros de programação
 O processo do usuáriopede algo impossível
 Relatar erro a quem chamou
 Tratamento de erros de E/S não resolvidos pelos drivers
 Perguntar ao usuário o que fazer, mostrar mensagem de erro na tela, matar 
processo chamador, etc.
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
27
Atividades comuns
 Gerência de dispositivos dedicados
 Ex. CD-ROM
 Expõe para camada superior blocos de tamanho uniforme
 Processos dos usuários lidam com blocos lógicos
 Ordenação de operações de E/S
 Para melhorar desempenho
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
28
Ordenação
 Ex. Programa 1 lê no fim do disco, programa 2 lê no início do disco e 
programa 3 lê no meio do disco
 Ordem 2, 3, 1 reduz deslocamento do braço do disco
 Usa uma fila de requisições para cada dispositivo
 Cada vez que chega uma requisição a fila é reordenada
 Não prejudicar processos, prioridade a requisições
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
29
Camadas
Hardware
Software do SO independente do dispositivo
Tratadores de interrupções
Drivers dos dispositivos
Software de E/S no nível do usuário
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
30
Software de E/S do espaço do usuário
 Bibliotecas ligadas aos programas dos usuários
 Realiza spooling
 Processo especial (daemon) que escreve no diretório de spool 
 Apenas o daemon pode usar o arquivo especial da impressora
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
31
Operação completa de E/S
 Processo faz read(f)
 Essa chamada vai gerar uma chamada ao sistema
 A chamada ao sistema vai primeiramente ser tratada pelo software 
independente de dispositivo
 Verifica se a requisição e os argumentos são válidos
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
32
Operação completa de E/S
 Se estiver OK, o processo chamador é bloqueado
 A requisição é colocada na fila de requisições para o dispositivo (que 
pode ser reordenada)
 Área de armazenamento no núcleo é alocada para armazenamento 
temporário
 A requisição chega no driver, que define seqüência de comandos de 
baixo nível
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
33
Operação completa de E/S
 Driver transfere comandos para os registradores do dispositivo
 O dispositivo realiza a operação solicitada e envia uma interrupção
 O tratador de interrupção é chamado e uma rotina de tratamento é 
executada
 O driver é informado sobre término de uma operação solicitada
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
34
Operação completa de E/S
 O driver identifica a operação realizada e verifica o status da 
mesma e sinaliza para o núcleo do SO
 O software independente de dispositivo transfere dados e códigos de 
erro/sucesso para o espaço de endereçamento do processo chamador
 Processo chamador é desbloqueado
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
35
Resumo das camadas do sistema de E/S
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
36
• Realizam chamadas de sistema
• Formatam E/S
• Spooling
Processos do Usuário
• Nomeação, proteção, bloqueio, buferização, 
alocação
Software independente 
de dispositivo
• Ajuste de registradores
• Verificação de estado (status)
Drivers de dispositivos
• Acordam o dispositivo quando E/S é concluída
Tratadores de 
interrupções
• Operações de E/SHardware
Bibliografia
37
 ANDREW S. TANENBAUM. Sistemas Operacionais Modernos. Editora 
Prentice-Hall, 2ª Edição, 2003. ISBN: 8587918575
 Capítulo 5: Entrada/Saída
Sistemas Operacionais - E/S - Prof. Ana Cristina Alves
SISTEMAS OPERACIONAIS
Camadas do Software de Entrada e 
Saída
Ana Cristina A. Oliveira Dantas
ana.oliveira@ifpb.edu.br
IFPB – Instituto Federal da Paraíba
Campus Campina Grande

Continue navegando