Este documento describe los conceptos básicos de entrada y salida (E/S) en sistemas operativos. Explica los tipos de E/S estándar y por fichero, así como los dispositivos de E/S como terminales, discos, cintas y redes. También cubre temas como controladores de dispositivos, organización de funciones de E/S, planificación de discos y principios de software de discos.
1. Universidad Autónoma de Ciudad JuárezSistemas Operativos Gestión de Entrada y SalidaAlumnoRodolfo HerreraProfesorKarla Miroslava
2. Gestión Entrada Salida Cuando se codifica un programa, se hace con la intención de que ese programa pueda interactuar con los usuarios del mismo, es decir, que el usuario pueda pedirle que realice cosas y pueda suministrarle datos con los que se quiere que haga algo. Una vez introducidos los datos y las órdenes, se espera que el programa manipule de alguna forma esos datos para proporcionarnos una respuesta a lo solicitado.
3. Además, en muchas ocasiones interesa que el programa guarde los datos que se le han introducido, de forma que si el programa termina los datos no se pierdan y puedan ser recuperados en una sesión posterior. La forma más normal de hacer esto es mediante la utilización de ficheros que se guardarán en un dispositivo de memoria no volátil (normalmente un disco). A todas estas operaciones, que constituyen un flujo de información del programa con el exterior, se les conoce como Entrada/Salida (E/S).
4. Tipos de E/S Existen dos tipos de E/S; La E/S estándar, que se realiza con el terminal del usuario. La E/S a través de fichero, en la que se trabaja con ficheros de disco.
5. Entrada/Salida Estándar La entrada/salida que se comunica con el usuario a través de la pantalla o de la ventana del terminal. Entrada/Salida por Fichero Los ficheros de texto están compuestos de caracteres legibles, mientras que los binarios pueden almacenar cualquier tipo de datos (int, float, boolean,...).
6. Dispositivos de Entrada/Salida Los dispositivos externos que tienen que hacer E/S con los computadores pueden clasificarse, básicamente en tres categorías. Dispositivos legibles por los humanos Dispositivos legibles por la máquina Dispositivos de comunicaciones
7. Dispositivos Legibles por los Humanos Apropiados para la comunicación con el usuario. Como ejemplo se tienen los terminales de video, que constan de un teclado, una pantalla y, quizá, otros dispositivos como un ratón o una impresora.
9. Dispositivos Legibles por la Máquina Adecuados para comunicarse con equipos electrónicos, como discos, unidades de cinta, sensores, controladores e impulsores.
15. Carácter La información que se generan o reciben son flujos de caracteres (no bloques). Accede a los datos en secuencia: o sea, para acceder a determinados datos, la lectura y escritura se debe hacer seguido de los datos anteriores. Por ejemplo: teclado, pantalla, cinta, ratones, interfaz de comunicación.
16. La línea de separación no es rígida, hay dispositivos que pueden ser del tipo bloque (cintas Magnéticas) aunque son considerados del tipo carácter. Con esta clasificación, un dispositivo que está fuera de ellas, el “RELOJ”, no es orientado ni a bloque ni de carácter. Si es un dispositivo especial, ya que lo único que hace es generar interrupciones.
17. Otros aspectos importantes que hacen la diferencia entre dispositivos son: Comportamiento:entrada, salida, almacenamiento. Tasa de transferencia:tasa de peak de transferencia entre dispositivos y memoria.
19. Controladores Los CONTROLADORES DE DISPOSITIVOS (también llamados adaptadores de dispositivos) son la parte electrónica de los periféricos, el cual puede tener la forma de una tarjeta o un circuito impreso integrado a la tarjeta maestra de la computadora. Por ejemplo, existen controladores de discos que se venden por separado y que se insertan en una ranura de la computadora, o existen fabricantes de computadoras que integran esa funcionalidad en la misma tarjeta en que viene la unidad central de procesamiento (tarjeta maestra).
20. Los controladores de dispositivos generalmente trabajan con voltajes de 5 y 12 volts con el dispositivo propiamente, y con la computadora a través de interrupciones. Estas interrupciones viajan por el 'BUS' de la computadora y son recibidos por el CPU el cual a su vez pondrá en ejecución algún programa que sabrá qué hacer con esa señal.
21. A ese programa se le llama 'MANEJADOR DE DISPOSITO' (device driver). Algunas veces el mismo controlador contiene un pequeño programa en una memoria de solo lectura o en memoria de acceso aleatoria no volátil y re-escribible que interactúa con el correspondiente manejador en la computadora.
22. La siguiente figura muestra un esquema simple de dispositivos orientados a bloques y otros a caracteres.
23. Organización de las Funciones de Entrada y Salida E/S programada E/S dirigida por interrupciones Acceso directo a memoria DMA
24. E/S programada El procesador emite una orden de E/S de parte de un proceso a un módulo de E/S; el proceso espera entonces a que termine la operación, antes de seguir.
25. E/S Dirigida por Interrupciones El procesador emite una orden de E/S de parte de un proceso, continúa la ejecución de las instrucciones siguientes y es interrumpido por el proceso, continúa la ejecución de las instrucciones siguientes y es interrumpido por el módulo de E/S cuando éste ha completado su trabajo. Las instrucciones siguientes pueden ser del mismo proceso, si no es necesario para éste esperar la terminación de la E/S. En otro caso, el proceso se ve suspendido a la espera de la interrupción, mientras se realiza otro trabajo.
26. Acceso Directo a Memoria DMA Un módulo de DMA controla el intercambio de datos entre la memoria principal y un módulo de E/S. El procesador envía una petición de transferencia de un bloque de datos al módulo de DMA y se ve interrumpido sólo cuando el bloque entero se haya transferido.
27. Planificación de Disco Cuando la unidad de disco está operando, el disco gira a una velocidad constante. Para leer o escribir, la cabeza debe ponerse en la pista deseada, al comienzo del sector pertinente. Si el sistema es de cabezas móviles hay que mover la cabeza para elegir la pista. Si el sistema es de cabezas fijas, habrá que seleccionar electrónicamente una de ellas.
28. En un sistema de cabezas móviles, el tiempo que se tarda en ubicar la cabeza en la pista de llama tiempo de búsqueda. En cualquier caso, una vez que se ha seleccionado la pista, el controlador del disco esperará hasta que el sector apropiado se alinee con la cabeza en su rotación. El tiempo que tarda el comienzo del sector en llegar hasta la cabeza se conoce como retardo de giro o latencia de giro.
29. La del tiempo de búsqueda y el retardo de giro es el tiempo de acceso, es decir, el tiempo que se tarda en llegar a la posición de lectura o escritura. Una vez que la cabeza está ubicada, se puede llevar a cabo la operación de lectura o escritura a medida que el sector se mueve bajo la cabeza; esta es la parte de transferencia real de datos de la operación.
30. Políticas de Planificación de Discos El objetivo es reducir los tiempos de acceso en la lectura o escritura de los datos. Además del tiempo de acceso y del tiempo de transferencia, existen algunos retrasos en las colas que normalmente tienen asociada una operación de E/S a disco.
31. Cuando un proceso emite una solicitud de E/S, primero debe esperar en una cola a que el dispositivo esté disponible. En ese momento, el dispositivo queda asignado al proceso. Si el dispositivo comparte un único canal de E/S o un conjunto de canales con otras unidades del disco, puede producirse una espera adicional hasta que el canal esté disponible. En ese punto se realizará la búsqueda con que comienza el acceso al disco.
35. Principios de Software de Disco El tiempo que se tarda desde que el Driver de disco programa al controlador para realizar la lectura de un sector, hasta que la información de este esta en la memoria: T. POSICIONAMIENTO + T. LATENCIA + T. TRANSFERENCIA (buffer-controlador) + T. CHECKSUM + T. TRANSFERENCIA (controlador-memoria)
36. Normalmente el tiempo de CHECKSUM es despreciable. En algunos casos puede existir tiempos añadidos si la información del disco esta cifrada y el algoritmo de cifrado/ descifrado lo incrementa el controlador, después de realizar el CHECKSUM el controlador deberá descifrar los datos.
38. Mejora el Tiempo de Acceso T. ACCESO = T. POSICIONAMIENTO + T. LATENCIA + T. TRANFERENCIA De estos tres tiempos el mas significativo es el de posicionamiento. Cuando el driver permite ir almacenando peticiones pendientes mientras se trata la actual, se intenta reducir el tiempo medio de posicionamiento aplicando un algoritmo que decida que petición de las pendientes atender primero.
39. Tratamiento de Errores Los discos están sometidos a una gran variedad de errores. Cuando se producen el controlador deberá avisar al driver para que tome la decisión pertinente. Los errores mas comunes son: Errores de programación Errores de posicionamiento Errores en el controlador de disco
40. Errores de programación El driver le indica al controlador que una pista, cilindro, sector que no existe o una dirección de memoria invalida. El controlador al detectar el error lo trasmite al driver. Este avisa al SW E/S independiente.
41. Errores de Posicionamiento Este error se produce por errores mecánicos del brazo de lectura / escritura. El controlador de disco mantiene internamente cual es la posición del brazo de lectura / escritura en cada momento.
42. Para mover el brazo a otro cilindro manda un pulso a un motor por cada cilindro que quiera atravesar. Cuando llega al cilindro destino, lee el valor del cilindro actual (se grabo al principio de la pista al formatear el disco). Si la posición actual no coincide con la que se esperaba se produce un error de posicionamiento, este error suele corregirse recalibrando el brazo (lo manda al cilindro 0). Esta acción puede realizarla el controlador o, si este no puede, el driver de disco (comando RECALIBRABLE)
43. Errores en el Controlador de Disco Puede darse la situación que el controlador se niegue a aceptar comandos del driver, en este caso el driver debe recetar el controlador.