La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

“Input/Output” Feliut Guzman Del Valle ICOM 5007 11 de marzo de 2005. Capitulo 5.

Presentaciones similares


Presentación del tema: "“Input/Output” Feliut Guzman Del Valle ICOM 5007 11 de marzo de 2005. Capitulo 5."— Transcripción de la presentación:

1 “Input/Output” Feliut Guzman Del Valle ICOM 5007 11 de marzo de 2005. Capitulo 5

2 Que es I/O???  Todas las formas de interactuar con la computadora, desde y hacia ella, se conocen como I/O.  Ejemplos: “webcams”, “pen drives”, “keyboards”, “mouse”, “scanner”, “printer”, “networks”, “monitor”, etc….

3 Principios del I/O en “Hardware”  Ingenieros Eléctricos vs. Programadores  “I/O Devices” “Block Devices” “Character Devices”  “Device Controllers”  “Memory-Mapped I/O”  “Direct Memory Access (DMA)”

4 Ingenieros Electricos vs. Programadores  Los ingenieros eléctricos, ven el “hardware” en términos de chips, cables, motores, etc. En otras palabras, cosas físicas.  Los programadores lo ven, como una interfase que se le presenta al “software”, los comandos que el acepta, las funciones que lleva a cabo y los errores que se pueden reportar.

5 “I/O Devices”  “Block Devices”: componentes que guardan la informacion en forma de bloques, cada bloque tiene una dirección. Esto ayuda a que cada bloque se pueda accesar independientemente. Son los mas comunes.  Ejemplos: Hard Drives, CD-R and DVD-R media, Zip Disks, Floppy, etc….

6 Cont. “I/O Devices”  “Character Devices”: No tienen estructuras de bloques,no es direccional y no tienen operaciones de busqueda (“seek”), son como una secuencia de caracteres, que se graban o se presentan.  Ejemplos: “printers”, “network interfaces”, “mouse” y otros tipos de componentes que no sean de tipo disco.

7 Valores tipicos de Velocidades en componentes Componentes Lentos Componentes Rápidos

8 “Device Controllers”  “Device Controller”: Controlador o adapter donde se conecta el componente, por medio de un cable. Ejemplo: “IDE Devices” a traves de un “IDE Cable”, hacia el componente especifico.

9 Como Funcionan?  El controlador convierte una cadena de bits, en bloques de bytes y verifica si hay errores por medio del “Error- Correcting Code” (ECC).  “ECC”: Código donde cada señal de data, debe ser conforme a una construcción, y de esa manera se puede arreglar y detectar automáticamente.  El bloque de bytes se llena en un buffer, dentro del controlador, luego que se verifica que esta libre de errores, se copia a la memoria.

10 “Memory-Mapped I/O”  “Memory-Mapped I/O”: Usa el mismo “bus” para la memoria y “I/O devices”, y el CPU puede accesar los dos. Partes del “Address Space” del CPU tienen que reservarse para los “I/O devices”.  Estos componentes monitorean su “Address Space” para cuando tengan una asignación, hagan “mapping” de su dirección a sus registros del hardware.  Esto es así porque la mayoría de los “hardware” también tienen su propio “buffer”.

11 “Direct Memory Access (DMA)”  “DMA”: “Hardware” diseñado para accesar la memoria independiente al CPU. Componentes como Tarjetas de Video, Sonido, Discos duros y CD-ROM’s.  El CPU da la señal para copiar directamente un bloque de memoria de un device a otro. Ese proceso se hace directamente con el “DMA controller”, sin el CPU intervenir.  Sin “devices” con “DMA”, el proceso se haría bit por bit por el CPU, lo que pone bien lento al OS, y lo inabilita hasta que la transferencia termine.

12 Diferentes modos del “DMA”  “Cycle stealing”: El controlador pide el transfer de un “word” y lo accesa. Se llama “Cycle stealing” porque el controlador entra al “bus” y se roba un ciclo, ocasionalmente. Esto pone al CPU, un poco lento.  “Burst Mode”: En este caso, el controlador accesa el bus, pero se lleva un bloque. En este caso es mas eficiente, porque al accesar el bus y luego liberarlo se puede obtener mas “words”, por el precio de adquirir el bus en cierto momento.

13 Funcionamiento del “DMA Fly-by”  “Fly-by”: Se pasa la data directamente, de un device a otro o a la memoria.

14 “Interrupts revisited”

15 “Principles of I/O Software”  “Device Independent”: concepto de escribir programas que accesen cualquier componente de I/O. El programa no se tiene que cambiar para accesar de un “device” en específico.  “Uniform naming”: el nombre de los “files” o “devices”, deben ser un “string” o entero y no depender de un “device”, ni plataforma en alguna forma.

16 “Principles of I/O Software”  “Error Handling”: dentro de este contexto, que se puedan manejar los errores lo más cercano al “hardware” posible.  “Synchronous vs. Asynchronous transfers”: el mas comun es “Asynchronous”, donde el CPU empieza el transfer y hace otras cosas, hasta q el “interrupt” llegue.

17 “Principles of I/O Software”  “Buffering”: Usualmente la data que sale de un device y no se puede guardar directamente en su destino.  “Sharable vs. Dedicated devices”: Algunos componentes pueden ser compartidos por usuarios y otros no. Compartidos: Discos como hard drives, floppy,etc. Dedicados: Tape Drives, donde no se puede tener dos usuarios a la vez escribiendo.

18 “I/O software layers”  “Interrupt Handlers”: Los “interrupts” casi nunca deben ser vistos por el OS. La forma mas facil es bloqueandolos con las operaciones de I/O de los drivers.

19 “I/O software layers”  “Device Drivers”: En componentes estandares, usualmente hay “drivers” que el OS tiene definidos. Como los “block devices” y los “character devices”. Algunos “devices” requieren drivers específicos como printers y camaras

20 “I/O software layers”  “Device-Independent I/O Software”: Los programas son especificos, pero los “devices” no.  “User-Space I/O Software”: Areas donde el usuario o programador puede modificar el formato de los programas. Ejemplo: por medio de “printf”, “scanf”, etc.

21 Preguntas?


Descargar ppt "“Input/Output” Feliut Guzman Del Valle ICOM 5007 11 de marzo de 2005. Capitulo 5."

Presentaciones similares


Anuncios Google