5 UTFØRTE TESTER
5.2 S KJÆRTESTER
5.2.1 Testoppsett
Os dispositivos de I/O e suas interfaces podem ser classificados de forma ampla quanto ao tipo de conex˜ao e tipo de transferˆencia de dados.
5.3.1 Conex˜ao de Dados dos I/O
Conforme natureza do perif´erico que ser´a conectado ao sistema e tamb´em as condi¸c˜oes desta liga¸c˜ao, as conex˜oes dos dispositivos de I/O, do ponto de vista dos dados, s˜ao projetadas para opera¸c˜ao serial ou paralela.
Numa conex˜ao serial, uma ´unica linha de sinal ´e utilizada para o es- tabelecimento de toda a conex˜ao, protocolo e transferˆencia de dados entre o m´odulo de I/O e o perif´erico, ou seja, todos os bits, sejam de dados ou controle, s˜ao transferidos um a um entre m´odulo de I/O e perif´erico.
Numa conex˜ao paralela, v´arias linhas de sinal s˜ao utilizadas de modo que v´arios bits de dados (bytes ou words tipicamente) sejam transferidos em paralelo, ou seja, ao mesmo tempo, acelerando as transferˆencias, pois se comportam como v´arias linhas seriais atuando ao mesmo tempo. Tamb´em ´e comum que existam linhas independentes para o tr´afego de sinais de controle. As conex˜oes seriais s˜ao baratas, relativamente confi´aveis, embora nomi- nalmente mais lentas que as conex˜oes paralelas, sendo usualmente utilizadas para dispositivos baratos e lentos tais como impressoras e terminais. As co- nex˜oes paralelas, devido a interface mais complexa, s˜ao mais caras, bastante confi´aveis e de melhor desempenho, sendo utilizadas para conex˜ao com dis- positivos mais velozes, tais como unidades de disco, unidades de fita ou mesmo impressoras r´apidas.
Em ambas os tipos de conex˜ao, o m´odulo de I/O e o perif´erico trocam sinais de controle garantindo a permiss˜ao para o envio ou recebimento de dados (protocolo de conex˜ao ou handshaking). A transferˆencia dos dados
5.3. TIPOS DE DISPOSITIVOS DE E/S 153
Figura 5.7: Configura¸c˜oes de DMA
´e feita, exigindo o envio de sinais de confirma¸c˜ao a cada byte ou bloco dependendo do dispositivo, tipo de conex˜ao e do protocolo de transferˆencia adotado.
5.3.2 Tipos de Transferˆencia de I/O
Os dispositivos de I/O atuam usualmente como dispositivos orientados `a caractere (character devices) e dispositivos orientados `a blocos (block devices).
Nos primeiros, orientados `a caractere, a transferˆencia de dados ´e feita byte a byte, sem a necessidade de alguma forma de estrutura¸c˜ao dos dados por parte do m´odulo de I/O e do perif´erico, ou seja, o formato dos da- dos recebidos e transmitidos ´e responsabilidade da aplica¸c˜ao que utiliza o dispositivo.
Nos dispositivos de transferˆencia orientados `a blocos, a troca de dados ´e realizada em blocos de tamanho fixo, cujo tamanho depende do dispositivo, usualmente entre 128 e 1024 bytes. Os blocos tamb´em possuem um for- mato particular, exigindo que a aplica¸c˜ao conhe¸ca tal formato tanto para a constru¸c˜ao de tais blocos destinados `a transmiss˜ao como para sua adequada recep¸c˜ao.
Temos portanto que a opera¸c˜ao de dispositivos orientados `a caractere e `a blocos ´e bastante diferente. Unidades de disco e fita s˜ao dispositivos orientados `a blocos enquanto que impressoras, terminais, teclados e portas seriais s˜ao orientados `a caractere [PIT98, p. 68].
Nem todos os dispositivos se ajustam a esta classifica¸c˜ao, tais como os temporizadores (timers) do sistema ou monitores de v´ıdeo de mem´oria [TAN92, p. 206].
Nos sistemas Unix esta distin¸c˜ao ´e bastante aparente, principalmente durante os procedimento de instala¸c˜ao e configura¸c˜ao do sistema operacio- nal.
5.3.3 Conex˜oes ponto a ponto e multiponto com I/Os
A conex˜ao mais simples entre um dispositivo perif´erico e seu m´odulo de I/O ´e do tipo , ou seja, as linhas de sinais existentes para a comunica¸c˜ao entre estas unidades s˜ao dedicadas a este fim. Desta forma, um m´odulo de I/O deveria dispor de um conjunto de linhas para dispositivo de I/O com o qual pretende se comunicar.
Por outro lado, ´e poss´ıvel que um m´odulo de I/O compartilhe um con- junto de linhas de sinais entre diversos dispositivos perif´ericos, desde que dentre estas linhas existam algumas para realizar o endere¸camento ou sele¸c˜ao do dispositivo com o qual deseja-se realizar a opera¸c˜ao. A conex˜ao multi- ponto ´e como um conjunto de barramentos dedicado a comunica¸c˜ao entre um m´odulo de I/O e v´arios dispositivos semelhantes. Uma representa¸c˜ao das conex˜oes ponto a ponto e multiponto se encontra na Figura 5.8.
Figura 5.8: Conex˜oes ponto-a-ponto e multiponto
A conex˜ao ponto-a-ponto oferece melhor confiabilidade, permite a opera- ¸c˜ao simultˆanea de diversos perif´ericos simultaneamente (dependendo apenas das capacidades do m´odulo de I/O) embora exigindo um maior n´umero de conex˜oes e, portanto linhas de sinal. ´E geralmente utilizada para a conex˜ao de dispositivos mais simples, tais como modems, teclado e impressoras.
Exemplos de conex˜oes ponto-a-ponto padronizadas s˜ao os protocolos RTS/CTS (Request to Send e Clear to Send ) e Xon/Xoff (Transmission
5.4. DISPOSITIVOS PERIF ´ERICOS T´IPICOS 155 On e Transmisson Off ). O RTS/CTS e Xon/XOff s˜ao considerados proto- colos de baixo n´ıvel simples, bastante utilizados em comunica¸c˜ao de curta distˆancia entre computadores e perif´ericos de baixa velocidade, usualmente utilizando a interface padr˜ao RS-232C (equivalente `a standard CCITT V.24) [BLA87, p. 53].
Veja uma representa¸c˜ao do funcionamento destes protocolos entre dois equipamentos DTE (data terminal equipment) na Figura 5.9.
Figura 5.9: Protocolos RTS/CTS e Xon/Xoff
Dado que s˜ao protocolos simples, sua implementa¸c˜ao ´e f´acil, constituindo uma alternativa flex´ıvel e de baixo custo para interliga¸c˜ao de equipamentos tais como multiplexadores, demultiplexadores, modems, impressoras, termi- nais de v´ıdeo, plotters, mesas digitalizadoras etc.
A conex˜ao multiponto ´e bastante mais flex´ıvel do que a conex˜ao ponto- a-ponto pois permite maior escalabilidade, utilizando reduzido n´umero total de linhas, mas por outro lado n˜ao permite a opera¸c˜ao simultˆanea dos pe- rif´ericos conectados. Tal conex˜ao ´e tipicamente utilizada para dispositivos de armazenamento, tais como unidades de disco, fita, cartucho, CD-ROM, etc. Existem v´arios padr˜oes para estas conex˜oes, onde s˜ao exemplos:
• IDE (integrated device eletronics), • EIDE (extended IDE ),
• SCSI (small computer system interface), • USB (universal serial bus)