




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
Os melhores documentos à venda: Trabalhos de alunos formados
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
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
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