Planificación de Procesos

Jetzt loslegen. Gratis!
oder registrieren mit Ihrer E-Mail-Adresse
Planificación de Procesos von Mind Map: Planificación de Procesos

1. Planificación en sistema de tiempo real

1.1. Un sistema operativo de tiempo real dispone de un planificador de procesos que tiene mecanismos para hacer lo máximo posible para garantizar que sus procesos de tiempo real cumplan los plazos de finalización que tienen establecidos.

1.1.1. Clasificación

1.1.1.1. Estricto(hard-realtime): se debe realizar en un plazo de tiempo determinado. Si no lo hace, deja de tener sentido. Si el plazo de tiempo para realizarla es superado el proceso se aborta. Ejemplo: Industriales (sensores, activadores, ...).

1.1.1.2. Flexibles(soft-realtime): es deseable que se cumpla el plazo de tiempo. Ejemplo: Videoconferencia. (Mientras más rápido vaya mejor será la comunicación, pero si no, nos adaptamos a ella) Según la periodicidad

1.1.1.3. Aperiódicas: se deben a sucesos externos que deben ser atendidos. El sistema operativo no sabe, a priori, cuándo van a llegar ni el tiempo que va a durar. Ejemplo: Notificaciones de errores, Sensores de emergencia en un coche, Ventiladores para refrigeración.

1.1.1.4. Periódicas: se realizan cada cierto tiempo (actividad repetitiva). A diferencia del anterior el sistema operativo conoce a priori cuándo van a llegar y su tiempo de duración Ejemplo: leer la temperatura de un sensor.

2. Planificación de Hilos

2.1. Una distinción entre hilos a nivel de usuario e hilos a nivel de kernel radica en cómo se planifican.

2.2. En los sistemas que implementan los modelos muchos a uno y muchos a muchos, la biblioteca de hilos planifica hilos a nivel de usuario para que se ejecuten en un LWP disponible.

2.3. Este esquema se conoce como alcance de contenido de proc. (Process Contention Scope - PCS), ya que la competencia por la CPU tiene lugar entre los hilos que pertenecen al mismo proc.

2.4. Cuando afirmamos que la biblioteca de hilos planifica los hilos de los usuarios en los LWP disponibles, no nos referimos a que los hilos realmente se estén ejecutando en una CPU, ya que eso requiere que el SO planifique el hilo del kernel del LWP en un core de CPU físico.

2.5. Para decidir qué hilo a nivel de kernel se planifica en una CPU, el kernel utiliza el alcance de contención del sistema (SCS). La competencia por la CPU con la planificación SCS se lleva a cabo entre todos los hilos del sistema.

2.6. Sistemas que utilizan el modelo uno a uno, como Windows y Linux, planifican hilos utilizando SCS.

3. Se refiere a cómo determina el sistema operativo al órden en que irá cediendo el uso del procesador a los procesos que lo vayan solicitando, y a las políticas que empleará para que el uso que den a dicho tiempo no sea excesivo respecto al uso esperado del sistema.

4. Procesamiento por lotes

4.1. Es un método de ejecución de tareas de datos repetitivas y de gran volumen. El método por lotes permite a los usuarios procesar datos cuando se disponga de recursos informáticos y con poca o nula interacción del usuario.

4.1.1. Con el procesamiento por lotes, los usuarios recaban y almacenan los datos y luego los procesan durante un lapso conocido como «ventana de lote». El procesamiento por lotes mejora la eficiencia al establecer prioridades de procesamiento y completar las tareas de datos en el momento en que mejor convenga.

5. Planificación en sistemas interactivos

5.1. Uno de los algoritmos más antiguos, simples, equitativos y de mayor uso. Apropiativa. A cada proceso se le asigna un intervalo de tiempo, conocido como quántum, durante el cual se le permite ejecutarse. Selecciona el primero de la cola de listas. Si el proceso se sigue ejecutando al final del cuanto, la CPU es apropiada para dársela a otro proceso.

5.1.1. El rendimiento es malo si se tiene carga de E/S. Otra cuestión interesante con el algoritmo de turno circular es la longitud del quántum.Para conmutar de un proceso a otro se requiere cierta cantidad de tiempo para realizar la administración: guardar y cargar tanto registros como mapas de memoria, actualizar varias tablas y listas, vaciar y recargar la memoria caché y así sucesivamente.