En un sentido importante, un sistema operativo y un RTOS (y otro software) pueden “aprender” (pero generalmente no en el sentido de que el “aprendizaje automático” se usa popularmente). No muchos de ellos aprenden mucho, pero algunos están diseñados específicamente para aprender; según la experiencia, estos adaptan sus algoritmos u otras propiedades de varias maneras.
Una de las adaptaciones más útiles es que el RTOS observe que sus tareas de aplicación no son lo suficientemente oportunas de acuerdo con los criterios de optimización (por ejemplo, el sistema está sobrecargado) y luego cambia su algoritmo de programación de tareas. Por ejemplo, puede cambiar de un algoritmo que hace programaciones muy óptimas pero el algoritmo consume demasiado tiempo de procesador, a un algoritmo menos óptimo que deja más tiempo de procesador para las tareas de la aplicación. O puede imponer una política de control de admisión de solicitud de servicio más estricta (de acuerdo con las preferencias de los usuarios) para eliminar la sobrecarga.
Otra adaptación útil basada en el aprendizaje de lo que está sucediendo es cambiar de control de concurrencia optimista a pesimista de entidades compartidas si hay demasiados abortos.
- ¿Los modelos no paramétricos bayesianos funcionan bien en la práctica?
- ¿Cómo aplican los fondos de cobertura el aprendizaje automático a los mercados financieros?
- Dado el impacto potencial de la IA en el empleo, ¿qué piensa sobre un ingreso básico universal?
- ¿Podría la inteligencia artificial resolver el problema de unificar la teoría de la relatividad general con la mecánica cuántica o diría: 'Imposible'?
- ¿Qué tan pronto los conductores de montacargas serán reemplazados por máquinas?
Si el software de comunicación OS / RTOS / red observa que hay demasiados errores transitorios, podría reducir el tamaño del paquete de comunicación o aumentarlo si el ancho de banda de la ruta es demasiado limitado.
Puede reducir las comunicaciones entre las réplicas de datos de tolerancia a fallas al relajar las restricciones de consistencia de la réplica.
Por otro lado, los RTOS que se usan en contextos de baja latencia (como muchos pero no todos), existe el problema de que las técnicas comunes de ML son computacionalmente exigentes. Si el ML se realiza durante la operación del sistema, su latencia probablemente será un factor crítico en el RTOS y la puntualidad del sistema en tiempo real. Incluso las técnicas de ML que enfatizan la velocidad (latencia más baja), a menudo son incompatibles con las restricciones en tiempo real que están en términos de plazos de tareas (las técnicas de ML no entienden ni cumplen con los plazos).
Los casos con los que estoy familiarizado que incorporan ML en los sistemas informáticos en tiempo real lo hacen principalmente en los niveles de aplicación, a diferencia de los RTOS.