Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouHugo Modesto Alterado mais de 10 anos atrás
1
Sistemas Operacionais SISTEMA DE ENTRADA E SAÍDA
Prof. D.Sc. Eduardo Barrére DCC026 Pontifícia Universidade Católica PUC - Minas Poços de Caldas
2
Uma estrutura de barramento típica
3
Polling (espera em ciclo)
Determina o estado do dispositivo: pronto ocupado erro Ciclo Busy-wait para aguardar por uma comunicação com o dispositivo.
4
Interrupção
5
Tabela de vetor de eventos do Pentium
6
Acesso Direto a Memória
Usado para transferências de dados em grande quantidade. Necessita de um controlador de DMA “Ignora” a CPU na transferência entre um dispositivo de I/O e a memória.
7
DMA
8
Uma estrutura do sistema de I/O
9
Interface de I/O Chamadas de Sistemas de I/O encapsulam comportamentos em classes genéricas. A camada do driver de dispositivo esconde as diferenças entre os controladores de I/O e o kernel Os dispositivos variam em diversas dimensões: stream de caractere ou bloco Acesso sequencial ou randômico Compartilhado ou dedicado Velocidade de operação Leitura-escrita, somente leitura ou somente escrita
10
Dispositivos de Rede Unix e Windows incluem interface com sockets
Separa protocolo de rede com operações de rede Inclui a funcionalidade select, que gerencia um conjunto de sockets Outras comunicações: pipes, FIFOs, streams, filas, mailboxes.
11
Relógios e Temporizadores
Oferece: tempo corrente, tempo “passado”, temporizador Permite programar intervalos de tempo que são utilizados por temporizadores e interrupções periódicas
12
I/O com e sem Bloqueio Bloqueada(síncrona): o processo é suspenso até que a requisção de I/O esteja completa Fácil de usar e entender Insuficiente para muitas necessidades Não Bloqueada: a chamada de I/O não bloqueia o processo. Uso de streams Implementeda via multi-threading Cópia de dados (bufferizados), interface com o usuário, etc. Retorna rapidamente com a quantidade de bytes lidos ou escritos. Assíncrona: o processo continua rodando enquanto a operação de I/O é executada. Dificuldade para usar. O subsistema de I/O sinaliza (memória, interrupção via softaware, etc.) o processo quando a operação de I/O estiver completa.
13
Kernel do subsistema de I/O
Ordenação Para uma leitura em disco (3 arquivos em posições distintas) Bufferização: armazena dados na memória enquanto é feita a transferência entre os dispositivos Para dispositivos de velocidades diferentes Para dispositivos com capacidades diferentes Cache Spool
14
Tabela de Status dos dispositivos
15
Tratamento de Erros O SO pode tentar ler novamente um disco antes de reportar um erro. Retorna um código de erro quando a operação não pode ser concluída Alguns SOs permitem criar arquivos de logs para os erros de I/O
16
Estrutura de Dados do Kernel
Kernel keeps state info for I/O components, including open file tables, network connections, character device state Many, many complex data structures to track buffers, memory allocation, “dirty” blocks Some use object-oriented methods and message passing to implement I/O
17
Estrutura do Kernel do UNIX
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.