jueves, 10 de diciembre de 2009
5.1 PRINCIPIOS DE HARDWARE
Los dispositivos de E/S se dividen en dos categorías: dispositivos de bloque y dispositivos de caracteres. Los dispositivos de bloque transfieren la información en bloques direccionables de tamaño fijo. Los dispositivos de caracteres aceptan o entregan un flujo de caracteres sin importar la estructura.
5.1.1 DISPOSITIVOS DE I/O.
· Dispositivos de almacenamiento.
· Terminales.
· Comunicaciones.
A su vez los dispositivos se pueden clasificar, atendiendo al tipo de información que manejan y como lo hacen, los siguientes grupos:
Dirigidos a bloques. -Tratan la información en bloques de tamaño fijo. Su característica principal es que se puede leer cada bloque como una unidad independiente de las demás (por ejemplo los discos).
Dirigidos al carácter. - Entregan o aceptan cadenas de caracteres sin tener en cuenta ninguna estructura prefijada. No son direccionables ni pueden realizar operaciones de búsqueda (por ejemplo un terminal).
Dispositivos de almacenamiento.
Los dispositivos de almacenamiento son todos aquellos elementos informáticos que se utilizan para almcenar datos del ordenador de una manera temporal o permanente. Estos dispositivos graban la información en en cantidades fijas y con cierto formato conocido como: bloques de control, los cuales tienen una dirección única que identifica a cada bloque, razón por la cual son también llamados como dispositivos de bloque base
5.2 PRINCIPIOS DEL SOFTWARE
5.2.2 MANEJADOR DE INTERRUPCIONES
5.2.3 MANEJADOR DE DISPOSITIVOS
5.2.4 SOFTWARE DE E/S INDEPENDIENTE DEL DISPOSITIVO
La frontera exacta entre los controladores y el software independiente del dispositivo depende del sistema (y del dispositivo) porque algunas funciones que podrían efectuarse con la independencia del dispositivo en realidad podrían ejecutarse en controladores
Funciones que muestran la independencia:
· Interfaz uniforme para controladores de dispositivo
· Manejo de búferes
· Informe de errores
· Asignar y liberar dispositivos dedicados
Proveer un tamaño de bloqueo independiente de dispositivos
5.2.5 ESPACIO DEL USUARIO PARA SOFTWARE
La mayoría del software de e / s está dentro del S. O.
Una pequeña parte 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. Otra categoría importante de software de e / s a nivel usuario es el sistema de spooling.
El spooling es una forma de trabajar con los dispositivos de e /s de uso exclusivo en un sistema de multiprogramación:
El ejemplo típico lo constituye la impresora de líneas.
Los procesos de usuario no abren el archivo correspondiente a la impresora.
Se crea un proceso especial, llamado demonio en algunos sistemas.
Se crea un directorio de spooling.
El spooling es una forma de trabajar con los dispositivos de e /s de uso exclusivo en un sistema de multiprogramación:
- El ejemplo típico lo constituye la impresora de líneas.
- Los procesos de usuario no abren el archivo correspondiente a la impresora.
- Se crea un proceso especial, llamado demonio en algunos sistemas.
Se crea un directorio de spooling.
5.3 DISCO RAM
Al colocar el directorio raíz en al disco RAM, el único disco flexible puede montarse y desmontarse a voluntad, permitiendo que haya medios removibles. Al tener el dispositivo raíz en el disco de RAM el sistema se vuelve altamente flexible: cualquier combinación de discos flexibles y duros puede montarse en él.
Un disco RAM o unidad RAM es una unidad de disco que usa una zona de memoria RAM del sistema como almacenamiento secundario en lugar de un medio magnético (como los discos duros y las disqueteras) o memoria flash, implementada como un controlador de dispositivo más. El tiempo de acceso mejora drásticamente, debido a que la memoria RAM es varios órdenes de magnitud más rápida que las unidades de disco reales. Sin embargo, la volatilidad de la memoria RAM implica que los datos almacenados en un disco RAM se perderán si falla la alimentación (por ejemplo, cuando el ordenador se apaga). Los discos RAM suelen usarse para almacenar datos temporales o para guardar programas descomprimidos durante cortos periodos
5.4 DISCOS DUROS
5.4.1 HARDWARE PARA DISCOS
Número de cilindros 40 Tiempo de localización (cilindros adyacentes) 6ms
Pistas por cilindro 2 Tiempo de localización (caso promedio) 77ms
Sectores por pista 9 Tiempo de rotación 200ms
Sectores por disquete 720 Tiempo de arranque/detención del motor 250ms
Bytes por sector 512 Tiempo para transferir un sector 22ms
Bytes por disquete 368640
5.4.2 SOFTWARE PARA DISCOS
1. El tiempo de búsqueda (el tiempo que toma mover el brazo al cilindro correcto)
2. El retraso rotacional el tiempo que tarda el sector correcto hasta quedar bajo la cabeza)
3. El tiempo real de transferencia de datos.
Los dispositivos de disco duro son propensos a errores. Siempre se graba junto con los datos de cada sector de un disco algún tipo de verificación de errores, una suma de verificación o una verificación de redundancia cíclica. Incluso las direcciones registradas cuando se formatea un disco cuanta con datos de verificación. El controlador en hardware de un disco flexible puede informar cuando se detecta un error, pero es software debe decidir que se hará al respecto. Los controladores en hardware de los discos duros con frecuencia asumen gran parte de esta carga.
El los discos duros, el tiempo de transferencia de sectores consecutivos dentro de la misma pista puede ser muy rápido. Por ello la lectura de mas datos de los que se solicitan y su almacenamiento en un caché de la memoria puede ser una estrategia muy eficaz para acelerar el acceso a disco.
5.5 RELOJES
Los relojes controlan la hora del día y evitan que algún proceso monopolice a la CPU, entre otras cosas.
Los relojes más sencillos trabajan con la línea de corriente eléctrica de 110 o 220 voltios y provocan una interrupción por cada ciclo de voltaje, a 50 o 60 hz.
Otro tipo de relojes consta de tres componentes:
Un oscilador de cristal, un contador y un registro.
Una pieza de cristal de cuarzo se monta en una estructura bajo tensión:
Genera una señal periódica de muy alta precisión, generalmente entre 5 y 100 mhz.
La señal se alimenta en el contador para que cuente en forma descendente hasta cero.
Cuando el contador llega a cero, provoca una interrupción de la cpu.
5.5.1 HARDWARE DE DISCOS
Modo de una instancia:
Cuando el reloj se inicializa, copia el valor del registro en el contador.
Decrementa el contador en cada pulso del cristal.
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 llegar a cero y provocar la interrupción, el registro se copia de manera automática en el contador.
Todo el programa se repite en forma indefinida.
Las interrupciones periódicas se llaman marcas del reloj.
La ventaja del reloj programable es que su frecuencia de interrupción puede ser controlada por el software.
5.5.2 SOFTWARE DE RELOJ
Las principales funciones del software manejador del reloj son:
Mantener la hora del día o tiempo real.
Evitar que los procesos se ejecuten durante más tiempo del permitido.
Mantener un registro del uso de la cpu.
Controlar llamadas al sistema tipo “alarm” por parte de los procesos del usuario.
Proporcionar cronómetros guardianes de partes del propio sistema.
Realizar resúmenes, monitoreo y recolección de estadísticas.
El software manejador del reloj puede tener que simular varios relojes virtuales con un único reloj físico
5.5.3 MANEJADOR DE RELOJ
SET_ALARM permite a un proceso fijar un cronómetro que se agote en un número especificado de pulsaciones de reloj. También lo utilizan las tareas para los cronómetros guardianes.
GET_TIME produce el tiempo real corriente con el número de segundos que han transcurrido desde el 1 de enero de 1970 a las 12:00 a.m. SET_TIME fija el tiempo real.
CLOCK_TICK es el mensaje que se envía al manejador cuando ocurre una interrupción de reloj.
5.6 TERMINALES
El manejador de la terminal debe ocultar estas diferencias.
La parte independiente del dispositivo en el S. O. y los programas del usuario no se tienen que reescribir para cada tipo de terminal.
Desde el punto de vista del S. O. se las puede clasificar en:
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.
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).
Las terminales mapeadas a memoria:
No se comunican mediante una línea serial.
Poseen una interfaz mediante una memoria especial llamada video RAM:
Forma parte del espacio de direcciones de la computadora.
La cpu se dirige a ella como al resto de la memoria.
En la tarjeta de video RAM hay un chip llamado controlador de video:
Extrae bytes del video RAM y genera la señal de video utilizada para manejar la pantalla.
El monitor genera un rayo de electrones que recorre la pantalla pintando líneas.
Cada línea está constituida por un cierto número de puntos o pixeles.
La señal del controlador de video modula el rayo de electrones y determina si un pixel debe estar o no iluminado.
Los monitores de color poseen tres rayos (rojo, verde y azul) que se modulan independientemente.
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.
En las terminales mapeadas a bits:
Se utiliza el mismo principio.
Cada bit en el video RAM controla en forma directa un solo pixel de la pantalla.
Permite una completa flexibilidad en los tipos y tamaños de caracteres, varias ventanas y gráficos arbitrarios.
Con las pantallas mapeadas a memoria, el teclado se desacopla totalmente de la pantalla:
El teclado dispone de su propio manejador.
El manejador del teclado puede operar en modo caracter o en modo línea.
Las terminales pueden operar con una estructura central de buffers o con buffers exclusivos para cada terminal.
5.6.1 HARDWARE DE TERMINALES
Terminales RS-232
Constan de teclado y pantalla que transmiten bit a bit en serie. La velocidad de transmisión de estos bits viene dada en baudios, siendo valores utilizados: 300, 1,200,2,400, 4,800, 9,600. Estas terminales se conectan a la computadora a través de un cable físico, este cable en su entrada a la computadora termina en una tarjeta hardware o interfaz que a su vez se conecta a un bus de dicha computadora.
Se conocen, generalmente, con el nombre genérico TTY.
Terminales mapeados en memoria.
No necesitan línea de conexión a la computadora ya que están directamente conectados al bus del mismo. -En estos terminales el teclado se conecta directamente al bus y es independiente de la pantalla.
5.6.2 MANEJADORES
1. Lectura de caracteres desde la terminal (del sistema de archivo a la mitad de un proceso de usuario).
2. Escritura de caracteres en la terminal (del sistema de archivo a la mitad de un proceso de usuario).
3. Fijación de los parámetros de la terminal para ioctl (del sistema de archivo a la mitad de un proceso de usuario).
4. Carácter disponible (del proceso de interrupción).
5. Cancelación de la solicitud de lectura anterior (del sistema de archivo cuando ocurra una señal).
Frecuentemente los manejadores de terminales soportan operaciones tales como:
Mover el cursor hacia arriba, abajo, a la izquierda o a la derecha una posición.
Mover el cursor a x y.
Insertar un carácter o una línea en el cursor.
Eliminar un carácter o una línea en el cursor.
Recorrer la pantalla hacia arriba o hacia abajo “n” líneas.
Limpiar la pantalla desde el cursor hacia el final de la línea o hasta el final de la pantalla.
Trabajar en modo de video inverso, subrayado, parpadeo o normal.
Crear, construir, mover o controlar las ventanas.