Title: A1262634320OlNMJ
1Sistemas de Operación Hector Gonzalez hgr_at_cantv.n
et 0416-7252438
2Planificación de multiprocesadores y en tiempo
real
3Clasificació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.
4Granularidad
- Frecuencia de sincronización entre los procesos
de un sistema
5Es 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)
6Paralelismo 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.
7Paralelismo 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.
8Paralelismo 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.
9Paralelismo de grano fino
- Aplicaciones muy paralelas.
- Campo muy especializado y fragmentado.
10PlanificaciónElementos de Diseño
- Asignación de procesos a los procesadores.
- Uso de multiprogramación en procesadores
individuales. - Expedición real de los procesos.
11Asignació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.
12Asignació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.
13Asignació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.
14Planificació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.
15Hilos
- 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.
16Planificació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.
17Planificació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.
18Reparto de carga
- La carga se distribuye uniformemente entre los
procesadores. - No es necesario un planificador centralizado.
- Uso de colas globales.
19Desventajas 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.
20Planificació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.
21Planificació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.
22Asignació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.
23Planificació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.
24Sistemas 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.
25Sistemas en tiempo real
26Elementos 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
27Elementos 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
28Aplicaciones 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
29Aplicaciones
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
30Aplicaciones Control de temperatura en un Tanque
Bin
Furnace
Fuel Tank
grain
Pipe
fuel
31Aplicaciones Control de Manufactura
Computer
Switch
Switch
Assembly line
Bell
Line controller
Box
0 stop
1 run
32Un Modelo de Sistema de Tiempo Real
33Sistemas 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).
34Ejemplos
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
35Ejemplos
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
36Caracterí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
37Anatomia de un Proyecto Embebido
Herramientas de Desarrollo - (compilador,
depurador, simulador)
38Dificultades 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.
39Caracterizació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.
40Caracterizació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.
41Consideraciones 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).
42Programacion 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
43Caracterí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.
44Caracterí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.
45Caracterí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.
46Caracterí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.
47Caracterí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.
48Caracterí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.
49Planificació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.
50Planificació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.
51Planificació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.
52Planificació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.
53Planificació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.
54Planificació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.
55Planificació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.
56Dos tareas
Tabla 10.2. Perfil de ejecución de dos tareas
periódicas.
Proceso
Instante de llegada
Tiempo de ejecución
Plazo final
57Plazo 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.
58Instantes 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.
59Planificació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.
60Diagrama 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.
61Alto
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.
62Planificació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.
63mí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.
65Colas de expedición SVR4
Figura 10.11. Colas de expedición de SVR4.
66Planificación en Windows 2000
- Las prioridades se organizan en dos bandas o
clases - Tiempo real.
- Variable.
- Planificador preferente con prioridades.
67Mayor (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.
68mayor
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.
69Gestión de E/S y planificación de discos
70El sistema operativo se compone de un núcleo
o Kernel y un intérprete de comandos
denominado Shell.
71Estructura de un S. O.
72Estructura de un SO
73El 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
74Estructura de un SOGestión de Memoria
75Es 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
76Gestión de Memoria Secundaria
77Gestió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
78Gestión de Entrada/Salidai/O
79Gestió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
80Gestión de Entrada/Salida
- Llamadas al Sistema
- Tomar el control de un dispositivo
- Liberar un dispositivo
- Escribir
- Leer
- Reposición
- proporcionar atributos
- Fijar atributos
81Categorí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.
82Categorí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.
83Categorías de dispositivos de entrada/salida
- Dispositivos de comunicaciones
- Apropiados para comunicarse con dispositivos
lejanos. - Adaptadores de líneas digitales.
- Módem.
84Diferencias 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.
85Ethernet 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.
86Diferencias 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.
87Diferencias 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.
88Té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.
89Té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.
90Evolució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.
91Evolució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.
92Evolució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.
93DMA
- 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)
94Acceso 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.
95Necesidad de DMA
96Necesidad de DMA
97Acceso 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
98Funcionamiento 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
99Funcionamiento 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
100Funcionamiento 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)
102DMA
- 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
105DMA 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
106Bus 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
107Canales 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
108Canal 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
109ASPECTOS 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
110ESTRUCTURA 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)
111Procesos 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
112Procesos de Usuario
2) Dispositivo de comunicaciones
Arquitectura de Comunicaciones
E/S con dispositivos
Planificación y Control
Hardware
113Procesos 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
114ALMACENAMIENTO 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)
115Almacenamiento 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).
116Almacenamiento 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.
117Memoria 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.
118Memoria 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.
119Memoria 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.
120Memoria 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.
121Memoria 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.
122Almacenamiento 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).
123Hardware de Discos
124Pará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.
125Media 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.
126Pará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.
127Polí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.
128Software 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
129Tiempo 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í.
130Polí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)
132Polí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.
133Polí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.
134Polí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)
136Polí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.
137Polí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.
138Polí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.
139Algoritmos 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
140OPTIMIZACIÓ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)
141Redundant 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.
142Mejora 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).
143Niveles 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
144RAID 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.
145Disco 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.
146RAID 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
147RAID 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
148RAID 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.
149RAID 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.
150RAID 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.
151RAID 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.
152Cache 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
153Usado 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.
154Usado 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.
155Usado 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 .
156E/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.
157E/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.
158Gestión de archivos
159Cómo