




Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Encontra documentos específicos para os exames da tua universidade
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Um capítulo de um livro sobre arquitetura e organização de computadores, especificamente sobre a entrada e saída de dados em sistemas de informação. O texto aborda os conceitos básicos de entrada e saída, as classes java.io para manipulação de dados, a importância de buffers e filtros, e as diferentes técnicas de transferência de dados (programada, interrupção e dma). Além disso, são discutidos os dispositivos de entrada e saída básicos, como teclado, monitor e disco, e os tipos de comandos de e/s. Finalmente, são apresentadas as interrupções e suas principais causas.
Tipologia: Trabalhos
1 / 8
Esta página não é visível na pré-visualização
Não perca as partes importantes!





Bacharelado em Sistemas de Informação
Carlos Eduardo O. Velasco 1º Semestre / 2009
Bacharelado em Sistemas de Informação
Por entrada e saída subentende-se o conjunto de mecanismos oferecidos para que um programa executando em um computador consiga respectivamente obter e fornecer informação de dispositivos externos ao ambiente de execução, composto pelo processador e memória principal.
De forma genérica, havendo um dispositivo de entrada de dados habilitado, o programa obtém dados deste dispositivo através de uma operação read(). Similarmente, um dado pode ser enviado para um dispositivo de saída habilitado através de uma operação write().
A manipulação de entrada e saída de dados em Java é suportada através de classes do pacote java.io. Essas classes oferecem as funcionalidades para manipular a entrada e saída de bytes, adequadas para a transferência de dados binários, e para manipular a entrada e saída de caracteres, adequadas para a transferência de textos. Sendo Java uma linguagem de programação orientada a objetos, seria de se esperar que, além das funcionalidades usuais de entrada e saída, ela oferecesse também alguma funcionalidade para transferência de objetos. O mecanismo de serialização suporta essa funcionalidade.
Como a velocidade de operação de dispositivos de entrada e saída é várias ordens de grandeza mais lenta que a velocidade de processamento, buffers são tipicamente utilizados para melhorar a eficiência dessas operações de leitura e escrita. Outra funcionalidade associada à transferência de dados está relacionada à conversão de formatos, tipicamente entre texto e o formato interno de dados binários. Essa e outras funcionalidades são suportadas através do oferecimento de filtros que podem ser agregados aos objetos que correspondem aos mecanismos elementares de entrada e saída.
Um dispositivo de entrada e saída de vital importância é disco, manipulado pelo sistema operacional e por linguagens de programação através do conceito de arquivos. Dois dispositivos básicos de entrada e saída associados a qualquer processo são o teclado (entrada) e o monitor (saída), habilitados pelo sistema operacional no início da execução de qualquer programa como os dispositivos padrões.
Ao executar uma operação de E/S em um programa, o processador envia um comando para o módulo de E/S apropriado, com um comando solicitando uma operação específica. Para que uma instrução de E/S seja executada, o processador gera um endereço (dizendo qual é o módulo de E/S solicitado) e transmite via barramento este endereço junto com a operação requerida. Os tipos de comandos de E/S são:
Bacharelado em Sistemas de Informação
E/S dirigida por Interrupção Neste modo de comunicação o processador não fica esperando que a operação de I/O seja finalizada para continuar a execução do programa, como acontecia no caso da E/S programada. Ao invés disso, ele simplesmente emite um sinal para a controladora (módulo de I/O) com a operação solicitada e continua executando outras instruções do programa. Quandoa controladora estiver pronta para trocar informações com a CPU ela envia um sinal de interrupção avisando seu estado de “pronto”. Após este sinal o processador realiza a transferência dos dados como acontecia no modo anterior.
Para a CPU a execução acontece do seguinte modo:
Devemos ressaltar que tanto na E/S Programada quanto na dirigida por Interrupção, o processador sempre é o responsável por obter dados da memória principal (operação de saída memória => dispositivo) ou por armazenar dados na memória principal (operação de entrada dispositivo => memória)
Interrupções A um sinal ou evento capaz de interromper a seqüência normal de execução de instruções damos o nome de interrupção. Os tipos mais comuns de interrupções estão listados a seguir:
Bacharelado em Sistemas de Informação
Bacharelado em Sistemas de Informação
As informações trocadas entre o DMA e a CPU quando esta deseja ler ou escrever um conjunto de dados em um periférico pode ser descrita como segue:
Portanto, o gerenciamento da operação de I/O fica a cargo do DMA. Suponha que um programa solicite uma leitura de um arquivo em disco. O DMA será o responsável por controlar a operação e armazenar os dados lidos do disco direto na memória principal, no endereço transmitido pela CPU durante a solicitação. Ao finalizar a transferência, o DMA emite um sinal de interrupção ao processador indicando o término da operação. Nesse instante, o processador busca os dados direto na memória, poupando tempo de acesso à controladora do disco e, consequentemente, melhorando o desempenho do sistema computacional. Dessa forma, o processador só se envolve no início e no fim da operação.
Bacharelado em Sistemas de Informação