Descargar

Planificación de Discos


    1. Disco duro
    2. Planificación de disco
    3. Software RAID
    4. Manejo de E/S en Windows y Unix
    5. Conclusión
    6. Bibliografía

    1. Introducción

    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.

    1.1 Términos a utilizar

    Tiempo de latencia: tiempo que se demora en ir de la posición actual hasta una posición adyacente requerida.

    Tiempo de búsqueda: tiempo en mover el brazo desde la posición actual hasta el nuevo cilindro.

    Tiempo de transmisión: tiempo requerido para leer/escribir un registro en disco.

    Tiempo de posicionamiento: del movimiento del cabezal hacia la pista.

    Tiempo de transferencia: espera a que el bloque deseado pase bajo el cabezal.

    Vector de bits o mapa: representa en cada bit el estado de un bloque (0 libre, 1 ocupado), si el vector es de un tamaño

    Lista encadenada: mantener un apuntador al primer bloque, el bloque contiene un apuntador al siguiente bloque libre. El recorrido de la lista implica leer cada uno de los bloques.

    Primero en entrar, primero en salir (FIFO):

    Las solicitudes se procesan en un orden secuencial.

    Es una estrategia justa para todos los procesos.

    Esta técnica se parece mucho a la planificación aleatoria si hay muchos procesos.

    Prioridad:

    No persigue la optimización del uso del disco, sino cumplir con otros objetivos.

    Los trabajos por lotes que sean cortos tienen una prioridad más alta.

    Proporciona un buen tiempo de respuesta interactiva.

    Último en entrar, primero en salir:

    Buena política para los sistemas de proceso de transacciones:

    El hecho de conceder el dispositivo al último usuario acarrea pocos o nulos movimientos del brazo.

    Existe la posibilidad de inanición, ya que puede que el trabajo no vuelva a ganar la cabeza de la línea.

    2 Disco duro

    Las siguientes son las principales ventajas con respecto del uso de la memoria principal como almacenamiento:

    Un uso inapropiado de los discos puede generar ineficiencia, en especial en sistemas con multiprogramación.

    2.1 Estructura de discos

    Los discos constituyen el grueso del almacenamiento secundario en los sistemas de computación moderno.

    Las unidades de disco modernas se direccional como grandes arreglos unidimensionales de bloques lógicos, que son las unidades de transferencia más pequeñas. El tamaño de un bloque lógico suele ser de 512 bytes, aunque a algunos discos se les puede dar formato de bajo nivel escogiendo un tamaño de bloque lógico distinto, como 1024 bytes.

    El arreglo unidimensional de bloques lógicos se hace corresponder secuencialmente con los sectores del disco. El sector 0 es el primer sector de la primera pista del cilindro más exterior. La correspondencia procede en orden por esa pista, luego por las demás pistas de ese cilindro y luego por el resto de los cilindros desde el más exterior hasta el más interior.

    Los discos modernos se organizan en zonas de cilindros. El número de sectores por pista es constante dentro de una zona, pero a medida que se avanza hacia las zonas internas a las externas el número de sectores por pista aumenta. Las pistas de la zona más exterior por lo regular contienen 40% más sectores que las de la zona más interna.

    2.2 Asignación de espacio en disco

    Consiste en asignar espacio en disco para almacenar bloques en forma eficiente respecto de la utilización del espacio y posterior acceso con rapidez.

    Existen tres métodos de uso común:

    Contiguo: los bloques está físicamente contiguos en cada pista, siendo necesario el desplazamiento de sólo una pista cuando deba desplazarse el cabezal. Los tiempos de acceso son mínimos.

    Enlazado: cada bloque físico tiene un apuntador al siguiente bloque.

    FAT(file allocation table): es una variante del método de asignación enlazada. La tabla contiene una entrada para cada bloque de disco, indexada por número de bloque.

    Figura 1 -FAT-

    Indexada: a través de un bloque de índices que reúne a todos los apuntadores, con el objeto de ayudar el acceso director, análogo a un esquema de paginación.

    Figura 2 -Indexada-

    2.3 Optimización de las unidades de disco

    El acceso a disco es una de las operaciones más lentas que realiza un sistema operativo y, del tiempo que se emplee, depende en gran medida las prestaciones globales. Habitualmente los ordenadores utilizados en entornos domésticos y de oficina incorporan discos duros y unidades de CD-ROM con tecnología IDE.

    Existe gran variedad de fabricantes y tecnologías asociadas a los dispositivos IDE y, por este motivo, es complicado crear una configuración de rendimiento óptimo que funcione en todas las máquinas. Por esta razón, habitualmente Linux viene configurado con una configuración por defecto que funciona correctamente en todos los ordenadores pero que dista mucho de ser óptima. En este documento vamos a estudiar las opciones disponibles para aumentar el rendimiento de las unidades de disco.

    2.3.1 Parámetros a tener en cuenta:

    • Capacidad: Aconsejable que sea a partir de 2,1 Gbytes en adelante.
    • Tiempo de acceso: Importante. Este parámetro nos indica la capacidad para acceder de manera aleatoria a cualquier sector del disco.
    • Velocidad de Transferencia: Directamente relacionada con el interface. En un dispositivo Ultra-2 SCSI es de 80 MBytes/seg. mientras que en el Ultra DMA/33 (IDE) es de 33,3 MBytes/seg. en el modo DMA-2. Esta velocidad es la máxima que admite el interface, y no quiere decir que el disco sea capaz de alcanzarla.
    • Velocidad de Rotación: Tal vez el más importante. Suele oscilar entre las 4.500 y las 7.200 rpm (revoluciones por minuto).
    • Caché de disco: La memoria caché implementada en el disco es importante, pero más que la cantidad es importante la manera en que ésta se organiza. Por ello este dato normalmente no nos da por si solo demasiadas pistas. Son normales valores entre 64 y 256 Kb.

    2.4 Caché de disco

    Muchos sistemas operativos mantienen lo que habitualmente se denomina memoria cache de disco. Esto consiste en un conjunto de buffers de memoria, cada uno del tamaño de un bloque de disco. Cuando algún proceso de usuario quiere acceder a un bloque de disco, el sistema de ficheros —parte del sistema operativo— busca primero si existe una copia de tal bloque en la cache, en cuyo caso devuelve al proceso el número del buffer correspondiente.

    En caso contrario, el sistema de ficheros busca un buffer desocupado o, de no haber espacios libres, selecciona el buffer que lleva más tiempo sin ser usado y lo sustituye por el bloque pedido, que habrá sido leído del disco. El buffer reemplazado ha de ser previamente grabado a disco si es necesario. La utilidad de este sistema a dos niveles es manifiesta: la memoria es mucho más rápida que el disco y el esquema garantiza que los bloques a los que se accede con más frecuencia van a ser leídos, salvo la primera vez, de memoria principal.

    De acuerdo con esta técnica de optimización, se pide desarrollar el módulo DISCO con las siguientes reglas de diseño:

    • La unidad bloque de disco va a ser el sector y la información en cada buffer será, por tanto, del tipo DISK.TipoDato.
    • La copia de sectores de disco en respuesta a una petición deberá ser concurrente con la recepción de otras peticiones.
    • Inicialmente —al arrancar el sistema— la cache estará vacía.
    • El tamaño de la cache será de SP sectores (el número de sectores por pista).

    El funcionamiento de la caché de disco se basa en dos esquemas de operación.  La lectura adelantada ("Read-ahead") y la escritura retrasada ("Write-behind"). La primera consiste en anticipar lo que se necesitará de forma inmediata y traerlo a la caché. or su parte, la escritura retrasada consiste en mantener los datos en caché hasta que se producen momentos de desocupación del sistema de disco.  En este caso la caché actúa como memoria tampón o "buffer" intermedio, y no se obliga al subsistema a realizar físicamente ninguna escritura, con lo que las cabezas quedan libres para nuevas lecturas.

     Puesto que los cachés de disco de escritura retrasada mantienen los datos en memoria volátil después que "supuestamente" se han escrito en el dispositivo,  una caída accidental del sistema, por fallo de energía o apagado intempestivo, puede producir pérdidas de los datos alojados en la caché en ese momento (es esta una de las razones por las que los sistemas Windows y Linux exigen un proceso especial de apagado, que a veces tarda unos segundos, en los que observamos una intensa actividad del sistema de disco).

    2.4.1 Cache de disco en MS DOS y  Windows

    La cache de los sistemas MS DOS y de los primeros sistemas Windows se denominaba SmartDrive.  Por su parte, los nuevos Sistemas de 32 bits disponen de un controlador virtual denominado VCACHE que utiliza un esquema de funcionamiento de lectura adelantada y escritura atrasada para proporcionar servicios de cache a las máquinas virtuales

    VCACHE tiene la ventaja cachear ficheros en discos de red, y de permitir cambiar en tiempo de ejecución la cantidad de memoria destinada a este menester.  Cuando la actividad del disco es elevada pero la ocupación de memoria es baja, VCACHE incrementa su tamaño para realizar la mayor cantidad de operación en RAM, evitando de este modo accesos a disco.  Por ejemplo, si la aplicación abre un fichero para lectura/escritura, es posible que VCACHE vuelque la totalidad del fichero a memoria; posteriormente, quizás cuando se cierre el fichero, la imagen de memoria sea volcada de nuevo al disco.  Si por el contrario la actividad de disco es pequeña y la ocupación de memoria es alta, VCACHE disminuye su propio tamaño con objeto de aumentar la RAM disponible para las aplicaciones.

    2.4.2 rendimiento del cache

    El funcionamiento de la caché de lectura se parece al de un adivino; debe anticipar lo que ocurrirá en el futuro. Si el dispositivo que está siendo cacheado encuentra los datos en la caché, habrá un éxito ("hit"), en caso contrario, un fracaso ("miss"). Los sistemas de caché actuales son capaces de proporcionar una tasa de éxitos superior al 90%.

    Como puede figurarse el lector, construir un mecanismo de caché no es una tarea baladí. Se requieren esquemas de funcionamiento que atiendan de forma simultánea y balanceada diversos factores:

    • Discriminar que información debe ser almacenada y cual descartada.
    • Decidir la organización interna de este almacenamiento.
    • Manejar las peticiones de lectura.  Esto exige disponer de un mecanismo de intercepción de las peticiones del dispositivo que está siendo cacheado.
    • Manejar las peticiones de escritura.  Interceptar las peticiones de escritura del dispositivo a cachear.

    2.4.3 Algoritmos usados para reemplazo en cache

    2.4.3.1 Algoritmo de reemplazo de paginas segun el uso no tan reciente

    Este algoritmo hace uso de los dos bits de estado que están asociados a cada página. Estos bits son: R, el cual se activa cuando se hace referencia (lectura / escritura) a la página asociada; y M, que se activa cuando la página asociada es modificada (escritura). Estos bits deben de ser actualizado cada vez que se haga referencia a la memoria, por esto es de suma importancia que sean activados por el hardware. Una vez activado el bit, permanece en ese estado hasta que el sistema operativo, mediante software, modifica su estado.

    Estos bits pueden ser utilizados para desarrollar un algoritmo de reemplazo que cuando inicie el proceso, el sistema operativo asigne un valor de 0 a ambos bits en todas las páginas. En cada interrupción de reloj, limpie el bit R para distinguir cuáles páginas tuvieron referencia y cuáles no.

    Cuando ocurre un fallo de página, el sistema operativo revisa ambos bits en todas las páginas y las clasifica de la siguiente manera:

    • Clase 0: La página no ha sido referenciada, ni modificada.
    • Clase 1: La página no ha sido referenciada, pero ha sido modificada.
    • Clase 2: La página ha sido referenciada, pero no ha sido modificada.
    • Clase 3: La página ha sido referenciada y también modificada.

    Una vez obtenida la clasificación, elimina una página de manera aleatoria de la primera clase no vacía con el número más pequeño. Esto porque para el algoritmo es mejor eliminar una página modificada sin referencias en al menos un intervalo de reloj, que una página en blanco de uso frecuente.

    A pesar de que este algoritmo no es el óptimo, es fácil de implementar y de comprender y con mucha frecuencia es el más adecuado.

    Algoritmos de reemplazo de páginas:

    Algoritmo LRU (LeastRecentlyUsed):

    • Se sustituye la página "menos recientemente usada". Se recuerda el instante en que cada página se usó por última vez, y en caso de reemplazo se escoge la página que tiene más tiempo sin usarse.
    • Se utiliza mucho y se considera de alto rendimiento respecto del óptimo.
    • Requiere un hardware adicional para su implementación:
      • Contadores: Reemplazo de la página con un tiempo más largo.
      • Pila: La base de la pila corresponde con la página LRU.
    • Esta implementación resulta costosa, ya que contadores y pilas deben actualizarse en cada referencia a la memoria, acceso más lento a la memoria.
    • Sistemas reales: implementan aproximaciones a LRU.
    • No presentan la Anomalía de Belady.
    • Determina el bloque que hace más tiempo que no se referencia, y determina que éste debe ser el que debe abandonar la caché. Como esta política es difícil de implementar en hardware normalmente se usan versiones un poco simplificadas.

    Algoritmos de aproximación al LRU:

    1. Algoritmos con bits de referencia adicionales:

    • Las técnicas basadas en LRU utilizan un bit de referencia puesto por el hardware.
    • El hardware enciende el bit de referencia (lo pone a 1) de una página cada vez que se hace referencia a ella (lectura o escritura).
    • Examinando este bit no conocemos el orden de uso, pero sí sabemos cuáles páginas se usaron y cuáles no.
    • Es posible obtener información de ordenamiento adicional si registramos los bits de referencia a intervalos adicionales.
    • Bytehistórico: Por ej.: 11000100 se usó más recientemente que 01110111.
    • LRU: página con el número más bajo.
    • Si el nº de bits históricos es cero, es decir, dejamos sólo el bit de referencia Algoritmo de segunda oportunidad.

    2. Algoritmo de segunda oportunidad o algoritmo del reloj.

    • Sencillo y efectivo, examina la página más antigua como posible víctima.
    • Comportamiento: FIFO teniendo en cuenta el bit de referencia:
    • Bit de referencia a cero: Reemplazo de página.
    • Bit de referencia a uno: Segunda oportunidad, ponemos el bit de referencia a cero y seleccionamos la siguiente página FIFO.
    • Se puede implementar como una cola circular, donde un puntero indicará cuál es la página a reemplazar a continuación.
    • Cuando se necesita un marco, el puntero avanza hasta encontrar una página cuyo bit de referencia está apagado. Con el avance del puntero los bits de referencia encendidos se van apagando.
    • Una vez hallada una página víctima, se reemplaza y la nueva página se inserta en la cola circular en esa posición.

    3. Algoritmo de segunda oportunidad mejorado.

    • Bit de referencia + bit de modificación.
    • Usando estos dos bits tenemos cuatro situaciones posibles:

    (0, 0): No se ha usado ni modificado recientemente.

    (0, 1): No se ha usado recientemente, sí se ha modificado.

    (1, 0): Usada recientemente, no modificada.

    (1, 1): Usada y modificada recientemente.

    • Se reemplaza la página que encontremos de clase más baja.
    • Se da preferencia a las páginas que han sido modificadas a fin de reducir el nº de operaciones de E/S requeridas.

    Algoritmos de conteo:

    Tienen un contador con el nº de referencias que se hacen a cada página.

    Algoritmo LFU (Least Frequently Used):

    • Reemplaza la página menos frecuentemente usada (cuenta más baja).
    • Problema: páginas que se usaron mucho durante la fase inicial del proceso y luego no se vuelven a usar.
    • Solución: desplazar las cuentas un bit a la derecha a intervalos regulares.
    • Problema serio: páginas traídas recientemente, alta probabilidad de salir (cuenta baja).

    3. Planificación de disco

    Una de las obligaciones del sistema operativo es usar el hardware de forma eficiente. En el caso de las unidades de disco, esto implica tener un tiempo de acceso breve y gran ancho de banda de disco. El tiempo de acceso tiene dos componentes principales.

    El tiempo de búsqueda (seek time) es el tiempo que tarda el brazo del disco en mover las cabezas al cilindro que contiene el sector deseado. La latencia rotacional es el tiempo adicional que el disco tarda en girar hasta que el sector deseado queda bajo la cabeza del disco.

    El ancho de banda del disco es el número total de bytes transferidos, dividido entre el tiempo total transcurrido entre la primera solicitud de servicio y la finalización de la última transferencia.

    Cada vez que un proceso necesita E/S de o al disco, emite una llamada al sistema operativo. La solicitud especifica varios elementos de información:

    • Si esta operación es de entrada o de salida
    • La dirección en disco para la transferencia
    • La dirección en memoria para la transferencia
    • El número de bytes por transferir

    Si la unidad de disco y controlador deseados están disponibles, la solicitud puede atenderse de inmediato, si no, todas las solicitudes de servicios nuevas tendrán que colocarse en la cola de solicitudes pendientes para esa unidad. En un sistema multiprogramación con muchos procesos, puede ser común que la cola de disco tenga varias solicitudes pendientes. Así, cuando se termina de atender una solicitud, el sistema operativo tiene oportunidad de escoger cuál solicitud pendiente atenderá a continuación.

    3.1 POLÍTICAS DE PLANIFICACIÓN DE DISCOS

    Una forma simple de atender a las solicitudes en el disco es la primero en llegar-primero en ser atendido. Existen además otros criterios para evaluar las políticas de planificación:

    • Capacidad de ejecución
    • Media del tiempo de respuesta
    • Varianza de los tiempos de respuesta

    Es claro que una política de planificación debe intentar maximizar la capacidad de ejecución, el número de peticiones servidas por unidad de tiempo. Debido a la planificación se reduce el tiempo desperdiciado en las esperas de las búsquedas, con lo que se puede mejorar la media de los tiempos de respuesta. Si una política de planeación no intenta más que maximizar la capacidad de ejecución sin minimizar al mismo tiempo la varianza, podría procesar peticiones. (Cuanto menor es la varianza, más predecible es el sistema).

    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 más justo de todos.

    PRI

    Prioridad del proceso.

    El control se lleva fuera de la gestión de la cola del disco.

    LIFO

    Último en entrar último en salir.

    Maximiza uso de recursos y cercanías.

    Selección en función del elemento solicitado

    SSTF

    Primero el más corto.

    Gran aprovechamiento y colas 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-pasos

    Scan de N registros a la vez.

    Garantía de servicio.

    F-SCAN

    Scan de N pasos, con N = longitud de la cola al comienzo del ciclo del Scan.

    Sensible a la carga.

    3.2 Optimización de la Búsqueda en Discos

    Las estrategias más comunes de optimización de la búsqueda son las siguientes:

    3.2.1 Planificación FCFS

    La forma más sencilla de planificación de disco es, desde luego, el servicio por orden de llegada (FCFS, first come, first served). No proporciona el servicio más rápido.

    La planificación FCFS es justa en el sentido de que una vez que llega una petición, se fija su lugar dentro de la cola de espera. Una petición, se fija su lugar dentro de la cola de espera. Una petición no puede ser desplazada por la llegada de otra con prioridad más alta.

    La FCFS es aceptable cuando la carga en un disco es ligera. Pero a medida que crece la carga, la FCFS tiende a saturar el dispositivo y los tiempos de respuesta se incrementan. La FCFS ofrece una varianza pequeña, pero tiene tiempos de espera muy grandes.

    3.2.2 Planificación SSTF

    Parece razonable atender todas las solicitudes cercanas a la posición actual de la cabeza antes de mover la cabeza a una posición lejana para atender otras solicitudes. Este supuesto es la base del algoritmo de tiempo de búsqueda más corto primero (SSTF, shortest-seek-time-first), que selecciona la solicitud que tiene el menor tiempo de búsqueda a partir de la posición actual de la cabeza.

    En esta política la petición que da por resultado la distancia de búsqueda más corta (y, con esto, el tiempo de búsqueda más corto) es la siguiente en ser servida, aunque esa petición no sea la primera en la cola.

    Los patrones de búsqueda SSTF tienden a estar muy relocalizados, dando como resultado que las pistas internas y externas reciban un servicio pobre, en comparación con las pistas del centro. La SSTF es útil en sistemas de procesamiento por lotes, en los cuales la capacidad de ejecución es lo más importante. Pero la alta varianza de los tiempos de respuesta (es decir, su falta de predecibilidad) lo hace inaceptable para los sistemas interactivos.

    Este algoritmo mejora sustancialmente el desempeño.

    La planificación SSTF es en esencia una forma de planificación de trabajo más corto primero (SJF) y, al igual que la planificación SFJ, puede cause inanición de algunas solicitudes.

    Aunque el algoritmo SSTF representa una mejora sustancial respecto al algoritmo FCFS, no es óptimo.

    3.3.3 Planificación SCAN

    En el algoritmo SCAN, el brazo del disco parte de un extremo del disco y se mueve hacia el otro, atendiendo las solicitudes a medida que llega a cada cilindro, hasta llegar al otro extremo del disco. Ahí, la dirección de movimiento de la cabeza se invierte, y continúa la atención. La cabeza barre continuamente el disco de un lado a otro.

    Esta política, desarrollada por Denning, opera como SSTF, excepto que selecciona la petición que da como resultado la distancia de búsqueda más corto en una dirección seleccionada. La SCAN no cambia de dirección hasta que ha alcanzado el cilindro exterior o hasta que ya NO haya peticiones pendientes en la dirección con preferencia.

    La SCAN se comporta de manera parecida al SSTF desde el punto de vista de la mejora en la capacidad de ejecución y de la media de los tiempos de respuesta, pero elimina mucha de la discriminación inherente a los esquemas SSTF y ofrece una varianza menor.

    El algoritmo SCAN también se conoce como algoritmo de elevador, ya que el brazo del disco se comporta igual que el elevador de un edificio, que atiende primero todas las solicitudes para subir y luego cambia de dirección para atender las solicitudes de abajo.

    3.3.4 Planificacion SCAN de n-pasos

    En esta estrategia, el brazo del disco se mueve de un lado a otro como en SCAN, pero sólo da servicio a aquellas peticiones que se encuentran en espera cuando comienza un recorrido particular. Las peticiones que llegan durante un recorrido son agrupadas y ordenadas para un servicio óptimo durante el recorrido de regreso.

    La SCAN de n-pasos ofrece un buen rendimiento de la capacidad de ejecución y de la media de los tiempos de respuesta. Su característica más significativa es una menor varianza de los tiempos de respuesta que las planeaciones SSTF y SCAN convencionales. La SCAN de n-pasos evita la posibilidad de postergación indefinida que tiene lugar si un gran número de peticiones que llegan al cilindro que está siendo servido y guarda estas peticiones para ser servidas durante el recorrido de regreso.

    3.3.5 Planificacion C-SCAN

    La planificación SCAN circular (C-SCAN) es una variante de SCAN diseñada para dar un tiempo de espera más uniforme. Al igual que SCAN, C-SCAN mueve la cabeza de un extremo del disco al otro, atendiendo las solicitudes en el camino, sólo que ahora, cuando la cabeza llega al otro extremo, regresa de inmediato al principio del disco sin atender solicitudes.

    El algoritmo de planificación C-SCAN básicamente trata los cilindros como una lista circular que continúa del último cilindro al primero.

    En la estrategia C-SCAN, el brazo se mueve del cilindro exterior al interior, sirviendo a las peticiones con menor tiempo de búsqueda. Cuando el brazo ha completado su recorrido hacia adentro, salta a la petición más cercana al cilindro exterior y a continuación reanuda su recorrido hacia adentro procesando peticiones.

    La C-SCAN puede implementarse de forma que las peticiones que llegan durante un recorrido sean servidos en el siguiente. De esta forma C-SCAN elimina completamente la discriminación contra las peticiones para los cilindros exterior e interior. Tiene una varianza de los tiempos de respuesta muy pequeña.

    3.3.6 Planificación LOOK

    En la práctica, ningunos de estos dos algoritmos se implementan así. Por lo regular, el brazo sólo llega hasta la última solicitud en cada dirección y luego cambia de dirección inmediatamente, sin primero ir hasta el extremo del disco. Estas versionas de SCAN y C-SCAN se llaman LOOK y C-LOOK, porque miran si hay una solicitud antes de continuar en una dirección dada.

    3.3.7 esquema Eschenbach

    En esta estrategia el movimiento del brazo del disco es circular como en C-SCAN, pero con varias excepciones importantes. Cada cilindro es servido exactamente por una pista completa de información, haya o no peticiones para este cilindro. Las peticiones se redondean a ser servidas dentro de un cilindro para tomar ventaja de la posición rotacional, pero si dos peticiones traslapan posiciones de sectores dentro de un cilindro, solamente se sirve una en el movimiento actual del brazo del disco.

    Con carga baja, la política SCAN es la mejor, mientras que con cargas medias y pesadas, la C-SCAN produce los mejores resultados. La C-SCAN con optimización rotacional maneja de manera efectiva condiciones de carga muy pesadas y ha demostrado ser mejor que el esquema Eschenbach bajo todas las condiciones de carga.

    3.4 Optimización rotacional en discos

    En condiciones de carga pesada, la probabilidad de que ocurran referencias al mismo cilindro aumenta y resulta útil considerar la optimización rotacional de la misma forma que la optimización de búsqueda.

    Una forma paralela a la estrategia de optimización de la búsqueda SSTF es la estrategia SLTF (tiempo de latencia más corto primero) de optimización rotacional. Una vez que el brazo del disco llega a un cilindro en particular, pueden existir muchas peticiones pendientes en las distintas pistas de ese cilindro. La estrategia SBIF examina todas estas peticiones y sirve primero a aquella que tiene el retraso rotacional más corto. Esta estrategia ha demostrado estar muy cerca del óptimo teórico y es relativamente fácil de implementar.

    3.5 Selección de un algoritmo de planificación de disco

    SSTF es común y tiene un atractivo natural. SCAN y C-SAN funcionan mejor en sistemas en los que la carga sobre el disco es intensa, y no son propensos al problema de inanición.

    Con cualquier algoritmo de planificación, es desempeño depende en gran medida del número y los tipos de solicitudes.

    El método de asignación de archivos puede influir mucho sobre las solicitudes de servicio de disco. Un programa que lee un archivo que se asignó contiguamente generará varias solicitudes cercanas entre sí en el disco, y el movimiento de la cabeza será limitado. Un archivo enlazado o indexado, en cambio, podría incluir bloques muy dispersos en el disco, y el movimiento de la cabeza sería mayor.

    La colocación de los directorios y los bloques índice en caches de la memoria principal puede ayudar también a reducir el movimiento del brazo del disco, sobre todo para las solicitudes de lectura.

    Es conveniente que el algoritmo de planificación de disco se escriba como módulo independiente del sistema operativo, a fin de poder sustituirlo por un algoritmo diferente si es necesario. SSTF y LOOK son opciones razonables para el algoritmo por omisión.

    Los algoritmos descritos sólo consideran las distancias de búsqueda. En los discos modernos, la latencia rotacional puede ser casi tan grande como el tiempo de búsqueda promedio, pero es difícil para el sistema operativo reducir la latencia rotacional mediante planificación, porque los discos modernos no revelan la ubicación física de los bloques lógicos.

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

    4.1 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(Espejo): 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 discos 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(Redundancia mediante código hamming): 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(Paridad por intercalación de bits): 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(Paridad por intercalación de bloques): 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(Paridad por intercalación distribuida de bloques): Al igual que el RAID 4 se diferencia en la distribución de las bandas de paridad 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(Redundancia dual): Se realizan dos cálculos distintos de pariedad, y se almacenan en bloques independientes de diferentes 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 paridad.

    4.2 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 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 drivers 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 más 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.

     B: 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 más 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.

    5. Manejo de E/S en Windows y Unix

    5.1 Manejo de E/S en Unix

    El sistema de entrada/salida se divide en dos sistemas complementarios: el estructurado por bloques y el estructurado por caracteres. El primero se usa para manejar cintas y discos magnéticos, y emplea bloques de tamaño fijo (512 o 1024 bytes) para leer o escribir. El segundo se utiliza para atender a las terminales, líneas de comunicación e impresoras, y funciona byte por byte.

    En general, el sistema Unix emplea programas especiales (escritos en C) conocidos como manejadores (drivers) para atender a cada familia de dispositivos de E/S. Los procesos se comunican con los dispositivos mediante llamadas a su manejador. Además, desde el punto de vista de los procesos, los manejadores aparecen como si fueran archivos en los que se lee o escribe; con esto se logra gran homogeneidad y elegancia en el diseño.

    Cada dispositivo se estructura internamente mediante descriptores llamados número mayor, número menor y clase (de bloque o de caracteres). Para cada clase hay un conjunto de entradas, en una tabla, que aporta a los manejadores de los dispositivos. El número mayor se usa para asignar manejador, correspondiente a una familia de dispositivos; el menor pasa al manejador como un argumento, y éste lo emplea para tener acceso a uno de varios dispositivos físicos semejantes.

    Las rutinas que el sistema emplea para ejecutar operaciones de E/S están diseñadas para eliminar las diferencias entre los dispositivos y los tipos de acceso. No existe distinción entre acceso aleatorio y secuencial, ni hay un tamaño de registro lógico impuesto por el sistema. El tamaño de un archivo ordinario está determinado por el número de bytes escritos en él; no es necesario predeterminar el tamaño de un archivo.

    El sistema mantiene una lista de áreas de almacenamiento temporal (buffers), asignadas a los dispositivos de bloques. El Kernel usa estos buffers con el objeto de reducir el tráfico de E/S. Cuando un programa solicita una transferencia, se busca primero en los buffers internos para ver si el bloque que se requiere ya se encuentra en la memoria principal (como resultado de una operación de lectura anterior). Si es así, entonces no será necesario realizar la operación física de entrada o salida.

    Existe todo un mecanismo de manipulación interna de buffers (y otro de manejo de listas de bytes), necesario para controlar el flujo de datos entre los dispositivos de bloques (y de caracteres) y los programas que los requieren.

    Por último, y debido a que los manejadores de los dispositivos son programas escritos en lenguaje C, es relativamente fácil reconfigurar el sistema para ampliar o eliminar dispositivos de E/S en la computadora, así como para incluir tipos nuevos.

    5.1.1 Manejo de archivos

    La estructura básica del sistema de archivos es jerárquica, lo que significa que los archivos están almacenados en varios niveles. Se puede tener acceso a cualquier archivo mediante su trayectoria, que especifica suposición absoluta en la jerarquía, y los usuarios pueden cambiar su directorio actual a la posición deseada. Existe también un mecanismo de protección para evitar accesos no autorizados. Los directorios contienen información para cada archivo, que consiste en su nombre y en un número que el Kernel utiliza para manejar la estructura interna del sistema de archivos, conocido como el nodo-i.

    Hay un nodo-i para cada archivo, que contiene información de su directorio en el disco, su longitud, los modos y las fechas de acceso, el autor, etc. Existe, además, una tabla de descriptores de archivo, que es una estructura de datos residente en el disco magnético, a la que se tiene acceso mediante el sistema mencionado de E/S por bloques.

    El control del espacio libre en el disco se mantiene mediante una lista ligada de bloques disponibles. Cada bloque contiene la dirección en disco del siguiente bloque en la cadena. El espacio restante contiene las direcciones de grupos de bloques del disco que se encuentren libres. De esta forma, con una operación de E/S, el sistema obtiene un conjunto de bloques libres y un puntador para conseguir más.

    Las operaciones de E/S en archivos se llevan a cabo con la ayuda de la correspondiente entrada del nodo-i en la tabla de archivos del sistema. El usuario normalmente desconoce los nodos-i porque las referencias se hacen por el nombre simbólico de la trayectoria. Los procesos emplean internamente funciones primitivas (llamadas al sistema) para tener acceso a los archivos; las más comunes son open, creat, read, write, seek, close y unlink, aunque sólo son empleadas por los programadores, no por los usuarios finales del sistema.

    Toda esta estructura física se maneja "desde afuera" mediante la filosofía jerárquica de archivos y directorios ya mencionada, y en forma totalmente transparente para el usuario. Además, desde el punto de vista del sistema operativo, un archivo es muy parecido a un dispositivo.

    Las ventajas de tratar a los dispositivos de E/S en forma similar a los archivos normales son múltiples: un archivo y un dispositivo de E/S se tornan muy parecidos; los nombres de los archivos y de los dispositivos tienen la misma sintaxis y significado, así que a un programa que espera un nombre de archivo como parámetro puede dársele un nombre de dispositivo (con esto se logra interacción rápida y fácil entre procesos de alto nivel).

    El sistema Unix ofrece varios niveles de protección para el sistema de archivos, que consisten en asignar a cada archivo el número único de identificación de su dueño, junto con nueve bits de protección, que especifican permisos de lectura, escritura y ejecución para el propietario, para otros miembros de su grupo (definido por el administrador del sistema) y para el resto de los usuarios. Antes de cualquier acceso se verifica su validez consultando estos bits, que residen en el nodo-i de todo archivo. Además, existen otros tres bits que se emplean para manejos especiales, relacionados con la clave del super usuario.

    Otra característica de Unix es que no requiere que el conjunto de sistemas de archivos resida en un mismo dispositivo.

    Es posible definir uno o varios sistemas "desmontables", que residen físicamente en diversas unidades de disco. Existe una orden (mkfs) que permite crear un sistema de archivos adicional, y una llamada al sistema (mount) con la que se añade (y otra con la que se desmonta) uno de ellos al sistema de archivos global.

    El control de las impresoras de una computadora que funciona con el sistema operativo Unix consiste en un subsistema (SPOOL) que se encarga de coordinar los pedidos de impresión de múltiples usuarios. Existe un proceso de Kernel que en forma periódica revise las colas de servicio de las impresoras para detectar la existencia de pedidos e iniciar entonces las tareas de impresión. Este tipo de procesos, que son activados en forma periódica por el núcleo del sistema operativo, reciben en Unix el nombre de daemons (duendes), tal vez porque se despiertan y aparecen sin previo aviso. Otros se encargan de activar procesos en tiempos previamente determinados por el usuario, o de escribir periódicamente los contenidos de los buffers de memoria en el disco magnético.

    5.2 Manejador de entrada y salida de Windows:

    El Manejador de E/S es la parte de Windows NT ejecutivo que maneja todas las entradas y todas las salidas del S.O.. Gran parte del rol de este Manejador es manejar las comunicaciones entre drivers. El Manejador de E/S soporta todos los sistemas de archivos de drivers, manejadores de dispositivos de hardware y manejadores de redes y provee un ambiente heterogéneo para ellos. Provee una interfase formal que todos los manejadores o drivers pueden invocar.

    Esta interfase uniforme le permite al Manejador de E/S comunicarse con todos los drivers de la misma manera sin tener conocimiento de cual de los dispositivos esta controlando actualmente.

    El Manejador de E/S también incluye rutinas especiales designadas para soporte de manejadores de sistemas de archivo, de dispositivos de hardware y de dispositivos de red.

    El modelo de Windows NT para E/S usa una arquitectura de niveles que permite manejadores separados para implementar cada capa lógica distinta de un procesamiento de E/S.Manejador de cache: la arquitectura de E/S incluye un único Manejador de cache que maneja la totalidad de las E/S del sistema por este método. El método cache es usado por un archivo de sistema para mejorar el rendimiento.

    El Manejador de cache usa un archivo mapeado estrechamente integrado con el manejo de la memoria virtual de Windows NT.

    El Manejador de cache provee sus servicios a todos los archivos de sistema y componentes de red bajo el control del Manejador de E/S. El Manejador de cache puede hacer crecer dinámicamente y disminuir el tamaño de la memoria cache a medida que varia la cantidad de memoria RAM disponible. Cuando un proceso abre un archivo que ya reside en la memoria cache, el Manejador de cache simplemente copia los datos de la cache al espacio de direcciones virtual del proceso y viceversa; la lectura y la grabación mejoran.

    El Manejador de cache ofrece servicios como LAZY write y LAZY commit que pueden mejorar sobre el rendimiento de todos los archivos del sistema. LAZY WRITE es la habilidad de grabar los cambios en la estructura cache de los archivos que es más rápido que grabarlos sobre el disco y mas tarde cuando hay una baja demanda de la unidad central del proceso, el Manejador cache los cambios al disco. LAZY COMMIT es similar al LAZY WRITE.

    En vez de marcar una transacción completada exitosamente en forma inmediata, la información declarada se coloca la memoria cache y luego se graba al sistema de registros de archivos como un proceso back ground

    Sistemas de manejo de archivos: en la arquitectura Windows NT de E/S, los manejadores de sistema de archivos son dirigidos por el Manejador de E/S. Windows NT soporta múltiples sistemas de archivos activos, incluyendo sistemas de archivos existentes como la F.A.T. Windows NT soporta sistemas de archivos F.A.T. y HPFS para resguardar la compatibilidad con los sistemas operativos MS-DOS, Windows 3.X y OS/2.

    La arquitectura de Windows NT de E/S no solamente soporta sistemas de archivos tradicionales sino que ha implementados su redirector de redes y servidor como un sistema de manejadores de archivos. Desde la perspectiva del Manejador de E/S no hay diferencia entre acceder archivos almacenados en una computadora remota vía red y acceder a aquellos almacenados localmente en un disco rígido.

    Además los redirectores y servidores pueden cargarse y descargarse dinámicamente como cualquier otro Manejador, y pueden coexistir múltiples redirectores y servidores a la misma computadora.Manejadores de dispositivos de hardware: los manejadores de dispositivos de hardware también son componentes de la arquitectura de la E/S.

    Todos ellos (como manejadores de impresión, de Mouse, de disco) están escritos en el lenguaje de programación C, son direccionables a 32 bits y presentan seguridad al Multiprocesamientos.Los manejadores de dispositivos acceden a los registros de hard de los dispositivos periféricos a través de rutinas de soporte que provee el sistema operativo Windows NT. Hay un conjunto de estas rutinas para cada plataforma que soporta Windows NT. Como los nombres de las rutinas son iguales para todas las plataformas los manejadores de dispositivos para Windows NT son transportable entre cualquier tipo de procesadores.

    Manejadores de red: un tercer tipo de Manejador implementado como un componente de la arquitectura de E/S es el Manejador de red. Windows NT incluye capacidades de funcionamiento de red integradas y soporte para aplicaciones distribuidas.HAL (Nivel de abstracción de hardware): virtualVirtualiza las interfaces de hardware, haciendo las transparentes al resto del S.O. Esto le permite portabilidad de una plataforma a otra.

    KERNEL: Está en el núcleo de esta arquitectura de niveles y maneja las operaciones mas básicas de Windows NT. Es responsable del despacho de hilos (thread dispaching), organización del multiprocesamiento y manejo de excepciones de hard.

    EJECUTIVO: Colección de módulos del Kernel que provee servicios básicos del sistema operativo a los subsistemas del ambiente.

    SUBSISTEMAS DE ENTORNO: Son servidores protegidos a modo usuario que ejecutan y soportan aplicaciones nativas en diferentes ambientes del SO.

    DESPACHADOR DE OBJETOS (Dispatcher Object): Tiene una señal de estado (señalado ó no señalado) que controla el despacho y sincronización de las operaciones del sistema. Incluye: eventos mutantes, mutexes (acceso mutuamente excluido a un recurso), semáforos, hilos y relojes.

    OBJETOS DE CONTROL (Control Objects): Se usan para controlar la operación del Kernel pero no afectan el despacho. Incluyen llamadas asincrónicas a procedimientos, interrupciones, procesos y perfiles.

    HILO: Unidad mas pequeña de código ejecutable independiente.

    SERVICIOS DEL SISTEMA: Interfase entre los subsistemas del ambiente modo usuario y el modo Kernel.

    3. Conclusión

    3.1 Porqué es necesaria la Planificación de Discos

    En los sistemas de multiprogramación muchos procesos pueden estar generando peticiones de E/S sobre discos:

    La generación de peticiones puede ser mucho más rápida que la atención de las mismas:

    • Se construyen líneas de espera o colas para cada dispositivo.
    • Para reducir el tiempo de búsqueda de registros se ordena la cola de peticiones: esto se denomina planificación de disco.

    La planificación de disco implica:

    • Un examen cuidadoso de las peticiones pendientes para determinar la forma más eficiente de servirlas.
    • Un análisis de las relaciones posicionales entre las peticiones en espera.
    • Un reordenamiento de la cola de peticiones para servirlas minimizando los movimientos mecánicos.

    Los tipos más comunes de planificación son:

    • Optimización de la búsqueda.
    • Optimización rotacional (latencia).

    Generalmente los tiempos de búsqueda superan a los de latencia, aunque la diferencia disminuye:

    • Muchos algoritmos de planificación se concentran en la reducción de los tiempos de búsqueda para un conjunto de peticiones.
    • Generalmente la reducción de la latencia recién tiene efectos bajo cargas de trabajo muy pesadas.

    Bajo condiciones de carga ligera (promedio bajo de longitud de la cola), es aceptable el desempeño del método FCFS (primero en llegar, primero en ser servido).

    Bajo condiciones de carga media o pesada, es recomendable un algoritmo de planificación de las colas de requerimientos.

    3.2 Características deseables de las políticas de Planificación de Discos

    Los principales criterios de categorización de las políticas de planificación son:

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

    • Maximizar el número de peticiones servidas por unidad de tiempo.
    • Minimizar la media del tiempo de respuesta.
    • Mejorar el rendimiento global, quizás a costa de las peticiones individuales.

    La planificación suele mejorar la imagen total al tiempo que reduce los niveles de servicio de ciertas peticiones:

    • Se mide utilizando la varianza de los tiempos de respuesta.
    • La varianza es un término estadístico que indica hasta qué punto tienden a desviarse del promedio de todos los elementos los elementos individuales.
    • A menor varianza mayor predecibilidad.
    • Se desea una política de planificación que minimice la varianza, es decir que maximice la predecibilidad.
    • No debe haber peticiones que puedan experimentar niveles de servicio erráticos.

    4. Bibliografía

    Diseño e Implementación de múltiples planificadores de disco para

    Formato de archivo: PDF/Adobe Acrobat – Versión en HTMLnuevas políticas de planificación de disco. Otro aspecto a tener en cuenta es cómo pasar los parámetros extra a través de la. cache del sistema. es.tldp.org/Presentaciones/ 1999hispalinux/conf-jfernandez/7.pdf

    SISTEMAS OPERATIVOS

    CARACTERISTICAS DESEABLES DE LAS POLITICAS DE PLANIFICACION DE DISCO. OPTIMIZACION DE LA BUSQUEDA. PLANIFICACION FCFS (PRIMERO QUE LLEGA,PRIMERO QUE SE

    www.ur.mx/cursos/diya/quimica/jescobed/ diya/acad/cursos/sis/sist-op1/CAPXII.HTM – 2k

    INTRODUCCIÓNPLANIFICACIÓ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 exa.unne.edu.ar/depar/areas/informatica/ SistemasOperativos/MonogSO/GESTES02.htm

    SO – Entrada / Salida

    La planificación de disco puede mejorar el rendimiento y eliminar el embotellamiento, que se produce cuando se concentran grandes cargas de peticiones sobre exa.unne.edu.ar/depar/areas/ informatica/SistemasOperativos/SO5.htm

     

    Tatiana Macchiavello