Está en la página 1de 6

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.

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. La suma 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.

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. 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.

NOMBRE DESCRIPCION COMENTARIOS

Selección en función del demandante


RSS Planificación aleatoria. Para análisis y simulación.

FIFO Primero en entrar, primero en salir. El mas justo de todos.


El control se lleva fuera de la gestión
PRI Prioridad del proceso.
de la cola del disco.
Maximiza uso de recursos y
LIFO Último en entrar último en salir.
cercanías.

Selección en función del elemento solicitado


Gran aprovechamiento y colas
SSTF Primero el mas corto.
pequeñas.

SCAN Recorre el disco de un lado a otro. Mejor distribución del servicio.

C-SCAN Recorre el disco en un solo sentido. Menor variabilidad en el servicio.


SCAN de N-
Scan de N registros a la vez. Garantía de servicio.
pasos

Scan de N pasos, con N = longitud de la


F-SCAN Sensible a la carga.
cola al comienzo del ciclo del Scan.

SOFTWARE RAID

Con el uso de múltiples discos, existen varias formas que se pueden organizar los
datos. Dificultando el desarrollo de esquemas de bases de datos que se pueden utilizar
en múltiples plataformas y S.O. La industria a acordado un sistema estándar para el
diseño de base de datos sobre múltiples discos, llamado RAID (Vector Redundante de
Discos Independientes), este esquema consta de siete niveles que distinguen distintas
arquitecturas de diseño, compartiendo tres características comunes:

RAID es un conjunto de unidades de disco físicos vistas por el S.O. como


una sola unidad lógica.

Los datos están distribuidos a través de las unidades físicas del vector.

La capacidad del disco redundante se utiliza para almacenar información de


paridad, que garantiza la recuperabilidad de datos en caso de fallo del disco.

La estrategia RAID reemplaza unidades de disco de gran capacidad por múltiples


discos de menor capacidad y distribuye los datos que luego son accedidos
simultáneamente a ellos por múltiples discos, esto mejora el rendimiento de las E/S y
aumenta su capacidad. Para compensar la disminución de la fiabilidad, RAID hace uso
de la información de paridad almacenada, que permite la recuperación de los datos
perdidos como consecuencia de un fallo del disco.

NIVELES RAID
NIVEL 0: Los usuarios y los datos del sistema están distribuidos a lo largo de todo
el vector de discos, este esta dividido en bandas que pueden ser bloques físicos, sectores
o alguna otra unidad. Al conjunto de bandas consecutivas lógicamente, se lo denomina
franja. Presenta la ventaja de que si una única solicitud de E/S esta formada por
múltiples bandas contiguas; estas podrán gestionarse en paralelo reduciendo la
transferencia de E/S.

NIVEL 1: La redundancia de los datos se consigue duplicando los mismos, los datos
son divididos de la misma forma que en RAID0; pero cada banda se corresponde con
dos disco físicos independientes.
Aspectos positivos:

Una solicitud de lectura puede utilizar cualquiera de los dos discos que contienen
los datos solicitados y que suponga menor tiempo sumando el de búsqueda y la
latencia de giro.

Una solicitud de escritura requiere la actualización de las bandas


correspondientes a ambos discos, solo se puede hacer en paralelo. Cuando se
actualiza una sola banda, el software de gestión del vector de disco primero debe
calcular y actualizar los bits de paridad y luego la banda real.

Cuando una unidad falla, los datos todavía están disponibles desde la segunda
unidad.

Desventaja, su COSTE requiere dos veces el espacio de disco del disco lógico que
soporta.

Puede conseguir altas tasas de solicitudes de E/S si las mismas son de lectura, cuyo
rendimiento puede ser el doble que en RAID 0, pero si las solicitudes son de escritura su
rendimiento talvez no será el mismo.

NIVEL 2: Este utiliza una técnica de acceso paralelo. Las bandas de este nivel son
muy pequeñas, considerándolo como un único byte o palabra. Se utiliza un código
HAMMING para corregir errores de un solo bit y la detección de errores de dos bit.

Cuando se requiere una solicitud de lectura todos los discos son accedidos
simultáneamente, ocurriendo lo mismo con una solicitud de escritura y n este caso
también son accedidos todos los discos de paridad.

RAID 2 solo será eficiente cuando se produzcan muchos errores en el disco.

NIVEL 3: Este requiere solo un disco redundante, emplea acceso paralelo. Cuando
ha ocurrido algún error, se calcula un solo bit de paridad para el conjunto de bits en la
misma posición de todos los discos de datos.

En el caso de un fallo de disco, se accede a la unidad de paridad y se reconstruyen los


datos desde los dispositivos restantes.

Debido a que los datos están divididos en pequeñas bandas, RAID 3 puede conseguir
una tasa de transferencia de datos muy alta. Cualquier solicitud de E/S involucrara una
transferencia de datos en paralelo desde todos los discos de datos solo se puede ejecutar
una solicitud de E/S. Disminuyendo el rendimiento en un entornó orientado a
transacciones.

NIVEL 4: Utiliza una técnica de acceso independiente, por lo que se puede


satisfacer las solicitudes de E/S individuales. Son mas apropiados para aplicaciones que
requieren tasas altas de solicitudes de E/S, y son relativamente menos apropiados para
aplicaciones que requieren tasas altas de transferencias de datos
NIVEL 5: Al igual que el RAID 4 se diferencia en la distribución de las bandas de
pariedad a través de todos los discos, por lo tanto evita el potencial cuello de botella en
la E/S del sistema RAID 4 que tiene solo un disco de paridad.

NIVEL 6: Se realizan dos cálculos distintos de pariedad, y se almacenan en bloques


independientes de diferente discos, la ventaja es la disponibilidad de datos son
extremadamente alta. Por otro lado sufre una importante penalización de escritura,
porque cada escritura afecta a dos bloques de pariedad.

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)

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.

Características genéricas de los driver de disco son:

A: MEJORA EL TIEMPO DE ACCESO.

B: TRATAMIENTO DE ERRORES.

A: 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.

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: 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.

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.
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)

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.

DMA- ACCESO DIRECTO A MEMORIA


El acceso directo a memoria se inventó con el propósito de liberar al CPU de la
carga de atender a algunos controladores de dispositivos, adecuada para grandes
transferencias de datos. El controlador del periférico se comunica directamente con la
memoria, sin intervención de al CPU. Se necesita un componente especial que supervise
la transferencia, el encargado de esto es el controlador del DMA .

El controlador DMA contiene un registro de dirección, un registro de datos, un


contador de palabras y una lógica de control.

REGISTRO DE DIRECCIÓN: especifica la posición de memoria a usar


como fuente o destino del dato a transferir

REGISTRO DE DATOS: contiene el dato que esta en ruta entre la memoria


y los periféricos

CONTADOR DE PALABRAS : número de palabras de datos que quedan


para ser transferidos en la operación de entrada / salida.

LÓGICA DE CONTROL: se encarga de solicitar los buses a la CPU o


provocar una interrupción. Tanto el registro de dirección como el contador de palabras
se configuran como puertos de salida configurables tal que puedan ser inicializados por
programas ejecutables en la CPU.

Cuando El periférico solicite o produzca un dato en la interfaz el controlador del


DMA activa la línea de petición del DMA, la CPU responde a esta petición dejando los
buses libres para que puedan ser usados, el controlador del DMA asume el control de
los buses y procede a transferir datos directamente entre periférico y memoria, se
ejecuta una rutina de inicialización, el registro de dirección se carga con la dirección de
comienzo de la zona de memoria afectada por la transferencia, el registro contador de
palabras se carga con el numero de palabras a ser transferidos, se van actualizando los
registros según avanza la trasferencia, la cual finaliza cuando el contador de palabras se
pone a cero. El controlador DMA indica el fin de la tarea enviando una petición de
interrupción a la CPU, la CPU solo interviene al principio y al final de la transferencia
Existen varias formas de realizar el DMA según la estrategia de control de los
buses que exista por parte del controlador del DMA, por ráfagas, por robo de ciclo,
transparente y por demanda.

POR RÁFAGAS: el controlador del DMA no libera los buses hasta que
acaba la transferencia de un bloque completo de datos, se obtiene una alta velocidad en
la transferencia, el procesador permanece inactivo largos periodos de tiempo, pues no
pueden obtenerse instrucciones de memoria mientras se produce la transferencia.

POR ROBO DE CICLO: dispone de datos a transferir toma el control de los


buses durante un ciclo de CPU en el que transmite una palabra, al transmitir la palabra
cede los buses a la CPU que continua con su actividad normal hasta un nuevo robo, los
buses se reparten entre controlador DMA y CPU, se alcanza menor velocidad de
transferencia, la CPU mantiene su actividad a menor velocidad evitando periodos largos
de tiempo inactiva.

TRANSPARENTE: similar a robo de ciclo pero el controlador del DMA


roba los buses a la CPU los ciclos en los que esta no los utiliza ( Por ejemplo: fase de
decodificación de una instrucción, no disminuye la velocidad de procesamiento de la
CPU, no llega a alcanzarse una buena velocidad de transferencia.

POR DEMANDA: cuando el controlador DMA dispone de datos a


transferir, solicita el control de los buses y los mantiene hasta que termina de enviar
toda la información, alta velocidad de transferencia, baja velocidad de procesamiento de
CPU.

También podría gustarte