A1262634320OlNMJ - PowerPoint PPT Presentation

1 / 217
About This Presentation
Title:

A1262634320OlNMJ

Description:

Cada procesador tiene su propia memoria principal y sus ... Luces de Trafico. Maquinas de boletos. Camaras de velocidad. Detects.de velocidad. Otros equipos ... – PowerPoint PPT presentation

Number of Views:165
Avg rating:3.0/5.0
Slides: 218
Provided by: HGR62
Category:

less

Transcript and Presenter's Notes

Title: A1262634320OlNMJ


1
Sistemas de Operación Hector Gonzalez hgr_at_cantv.n
et 0416-7252438
2
Planificación de multiprocesadores y en tiempo
real
  • Capítulo 10

3
Clasificación de los sistemas multiprocesador
  • Mutiprocesador débilmente acoplado
  • Cada procesador tiene su propia memoria principal
    y sus propios canales de E/S.
  • Procesadores especializados funcionalmente
  • Procesadores de E/S.
  • Controlados por el procesador principal.
  • Multiprocesador fuertemente acoplado.
  • Los procesadores comparten una memoria principal
    común.
  • Controlados por el sistema operativo.

4
Granularidad
  • Frecuencia de sincronización entre los procesos
    de un sistema

5
Es posible distinguir cinco categorías de
paralelismo que difieren en el grado de
granuralidad (granuralidad de sincronización o
frecuencia de sincronización)
Tamaño del Grano Descripción Intervalo de sincronización (instrucciones)
Fino Paralelismo inherente es un único flujo de instrucciones lt20
Medio Procesamiento paralelo o multitarea dentro de una aplicación individual 20-200
Grueso Multiprocesamiento de procesos concurrentes en un entorno multiprogramado 200-2000
Muy Grueso Proceso distribuido por los nodos de una red para formar un solo entorno de computacion 2000-1M
Independiente Varios procesos no relacionados (N/A)
6
Paralelismo independiente
  • Aplicación o trabajo separado.
  • No existe sincronización.
  • Hay más de un procesador disponible
  • El tiempo medio de respuesta a los usuarios será
    menor.

7
Paralelismo de grano grueso y muy grueso
  • Sincronización entre los procesos muy burda.
  • Bueno para los procesos concurrentes que se
    ejecutan en un monoprocesador multiprogramado
  • Puede verse respaldado por un multiprocesador con
    escasos cambios.

8
Paralelismo de grano medio
  • Un proceso paralelo o varias tareas en una única
    aplicación.
  • Una sola aplicación es un conjunto de hilos.
  • Los hilos interactúan de forma muy frecuente.

9
Paralelismo de grano fino
  • Aplicaciones muy paralelas.
  • Campo muy especializado y fragmentado.

10
PlanificaciónElementos de Diseño
  • Asignación de procesos a los procesadores.
  • Uso de multiprogramación en procesadores
    individuales.
  • Expedición real de los procesos.

11
Asignación de procesos a los procesadores
  • Tratar a los procesadores como un recurso
    reservado y asignar los procesos a los
    procesadores por demanda.
  • Se asigna un proceso a un procesador de forma
    permanente
  • Cola a corto plazo dedicada para cada procesador.
  • Sobrecarga menor.
  • Un procesador puede estar desocupado mientras que
    otro procesador tiene trabajos pendientes.

12
Asignación de procesos a los procesadores
  • Cola global
  • Ejecutados en cualquier procesador que esté
    disponible.
  • Arquitectura maestro/esclavo
  • Las funciones clave del núcleo siempre ejecutan
    en un determinado procesador.
  • El maestro es el responsable de la planificación.
  • El esclavo envía una solicitud del servicio al
    maestro.
  • Desventajas
  • Un fallo en el maestro hace caer todo el sistema.
  • El maestro puede llegar a ser un cuello de
    botella del rendimiento.

13
Asignación de procesos a los procesadores
  • Arquitectura simétrica
  • El sistema operativo puede ejecutarse en
    cualquier procesador.
  • Cada procesador se autoplanifica.
  • Complica el sistema operativo
  • Debe asegurarse que dos procesadores no
    seleccionen el mismo proceso.

14
Planificación del procesos
  • Una cola única para todos los procesadores.
  • Varias colas según la prioridad.
  • Todas las colas alimentan a una reserva común de
    procesadores.
  • El algoritmo específico de planificación es mucho
    menos importante con dos procesadores que con
    uno.

15
Hilos
  • La ejecución se separa del resto de la definición
    de un proceso.
  • Una aplicación puede implementarse como un
    conjunto de hilos que cooperan y ejecutan
    concurrentemente en el mismo espacio de
    direcciones.
  • Los hilos que se ejecutan simultáneamente en
    distintos procesadores posibilitan un aumento
    drástico del rendimiento.

16
Planificación de hilos para multiprocesadores
  • Reparto de carga
  • Los procesos no se asignan a un procesador en
    particular.
  • Planificación por grupos
  • Se planifica un conjunto de hilos afines para su
    ejecución en un conjunto de procesadores al mismo
    tiempo.

17
Planificación de hilos para multiprocesadores
  • Asignación dedicada de procesadores
  • Asignación de hilos a un procesador específico.
  • Planificación dinámica
  • El número de hilos en un programa se puede
    cambiar en el curso de la ejecución.

18
Reparto de carga
  • La carga se distribuye uniformemente entre los
    procesadores.
  • No es necesario un planificador centralizado.
  • Uso de colas globales.

19
Desventajas del reparto de carga
  • La cola central necesita exclusión mutua
  • Puede convertirse en un cuello de botella si
    muchos procesadores buscan trabajo al mismo
    tiempo.
  • Es improbable que los hilos expulsados reanuden
    su ejecución en el mismo procesador
  • El uso de la cache será menos eficiente.
  • Si todos los hilos están en la cola global, todos
    los hilos de un programa no conseguirán acceder a
    los procesadores al mismo tiempo.

20
Planificación por grupos
  • Planificación simultánea de hilos que forman
    parte de un único proceso.
  • Útil para aplicaciones cuyo rendimiento se
    degrada seriamente cuando alguna parte de la
    aplicación no se está ejecutando.
  • Los hilos normalmente necesitan sincronizarse
    mutuamente.

21
Planificación por grupos
División uniforme
División por pesos
Grupo 1
Grupo 2
Grupo 1
Grupo 2
Grupo 1
desocupado
desocupado
desocupado
desocupado
desocupado
desocupado
Tiempo
37,5 Desperdiciado
15 Desperdiciado
Figura 10.2. Ejemplo de planificación por grupos
con uno y cuatro hilos FEIT90a.
22
Asignación dedicada de procesadores
  • Cuando se planifica una aplicación, se asigna
    cada uno de sus hilos a un procesador.
  • Algunos procesadores pueden estar desocupados.
  • No hay multiprogramación de procesadores.

23
Planificación dinámica
  • La aplicación permite cambiar dinámicamente
  • el número de hilos de un proceso.
  • El sistema operativo ajusta la carga para mejorar
    la utilización
  • Asigna los procesadores desocupados.
  • Las nuevas llegadas pueden ser asignadas a un
    procesador quitándoselo a algún proceso que tenga
    más de un procesador asignado.
  • La petición queda pendiente hasta que un
    procesador esté disponible.
  • Se asignará un procesador a las nuevas llegadas
    antes de que se den las aplicaciones que se están
    ejecutando.

24
Sistemas en tiempo real
  • La exactitud del sistema no depende sólo del
    resultado lógico de un cálculo sino también del
    instante en que se produzca el resultado.
  • Las tareas o procesos intentan controlar o
    reaccionar ante sucesos que tienen lugar en el
    mundo exterior.
  • Estos sucesos se producen en tiempo real y el
    proceso debe poder ir al paso de ellos.

25
Sistemas en tiempo real
26
Elementos de un Sistema de Tiempo Real
Transductor de presion
Termo- sensor
CAD
Comunicaciones
ADC
Switch
T
Software de Tiempo Real
P
S
Calentador
SO
tarea
tarea
CDA
Screen
tarea
Reloj
Computadora
Valvulas
Digital Analogico E/S
Otras E/S
Ambiente
27
Elementos de un Sistema de Tiempo Real
Transductor de presion
Termo- sensor
CAD
Comunicaciones
ADC
Switch
T
Software de Tiempo Real
P
S
Calentador
SO
tarea
tarea
CDA
Screen
tarea
Reloj
Valvulas
Entender la Aplicacion
Controlar el Sistema
Monitorizar el Sistema
Caracterizar y Diseñar el Sistema
28
Aplicaciones de los Sistema de Tiempo Real
  • Dominio Industrial
  • Controlador de la planta
  • Robot para tratamiento de material peligroso
  • Uso militar
  • Sistema de reconocimiento de blancos automático
  • Sistema de guiado de misiles y navegación
  • Sistemas altamente críticos
  • Plantas nucleares
  • Sistemas de aviónica
  • Sistemas de Telecomunicaciones
  • Sistemas Multimedia
  • Sistemas de Telefonía Móvil

29
Aplicaciones
Interfase
Tubería
Lectura del flujo de entrada
Medidor de Flujo
Procesamiento
Salida de la válvula
Tiempo
Válvula
Computadora
Un Sistema de control de fluido simple
30
Aplicaciones Control de temperatura en un Tanque
Bin
Furnace
Fuel Tank
grain
Pipe
fuel
31
Aplicaciones Control de Manufactura
Computer
Switch
Switch
Assembly line
Bell
Line controller
Box
0 stop
1 run
32
Un Modelo de Sistema de Tiempo Real
33
Sistemas Embebidos
  • Sistemas de computo basados en microprocesadores
  • Funciones especificas, pre-definidas
  • Recursos limitados (memoria, potencia)
  • La aplicacion se ejecuta desde ROM
  • Existen...
  • Los Sistemas Embebidos estan en el 90 de los
    dispositivos electonicos y de computo en todo el
    mundo
  • Existen mas sistemas embebidos que computadoras
    (gt10).

34
Ejemplos
Sistema de oficina y equipo mobiles Sistemas en Edificios Fabricacion y control de procesos
Maquinas contestadoras Copiadoras Faxes Laptops y notebooks Telefonos moviles PDAs, Organizadores personales Still and video cameras Sistemas de Telefonia Grabacion de tiempo Impresoras Hornos de Microondas Aire acondicionado Respaldo y generadores de luz Administracion de edificios Television por cable Controladores de Fuego Calefaccion y Ventilacion Elevadores, Escaleras Iluminacion Seguridad Camaras de Seguridad Extintores Fabricas automatizadas Plantas embotelladoras Sist. Control de energia Plantas de manufactura Estaciones nucleares Refinerias de Petroleos Sistemas de Energia Estaciones de Poder Robots Sistemas de switching Sist. Agua y alcantarillado
35
Ejemplos
Transporte Comunicaciones Otros equipos
Aereoplanos Trenes Autobuses Barcos Muelles Automobiles Cntr.de Trafico aereo Sist. de senalizacion Radares Luces de Trafico Maquinas de boletos Camaras de velocidad Detects.de velocidad Telefonia Cable Switches de telefonos Satelites Posicionamiento Global Maquinas contestadoras Sist. Tarjetas de credito Equipos de Imagenes Medicas Ctrl. De calefaccion domestica VCRs
36
Características de un sistema embebido
  • Operación en Real-Time
  • Reactivo Calculos que deben ocurrir en
    respuesta a eventos externos
  • Exactitud es parcialmente una función del tiempo
  • Pequeño y de bajo peso
  • Dispositivos manuales y aplicaciones de
    trasnportacion
  • Bajo consumo de energia
  • Bateria con duracion de 8 horas (laptops
    comunmente menso de 2 horas)
  • Ambientes asperos
  • Calor, vibracion, golpes, fluctuaciones de
    corriente, interferencia, luz, corrosion
  • Operación de seguridad critica
  • Deben funcionar correctamente y no deben
    funcionar correctamente
  • Alto costo

37
Anatomia de un Proyecto Embebido
Herramientas de Desarrollo - (compilador,
depurador, simulador)
38
Dificultades en el Diseño
  • Diseño de la aplicación en tiempo real.
  • Control de la concurrencia de procesos.
  • Selección de la arquitectura de hardware que
    mejor responda a la aplicación.
  • Obtención de tiempos Caracterización
  • especificar los tiempos a los que las acciones
    deben llevarse a cabo.
  • especificar en cuanto tiempo debe completarse
    cada acción.
  • responder a situaciones en las cuales no todos
    los tiempos se cumplen
  • responder a situaciones en las que los requisitos
    de tiempos cambian dinámicamente.

39
Caracterización de la Aplicación
r(t)
Sensor de
temperatura
y(t)
Termo
Computadora
u(t)
Calefactor
  • Componentes tanque, censores, actuadores,
    interfaces A/D y computadora.

40
Caracterización de la Aplicación
  • Restricciones de Funcionamiento.
  • Componentes tanque, censores, actuadores,
    interfaces A/D y computadora.
  • En el sistema (planta), dada una u(t), se produce
    una y(t).
  • El sistema recibe una señal de referencia r(t),
    el cual indica la temperatura deseada.
  • El objetivo del sistema de control es que y(t),
    sea lo mas parecida a r(t).
  • Para lograr el objetivo, es preciso aplicar a la
    planta la señal u(t)
  • y(t) muestra el valor real de la temperatura del
    termo.

41
Consideraciones de Diseño
  • A quien afecta la introducción de Tiempo Real ?.
  • A los lenguajes, compiladores.
  • Al sistema operativo.
  • A la arquitectura de hardware.
  • A la metodología de diseño.
  • A la arquitectura del sistema (HW/SW/Ambiente).

42
Programacion de Sistemas de Tiempo Real.
Actividades en una computadora de automóvil.
C10ms. T40ms. D40ms.
C4ms. T20ms. D5ms.
Control de Velocidad
Control de Frenado
C40ms. T80ms. D80ms.
Control de combustible
C10ms. T40ms.
Otro software no-critico
Ctiempo de computo (peor caso), TPeriodo de
ejecución, DPlazo de respuesta
43
Características de los sistemas operativos en
tiempo real
  • Determinismo
  • Las operaciones se realizan en instantes fijos y
    predeterminados o en intervalos de tiempo
    predeterminados.
  • Hace referencia a cuánto tiempo consume un
    sistema operativo en reconocer una interrupción.

44
Características de los sistemas operativos en
tiempo real
  • Sensibilidad
  • Cuánto tiempo consume un sistema operativo en dar
    servicio a la interrupción, después de
    reconocerla.
  • Incluye la cantidad de tiempo necesario para
    comenzar la ejecución de la interrupción.
  • Incluye la cantidad de tiempo necesario para
    ejecutar la interrupción.

45
Características de los sistemas operativos en
tiempo real
  • Control del usuario
  • El usuario especifica prioridades.
  • Especifica paginación.
  • Qué procesos deben estar siempre residentes en la
    memoria principal.
  • El usuario especifica los algoritmos de disco
    que se emplearán.
  • Factores que disponen a los procesos en varias
    bandas de prioridad.

46
Características de los sistemas operativos en
tiempo real
  • Fiabilidad
  • La degradación del rendimiento puede tener
    consecuencias catastróficas.
  • Intento de corregir el problema o minimizar sus
    efectos mientras continúa la ejecución.
  • Ejecuta la tareas más importantes y de mayor
    prioridad.

47
Características de los sistemas operativos en
tiempo real
  • Cambios rápidos de proceso o hilos.
  • Pequeño tamaño.
  • Capacidad de responder rápidamente a
    interrupciones externas.
  • Multitarea con herramientas de comunicación entre
    procesos, como semáforos, señales y sucesos.
  • Uso de archivos secuenciales especiales que
    pueden acumular datos a alta velocidad.

48
Características de los sistemas operativos en
tiempo real
  • Planificación preferente basada en prioridades.
  • Reducción de los intervalos en los que están
    inhabilitadas las interrupciones.
  • Demorar tareas durante un tiempo fijo.
  • Alarmas especiales y temporizadores.

49
Planificación de un proceso de tiempo real
Solicitud de un proceso en tiempo real
El proceso de tiempo real se añade a la cola de
ejecución en espera de su próxima fracción
Proceso de tiempo real
Proceso 1
Proceso 2
Proceso n
Pulso de reloj
Tiempo de planificación
(a) Planificador preferente por turno rotatorio
Figura 10.4. Planificación de un proceso de
tiempo real.
50
Planificación de un proceso de tiempo real
Solicitud de un proceso en tiempo real
El proceso de tiempo real pasa al principio de la
cola de ejecución
Proceso de tiempo real
Proceso actual
El proceso actual se bloquea o termina
Tiempo de planificación
(b) Planificador preferente controlado por
prioridades
Figura 10.4. Planificación de un proceso de
tiempo real.
51
Planificación de un proceso de tiempo real
Solicitud de un proceso en tiempo real
Espera de otro instante de apropiación
Proceso de tiempo real
Proceso actual
Instante de apropiación
Tiempo de planificación
(c) Planificador preferente controlado por
prioridades con instantes de apropiación
Figura 10.4. Planificación de un proceso de
tiempo real.
52
Planificación de un proceso de tiempo real
Solicitud de un proceso en tiempo real
El proceso de tiempo real expulsa al proceso
actual y se ejecuta inmediatamente
Proceso de tiempo real
Proceso actual
Tiempo de planificación
(d) Planificador preferente inmediato
Figura 10.4. Planificación de un proceso de
tiempo real.
53
Planificación en tiempo real
  • Métodos con tablas estáticas
  • Determina, en tiempo de ejecución, cuándo debe
    comenzar la ejecución de una tarea.
  • Métodos preferentes con prioridades estáticas
  • Se puede emplear un planificador convencional
    preferente con prioridades.
  • Métodos de planificación dinámica.
  • Métodos dinámicos del mejor resultado.

54
Planificación por plazos
  • En las aplicaciones de tiempo real no preocupa la
    velocidad absoluta, sino completar las tareas.
  • La planificación de las tareas con el plazo más
    próximo minimiza la proporción de tareas que no
    cumplen sus plazos.

55
Planificación por plazos
  • Información utilizada
  • Instante en que está lista.
  • Plazo de comienzo.
  • Plazo de finalización.
  • Tiempo de proceso.
  • Exigencias de recursos.
  • Prioridad.
  • Estructura de subtareas.

56
Dos tareas
Tabla 10.2. Perfil de ejecución de dos tareas
periódicas.
Proceso
Instante de llegada
Tiempo de ejecución
Plazo final
57
Plazo de B1
Plazo de B1
Plazo de A1
Plazo de A2
Plazo de A3
Plazo de A4
Plazo de A5
Tiempos de llegada, ejecución y plazos
Tiempo (ms.)
Planificación por prioridades fijas A tiene
prioridad
A2
B1
A3
(No cumplido)
Planificación por prioridades fijas B tiene
prioridad
A1
A4
(No cumplido)
(No cumplido)
Planificación por el plazo más cercano con plazos
de terminación
Figura 10.5. Planificación de tareas periódicas
de tiempo real con plazos de terminación.
58
Instantes de llegada
Requisitos
Plazos de inicio
Instantes de llegada
Plazo más cercano
Servicio
(no cumplido)
Plazo de inicio
Instantes de llegada
Plazo más cercano con tiempos libres no forzosos
Servicio
Plazo de inicio
Instantes de llegada
Primero en llegar/primero en servirse (FCFS)
Servicio
(no cumplido)
(no cumplido)
Plazo de inicio
Figura 10.6. Planificación de tareas aperiódicas
de tiempo real con plazos de inicio.
59
Planificación monótona de frecuencia
  • Asigna prioridades a las tareas en función de sus
    periodos.
  • La tarea de más alta prioridad es la del periodo
    más corto.

60
Diagrama de tiempos de tareas periódicas
Ciclo 1
Ciclo 2
libre
Procesamiento
Procesamiento
Tiempo
Tiempo C de ejecución de la tarea P
Periodo T de la tarea P
Figura 10.7. Diagrama de tiempos de tareas
periódicas.
61
Alto
Frecuencia más alta y tarea de prioridad más alta
Prioridad
Frecuencia más baja y tarea de prioridad más baja
Bajo
Frecuencia (Hz.)
Figura 10.8. Una tarea con RMS WARR91.
62
Planificación en LINUX
  • Clases de planificación
  • SCHED_FIFO Hilos de tiempo real con
    planificación FIFO.
  • SCHED_RR Hilos de tiempo real con planificación
    por turno rotatorio.
  • SCHED_OTHER Hilos que no son de tiempo real y
    otros.
  • Dentro de cada clase se utilizan múltiples
    prioridades.

63
mínima
media
media
máxima
(a) Prioridades relativas de los hilos
(b) Flujo con planificación FIFO
(c) Flujo con planificación RR
Figura 10.9. Ejemplo de planificación Linux.
64
Planificación en UNIX SVR4
  • Máxima prioridad a los procesos de tiempo real.
  • El siguiente nivel de prioridad se asigna a los
    procesos en modo de núcleo.
  • El nivel más bajo se asigna al resto de los
    procesos en modo de usuario.

65
Colas de expedición SVR4
Figura 10.11. Colas de expedición de SVR4.
66
Planificación en Windows 2000
  • Las prioridades se organizan en dos bandas o
    clases
  • Tiempo real.
  • Variable.
  • Planificador preferente con prioridades.

67
Mayor (31)
Clases de prioridad de tiempo real
Menor (16)
Mayor (15)
Clases de prioridad variable
Menor (0)
Figura 10.12. Prioridades de expedición de hilos
en W2K.
68
mayor
por encima de lo normal
por encima de lo normal
prioridad base
normal
por debajo de lo normal
por debajo de lo normal
menor
menor
Prioridad de procesos
Prioridad de base de hilos
Prioridad dinámica de hilos
Figura 10.13. Ejemplo de relaciones entre
prioridades en W2K.
69
Gestión de E/S y planificación de discos
  • Capítulo 11

70
El sistema operativo se compone de un núcleo
o Kernel y un intérprete de comandos
denominado Shell.
71
Estructura de un S. O.
72
Estructura de un SO
73
El S.O. debe ser responsable de
  • Creación de un proceso
  • Destrucción de un proceso
  • Suspensión y Reactivación
  • Sincronización entre procesos
  • Mecanismos de Comunicación entre procesos
  • Mecanismos para evitar esperas infinitas

74
Estructura de un SOGestión de Memoria
75
Es responsabilidad del Sistema Operativo
  • Mantener un registro de que partes de Memoria
    están
  • siendo usadas y por quien.
  • Asignar y Disponer de Memoria de acuerdo a las
    necesidades
  • Junto con el Plan de Tareas decidir que procesos
    se llevan a memoria cuando existe disponibilidad
    de espacio.

La gestión de memoria depende de varios factores
en especial del HARDWARE
76
Gestión de Memoria Secundaria
77
Gestión de memoria secundaria
  • El S.O. en este caso es responsable de
  • Gestión del Espacio Libre
  • Cesión de bloques de almacenamiento
  • Planificación de la utilización del disco

78
Gestión de Entrada/Salidai/O
79
Gestión de Entrada/Salida
  • En este caso el S.O. es responsable de
  • Mantener un sistema de buffers (áreas de memoria
    temporal)
  • Proporcionar una interfase general hacia el
    hardware
  • Proveer drivers para dispositivos específicos

80
Gestión de Entrada/Salida
  • Llamadas al Sistema
  • Tomar el control de un dispositivo
  • Liberar un dispositivo
  • Escribir
  • Leer
  • Reposición
  • proporcionar atributos
  • Fijar atributos

81
Categorías de dispositivos de entrada/salida
  • Dispositivos legibles por los humanos
  • Apropiados para la comunicación con el usuario.
  • Impresoras.
  • Terminales de vídeo
  • Pantalla.
  • Teclado.
  • Ratón.

82
Categorías de dispositivos de entrada/salida
  • Dispositivos legibles por la máquina
  • Adecuados para comunicarse con equipos
    electrónicos.
  • Discos y unidades de cinta.
  • Sensores.
  • Controladores.
  • Impulsores.

83
Categorías de dispositivos de entrada/salida
  • Dispositivos de comunicaciones
  • Apropiados para comunicarse con dispositivos
    lejanos.
  • Adaptadores de líneas digitales.
  • Módem.

84
Diferencias entre las clases de dispositivos de
E/S
  • Velocidad de los datos
  • Puede haber una diferencia de varios órdenes de
    magnitud en las velocidades de transmisión de
    datos.

85
Ethernet de gigabit
Pantalla gráfica
Disco duro
Ethernet
Disco óptico
Escáner
Impresora láser
Disco flexible
Módem
Ratón
Teclado
101
105
102
103
104
106
107
108
109
Velocidad de datos (bps)
Figura 11.1. Velocidades de datos de
dispositivos de E/S típicos.
86
Diferencias entre las clases de dispositivos de
E/S
  • Aplicaciones
  • Un disco que almacena archivos necesita el
    soporte de un software de gestión de archivos.
  • Un disco usado como almacén de páginas de un
    sistema de memoria virtual necesita el soporte de
    un software y de un hardware especial.
  • Puede que un terminal usado por el administrador
    del sistema tenga una prioridad mayor.

87
Diferencias entre las clases de dispositivos de
E/S
  • Complejidad del control.
  • Unidad de transferencia
  • Los datos pueden transmitirse como flujos de
    bytes para un terminal o en bloques mayores para
    un disco.
  • Representación de los datos
  • Esquemas de codificación.
  • Condiciones de error
  • Cada dispositivo responde a los errores de
    diferente manera.

88
Técnicas para realizar la E/S
  • E/S programada
  • El proceso espera a que termine la operación.
  • E/S dirigida por interrupciones
  • Se emite una orden de E/S.
  • El procesador continúa con la ejecución de las
    instrucciones.
  • El módulo de E/S lo interrumpe cuando completa su
    trabajo.

89
Técnicas para realizar la E/S
  • Acceso directo a la memoria (DMA)
  • Un módulo de DMA controla el intercambio de datos
    entre la memoria principal y el dispositivo de
    E/S.
  • El procesador se interrumpe sólo cuando se ha
    transferido el bloque entero.

90
Evolución de las funciones de la E/S
  • El procesador controla directamente los
    dispositivos periféricos.
  • Se añade un controlador o módulo de E/S
  • El procesador utiliza E/S programada sin
    interrupciones.
  • El procesador se aisla de los detalles
    específicos de las interfaces con dispositivos
    externos.

91
Evolución de las funciones de la E/S
  • Controlador o módulo de E/S con interrupciones
  • El procesador no tiene que desperdiciar tiempo
    esperando a que se realice una operación de E/S.
  • Acceso directo a la memoria
  • Se puede mover un bloque de datos a la memoria
    sin que intervenga el procesador.
  • El procesador sólo interviene al principio y al
    final de la transferencia.

92
Evolución de las funciones de la E/S
  • El módulo de E/S es un procesador separado.
  • Procesador de E/S
  • El módulo de E/S posee su propia memoria local.
  • Es un computador independiente.

93
DMA
  • La técnica de DMA permite la transferencia de
    datos entre un periférico y la memoria.
  • Sin intervención del CPU

(salvo en la fase de inicialización de los
parámetros de la transferencia)
94
Acceso directo a la memoria
  • Toma el control del sistema desde la CPU para
    transferir datos desde y hacia la memoria a
    través del bus del sistema.
  • Se utiliza el robo de ciclos para transferir
    datos a través del bus del sistema.
  • El ciclo de instrucción se suspende para dar paso
    a la transferencia de datos.
  • La CPU espera un ciclo del bus.

95
Necesidad de DMA
96
Necesidad de DMA
97
Acceso Directo a Memoria- Diagrama de bloques de
un DMA
Cuenta de Datos
Registro de Datos
Bus de Datos
Registro de Direcciones
Bus de Direcciones
Petición de DMA
Lógica de Control
Aceptación de DMA
Interrupción
Señal Lectura
Señal Escritura
98
Funcionamiento de una transferencia DMA I/III
  • Fase de inicialización
  • La CPU le indica al interfaz del periférico la
    operación a realizar
  • La CPU accede a los registros del DMAC para
    indicar los parámetros de la transferencia
  • Dirección inicial de memoria -gt Reg. dir. memoria
  • Número de palabras a transferir -gt Reg. Nº
    palabras
  • Sentido de la transferencia -gt Reg. Sentido
  • La CPU regresa a sus tareas

99
Funcionamiento de una transferencia DMA II/III
  • Fase de transferencia
  • Cuando el periférico está listo para
    transmitir/recibir lo indica al DMAC activando la
    señal DMA-REQ
  • El DMA solicita el control del bus mediante las
    líneas de arbitraje
  • El DMA recibe la concesión del bus y activa la
    señal DMA-ACK para indicar al periférico que
    puede iniciar la transferencia.
  • El DMAC debe generar y procesar las señales del
    bus adecuadas
  • Dirección de memoria sobre la que se realiza la
    transferencia
  • Señales de sincronización de la transferencia
    (master -syncro, slave-syncro, etc.)
  • Señales de lectura/escritura (R/W y R/W-IO)
  • Después de transferir cada palabra el DMAC debe
    actualizar sus registros
  • Decrementar el registro de nº de palabras
  • Incrementar/decrementar el reg. de direcciones de
    mem. (según sean direcciones crecientes o
    decrecientes)
  • En transferencias de robo de ciclo
  • Se libera el bus después de transferir cada
    palabra y se vuelve a solicitar para transferir
    la siguiente
  • En transferencias en modo ráfaga
  • El DMAC mantiene el control del bus hasta que se
    ha transferido el bloque completo

100
Funcionamiento de una transferencia DMA II/III
  • Fase de finalización de la transferencia
  • Cuando el registro de nº de palabras llega a cero
    el DMAC activa la señal de interrupción para
    indicárselo a la CPU

101
(No Transcript)
102
DMA
  • El robo de ciclos hace que la CPU ejecute más
    lentamente.
  • El número de ciclos de bus requeridos se puede
    acortar mediante la integración de las funciones
    del DMA y de la E/S.
  • Debe haber un camino entre el módulo de DMA y el
    módulo de E/S que no pasen por el bus del
    sistema.

103
- El DMA utiliza el bus de datos del sistema
robando ciclos de reloj de la CPU. No requiere
una interrupción ni cambios de contexto. -
Puntos de ruptura por DMA
Ciclo de Instrucción
Ciclo del Procesador
Ciclo del Procesador
Ciclo del Procesador
Ciclo del Procesador
Ciclo del Procesador
Ciclo del Procesador
Lee Instrucción
Decodifica Instrucción
Lee Operando
Ejecuta Instrucción
Guarda Resultado
Interrupción del Proceso
Puntos de ruptura por DMA
Puntos de ruptura por interrupción
104
- Estructura de sistemas que utilizan DMA
(ejemplos) 1. DMA independiente de bus sencillo
CPU
Módulo DMA
CPU
E/S
Memoria
- Estructura sencilla y barata. - El módulo
realiza la transferencia entre Memoria y los
dispositivos de E/S a través del módulo DMA, por
lo que consume 2 ciclos de bus por cada palabra
transferida, como en la E/S programada
105
DMA integrado, con bus sencillo
CPU
Módulo DMA
Módulo DMA
Memoria
E/S
E/S
E/S
- El módulo DMA está conectado directamente a uno
o más bloques de E/S, de modo que la
transferencia de datos no emplea el bus del
sistema. - El intercambio de datos entre DMA y
los módulos de E/S se realiza fuera del bus de
sistema
106
Bus de E/S
Bus de sistema
CPU
Módulo DMA
Memoria
Bus de E/S
E/S
E/S
E/S
- Los módulos de E/S están conectados al DMA a
mediante un bus - La configuración es fácilmente
ampliable - El intercambio de datos entre DMA y
los módulos de E/S se realiza fuera del bus de
sistema
107
Canales de E/S - Extensión del concepto de DMA,
donde cada canal tiene control absoluto de las
operaciones de E/S. - Las instrucciones de E/S
se almacenan en memoria principal, pero son
ejecutadas completamente en un procesador de
propósito específico situado en el propio canal.
Tipos
1. Canal selector
Canal de Datos y direcciones con la Memoria
Principal
Canal Selector
Controlador de E/S
Controlador de E/S
Señales de control de la CPU
108
Canal Multiplexor
A la Memoria Principal
Canal Multiplexor
Controlador de E/S
A la CPU
Controlador de E/S
Controlador de E/S
Controlador de E/S
109
ASPECTOS DE DISEÑO DEL SISTEMA OPERATIVO
  • Eficiencia
  • Reducir al máximo el tiempo de las operaciones de
    E/S.
  • Solución principal
  • Paralelización de las operaciones de E/S con las
    operaciones de la CPU (multiproceso)
  • Generalidad
  • Uniformidad en el trato de dispositivos
    distintos,
  • a) en la interfaz entre el proceso y los
    dispositivos
  • b) entre el Sistema Operativo y los dispositivos.
  • Solución principal
  • Modularidad

110
ESTRUCTURA LÓGICA DE LAS FUNCIONES DE E/S
  • Filosofía general
  • Modularidad. Distribuir las funciones en capas
    organizadas jerárquicamente (niveles).
  • Los niveles coinciden con los requisitos de
    tiempos de respuesta requeridos.
  • Niveles bajos atienden a eventos rápidos
    (hardware)
  • Niveles altos atienden a eventos o solicitudes
    menos críticas (comunicación con el usuario).
  • - Hay tres configuraciones principales
  • 1. Comunicación con un dispositivo periférico
    local
  • 2. Dispositivo de comunicaciones
  • 3. Dispositivo de almacenamiento secundario
    (gestor de archivos)

111
Procesos de Usuario
1) Comunicación con un dispositivo periférico
local
Trata al dispositivo como un recurso lógico,
sin preocuparse de los detalles de control del
dispositivo particular. Proporciona
identificadores y operaciones de lectura,
escritura, apertura y cierre
E/S lógica
Convierte las operaciones en secuencias de
instrucciones de E/S, comandos para el canal y
ordenes al controlador
E/S con dispositivos
Planificación y Control
Planificación, encolado y control de las
operaciones de E/S. Manejo de interrupciones. Se
encarga de realizar la comunicación con el
hardware.
Hardware
112
Procesos de Usuario
2) Dispositivo de comunicaciones
Arquitectura de Comunicaciones
E/S con dispositivos
Planificación y Control
Hardware
113
Procesos de Usuario
3) Sistema de Archivos
Traducción de nombres a identificadores de
fichero. Operaciones que tienen que ver con la
gestion de directorios Añadir, Borrar,
Reorganizar
Gestión de directorios
Estructura lógica de los archivos. Operaciones
especificadas por el usuario Abrir, Cerrar,
Leer, Escribir. Gestión de derechos de acceso
Sistema de Archivos
Organización Física
Conversión de direcciones lógicas a direcciones
físicas del almacenamiento secundario. Asignación
de espacio en el almacenamiento secundario
(disco) y principal (buffers)
E/S con dispositivos
Planificación y Control
Hardware
114
ALMACENAMIENTO INTERMEDIO (buffering)
  • - La lectura directa en la zona de memoria de los
    procesos puede provocar problemas
  • 1. Complica el planificador de procesos, al
    impedir que procesos completos puedan ser
    intercambiados a disco (la zona de memoria de
    almacenamiento debe permanecer durante la
    lectura/escritura de datos)
  • 2. Si se permite el intercambio a disco del
    proceso, éste se bloquearía a sí mismo en espera
    de la conclusión de la operación de E/S, que no
    podría terminarse por estar el proceso
    intercambiado en disco.
  • - Solución Uso de almacenamiento intermedio
    (buffering)

115
Almacenamiento intermedio de E/S
Sistema operativo
Proceso de usuario
Entrar
Dispositivo de E/S
(a) Sin almacenamiento intermedio
Sistema operativo
Proceso de usuario
Entrar
Mover
Dispositivo de E/S
(b) Almacemiento intermedio sencillo
Figura 11.6. Esquemas de almacenamiento
intermedio de E/S (entrada).
116
Almacenamiento intermedio de la E/S
  • Dispositivos orientados a bloque
  • La información se almacena en bloques de tamaño
    fijo.
  • Las transferencias de un bloque se realizan cada
    vez.
  • Se utilizan para los discos y las cintas.
  • Dispositivos orientados a flujo
  • Transfieren los datos como una serie de bytes.
  • Se utilizan para los terminales, impresoras,
    puertos de comunicación, ratones y otros
    dispositivos que no son de almacenamiento
    secundario.

117
Memoria intermedia sencilla
  • El sistema operativo asigna a una solicitud de
    E/S un espacio en la parte del sistema de la
    memoria principal.
  • Dispositivos orientados a bloque
  • Las transferencias de entrada se realizan en el
    espacio del sistema.
  • Cuando sea necesario, el proceso mueve el bloque
    al espacio del usuario.
  • El proceso mueve otro bloque al espacio
  • Lectura por adelantado.

118
Memoria intermedia sencilla
  • Dispositivos orientados a bloque
  • El proceso de usuario puede procesar un bloque de
    datos mientras se está leyendo el siguiente.
  • Se puede dar el intercambio, ya que la entrada
    tiene lugar en la memoria del sistema y no en la
    memoria de usuario.
  • El sistema operativo debe guardar constancia de
    las asignaciones de memorias intermedias del
    sistema a procesos de usuario.

119
Memoria intermedia sencilla
  • Dispositivos orientados a flujo
  • Se aplica por líneas.
  • La entrada del ususario a partir de un terminal
    se realiza por líneas, marcadas con un retorno de
    carro al final de la misma.
  • La salida al terminal es línea a línea.

120
Memoria intermedia doble
  • Utiliza dos almacenes intermedios del sistema en
    lugar de uno.
  • Un proceso puede transferir datos hacia o desde
    una memoria intermedia mientras que el sistema
    operativo vacía o rellena el otro.

121
Memoria intermedia circular
  • Se usan más de dos memorias intermedias.
  • Cada memoria intermedia individual constituye una
    unidad de la memoria intermedia circular.
  • Se usan cuando las operaciones de E/S han de ir
    al ritmo del proceso.

122
Almacenamiento intermedio de E/S
Sistema operativo
Proceso de usuario
Entrar
Mover
Dispositivo de E/S
(c) Almacenamiento intermedio doble
Proceso de usuario
Sistema operativo
Entrar
Mover
Dispositivo de E/S
(d) Almacenamiento intermedio circular
Figura 11.6. Esquemas de almacenamiento
intermedio de E/S (entrada).
123
Hardware de Discos
124
Parámetros de rendimiento del disco
  • Para leer o escribir, la cabeza debe ponerse en
    la pista deseada, al comienzo del sector
    pertinente.
  • Tiempo de búsqueda
  • Es el tiempo que se tarda en ubicar la cabeza en
    la pista deseada.
  • Retardo o latencia de giro
  • Es el tiempo que tarda el comienzo del sector en
    llegar hasta la cabeza.

125
Media del tiempo de una transferencia de E/S a
disco
Espera por dispositivo
Espera por canal
Transferencia de datos
Búsqueda
Retardo de giro
Dispositivo ocupado
Figura 11.7. Media del tiempo de una
transferencia de E/S a disco.
126
Parámetros de rendimiento del disco
  • Tiempo de acceso
  • Es la suma del tiempo de búsqueda y el retardo de
    giro.
  • Es decir, es el tiempo que se tarda en llegar a
    la posición de lectura o escritura.
  • La transferencia de datos tiene lugar a medida
    que el sector se mueve bajo la cabeza.

127
Políticas de planificación del disco
  • La razón de la diferencia en el rendimiento puede
    encontrarse en el tiempo de búsqueda.
  • Para un disco sencillo, habrá un número de
    solicitudes de E/S.
  • Si se eligen las solicitudes en un orden
    aleatorio, se obtendrá el peor rendimiento
    posible.

128
Software de discos
  • Objetivo
  • Minimizar tiempo de búsqueda
  • Algoritmos de planificación del brazo del disco
  • Ejemplo
  • Cola de peticiones sobre cilindros
  • 98 183 37 122 14 124 65 67
  • Cilindro inicial 53

129
Tiempo de operación lectura o escritura
  • Tiempo de búsqueda tiempo necesario para que el
    cabezal se coloque en el cilindro adecuado.
  • Tiempo de latencia (o retraso rotacional) una
    vez situado el cabezal, es el tiempo que tarda el
    sector buscado en girar hasta quedar bajo el
    cabezal.
  • Tiempo de transferencia tiempo que tarda en
    pasar el sector por debajo del cabezal

Los dos últimos no se pueden controlar
(propiedades del hardware) pero el primero sí.
130
Políticas de planificación del disco
  • 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.

131
(No Transcript)
132
Políticas de planificación del disco
  • 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.

133
Políticas de planificación del disco
  • Ú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.

134
Políticas de planificación del discoSSTF
  • Primero el tiempo de servicio más corto
  • Elegir la solicitud de E/S a disco que requiera
    el menor movimiento posible del brazo del disco
    desde su posición actual.
  • Siempre se elige procurando el mínimo tiempo de
    búsqueda.

135
(No Transcript)
136
Políticas de planificación del disco
  • SCAN
  • El brazo sólo se puede mover en un sentido,
    resolviendo todas las solicitudes pendientes de
    su ruta hasta que alcance la última pista o hasta
    que no haya más solicitudes en esa dirección.
  • Se produce un cambio en la dirección.

137
Políticas de planificación del disco
  • C-SCAN
  • Restringe el rastreo a una sola dirección.
  • Cuando se haya visitado la última pista en un
    sentido, el brazo vuelve al extremo opuesto del
    disco y comienza a recorrerlo de nuevo.

138
Políticas de planificación del disco
  • SCAN de N pasos
  • Divide la cola de solicitudes del disco en
    subcolas de longitud N.
  • Las subcolas se procesan una a una mediante un
    SCAN.
  • Mientras se procesa una cola, se añadirán nuevas
    solicitudes a las otras.
  • FSCAN
  • Emplea dos subcolas.
  • Una de las colas permanece vacía en espera de
    nuevas solicitudes.

139
Algoritmos de planificación del disco
Tabla 11.3. Algoritmos de planificación de disco
WIED87.
Nombre
Descripción
Comentarios
Selección en función del demandante
Para análisis y simulación El más justo de
todos El control se lleva fuera de la gestión de
la cola del disco Maximiza el uso de recursos y
cercanía
RSS
Planificación aleatoria Primero en entrar,
primero en salir Prioridad del proceso Último en
entrar, primero en salir
FIFO
PRI
LIFO
Selección en función del elemento solicitado
Gran aprovechamiento y colas pequeñas Mejor
distribución del servicio Menor variabilidad en
el servicio Garantía de servicio Sensible a la
carga
Primero el más corto Recorre el disco de un lado
a otro Recorre el disco en un solo sentido SCAN
de N registros a la vez SCAN de N pasos, con N
longitud de la cola al comienzo del ciclo
del SCAN
SSTF
SCAN
C-SCAN
SCAN de N pasos
FSCAN
140
OPTIMIZACIÓN DE ACCESO A DISCO
  • Un bloque es una secuencia continua de sectores
    de una sola pista de un plato.
  • Algoritmos de planificación del brazo del disco
    minimizar el movimiento del brazo
  • Organización de los ficheros se optimiza el
    tiempo de acceso organizando los bloques de
    acuerdo a cómo van a ser accedidos los datos.
  • Memoria intermedia de escritura no volátil se
    escriben los bloques a una RAM no volátil
    intermedia el controlador escribirá a disco
    cuando no tenga más peticiones pendientes.
  • Disco de registro histórico es un disco dedicado
    a escribir un registro histórico secuencial,
    eliminando así el tiempo de búsqueda. (Parecido
    al RAM no volátil)

141
Redundant Arrays of Inexpensive DisksR.A.I.D.
  • Un conjunto de unidades de disco físico vistas
    por el S.O. como una sola unidad lógica
  • Originalmente, una alternativa más barata a los
    discos grandes y caros.
  • Hoy en día los RAIDs son utilizados por su gran
    ancho de banda y su fiabilidad. De aquí que la
    I se intrerprete como independiente más que
    como inexpensive.

142
Mejora de la fiabilidad vía Redundancia
  • Un sistema con 100 discos, cada uno con un TMEF
    de 100.000 h (aprox. 11 años) tendrá un TMEF del
    sistema de 1000 h (aprox. 41 días)
  • Redundancia almacena información extra que se
    puede utilizar para recuperar información perdida
    en un fallo del disco.
  • P.Ej. Mirroring (o shadowing)
  • duplica cada disco.
  • Los discos lógicos consisten de 2 discos físicos
  • cada escritura se realiza en los dos discos
  • si uno de los 2 discos falla, los datos se
    encuentran disponibles en el otro.

Tiempo Medio (de Funcionamiento) Entre Falla
(TMEF).
143
Niveles de RAID
  • Se pueden mejorar las prestaciones introduciendo
    paralelismo.
  • Consideraremos 4 discos de datos y los discos
    adicionales para la información redundante
  • RAID de nivel 0
  • RAID de nivel 1
  • RAID de nivel 2
  • RAID de nivel 3
  • RAID de nivel 4
  • RAID de nivel 5
  • RAID de nivel 6

144
RAID 0 (no redundante)
banda 3
banda 0
banda 2
banda 1
banda 7
banda 5
banda 4
banda 6
banda 9
banda 11
banda 10
banda 8
banda 13
banda 14
banda 12
banda 15
(a) RAID 0 (no redundante)
  • Tiras a nivel de Bloque
  • No redundante
  • En aplicaciones de alta velocidad, donde no sea
    crítico la pérdida de datos.
  • Consiste en una serie de unidades de disco
    conectadas en paralelo que permiten una
    transferencia simultánea de datos a todos ellos,
    con lo que se obtiene una gran velocidad en las
    operaciones de lectura y escritura. La velocidad
    de transferencia de datos aumenta en relación al
    número de discos que forman el conjunto

Figura 11.9A. Niveles RAID.
145
Disco físico 0
Disco físico 1
Disco físico 2
Disco físico 3
Disco lógico
banda 0
banda 0
banda 1
banda 2
banda 3
banda 1
banda 4
banda 5
banda 6
banda 7
banda 8
banda 9
banda 2
banda 10
banda 11
banda 13
banda 3
banda 14
banda 15
banda 12
banda 4
banda 5
banda 6
banda 7
Software de gestión del vector
banda 8
banda 9
banda 10
banda 11
banda 12
banda 13
banda 14
banda 15
Figura 11.10. Correspondencia de datos para una
serie RAID nivel 0.
146
RAID 1 (espejo)
banda 0
banda 2
banda 0
banda 1
banda 3
banda 2
banda 1
banda 3
banda 4
banda 7
banda 6
banda 5
banda 5
banda 6
banda 4
banda 7
banda 11
banda 10
banda 8
banda 9
banda 8
banda 10
banda 11
banda 9
banda 13
banda 15
banda 14
banda 12
banda 13
banda 14
banda 15
banda 12
(b) RAID 1 (espejo)
Figura 11.9A. Niveles RAID.
  • Discos en espejo.
  • Buenas características en escritura
  • Populares para aplicaciones de almacenamiento
    de ficheros log.
  • RAID 1 es una buena solución para las
    aplicaciones que requieren redundancia cuando hay
    sólo dos unidades disponibles. Los servidores de
    archivos pequeños son un buen ejemplo

147
RAID 2 (redundancia mediante código Hamming)
"Acceso paralelo con discos especializados.
Redundancia a través del código Hamming"
b0
b1
b2
b3
F4(b)
F1(b)
F2(b)
(c) RAID 2 (redundancia mediante código Hamming)
Códigos de Correción de Errores Tipo Memoria
(Memory Style ECC)
Figura 11.9A. Niveles RAID.
Debido a que es esencialmente una tecnología de
acceso paralelo, RAID 2 está más indicado para
aplicaciones que requieran una alta tasa de
transferencia y menos conveniente para aquellas
otras que requieran una alta tasa de demanda I/O.
RAID 2 casi no ha sido implementado en productos
comerciales Las propiedades del código Hamming
restringen las configuraciones posibles de
matrices para RAID 2, particularmente el cálculo
de paridad de los discos
148
RAID 3 (paridad por intercalación de bits)
"Acceso síncrono con un disco dedicado a paridad"
P(b)
b0
b1
b2
b3
  • Se utiliza un único bit de paridad
    no-detección
  • Cuando se escriben los datos, se calcula el bit
    de paridad y se escribe.
  • Notable mejora de prestaciones en grandes
    trasferencias.
  • En un entorno a transacciones, el entorno sufre
    pues sólo se puede ejecutar una sóla E/S a la vez
  • La operación I/O accede a todos los discos al
    mismo tiempo, por lo cual el RAID 3 es mejor para
    sistemas de un sólo usuario con aplicaciones que
    contengan grandes registros.

(d) RAID 3 (paridad por intercalación de bits)
Figura 11.9B. Niveles RAID.
149
RAID 4 (paridad por intercalación de bloques)
"Acceso Independiente con un disco dedicado a
paridad."
bloque 2
bloque 1
bloque 3
bloque 0
P(0-3)
bloque 4
bloque 6
bloque 7
bloque 5
P(4-7)
bloque 10
bloque 8
bloque 9
bloque 11
P(8-11)
bloque 13
bloque 12
bloque 14
bloque 15
P(12-15)
(e) RAID 4 (paridad por intercalación de bloques)
  • Proporciona tasas de lectura de bloques
    independientes más altas que el nivel 3.
  • Sin embargo, el bloque de paridad es un cuello
    de botella para escrituras de bloquesindependiente
    s.
  • Debido a su organización interna, este RAID es
    especialmente indicado para el almacenamiento de
    ficheros de gran tamaño, lo cual lo hace ideal
    para aplicaciones gráficas donde se requiera,
    además, fiabilidad de los datos.

150
RAID 5 (paridad por intercalación distribuida de
bloques)
"Acceso independiente con paridad distribuida."
bloque 2
bloque 0
bloque 3
bloque 1
P(0-3)
bloque 4
bloque 5
bloque 6
P(4-7)
bloque 7
bloque 8
bloque 9
P(8-11)
bloque 10
bloque 11
bloque 15
P(12-15)
bloque 12
bloque 13
bloque 14
bloque 19
P(16-19)
bloque 16
bloque 17
bloque 18
(f) RAID 5 (paridad por intercalación
distribuida de bloques)
  • Datos y paridad distribuidos en los discos.
  • Mejores niveles de transferencia de E/S que el
    nivel 4.
  • Reemplaza en la práctica al nivel 4.
  • Este nivel de array es especialmente indicado
    para trabajar con sistemas operativos
    multiusuarios.

Figura 11.9B. Niveles RAID.
151
RAID 6 (redundancia dual)
"Acceso independiente con doble paridad"
Q(0-3)
bloque 2
bloque 0
bloque 1
bloque 3
P(0-3)
bloque 4
bloque 6
bloque 7
bloque 5
P(4-7)
Q(4-7)
bloque 10
bloque 8
bloque 11
bloque 9
P(8-11)
Q(8-11)
bloque 13
bloque 14
bloque 12
bloque 15
Q(12-15)
P(12-15)
(g) RAID 6 (redundancia dual)
Similar al RAID 5, pero incluye un segundo
esquema de paridad distribuido por los distintos
discos y por tanto ofrece tolerancia
extremadamente alta a los fallos y a las caídas
de disco, ofreciendo dos niveles de redundancia.
Hay pocos ejemplos comerciales en la actualidad,
ya que su coste de implementación es mayor al de
otros niveles RAID, ya que las controladoras
requeridas que soporten esta doble paridad son
más complejas y caras que las de otros niveles
RAID. Así pues, comercialmente no se implementa.
Figura 11.9B. Niveles RAID.
152
Cache de disco
  • Es una memoria intermedia situada en la memoria
    principal para sectores de disco.
  • Contiene una copia de algunos sectores del disco.
  • Existen varios algoritmos

153
Usado Menos Recientemente (LRU)
  • Se reemplaza el bloque que ha permanecido sin
    referencias en la cache durante más tiempo.
  • La cache está formada por una pila de bloques.
  • El bloque referenciado más recientemente está en
    la cima de la pila.
  • Cuando se hace referencia un bloque de la cache,
    se le mueve hasta la cima de la pila.

154
Usado Menos Recientemente (LRU)
  • Cuando se trae un bloque nuevo, se elimina el
    bloque que está en el fondo de la pila.
  • En realidad estos bloques no se mueven por la
    memoria principal.
  • Se utiliza una pila de punteros.

155
Usado Menos Frecuentemente (LFU)
  • Se sustituye el bloque que ha sufrido un menor
    número de referencias.
  • Se asocia un contador a cada bloque.
  • Con cada referencia al bloque, el contador se
    incrementa.
  • Cuando hace falta un reemplazo, se selecciona el
    bloque con menor valor del contador.
  • Puede que se haga referencia a algunos bloques a
    intervalos cortos de referencias repetidas y que,
    por lo tanto, no necesiten ser referenciados
    nuevamente .

156
E/S en UNIX SVR4
Subsistema de archivos
buffers
Cache de
Bloque
Carácter
Gestor de dispositivo
Figura 11.14. Estructura de la E/S en UNIX.
157
E/S en WINDOWS 2000
Gestor de E/S
Gestor de cache
Controladores de sistema de archivos
Controladores de red
Controladores de dispositivos hardware
Figura 11.16. Gestión de E/S en Windows 2000.
158
Gestión de archivos
  • Capítulo 12

159
Cómo
Write a Comment
User Comments (0)
About PowerShow.com