# Entrada/sortida

S'anomena Entrada/sortida (E/S), de vegades designats per l'acrònim I/O, derivat de l'anglès Input/Output, als intercanvis d'informacions entre el processador i els perifèrics que li són associats en un sistema basat en un processador, un microprocessador, un microcontrolador o PLC. D'aquesta manera, el sistema pot reaccionar als canvis en el seu entorn o, fins i tot, controlar-los.
En un sistema operatiu:
* les entrades són les dades enviades per un dispositiu (disc, xarxa, teclat…) a la UCP;
* les sortides són les dades emeses per la unitat central amb destinació a un perifèric (disc, xarxa, pantalla…).
Exemple simplificat:
* Escriure en un teclat envia una sèrie de codis per al processador; aquests codis són considerats com a dades d'entrada;
* El processador mostra els resultats del tractament de les dades sobre una pantalla; són les dades de sortida. En general, la pantalla és administrada per un programa de gestió de visualització.

## Estructura d'un sistema de microprocessador

Un sistema de microprocessador implica necessàriament els següents elements:
* un processador, que és el cervell del sistema; és capaç de realitzar operacions aritmètiques i lògiques i organitzar les transferències de dades entre els components del sistema;
* una zona de memòria ROM (ROM, EPROM, EPROM Flaix) que emmagatzema el programa informàtic;
* una zona de memòria RAM que emmagatzema les dades durant l'execució del programa; el contingut d'aquesta memòria es perd quan s'apaga el sistema;
* perifèrics; el nombre i tipus depenen de l'aplicació.
Els diversos components del sistema estan connectats per tres busos:
* el bus de dades permet, com el seu nom ho indica, la circulació de les dades, però també de les instruccions, entre els 4 grans blocs;
* el bus d'adreces permet al processador d'identificar a cada instant de la cèl·lula de memòria o dispositiu que es vol apel·lar;
* el bus de control és igualment administrat pel processador i indica, per exemple, si vol fer una escriptura o una lectura en una cèl·lula de memòria, o una entrada/sortida de o cap a un perifèric; es troben igualment, al bus de control, una o diverses línies que permeten als circuits perifèrics efectuar demandes al processador; aquestes línies són dites línies d'interrupció de maquinari (IRQ).
L'evolució de la tecnologia fa que dels sistemes que, abans requerien diversos encapsulats, poden perfectament ser integrats dins d'un sol paquet que inclou diverses funcions; veure per exemple la família de processadors ADuC d'Analog Devices.

## Controlador de dispositiu

Els dispositius d'E/S estan formats per una part mecànica i una part electrònica; aquesta última es denomina controlador de dispositiu i generalment la interfície entre les dues parts és de baix nivell.
Per exemple el controlador d'un disc dur converteix el flux de bits rebut als blocs necessaris per a l'operació a realitzar.

## Perifèrics d'entrada i sortida

Per diferenciar els dispositius tenim dos enfocaments possibles; el primer d'ells se centra en la manera d'emmagatzemar la informació (classificant els dispositius com de «bloc» o de «caràcter») i el segon enfocament se centra en el destinatari de la comunicació (usuari, màquina, comunicadors).
Un dispositiu de blocs emmagatzema la informació en blocs de grandària fixa. En ser el bloc la unitat bàsica d'emmagatzematge, totes les escriptures o lectures es realitzen mitjançant múltiples d'un bloc. És a dir, escric 3 o 4 blocs, però mai 3,5 blocs. A l'MS-DOS, la mida dels blocs sol variar entre 512 bytes fins a 32.768 bytes. Un disc dur entraria dins d'aquesta definició. A diferència d'un dispositiu de bloc, un dispositiu de caràcters no maneja blocs fix d'informació sinó que envia o rep un flux de caràcters. Dins d'aquesta classe podem trobar impressores o interfícies de xarxa.
Entre cada categoria i dispositiu, hi ha grans diferències:
* velocitat de transferència de dades: diversos ordres de magnitud per transferir les dades, segons les necessitats de cada dispositiu;
* aplicació: la funcionalitat per a la qual s'ha dissenyat un dispositiu té influència sobre el programari i, per tant, ho tindrà sobre el sistema operatiu;
* complexitat de control: cada dispositiu té una complexitat associada, no és el mateix controlar un ratolí que gestionar un disc dur;
* unitat de transferència: dades transferides com un flux de bytes/caràcters o en blocs de grandària fixa;
* representació de dades: cada dispositiu pot utilitzar la seva pròpia codificació de dades;
* condicions d'error: el perquè de l'error, la seva manera de notificar-ho així com les seves conseqüències difereix àmpliament entre els dispositius.

## Alguns dispositius d'entrada i sortida

* Entrada:
** Teclat
** Ratolí
** Joystick
** Llapis òptic
** Micròfon
** Càmera web
** Escàner
** Lector de codi de barres
* Sortida:
** Monitor
** Altaveu
** Auriculars
** Impressora
** Plòter
** Projector de vídeo
* Entrada/sortida:
** Unitats d'emmagatzematge
** CD
** DVD
** Mòdem
** Fax
** Targeta de Memòria
** USB
** Encaminador
** Pantalla tàctil
** Dispositius hàptics

## Referències

* 1 2 3 «Estructura i Tecnologia de Computadors» (PDF). Arxivat de l'original el 2005-03-17. [Consulta: 22 gener 2011].
* ↑ «Entrada i sortida d'informació». UPF. Arxivat de l'original el 2016-03-03. [Consulta: 22 gener 2011].
* ↑ Enric Pastor. «Busos de comunicació» (PPT). Universitat Politècnica de Catalunya. [Consulta: 22 gener 2011].
* ↑ «MicroConverter® Products - Precision Analog Microcontrollers» (en anglès). Analog Devices. Arxivat de l'original el 2010-09-15. [Consulta: 22 gener 2011].
* 1 2 3 Tanenbaum, Andrew S. Sistemas operativos modernos (en castellà). Mèxic: Pearson educación, 2003.
* 1 2 Stallings, William. Sistemas operativos: Aspectos internos y principios de diseño (en castellà). Espanya: Pearson educación, 2005.

## Enllaços externs

* Gestió de l'entrada/sortida Arxivat 2016-03-03 a Wayback Machine. PDF