Tema del día: Entrada / Salida
Objetivos <ul><li>En esta clase trataremos de: </li></ul><ul><ul><li>Comprender las problemáticas asociadas a la gestión d...
Repaso... <ul><li>Cómo está constituida una computadora? </li></ul>Bus de Direcciones Bus de Datos Arquitectura Von Neumann
Jerarquía de Memoria Registros Memoria RAM Discos Rígidos Lectoras CD/DVD, Cintas < 50 x 10 -3  seg. > 100 x 10 -3  seg. <...
Dispositivos de E/S <ul><li>Qué dispositivos de E/S conoce? </li></ul><ul><ul><li>Dispositivos de interfaz usuario-computa...
Dispositivos de E/S <ul><li>Cómo se comunican con la CPU? </li></ul><ul><ul><li>Un mouse o un teclado? </li></ul></ul><ul>...
Dispositivos de E/S <ul><li>El  modelo  de un  dispositivo de E/S está formado por dos partes: </li></ul><ul><li>El perifé...
Controladoras <ul><li>Las controladoras: </li></ul><ul><li>Son muy variadas, casi tanto como los dispositivos de E/S. </li...
Controladoras <ul><li>Cómo accede la CPU a la controladora? </li></ul><ul><li>A través de una interfaz de programación de ...
Conexión de Dispositivos Controladora Estado Control Datos
Controladoras <ul><li>Qué necesita saber el S.O. para poder acceder y utilizar la controladora? </li></ul><ul><li>Dónde es...
Direccionamiento <ul><li>Cómo acceder a registros de la controladora? </li></ul><ul><li>Hay dos modelos (enfoques): </li><...
Manejo de Datos <ul><li>En qué idioma (datos) habla la controladora? </li></ul><ul><li>Podemos generalizar dos enfoques: <...
Interacción <ul><li>Cómo interactuán CPU y la controladora? </li></ul><ul><li>La CPU se encarga de solicitar la operación ...
Aspectos Distintivos <ul><li>Características relevantes para el S.O.: </li></ul><ul><li>Direccionamiento </li></ul><ul><ul...
Prestaciones <ul><li>Existen algunos problemas que afectan la performance de las operaciones de E/S... </li></ul><ul><li>C...
Arquitectura de E/S <ul><li>El sistema de E/S de un sistema operativo: </li></ul><ul><li>Está constituido por un conjunto ...
Estructura
Software de E/S Hardware Software Modo Usuario Modo Núcleo Sw de E/S ind.  de dispositivo Sw de E/S dep.  de dispositivo
Interfaz de Aplicaciones <ul><li>Cómo acceden los procesos al sistema de entrada / salida? </li></ul><ul><li>A través de l...
Interfaz de Aplicaciones <ul><li>Problemas del programador de aplicaciones: </li></ul><ul><ul><li>Necesito modificar mi pr...
Lo que queda por ver... <ul><li>Aún queda por delante: </li></ul><ul><li>Almacenamiento Secundario. </li></ul><ul><li>Alma...
Bibliografía <ul><li>Esta clase  debe  ser ampliada leyendo: </li></ul><ul><ul><li>Carretero (S.O. Visión Aplicada): </li>...
Gracias !   Ing. Gabriel E. Arellano [email_address] http://www.gabriel-arellano.com.ar/so/ (2008) Gabriel E. Arellano Per...
Próxima SlideShare
Cargando en…5
×

Introducción a Entrada/Salida

10.301 visualizaciones

Publicado el

Presentación introductoria a Entrada/Salida de la cátedra Sistemas Operativos - UTN, FRCU.

0 comentarios
1 recomendación
Estadísticas
Notas
  • Sé el primero en comentar

Sin descargas
Visualizaciones
Visualizaciones totales
10.301
En SlideShare
0
De insertados
0
Número de insertados
56
Acciones
Compartido
0
Descargas
266
Comentarios
0
Recomendaciones
1
Insertados 0
No insertados

No hay notas en la diapositiva.

Introducción a Entrada/Salida

  1. 1. Tema del día: Entrada / Salida
  2. 2. Objetivos <ul><li>En esta clase trataremos de: </li></ul><ul><ul><li>Comprender las problemáticas asociadas a la gestión de dispositivos de entrada/salida. </li></ul></ul><ul><ul><li>Analizar las estrategias adoptadas por los sistemas operativos para paliar las problemáticas anteriormente mencionadas. </li></ul></ul><ul><ul><li>Poder caracterizar los distintos dispositivos de entrada/salida y, a partir de estas características, determinar las estrategias apropiadas para cada uno de ellos. </li></ul></ul>
  3. 3. Repaso... <ul><li>Cómo está constituida una computadora? </li></ul>Bus de Direcciones Bus de Datos Arquitectura Von Neumann
  4. 4. Jerarquía de Memoria Registros Memoria RAM Discos Rígidos Lectoras CD/DVD, Cintas < 50 x 10 -3 seg. > 100 x 10 -3 seg. < 100 x 10 -9 seg. < 10 x 10 -9 seg.
  5. 5. Dispositivos de E/S <ul><li>Qué dispositivos de E/S conoce? </li></ul><ul><ul><li>Dispositivos de interfaz usuario-computador. </li></ul></ul><ul><ul><li>Dispositivos de almacenamiento. </li></ul></ul><ul><ul><li>Dispositivos de comunicaciones. </li></ul></ul><ul><li>Qué tienen en común? </li></ul><ul><li>Qué tienen de diferente? </li></ul>
  6. 6. Dispositivos de E/S <ul><li>Cómo se comunican con la CPU? </li></ul><ul><ul><li>Un mouse o un teclado? </li></ul></ul><ul><ul><li>Un disco rígido o una lectora de DVD? </li></ul></ul><ul><ul><li>Una placa de video? </li></ul></ul><ul><ul><li>Un módem o una placa de Red? </li></ul></ul>
  7. 7. Dispositivos de E/S <ul><li>El modelo de un dispositivo de E/S está formado por dos partes: </li></ul><ul><li>El periférico o dispositivo en sí. </li></ul><ul><li>Controladoras o unidades de E/S. </li></ul>
  8. 8. Controladoras <ul><li>Las controladoras: </li></ul><ul><li>Son muy variadas, casi tanto como los dispositivos de E/S. </li></ul><ul><li>Algunas incluyen su propia CPU y memoria. </li></ul><ul><li>Muchas pueden controlar múltiples dispositivos e incluso de diferentes tipos. </li></ul><ul><li>Tratan de proporcionar una interfaz estándar. </li></ul><ul><li>Respecto a E/S, son el componente más importante desde el punto de vista del S.O. </li></ul>
  9. 9. Controladoras <ul><li>Cómo accede la CPU a la controladora? </li></ul><ul><li>A través de una interfaz de programación de bajo nivel que permite acceder a los registros de la controladora. </li></ul><ul><li>Hay tres tipos de registros importantes: </li></ul><ul><ul><li>Registros de Datos . </li></ul></ul><ul><ul><li>Registros de Control . </li></ul></ul><ul><ul><li>Registros de Estado . </li></ul></ul>
  10. 10. Conexión de Dispositivos Controladora Estado Control Datos
  11. 11. Controladoras <ul><li>Qué necesita saber el S.O. para poder acceder y utilizar la controladora? </li></ul><ul><li>Dónde está el dispositivo? Cómo accedo a sus registros? </li></ul><ul><li>Qué información manejan los dispositivos de esa controladora y cómo la manejan? </li></ul><ul><li>Qué características tiene la interacción entre la CPU y la controladora? </li></ul>
  12. 12. Direccionamiento <ul><li>Cómo acceder a registros de la controladora? </li></ul><ul><li>Hay dos modelos (enfoques): </li></ul><ul><li>Usando direcciones especiales llamadas puertos para las operaciones de E/S. </li></ul><ul><ul><li>Cada controladora tiene un puerto de E/S, una interrupción Hw y un vector de interrupciones. </li></ul></ul><ul><ul><li>Es necesario conocer la dirección de E/S y programar las interrupciones de E/S. </li></ul></ul><ul><li>Usando direcciones de la memoria principal (modelo proyectado en memoria). </li></ul>
  13. 13. Manejo de Datos <ul><li>En qué idioma (datos) habla la controladora? </li></ul><ul><li>Podemos generalizar dos enfoques: </li></ul><ul><li>Transferencia de bloques de bytes. </li></ul><ul><ul><li>Los bloques manejados tienen un tamaño fijo. </li></ul></ul><ul><ul><li>Los bloques se direccionan de manera independiente uno de otro. </li></ul></ul><ul><ul><li>Se utiliza en hardware que requiere accesos de un tamaño determinado. </li></ul></ul><ul><li>Transferencia de flujos de caracteres de texto. </li></ul>
  14. 14. Interacción <ul><li>Cómo interactuán CPU y la controladora? </li></ul><ul><li>La CPU se encarga de solicitar la operación y esperar a que la controladora la realice. (E/S programada, también llamada E/S con sondeo o polling) </li></ul><ul><li>La CPU solicita la operación y luego comienza a ejecutar otro código. La controladora es la responsable de notificar a la CPU cuando la operación finalice. (E/S dirigida por interrupciones) </li></ul>
  15. 15. Aspectos Distintivos <ul><li>Características relevantes para el S.O.: </li></ul><ul><li>Direccionamiento </li></ul><ul><ul><li>Modelo de Puertos. </li></ul></ul><ul><ul><li>Modelo Proyectado en Memoria. </li></ul></ul><ul><li>Tipo y Unidad de Transferencia </li></ul><ul><ul><li>Dispositivos de Bloques. </li></ul></ul><ul><ul><li>Dispositivos de Caracteres. </li></ul></ul><ul><li>Interacción CPU – Controladora </li></ul><ul><ul><li>E/S Programada. </li></ul></ul><ul><ul><li>E/S Dirigida por Interrupciones. </li></ul></ul>
  16. 16. Prestaciones <ul><li>Existen algunos problemas que afectan la performance de las operaciones de E/S... </li></ul><ul><li>Cuántas veces tiene que intervenir la CPU para transferir 500 bloques de un disco IDE a la memoria principal? (con interrupciones) </li></ul><ul><li>Qué parte de la operación de lectura de un bloque de disco requiere más tiempo? </li></ul><ul><li>Si tengo dos discos en la controladora, qué hace la controladora mientras uno de los discos está efectuando una búsqueda? </li></ul>
  17. 17. Arquitectura de E/S <ul><li>El sistema de E/S de un sistema operativo: </li></ul><ul><li>Está constituido por un conjunto de manejadores , cada uno de los cuales está asociado a uno o más dispositivos de E/S. </li></ul><ul><li>Ofrece servicios genéricos para manejar los objetos de entrada / salida. </li></ul><ul><li>Estos elementos se organizan siguiendo una estructura por capas. </li></ul>
  18. 18. Estructura
  19. 19. Software de E/S Hardware Software Modo Usuario Modo Núcleo Sw de E/S ind. de dispositivo Sw de E/S dep. de dispositivo
  20. 20. Interfaz de Aplicaciones <ul><li>Cómo acceden los procesos al sistema de entrada / salida? </li></ul><ul><li>A través de los servicios del sistema operativo (llamadas al sistema). </li></ul><ul><li>A través de utilidades que hacen las llamadas al sistema en representación del usuario. </li></ul><ul><ul><li>Bibliotecas (libc.so, kernel32.dll) </li></ul></ul><ul><ul><li>Demonios del sistema (spoolers, inet.d) </li></ul></ul>
  21. 21. Interfaz de Aplicaciones <ul><li>Problemas del programador de aplicaciones: </li></ul><ul><ul><li>Necesito modificar mi programa cada vez que necesita acceder a un dispositivo distinto? </li></ul></ul><ul><ul><li>Es posible que mi aplicación pueda seguir haciendo otras actividades mientras se está esperando el resultado de una E/S? </li></ul></ul><ul><ul><li>Existe alguna manera de evitar que otros programas accedan al recurso que actualmente estoy usando? </li></ul></ul><ul><ul><li>Cómo sé si la operación falló y el por qué? </li></ul></ul><ul><ul><li>Es posible generar código que se pueda portar a otros sistemas operativos sin cambiar mi código? </li></ul></ul>
  22. 22. Lo que queda por ver... <ul><li>Aún queda por delante: </li></ul><ul><li>Almacenamiento Secundario. </li></ul><ul><li>Almacenamiento Terciario. </li></ul><ul><li>El Terminal. </li></ul><ul><li>El Reloj. </li></ul><ul><li>Los dispositivos de comunicaciones. </li></ul><ul><li>Servicios de E/S POSIX y Win32. </li></ul>
  23. 23. Bibliografía <ul><li>Esta clase debe ser ampliada leyendo: </li></ul><ul><ul><li>Carretero (S.O. Visión Aplicada): </li></ul></ul><ul><ul><ul><li>7.2 Caracterización de los dispositivos de E/S. </li></ul></ul></ul><ul><ul><ul><li>7.3 Arquitectura del sistema de E/S. </li></ul></ul></ul><ul><ul><ul><li>7.4 Interfaz de Aplicaciones. </li></ul></ul></ul><ul><ul><li>Nutt (Sistemas Operativos): </li></ul></ul><ul><ul><ul><li>5.2 Estrategias de E/S. </li></ul></ul></ul><ul><ul><ul><li>5.5 Características de las clases de Dispositivos. </li></ul></ul></ul><ul><ul><li>Tanenbaum (S.O. Modernos): </li></ul></ul><ul><ul><ul><li>5.4 Discos. </li></ul></ul></ul>
  24. 24. Gracias ! Ing. Gabriel E. Arellano [email_address] http://www.gabriel-arellano.com.ar/so/ (2008) Gabriel E. Arellano Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. The GNU Free Documentation License as applicable to this document can be found at: http://www.gnu.org/copyleft/fdl.html

×