Monografias.com > Computación > Hardware
Descargar Imprimir Comentar Ver trabajos relacionados

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

    nuevas 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ÓN

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

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter