La programación del sistema operativo es el proceso de controlar y priorizar los mensajes enviados a un procesador. Un programa del sistema operativo interno, llamado planificador, realiza esta tarea. El objetivo es mantener una cantidad constante de trabajo para el procesador, eliminar altibajos en la carga de trabajo y asegurarse de que cada proceso se complete en un plazo de tiempo razonable. Si bien la programación es importante para todos los sistemas, es especialmente importante en un sistema en tiempo real.
Dado que casi todas las operaciones en una computadora tienen al menos una pequeña cantidad de tiempo de procesador involucrado, el procesador puede ser una fuente importante de ralentizaciones y cuellos de botella. Para aliviar la tensión en el procesador y asegurarse de que las tareas se completen de manera oportuna, la mayoría de los sistemas operativos utilizan algún tipo de programación de tareas. El proceso de programación del sistema operativo varía según el sistema, pero tienden a caer dentro de categorías familiares.
La programación generalmente se divide en tres partes: programación a largo, mediano y corto plazo. No todos los sistemas operativos utilizan completamente cada tipo (a menudo se combinan el medio y el largo plazo), pero utilizarán alguna combinación de ellos. Cada tipo de programación proporciona un beneficio ligeramente diferente al sistema.
La programación a largo plazo gira en torno a la admisión de programas en el proceso de programación. Cuando se inicia un nuevo programa, el planificador a largo plazo determina si hay suficiente espacio para el nuevo participante. Si no lo hay, el planificador retrasa la activación del programa hasta que haya suficiente espacio.
El programador de mitad de período decide qué procesos han estado inactivos y cuáles están activos. Deja los procesos activos solos y escribe los inactivos en el disco duro. Esto libera memoria para que otros programas entren a través del programador a largo plazo. Cuando se combinan los programadores de mediano y largo plazo, en lugar de retrasar la activación de un nuevo proceso, el programador simplemente lo cambia al almacenamiento.
El planificador a corto plazo es la parte que trabaja directamente con el procesador. Esta parte activa procesos, establece prioridades y supervisa la carga de trabajo del procesador. El programador a corto plazo está constantemente tratando de anticipar las necesidades de la computadora para mantener el procesador funcionando sin problemas.
En la mayoría de las circunstancias, la programación del sistema operativo es una forma de hacer que una computadora funcione de manera más eficiente, pero en un sistema operativo en tiempo real, es vital para su propósito. Un sistema en tiempo real necesita ejecutar procesos dentro de un tiempo establecido, y si estos procesos se retrasan, entonces su propósito se pierde. Estos importantes programas requieren una programación del sistema muy específica para asegurarse de que la información y las respuestas estén donde deben estar, cuando deben estar.