Creado por Lourdes Soto
hace alrededor de 5 años
|
||
Pregunta | Respuesta |
Una de las funciones principales de un S. O. es el control de todos los dispositivos de E/S de la computadora. Las principales funciones relacionadas son: | Enviar comandos a los dispositivos. Detectar las interrupciones. Controlar los errores. Proporcionar una interfaz entre los dispositivos y el resto del sistema |
¿Cuáles son las características que debe tener la interfaz entre los dispositivos y el resto del sistema? | Debe ser sencilla y fácil de usar. Debe ser la misma (preferentemente) para todos los dispositivos (independencia del dispositivo). |
Principios del Hardware de E/S El enfoque que se considerará tiene que ver con la interfaz que desde el hardware se presenta al software: | Comandos que acepta el hardware. Funciones que realiza. Errores que puede informar. |
Dispositivos de E / S Se pueden clasificar en dos grandes categorías, ¿cuáles? | Dispositivos de bloque. Dispositivos de caracter. |
Las principales características de los dispositivos de bloque (un ejemplo típico son los discos) | La info se almacena en bloques de tamaño fijo. Cada bloque tiene su propia dirección. Los tamaños más comunes de los bloques van desde los 128 bytes hasta los 1.024 bytes. Se puede leer o escribir en un bloque de forma independiente de los demás, en cualquier momento. |
Las principales características de los dispositivos de caracter (un ejemplos típico son las impresoras de línea, terminales, interfaces de una red, ratones, etc) | La información se transfiere como un flujo de caracteres, sin sujetarse a una estructura de bloques. No se pueden utilizar direcciones. No tienen una operación de búsqueda. |
¿Cómo trabaja el Sistema de Archivos, con dispositivos físicos o abstractos? | El sistema de archivos solo trabaja con dispositivos de bloque abstractos, por lo que encarga la parte dependiente del dispositivo a un software de menor nivel, el software "manejador del dispositivo". |
¿Cómo están conpuestas las unidades de E/S? | Un componente mecánico. Un componente electrónico, el controlador del dispositivo o adaptador. Muchos controladores pueden manejar más de un dispositivo. El S. O. generalmente trabaja con el controlador y no con el dispositivo. |
La interfaz entre el controlador y el dispositivo es con frecuencia de muy bajo nivel. Se comunican mediante un flujo de bits en serie, ¿cómo se realiza? | 1) Comienza con un preámbulo: se escribe al dar formato al disco. Contiene el número de cilindro y sector, el tamaño de sector y otros datos similares. 2) Sigue con una serie de bits (de un sector de disco, por ej.). 3) Concluye con una suma para verificación o un código corrector de errores. |
¿Cuáles son las funciones del controlador? | * Convertir el flujo de bits en serie (counicación con el dispositivo) en un bloque de bytes (comunicación con el S.O.). * Efectuar cualquier corrección de errores necesaria. * Copiar el bloque en la memoria principal. |
¿Qué representa la imagen?
Image:
Image Jaf (image/jpeg)
|
Un proceso de lectura con DMA |
¿Por qué el controlador necesita un buffer interno? | El controlador necesita un buffer interno porque una vez iniciada una transferencia del disco los bits siguen llegando. Si el controlador intentara escribir los datos en la memoria directamente: tendría que recurrir al bus del sistema para c/u de las palabras (o bytes) transferidas y si el bus estuviera ocupado, el controlador debería esperar y si la siguiente palabra llegara antes de que la anterior hubiera sido almacenada, el controlador la sobreescribiria. |
¿Qué pasa si el bloque se guarda en un buffer interno? | El bus no se necesita sino hasta que el DMA comienza. La transferencia DMA a la memoria ya no es un aspecto crítico del tiempo. |
¿Por qué el sector que pasa debajo de la cabeza del disco se pierde en una transferencia? | Al transferir sectores a memoria, acción realizada por los controladores, el sector que pasa por debajo de la cabeza del disco cuando se esta transmitiendo la info del sector anterior se pierde pues no se puede leer y transferir al mismo tiempo. |
¿Por qué la lectura de una pista completa se hará en dos rotaciones, una para los bloques pares y otra para los impares? | Pues esto le da la tiempo al controlador de terminar de trasferir los datos de un bloque a memoria y empezar a leer el siguiente. |
¿Qué pasa si el tiempo necesario para una transferencia de un bloque del controlador a la memoria por medio del bus es mayor que el tiempo necesario para leer un solo bloque del disco? | Sería necesario leer un bloque y luego saltar dos o más bloques. El salto de bloques de llama separación. Al formatear el disco, los bloques se enumeran tomando en cuenta el factor de separación. Esto permite al S. O.: leer los bloques con numeración consecutiva y conservar la máxima velocidad posible del hardware. |
Principios del Software de E/S La idea básica es organizar el software como una serie de capas | Las capas inferiores se encarguen de ocultar las peculiaridades del hardware a las capas superiores. Las capas superiores deben presentar una interfaz agradable, limpia y regular a los usuarios. |
Objetivos del Software de E/S Un concepto clave es la independencia del dispositivo, ¿a qué se refiere? | Debe ser posible escribir programas que se puedan utilizar con archivos en distintos dispositivos, sin tener que modificar los programas para cada tipo de dispositivo. El problema debe ser resuelto por el S. O. El objetivo de lograr nombres uniformes está muy relacionado con el de independencia del dispositivo. Todos los archivos y dispositivos adquieren direcciones de la misma forma, es decir mediante el nombre de su ruta de acceso. |
Objetivos del Software de E/S Manejo de errores de E/S, ¿dónde se manejan? | Generalmente los errores deben manejarse lo más cerca posible del hardware. Solo si los niveles inferiores no pueden resolver el problema, se informa a los niveles superiores. Generalmente la recuperación se puede hacer en un nivel inferior y de forma transparente. |
Objetivos del Software de E/S Otro aspecto clave son las transferencias síncronas (por bloques) o asíncronas (controlada por interruptores), explicar cada una | La mayoría de la E/S es asíncrona: la CPU inicia la transferencia y realiza otras tareas hasta una interrupción. La programación es más fácil si la E/S es síncrona (por bloques): el programa se suspende automáticamente hasta que los datos estén disponibles en el buffer. El S. O. se encarga de hacer que operaciones controladas por interruptores parezcan del tipo de bloques para el usuario. |
Objetivos del Software de E/S ¿Cuál es el último objetivo? | Administrar los dispositivos compartidos (ej.: discos) y los de uso exclusivo (ej.: impresoras). |
Generalmente el software de E/S se estructura en capas: * Manejadores de interrupciones. * Directivas de dispositivos. * Software de S. O. independiente de los dispositivos. * Software a nivel usuario. |
Image:
Image3 P7 (image/jpeg)
|
¿Cómo trabaja el Manejadores de Interrupciones? | Cada proceso que inicie una operación de E/S se bloquea hasta que termina la E/S y ocurra la interrupción. El procedimiento de interrupción realiza lo necesario para desbloquear el proceso que lo inicio. |
¿Qué posee el Manejadores de Dispositivos? | Todo el código que depende de los dispositivos aparece en aquí. Cada controlador posee uno o más registros de dispositivos que se utilizan para darle los comandos. Los manejadores de dispositivos proveen estos comandos al dispositivo y verifican su ejecución adecuada. |
¿Cómo trabaja el Manejadores de Dispositivos? | * Acepta las solicitudes abstractas que le hace el software independiente del dispositivo (capa superior). * Verifica la ejecución de dichas solicitudes. * Si al recibir una solicitud el manejador está ocupado con otra solicitud, agregará la nueva solicitud a una "cola de solicitudes pendientes". * Traduce de términos abstractos a términos concretos las solicitudes |
¿Cómo trabaja el Software de E/S Independiente del Dispositivo? | * Interfaz uniforme para los manejadores de dispositivos (capa inferior). * Nombres y protección de los dispositivos. * Proporcionar un tamaño de bloque independiente del dispositivo |
¿Cómo trabaja el Software de E/S Independiente del Dispositivo? Más funciones | * Uso de buffers. * Asignación de espacio en los dispositivos por bloques (en el uso compartido). * Asignación y liberación de los dispositivos de uso exclusivo. * Informe de errores. |
El software independiente del dispositivo asocia los nombres simbólicos de los dispositivos con el nombre adecuado. Un nombre de dispositivo determina de manera única el "nodo-i" de un archivo especial, ¿cómo? | Este nodo-i contiene el número principal del dispositivo, que se utiliza para localizar el manejador apropiado. El nodo-i contiene también el número secundario de dispositivo, que se transfiere como parámetro al manejador para determinar la unidad por leer o escribir. |
¿En que consta el Software de E/S en el Espacio del Usuario? | * Consta de "bibliotecas ligadas entre sí con los programas del usuario". La biblioteca estándar de E/S contiene varios procedimientos relacionados con E/S y todos se ejecutan como parte de los programas del usuario. * Costa del sistema de spooling. * Consta de un sistema de transferencia de archivos entre equipos conectados. |
¿Qué es el spooling? | El spooling es una forma de trabajar con los dispositivos de E/S de uso exclusivo en un sistema de multiprogramación. Se crea un directorio de spooling donde se colocan los archivos y los mismos solo pueden ser accedidos por un dispositivo en especial. |
Un esquema similar también es aplicable para la transferencia de archivos entre equipos conectados, explicar | Un usuario coloca un archivo en un directorio de spooling de la red. Posteriormente, el proceso especial lo toma y transmite. Un ej. son los sistemas de correo electrónico. |
Antes de terminar ¿QUÉ ES EL SPOOLING? (es la décima vez que aparece el término y todavía se me complica, why?, definición de wikipedia) | El spooling se refiere al proceso mediante el cual la computadora introduce trabajos en un buffer (un área especial en memoria o en un disco), de manera que un dispositivo pueda acceder a ellos cuando esté listo. La aplicación más común es la impresión. |
Discos Las principales ventajas del uso de discos con respecto a la MP como almacenamiento | Mucho mayor capacidad de espacio de almacenamiento. Menor precio por bit. La información no se pierde al apagar la computadora (permanencia). |
¿Cómo están organizados los discos? | Los discos están organizados en cilindros, pistas y sectores. El número típico de sectores por pista varía entre 8 y 32 (o más). Todos los sectores tienen igual número de bytes. |
¿Qué son las búsquedas traslapadas que puede reducir considerablemente el tiempo promedio de acceso? | Un controlador puede realizar búsquedas en una o más unidades al mismo tiempo. Mientras el controlador y el software esperan el fin de una búsqueda en una unidad, el controlador puede iniciar una búsqueda en otra. Muchos controladores pueden leer o escribir en una unidad y buscar en otra. |
Image:
Image7 Hj (image/jpeg)
|
Disco de Cabeza Móvil Se lee o escribe mediante una serie de cabezas de lectura - escritura: Todas las cabezas están montadas sobre una barra o conjunto de brazo móvil: |
Image:
Image Ihg (image/jpeg)
|
*Tiempo de latencia: el tiempo de rotación. * Tiempo de búsqueda: el tiempor que toman las cabezas para moverse hacia adentro o hacia afuera ahsta una posición dada. * Tiempo de transmisión: tiempo para transferir los datos a un buffer. |
¿Que involucra el "tiempo total de acceso" a un registro particular? | Latencia + Búsqueda + Transmisión El que consume más tiempo es la búsqueda |
¿En que consiste la tabla que tiene los manejadores de disco? | El índice es el número de cilindro. Incluye las solicitudes pendientes para cada cilindro enlazadas entre sí en una lista ligada. Cuando concluye una búsqueda, el manejador tiene la opción de elegir la siguiente solicitud a dar paso. |
Algoritmos de Programación del Brazo del Disco para reducir el "tiempo de búsqueda" FCFS | Si el manejador del disco utiliza el algoritmo "primero en llegar primero en ser atendido" (FCFS), poco se puede hacer para mejorar el tiempo de búsqueda. Es posible que mientras el brazo realiza una búsqueda para una solicitud, otros procesos generen otras solicitudes. |
Primero la búsqueda más corta SSF: shor-test seek first | Se atiende primero la solicitud más cercana, para minimizar el tiempo de búsqueda. Pros: Reduce a la mitad el número de movimientos del brazo en comparación con FCFS. Cons: El ingreso de nuevas solicitudes puede demorar la atención de las más antiguas. Con un disco muy cargado, el brazo tenderá a permanecer a la mitad del disco la mayoría del tiempo. |
Algoritmo del elevador | Se mantiene el movimiento del brazo en la misma dirección, hasta que no tiene más solicitudes pendientes en esa dirección; entonces cambia de dirección. El software debe conservar el bit de dirección actual. Pros: ocasionalmente es mejor que el algoritmo SSF; la cuota máxima del total de movimientos está fija, siendo el doble del número de cilindros. Cons: generalmente es peor que SSF. |
Algunos controladores de disco permiten que el software inspeccione el número del sector activo debajo del cabezal, ¿para qué sirve? | Si dos o más solicitudes para el mismo cilindro están pendientes: El manejador puede enviar una solicitud para el sector que pasará debajo del cabezal. Se pueden hacer solicitudes consecutivas de distintas pistas de un mismo cilindro, sin generar un movimiento del brazo. |
Cuando existen varias unidades, se debe tener una tabla de solicitudes pendientes para cada unidad. ¿Cómo se realizan las búsquedas? | |
¿Qué hacen generalmente, las mejoras tecnológicas de los discos? | Acortan los tiempos de búsqueda (seek). No acortan los tiempos de demora rotacional (search). |
¿Qué es elRAID; siglas en inglés de “arreglo redundante de discos no costosos”? | Una tecnología importante es la que permite el trabajo conjunto de varios discos. Una configuración interesante es la de treinta y ocho (38) unidades ejecutándose en paralelo. Cuando se realiza una operación de lectura ingresan a la cpu 38 bit a la vez, uno por cada unidad. Los 38 bits conforman una palabra de 32 bits junto con 6 bits para verificación. |
¿Qué es el código Hamming? | El código Hamming, que es un código corrector de errores. Las palabras de 38 bits se pueden codificar con el msimo. Los bits 1, 2, 4, 8, 16 y 32 se utilizan como bits de paridad. Si una unidad sale de servicio, se pierde un bit de cada palabra pero el sistema puede seguir trabajando pues el codígo Hamming. |
¿Cuáles son criterios que se utilizan para categorizar a las políticas de planificación de discos? | * Capacidad de ejecución. * Media del tiempo de respuesta. * Varianza de los tiempos de respuesta (predecibilidad). |
Una política de planificación debe intentar maximizar la capacidad de ejecución, ¿cómo? | Maximizando el número de peticiones servidas por unidad de tiempo. Minimizando la media del tiempo de respuesta. Mejorando el rendimiento global, quizás a costa de las peticiones individuales. |
Optimización de la Búsqueda en Discos Planificación FCFS (Primero en Llegar, Primero en Ser Servido) | Una petición no puede ser desplazada por la llegada de una petición con prioridad más alta. No hay reordenamiento de la cola de peticiones pendientes. Se ignoran las relaciones posicionales entre las peticiones pendientes. Ofrece alta predecibilidad. |
Planificación SSTF (Menor Tiempo de Búsqueda Primero) | El brazo del disco se sitúa en la siguiente petición que minimice el movimiento del brazo. No respeta el orden de llegada. Tiende a favorecer a las pistas del centro. La media de tiempos de respuesta tiende a ser más baja que con FCFS, para cargas moderadas. Menor predecibilidad. |
Planificación SCAN | El brazo del disco se desplaza sirviendo a todas las peticiones que encuentra a su paso. Cambia de dirección cuando ya no hay peticiones pendientes en la dirección actual. Elimina las discriminaciones de SSTF y tiene menor varianza. Las pistas exteriores son menos visitadas que las intermedias, pero no es tan grave como con SSTF. |
Planificación SCAN de N - Pasos | Solo da servicio a las peticiones que se encuentran en espera cuando comienza un recorrido particular. Las peticiones que llegan durante un recorrido son agrupadas y ordenadas y serán atendidas durante el recorrido de regreso. Posee menor varianza de los tiempos de respuesta si se compara con las planificaciones SSTF y SCAN convencionales. |
Planificación C - SCAN (Búsqueda Circular) | El brazo se mueve del cilindro exterior al interior, sirviendo a las peticiones sobre una base de búsqueda más corta. Finalizado el recorrido hacia el interior, salta a la petición más cercana al cilindro exterior y reanuda su desplazamiento hacia el interior. No discrimina a los cilindros exterior e interior. La varianza de los tiempos de respuesta es muy pequeña. |
Esquema Eschenbach (tiene en cuenta el retraso rotacional) | El brazo del disco se mueve como en C - SCAN, pero: las peticiones se reordenan para ser servidas dentro de un cilindro para tomar ventaja de la posición rotacional. Si dos peticiones trasladan posiciones de sectores dentro de un cilindro, solo se sirve una en el movimiento actual del brazo del disco. |
En condiciones de carga pesada, las probabilidades de que ocurran referencias al mismo cilindro aumentan, por ello resulta útil considerar: | Resulta útil considerar la optimización rotacional además de la optimización de búsqueda La optimización rotacional es de uso común en dispositivos de cabezas fijas. La estrategia utilizada es la SLTF (tiempo de latencia más corto primero) |
Frecuentemente la cpu está conectada mediante canales (o buses) a dispositivos controladores, los que están conectados a las unidades de discos. El embotellamiento puede producirse en algún disco, algún controlador o en algún canal. ¿Cómo se lo reduce? | Para ayudar el embotellamiento, muchos sistemas han agregado la técnica de examen (sensado) de posición rotacional (RPS). |
¿Quién maneja los errores con respecto de los discos? | El manejador del disco debe controlar los errores de la mejor manera posible. |
Respecto a los errores temporales en la suma de verificación, ¿pueden volverse permanentes? | Generalmente se eliminan al repetir la operación. Si persisten, el bloque debe ser marcado como un bloque defectuoso, para que el software lo evite. |
¿Hay algo alternativo que se pueda hacer en vez de solo marcar bloques defectuosos? | Otra posibilidad es que controladores “inteligentes” reserven cierta cantidad de pistas, las cuales serán asignadas en reemplazo de pistas defectuosas. Una tabla asocia las pistas defectuosas con las pistas de repuesto. Está alojada en la memoria interna del controlador y en el disco. |
¿Por qué está ultima técnica afecta a los algoritmos de busqueda? | Puede afectarse el desempeño de los algoritmos de búsqueda, como el del elevador, ya que el controlador utiliza pistas físicamente distintas de las solicitadas. |
Ocultamiento de Una Pista a la Vez en Discos | Una vez resuelta la búsqueda del cilindro correspondiente (acción que suele tardar más), no es muy importante si se lee un sector o toda la pista. Especialmente en dispositivos con sensibilidad rotacional (RPS): el manejador puede ver que sector se encuentra debajo de la cabeza y puede enviar una solicitud del siguiente, lo que permite leer una pista en un tiempo de rotación. |
¿Dónde se guardan los datos de esta pista oculta? | Algunos manejadores usan un caché secreto de una pista a la vez. Si se necesita un sector del caché, no es necesaria una transferencia del disco. Las principales desventajas son la complejidad del software y requerimientos de espacio para buffers. |
¿Qúe pasa si estos buffers están en disco y que pasa si estan en la memoria interna del controlador? | * En disco: las transferencias del caché al programa que hace la llamada las debe realizar la CPU mediante un ciclo programado. * En memoria interna: resulta transparente al manejador. Las transferencias entre el controlador y la memoria pueden utilizar DMA. |
Discos en RAM: utilizan una parte de la memoria principal asignada con anterioridad para almacenar los bloques del disco. ¿Cuáles son las ventajas de este método? | Tienen la ventaja del acceso instantáneo: * No hay demora rotacional o debida a las búsquedas. * Son adecuados para el AM de programas o datos con accesos muy frecuentes. * Los bloques de AM tienen el mismo tamaño que en los discos reales. |
¿Cómo hace el manejador para leer o escribir en un disco? | Cuando el manejador debe leer de o escribir en un bloque de un disco en RAM, calcula el lugar de la memoria donde se encuentra el bloque solicitado y lee o escribe en el mismo. |
Hay dos tipos de relojes, los sencillos y los que tienen tres componentes. Explicar cómo cada uno provoca las interrupciones a la CPU. | Los sencillos trabajan con la línea de corriente eléctrica y provocan una interrupción por cada ciclo de voltaje. Los de 3 componentes poseeen un cristal de cuarzo que genera una señal periódica que descuenta un contador (almacenado en un registro) hasta que llega a cero y provoca una interrupción. |
Los relojes programables tienen dos modelos de operación, ¿cuáles? | * Modo de una instancia: cuando el contador llega a cero provoca una interrupción y se detiene hasta ser nuevamente inicializado por el software. * Modo de onda cuadrada: luego de provocar una interrupción se vuelve a inicializar sin intervención del SW, las interrupciones periódicas se llaman marcas del reloj. |
¿Qué es una terminal? | Una terminal es un dispositivo que se utiliza para interactuar con una computadora. La función de un terminal está confinada a la exhibición y entrada de datos. |
Desde el punto de vista del S. O. se las puede clasificar en dos tipos, ¿cuáles? | * Interfaz RS-232: + Hardcopy (terminales de impresión). + TTY “de vidrio” (terminales de video). + Inteligente (computadoras con cpu y memoria). * Interfaz mapeada a memoria: + Orientada a caracteres. + Orientada a bits. |
¿Que poseen las terminales RS-232 (estándar recomendado)? | Las terminales RS-232 poseen un teclado y un monitor que se comunican mediante una interfaz serial, un bit a la vez; las conversiones de bits a bytes y viceversa las efectúan los chips uart (transmisores - receptores asíncronos universales). |
¿Cómo funcionan las terminales mapeadas a memoria? | No se comunican mediante una línea serial. Sino que poseen una interfaz mediante una memoria especial llamada "video RAM" que forma parte del espacio de direcciones de la computadora. La CPU se dirige a ella como al resto de la memoria. |
¿Qué pasa en las pantallas mapeadas a caracteres? | Cada caracter en la pantalla equivale a dos caracteres de RAM: Uno aloja al código (ASCII) del caracter por exhibir. Otro es el byte de atributo, necesario para determinar el color, el video inverso, el parpadeo, etc. |
¿Qué pasa en las terminales mapeadas a bits? | Se utiliza el mismo principio anterior. Cada bit en el video RAM controla en forma directa un solo pixel de la pantalla, permite una completa flexibilidad. El teclado se desacopla totalmente de la pantalla y tiene su propio manejador. |
¿Quieres crear tus propias Fichas gratiscon GoConqr? Más información.