analisaremos mais detalhadamente tres dos mais comuns metodos de I/O: I/O baseado em mapeamento de porta, I/O baseado em mapeamento de memoria, e I/O baseado em interrupcao.EXEMPLO DE I/O BASEADO EM MAPEAMENTO DE PORTAPara tanto, analisemos com mais detalhes, atraves da ilustracao, o primeiro exemplo citado ha instantes atras. Sempre que voce digita em um computador, imediatamente apos cada tecla ser pressionada, um sinal eletrico denominado scan code contendo o valor da referida tecla, e enviado do teclado para um componente denominado controlador de teclado, que normalmente se encontra afixado sobre a placa mae. O controlador de teclado armazena o valor da tecla em uma area de armazenamento temporario e, envia um sinal, avisando o processador a respeito do evento. O processador, entao, se comunica com o controlador de teclado de forma a obter o valor da tecla digitada e, somente apos, o exibe na tela.I/O BASEADO EM MAPEAMENTO DE PORTAA comunicacao entre o processador e o dispositivo periferico, no caso em questao, representado pelo controlador de teclado, e baseada no conceito de portas de I/O, que sao valores numericos associados a alguns dispositivos perifericos conectados a maquina. Podemos dizer que o relacionamento das portas de I/O com os dispositivos, ocorre de maneira semelhante a forma com que se relacionam numeros de telefones e pessoas. Assim como e possivel estabelecer contato com uma pessoa pelo seu numero de telefone, tambem e possivel acessar funcionalidades, de alguns dispositivos, atraves da execucao de uma variedade especifica de instrucoes, em conjunto, denominadas instrucoes de I/O, que tomam como parametro, um valor numerico pre-estabelecido, correspondente a uma porta de I/O. O metodo de I/O propiciado por computadores que oferecem suporte a execucao de instrucoes de I/O, que a proposito compreendem a maior parte dos computadores pessoais, e denominado I/O baseado em mapeamento de porta, ou simplesmente PMIO.I/O BASEADO EM MAPEAMENTO DE MEMORIAUm segundo metodo de I/O muito comum e denominado I/O baseado em mapeamento de memoria, ou MMIO. Dispositivos perifericos projetados para oferecer suporte a este metodo de comunicacao mantem vigilancia constante sobre as operacoes que envolvem o acesso a memoria RAM; reagindo de maneira especifica sempre que ocorrem alteracoes em areas da memoria RAM monitoradas por eles.EXEMPLO DE I/O BASEADO EM MAPEAMENTO DE MEMORIAVoce ja deve ter notado que, nos instantes que sucedem a inicializacao de um computador, os elementos de interacao disponiveis para o usuario nao sao formados de janelas ou botoes. Ate o momento em que o sistema se habilita a exibir imagens, tudo o que se ve na tela sao caracteres brancos dispostos sobre um fundo preto. Diz-se, por essa razao, que o computador opera em modo texto logo apos sua inicializacao, e em modo grafico a partir desse momento. Sempre que e necessario exibir um caractere em modo texto ou um pixel em modo grafico, e possivel faze-lo por meio da execucao de uma instrucao que modifica uma regiao especifica da memoria RAM, previamente reservada para esta funcao. Este e um exemplo tipico de I/O baseado em mapeamento de memoria.EXEMPLO DE I/O BASEADO EM MAPEAMENTO DE MEMORIAComo voce ja deve saber,