Planificación de procesos Sistemas Operativos en Tiempo Real (RTOS, Real-Time Operating Systems)
Otoño 2022 TecNM - IT Chihuahua 1
Conceptos básicos de planificación (scheduling) de procesos: objetivos y criterios • La planificación de procesos se encarga de decidir cuál proceso debe ser atendido a continuación (por el procesador). • Esto se debe realizar siempre que un proceso deje de ser atendido, ya sea porque haya terminado, porque se haya bloqueado o porque se haya terminado el tiempo de su ejecución. • Los distintos tipos de SO así como los sistemas computacionales que soportan, requieren dar prioridad a algunos objetivos sobre otros; sin embargo hay objetivos que son comunes a todos:
Otoño 2022 TecNM - IT Chihuahua 2
Scheduling, Objetivos y Criterios • Desempeño (Performance). Se deben aprovechar los recursos del equipo para atender los procesos. • Estabilidad. El desempeño y la atención de los procesos debe ser predecible y confiable. • Justicia. Los procesos de la misma prioridad deben recibir aproximadamente el mismo nivel de atención. • Cumplimiento de políticas. Las políticas de distribución de la atención deben ser cumplidas por el mecanismo. • Balance. Todos los recursos del sistema que tengan trabajo pendiente deben mantenerse ocupados.
Otoño 2022 TecNM - IT Chihuahua 3
Planificación: de acuerdo al tipo de sistema Batch. Planificación previa al modelo de procesos y orientados a atender en orden lotes de programas (Batches) uno a uno. • Minimizar el tiempo de procesamiento. Minimizar el tiempo que toma procesar un trabajo individual. • Maximizar el uso del procesador. Evitar tiempos de inactividad del procesador, como una aproximación al balance. • Multiprogramación. Conforme aumentó la capacidad de los procesadores, las esperas por los eventos de entrada y de salida significaban más ciclos de espera, lo que trajo más memoria y recursos de los que necesitaba un solo programa. Para aprovechar las capacidades del equipo era deseable aprovechar los tiempos de espera de la CPU para atender a los siguientes procesos. • Maximizar la productividad. Mejorar el rendimiento del sistema medido en trabajos terminados en un periodo. Otoño 2022 TecNM - IT Chihuahua 4 Planificación: de acuerdo al tipo de sistema Tiempo compartido. Usuarios interactuan directamente con la computadora; fue más conveniente repartir la atención del procesador en una serie de procesos que se generan y terminan continuamente. • Tiempo de respuesta. Se refiere al tiempo que el proceso toma en generar una respuesta ante una solicitud por parte del usuario o de otro proceso. Así, el tiempo que toma entre que se recibe la petición y se entrega la respuesta es más significativo en estas que el tiempo de procesamiento total de la tarea. • Proporcionalidad. Consiste en degradar de forma lineal el desempeño del sistema conforme se agrega carga de trabajo (usuarios). Sin embargo, se debe evitar que al tiempo que se incrementa la carga, el deterioro crezca de manera exponencial. • Atención preferente a los eventos de interfaz de usuario. Debe darse prioridad a los procesos que interactúan de manera directa con los usuarios a fin de mejorar la experiencia de uso. Otoño 2022 TecNM - IT Chihuahua 5 Planificación: de acuerdo al tipo de sistema Tiempo real. En los sistemas de control y de manejo de flujos de información (p. ej. multimedia), a menudo resulta crítico mantener una frecuencia de atención predefinida para que el SO pueda cumplir con sus responsabilidades, lo que impone necesidades especiales de planificación, mediante la cual se busca lo siguiente: • Cumplir los compromisos de atención. La planificación debe hacer todo lo posible por mantener la atención de los procesos, para cumplir de manera sostenida los compromisos establecidos en el diseño del sistema. • Predictibilidad. La atención de los procesos debe realizarse a intervalos regulares dentro de variaciones relativamente pequeñas. No es suficiente que el nivel de atención promedio sea el solicitado; la periodicidad de la atención debe mantenerse sin grandes variaciones para mantener la operación estable. • Distribuido. A partir de los sistemas de tiempo compartido, planificar otorga la capacidad de aprovechar los recursos de un conjunto de computadoras conectadas en red con apoyo del SO, con el objetivo de atender todas las aplicaciones. Otoño 2022 TecNM - IT Chihuahua 6 Planificación: de acuerdo al tipo de sistema Soporte a los protocolos de red. La comunicación a través de red no sigue patrones ni periodos fácilmente modelables, se manejan transferencias de datos altos, bajos o ninguno, en forma aleatoria. Sin embargo, la capacidad del almacenamiento intermedio y la velocidad de transferencia es limitado, por lo que se debe garantizar un nivel de atención preferente a los procesos que se encuentren atendiendo las operaciones de red. Se trata de evitar que durante el tiempo que los procesos no reciban atención del CPU se pueda acumular tanta información en el buffer del dispositivo que llegue a rebasar su capacidad y resulte necesario desechar parte de esta, con lo que diversas operaciones de red fallarían o requerirían intentarse de nuevo. Balanceo de trabajos. Consiste en dirigir las tareas a los nodos con menos carga de trabajo Otoño 2022 TecNM - IT Chihuahua 7 Planificación: de acuerdo al tipo de sistema Embebido. Se trata de un SO con funcionalidad reducida, que se emplea para sistemas de propósito particular. Dependiendo del tipo de dispositivo de que se trate, estos suelen tener limitaciones en cuanto a su capacidad de procesamiento, memoria y dispositivos, por lo que siempre se deben considerar las limitaciones en la potencia que consumen y las comunicaciones en casos especiales y medios hostiles. • Reducción del overhead. Dada la limitación de recursos, resulta indispensable minimizar la carga generada por tareas administrativas, ya sea que se economice tiempo en el CPU al evitar que haya turnos de atención y ciclos del CPU al considerar que los procesos en vez de terminar y reiniciar, se pueden mantener en memoria entre ejecuciones Otoño 2022 TecNM - IT Chihuahua 8