sábado, 24 de noviembre de 2012

ENTRADA SALIDA PROGRAMADA Y SISTEMAS

1.      Mmio (Memory mapped i/o)
·         Proyectada en memoria.
·         Comparte cables con el acceso a memoria.

2.      Pmio (Port mapped i/o)
·         Bus separado, patas del procesador.
·         Puerto/dirección (donde en el otro había direcciones físicas de memoria).
·         Numero de puerto, indicando el dispositivo..
·         Instrucciones especiales (IN/OUT).



Mmio


Pmio

DMA
·         Desperdicio el procesador con PIO.
·         Si tengo que copiar 500 palabras son 500 instrucciones.
·         El dispositivo (o un controlador) toma el bus de memoria y copia a la memoria directamente.
·         El procesador puede hacer otras cosas mientras (tira de la cache de instrucciones/datos).
·         Para no bloquear durante mucho rato hay buers en el dispositivo.
·         Aviso con una interrupción (mejor) o en la propia memoria (por ejemplo USB), o PIO.
·         Tengo que tener cuidado condiciones de carrera (dispositivo y CPU accediendo a la memoria).




Northbridge/Southbridge



Interrupcion Y Polling
·         Polling es espera activa comprobando un valor, mmio o pmio.
·         Ejemplo, busyag.
·         Interrupción  on, el dispositivo me interrumpe cuando tiene algo para el lector y el SO lo recoge, o despierta al proceso y se lo da.

Maestro Esclavo (Master Slave)
·         Quien controla el bus.
·         Un bus no es más que un cable, uno puede usarlo el resto no.
·         Algunos usan tdm o cmda etc.
·         A veces hay un arbitro (master) y otros arbitrados (slaves) esclavos.
·         También se pueden negociar entre ellos cual se queda con el bus. negociar cual es el master.

Discos
·         Dispositivos de bloques.
·         Usan direccionamientos normales (LBA, bloques lógicos), raros.
·         Usan direccionamientos vectoriales, ya mas raro (CHS, cylinder, head, sector).
·         Antes exponían la geometría (discos apilados con cabezas).
·         Antes se optimizaba, algoritmo del ascensor, etc.
·         Ahora no tiene mucho sentido.
·         Velocidad (de los magnéticostodavía limitada por seeks (mover la cabeza).
·         Dentro fash, caches, traducción  de direcciones (también hay de estado solido, fash).
·         El hw de los discos esta optimizado para localidad temporal, leer junto lo que se escribe junto.

Ethernet
·         En Unix no se expone como tal.
·         Tiene un anillo para mandar y recibir tramas (buering), sw y a veces hw.
·         Pilas de protocolos unas encima de otro tcp/ip etc.
·         En Unix al final hay sockets para el usuario (descriptores de fichero con propiedades extra).

Terminales
·         Dispositivos virtuales (se los inventa el sistema operativo).
·         Texto o gráficos.
·         Conexión, memoria (chan), red (ssh, telnet), serie.
·         Procesamiento.

Procesamiento
·         Procesamiento, ninguno (mando los caracteres y ya).
·         Eco (hago eco local para que el usuario lo vea).
·         Disciplina de linea, modos.
·         Crudo, mando y recibo sin intervenir.
·         Cocinado, le dejo al usuario editar la linea hasta que de al enter.

No hay comentarios:

Publicar un comentario