Buscar en este blog

martes, 12 de junio de 2012

Administración de Dispositivos


La administración de dispositivos, es la administración de todos los recursos del hardware disponible, tanto los estándar que viene de fabricas, como las que se van agregando para hacer más poderosa o actualizar la PC. Todo dispositivo necesita presentarse al sistema operativo, agregando un pequeño programa que permite su uso. Este hp programa es llamado controlador. De aquí el controlador es un software que utiliza el sistema operativo para especificar de hardware, como puede ser cualquier dispositivo.



La administración de dispositivos comprende 4 funciones básicas:

  1. Controlar el estado de cada dispositivo (como unidades de cinta, unidades de disco, impresoras, graficadotes y terminales)
  2. Utilizar políticas preestablecidas para determinar que proceso obtendrá un dispositivo y durante cuanto tiempo.
  3. Asignar los dispositivos. (A los procesos).
  4. Desasignarlos en dos niveles: en el nivel de procesos cuando se ejecute un comando de entrada/salida (Temporal) y cuando el dispositivo se libera de manera permanente (Permanentemente).

Los dispositivos periféricos del sistema generalmente entran en una de tres clases:

  • Dedicados
  • Compartidos
  • Virtuales

Dispositivos Dedicados: Se asignan sólo a un trabajo a la vez y le sirven todo el tiempo que está activo. La desventaja de los dispositivos dedicados es que se asignan a un usuario durante todo el tiempo que dure el trabajo que realiza, esto podría resultar ineficiente y es aun más ineficiente si el dispositivo no se utiliza el 100% del tiempo. Ejemplo: Impresoras, unidades de cinta.

Dispositivos Compartidos: Estos se puede asignar a más de un proceso/Varios procesos a un mismo dispositivo. De forma que se puede compartir cualquier dispositivo de almacenamiento de acceso directo al entrelazar sus solicitudes, en estos casos el administrador de dispositivos tiene que controlar esta acción con bastante cuidado. Ejemplo: Discos Duros, DVD.

Dispositivos Virtuales: Son una combinación de los dispositivos dedicados y los compartidos; son dispositivos dedicados transformados en dispositivos compartidos. Además, estos son dispositivos que se pueden compartir por red, y utilizan Spooling, el cual genera una cola de espera en un buffer para el dispostivo. Ejemplo: Impresoras.


Los medios de almacenamiento se dividen en dos grupos:
  • Medios de almacenamiento de acceso secuencial.
  • Dispositivos de almacenamiento de acceso directo.

Medios de Almacenamiento de Acceso Secuencial.
El primer medio de almacenamiento fue el papel, pero su volumen y su precio hicieron que este medio resultara inaceptable para sistemas grandes. La cinta magnética se desarrollo para los primeros sistemas de cómputo de almacenamiento secundario rutinario.

Estos almacenan los registros en secuencia, uno después del otro. Este almacenamiento depende de la forma en que se decida almacenar los registros, esto es, en forma individual o en bloques. Si se almacena en forma individual después de cada registro le sigue un espacio que separa a cada registro almacenado, espacio entre registros (IRG, es aproximadamente de ½ pulgada de largo), sin importar el tamaño de los registros que separa. Esta forma es poco eficiente cuando los registros que se almacenan son de poco tamaño, ya que se pierde mucho en los IRG.

La otra forma de almacenamiento de registros es la de bloques, que consiste en agrupar los registros en bloques antes de registrarlos en la cinta. A esto se le llama “bloquear” y se lleva a cabo al crear el archivo. Los registros en un bloque son almacenados de forma secuencial, uno después del otro, y cada bloque es separado por un espacio que separa los diferentes bloques (IBG, al igual que el IRG es aproximadamente ½ pulgada de largo).

Medios de Almacenamiento de Acceso Directo (DASD).
Estos son los dispositivos que pueden leer o escribir en un lugar específico en un disco (también se conocen como dispositivos de almacenamiento de acceso aleatorio). Por lo general se agrupan en dos categorías principales:

a) Con cabezas de lectura y escritura fijas.
b) Con cabezas de lectura y escritura móviles.

DASD de Cabeza Fija.
Los primeros DASD eran tambores registrables magnéticamente. Estos eran en forma de una lata de café gigante, cubierta con película magnética y formato, de manera que las pistas corren a su alrededor. Los tambores de cabeza fija eran muy rápidos ya que utilizaban una cabeza de lectura/escritura para cada pista, pero también su valor era muy costoso y no contenían tantos datos como otros DASD, lo cual hizo que su popularidad descendiera. (Discos Magnéticos).

DASD de Cabeza Móvil.
Los tambores de cabeza móvil sólo tienen unas cuantas cabezas de lectura/escritura que se mueven de una pista a otra para cubrir la superficie del tambor. Mientras menos cabezas móviles tenga el tambor, menos es su valor. (Discos Opticos).


Tiempo de acceso requerido: Según si un dispositivo DASD tiene cabezas fijas o móviles, tres factores pueden afectar el lapso requerido para tener acceso a un archivo:

  • El tiempo de búsqueda
  • El tiempo de latencia
  • El tiempo de transferencia

Tiempo de búsqueda: es el más lento de los tres. Este es el intervalo requerido para colocar la cabeza de lectura/escritura sobre las pistas apropiadas. Este período no se aplica en dispositivos de cabeza fija.

Tiempo de latencia o retardo rotacional: Es el lapso necesario para girar el DASD hasta que el registro requerido pase por debajo de la cabeza de lectura/escritura.

Tiempo de transferencia: Es el más rápido de los tres, es cuando los datos realmente son transferidos del almacenamiento secundario a la memoria principal.

En Dispositivos de cabeza fija. 
Estos dispositivos pueden tener acceso a un registro al conocer sus números de pista y de registro. El tiempo requerido para el acceso a los datos depende de dos factores:

  1. La velocidad de rotación, aunque varía de un dispositivo a otro es constante en cada uno.
  2. La posición del registro en relación con la posición de la cabeza de lectura/escritura.

El tiempo total de acceso es la suma del lapso de búsqueda más el periodo de transferencia.

Tiempo de búsqueda (retardo rotacional) + Tiempo de transferencia (transferencia de datos) = Tiempo de acceso

Ya que los DASD giran continuamente, hay tres posiciones básicas para el registro requerido relativo a la posición de la cabeza de lectura/escritura:

  1. La mejor de la situación posible es cuando el registro se encuentra al lado de la cabeza de lectura/escritura cuando se ejecuta el comando de entrada/salida; esto da un retardo rotacional igual a cero.
  2. La situación promedio es cuando el registro se encuentra en el otro extremo de la cabeza de lectura/escritura al momento que se ejecuta el comando de entrada/salida; esto da un retardo rotacional de t/2.
  3. La peor de la situación es cuando el registro acaba de pasar por la cabeza de lectura/escritura cuando se ejecuta el comando de entrada/salida, con un retardo rotacional de t, ya que este necesita de una rotación completa para que el registro se coloque debajo de la cabeza.
En Dispositivos de cabeza móvil.
Estos dispositivos agregan el tercer elemento temporal al cálculo del periodo de acceso: el lapso requerido para mover el brazo a su posición bajo la pista adecuada o tiempo de búsqueda.

Tiempo de búsqueda (movimiento del brazo)

Tiempo de latencia (retardo rotacional) + Tiempo de transferencia (transferencia de datos) = Tiempo de acceso

El tiempo más largo entre los componentes del tiempo de acceso de esta ecuación es el de búsqueda. El tiempo de latencia y de transferencia es el mismo para los DASD de cabeza fija como para los de cabeza móvil.

Los dispositivos de cabeza móvil son más comunes que los de cabeza fija porque su costo es menor y tienen mayor capacidad, aun cuando el tiempo de recuperación es más largo.


Componentes de subsistema de entrada/salida.
Los componentes del subsistema de entrada/salida son: canales, unidad de control, dispositivos de entrada/salida.

Los canales de entrada/salida. Son unidades programables colocadas entre el CPU y las unidades de control. Estos controlan la velocidad rápida del CPU con la lenta del dispositivo entrada/salida y permite la superposición de operaciones de entrada/salida con las operaciones del procesador.

La unidad de control de entrada/salida es quien interpreta las señales que el canal envía para cada función. En la mayor parte de los sistemas una sola unidad de control está fija para varios dispositivos similares.

Al inicio de un comando de entrada/salida, la información que pasa del CPU al canal es:

1. Comando de entrada/salida (READ, WRITE, REWIND, etc..)
2. Número del canal
3. Dirección del registro físico que se va a transferir (desde el almacenamiento secundario o hacia él)
4. Dirección de inicio del buffer a partir del cual se va a transferir el registro o hacia el cual se va a mandar.


Comunicación entre dispositivos.
Para que un sistema de cómputo ocupado funcione eficientemente el administrador de dispositivos se apoya en varias características auxiliares y existen tres problemas por resolver:

1. Necesita saber qué componentes están ocupados y cuáles están libres
2. Debe ser capaz de aceptar las solicitudes que llegan durante el tráfico pesado de entrada/salida
3. Debe aceptar la disparidad de velocidades entre el CPU y los dispositivos de entrada/salida.

El primero se resuelve estructurando la interacción entre las unidades. Los dos últimos problemas se manejan colocando en memorias intermedias los registros y la cola de solicitudes.

Para saber cuando una operación ha terminado se usa una bandera de hardware que debe probar el CPU. Esta bandera esta formada por 3 bits y esta se encuentra en el Channel Status Word (CSW). Cada bit representa uno de los componentes del subsistema de entrada/salida. Cada bit cambia de cero a uno para indicar que la unidad ha pasado de libre a ocupada y esta bandera puede ser accesada por cualquier componente para saber antes de seguir adelante con la siguiente operación de entrada/salida si la trayectoria esta libre para su uso.

Dos maneras de realizar esta prueba son la encuesta y el uso de interrupciones.

* La encuesta utiliza una instrucción especial de máquina para probar la bandera. Esta manera tiene de desventaja que el CPU pierde tiempo en probar si un canal esta libre o no y si tarda en efectuar este procedimiento podría que el dispositivo se deje de usar por un tiempo ya que el CPU cree que todavía esta en uso.
* El uso de interrupciones es una forma más eficiente de probar las banderas. Ya que un mecanismo de hardware la prueba como parte de cada instrucción de máquina que ejecuta el CPU.

Acceso directo a la memoria (DMA). Es una técnica de entrada/salida que permite que una unidad de control tenga acceso directo a la memoria principal. Para esto el CPU envía suficiente información a la unidad de control y así se evita la intervención del CPU y puede continuar con otra tarea, mientras la unidad de control completa la transferencia.

Buffers. (también llamados memorias intermedias) son áreas temporales de almacenamiento que se encuentran en localidades convenientes en el sistema: memoria principal, canales y unidades de control. Estos se utilizan mucho para sincronizar mejor el movimiento de datos entre los dispositivos de entrada/salida relativamente lentos y un CPU muy rápido.


Administración de las solicitudes de entrada/salida.
El administrador de dispositivos divide la tarea en tres partes, cada una manejada por un componente especifico de softwares del subsistema de entrada/salida:

* El controlador de tráfico de entrada/salida.
* El planificador de entrada/salida.
* El manejador de dispositivos de entrada/salida.

El controlador de tráfico de entrada/salida vigila el estado de los dispositivos, unidades de control y canales


Estrategias de búsqueda de manejo de dispositivos.
Una estrategia de búsqueda para el manejador de dispositivos de entrada/salida es la política predeterminada que utiliza para dar acceso al dispositivo a los diversos procesos que puedan estar esperándolo; define el orden en el cual los procesos obtienen el dispositivo, y la meta es mantener el tiempo de búsqueda en un mínimo.

Algunas estrategias de búsquedas más comunes:

* Primeras llegadas, primeros servicios (FCFS).
* Tiempo más breve de búsqueda primero (SSTF).
* SCAN y sus variaciones, LOOK, N-Step SCAN, C-SCAN, y C-LOOK.

Todo algoritmo de programación debe efectuar lo siguiente:

* Minimizar el movimiento del brazo.
* Llevar al mínimo el tiempo medio de respuesta.
* Minimizar la variación del tiempo de respuesta.

RAID
Es un juego de unidades físicas de disco considerado como una unidad lógica por el sistema operativo. Se introdujo para cerrar la brecha cada vez más grande entre procesadores más rápidos y unidades del disco más lentas.

Los investigadores de la University of California en Berkeley propusieron la tecnología RAID. Ellos tomaros las siglas de Redundant Array of Inexpensive Disk (Arreglo redundante de discos económicos).

7 comentarios: