Premium
Servicios
Premium

Planificador de trabajos de Linux: análisis, guía y alternativas

Cem Dilmegani
Cem Dilmegani
actualizado el 26 de oct. de 2026

El planificador de trabajos de Linux y «cron» se refieren a las herramientas que deciden cuándo se ejecuta una tarea, como cron, at y los temporizadores de systemd, o al planificador de CPU del kernel (EEVDF, anteriormente CFS), que decide cómo los procesos en ejecución comparten la CPU. Si usted:

Característica
CFS*
Cron
Planificadores de trabajos empresariales**
Enfoque
Planificación de procesos dentro del kernel de Linux
Planificación de trabajos basada en tiempo en sistemas tipo Unix
Planificación y automatización de trabajos en diferentes sistemas
Propósito
Asigna tiempo de CPU entre los procesos en ejecución
Ejecuta comandos o scripts en horarios programados
Gestiona y automatiza flujos de trabajo complejos
Entorno
A nivel de kernel en sistemas Linux
A nivel de usuario en sistemas operativos tipo Unix
Nivel empresarial, multiplataforma
Uso
Gestión de procesos del sistema y planificación de hilos
Tareas rutinarias como copias de seguridad, actualizaciones, etc.
Automatización de procesos de negocio, tareas de TI, etc.
Personalización
Limitada a parámetros del kernel y ajuste del sistema
Archivo crontab para programar tareas
Altamente personalizable con scripts, condiciones y disparadores
UI
Línea de Command y archivos de configuración del sistema
Interfaz de línea de comandos de crontab
GUI e interfaz de línea de comandos
Tiempo real
No está diseñado para planificación en tiempo real
Sin capacidades de tiempo real
Admite monitorización y ajustes en tiempo real
Escalabilidad
Escalable dentro del ámbito del sistema operativo
Escalabilidad limitada
Altamente escalable para uso empresarial

* Planificador Completamente Justo de Linux (CFS)

** Los planificadores de trabajos empresariales incluyen Stonebranch, ActiveBatch, RunMyJobs y JAMS Scheduler.

¿Qué es el planificador del kernel de Linux?

Un planificador de trabajos de Linux es una herramienta utilizada en sistemas Linux para automatizar tareas rutinarias y la programación de trabajos sin intervención manual. Gestiona las tareas programadas y garantiza que se ejecuten en los horarios predefinidos.

El planificador del kernel se ocupa estrictamente de ejecutar código activo en los núcleos físicos de la CPU. Así es como ha evolucionado el planificador moderno del kernel de Linux:

  • EEVDF (Earliest Eligible Virtual Deadline First) es la implementación moderna del planificador de Linux, introducida en la versión del kernel 6.6 (octubre de 2023) para reemplazar al duradero CFS. Si bien EEVDF mantiene la “equidad” de su predecesor, añade un mecanismo específico de “fecha límite” diseñado para gestionar mejor las tareas sensibles a la latencia. EEVDF es ahora el algoritmo predeterminado estándar.
  • CFS (Completely Fair Scheduler) es una implementación específica del planificador de Linux introducida en la versión del kernel 2.6.23. CFS busca proporcionar equidad asignando tiempo de CPU de manera proporcional entre las tareas según la prioridad y el tiempo de ejecución. CFS fue el planificador de Linux predeterminado desde el kernel 2.6.23 hasta que EEVDF lo reemplazó en el kernel 6.6.

Los aspectos clave del planificador del kernel de Linux incluyen:

  • Priorización de procesos: El planificador prioriza los procesos según factores como su nivel de prioridad y la cantidad de tiempo de CPU que han consumido. Esto garantiza un equilibrio entre los procesos en primer plano (interactivos) y en segundo plano (por lotes).
  • Multitarea apropiativa: Linux emplea multitarea apropiativa, en la que el planificador del kernel puede interrumpir un proceso en ejecución para dar tiempo a otro proceso. Esta capacidad es crucial para mantener la capacidad de respuesta del sistema, especialmente en un entorno multiusuario.
  • Diferentes algoritmos de planificación: A lo largo de los años, las distintas versiones del kernel de Linux han utilizado diversos algoritmos de planificación. El algoritmo más conocido es el Completely Fair Scheduler (CFS), que se introdujo en Linux 2.6.23. CFS busca asignar tiempo de CPU a los procesos de modo que cada uno reciba una parte justa del tiempo de CPU.
  • Equilibrio de carga: En sistemas multinúcleo, el planificador también gestiona el equilibrio de carga, distribuyendo procesos entre los distintos núcleos del procesador para optimizar el rendimiento y la eficiencia energética.
  • Planificación en tiempo real: Linux también admite políticas de planificación en tiempo real (como FIFO y round-robin), que son cruciales para tareas sensibles al tiempo donde la previsibilidad del tiempo de ejecución del código es más importante que el rendimiento general del sistema.
  • Cgroups y grupos de control: Los sistemas Linux modernos usan grupos de control (cgroups) para agrupar procesos y aplicar políticas como límites de tiempo de CPU o prioridades a todo el grupo, lo que da a los administradores más control sobre cómo se asignan el tiempo de CPU y otros recursos.

Planificador de Linux frente a herramientas de programación de trabajos

Las herramientas de programación de trabajos de nivel empresarial permiten a las empresas gestionar flujos de trabajo más complejos que los planificadores de trabajos básicos como cron, at o los temporizadores de systemd. Estas herramientas pueden ser una alternativa cuando los usuarios han superado estos planificadores y buscan una actualización.

Puede haber casos en los que el planificador del kernel de Linux (EEVDF, anteriormente CFS) y las herramientas de programación de trabajos de nivel empresarial puedan trabajar juntos para garantizar tanto la eficiencia a nivel de sistema como la automatización a nivel de flujo de trabajo.

Planificador de Linux

Propósito: El planificador de Linux (como CFS) es un componente de bajo nivel del kernel responsable de decidir qué proceso recibe tiempo de CPU y cuándo. Es parte integral de la funcionalidad central del sistema operativo.

Enfoque: Gestiona la asignación de tiempo de CPU entre todos los procesos en ejecución de un sistema, garantizando una distribución justa, capacidad de respuesta y una utilización eficiente de los recursos de CPU.

Ámbito: Opera a nivel de proceso o hilo dentro de un único sistema.

Herramientas de programación de trabajos

Propósito: Las herramientas de programación de trabajos son de alto nivel, a menudo herramientas orientadas a aplicaciones diseñadas para automatizar y programar procesos y tareas empresariales.

Enfoque: Estas herramientas gestionan la ejecución de trabajos por lotes o flujos de trabajo, que pueden implicar múltiples pasos, dependencias y criterios de programación. Se utilizan para orquestar tareas como copias de seguridad de datos, generación de informes o cualquier secuencia compleja de operaciones en entornos empresariales.

Ámbito: Puede operar en múltiples sistemas y plataformas, orquestando tareas que pueden implicar varias aplicaciones o servicios diferentes.

¿Cuál es la diferencia entre «cron» y el planificador de Linux CFS?

El planificador del kernel (EEVDF, anteriormente CFS) forma parte de todos los kernels de Linux, mientras que cron es un paquete opcional. Sirven para propósitos diferentes. En esencia, CFS se ocupa de distribuir el tiempo de CPU de manera justa entre los procesos que se están ejecutando, mientras que cron se ocupa de cuándo ejecutar tareas específicas según el reloj o el calendario.

Diferencias clave

  • Funcionalidad y rol: CFS es un planificador de procesos para gestionar cómo los procesos comparten el tiempo de CPU, mientras que cron es un planificador de trabajos para ejecutar tareas en horarios programados.
  • Nivel de operación: CFS opera a nivel de kernel, compartiendo tiempo de CPU entre procesos normales (los procesos en tiempo real son gestionados por las políticas separadas SCHED_FIFO y SCHED_RR), mientras que cron opera a un nivel superior, ocupándose de la programación de tareas que no se ejecutan necesariamente de forma continua.
  • Continuo frente a discreto: CFS trabaja de forma continua mientras el sistema esté en funcionamiento, gestionando la asignación de CPU de manera dinámica. En cambio, cron ejecuta tareas en momentos específicos y predefinidos.

Herramientas como Stonebranch también pueden ser alternativas a cron, especialmente para empresas o negocios de mercado medio con requisitos complejos de programación en tiempo real. Aunque ambas se utilizan para la programación de trabajos, difieren significativamente en características, capacidades y casos de uso. Para más información sobre este tema, Principales alternativas a cron.

Deja que nuestro equipo automatice uno de tus procesos de negocio con agentes de IA, sin coste alguno.
Automatizar un proceso

¿Cómo se pueden automatizar cargas de trabajo con el planificador de Linux?

Automatizar cargas de trabajo con el planificador de Linux no consiste en programar directamente el propio planificador, sino en utilizar diversas herramientas y técnicas de Linux que interactúan con el planificador para gestionar y automatizar tareas. A continuación se presentan algunas formas de automatizar la programación de tareas y gestionar cargas de trabajo de manera eficaz en un entorno Linux:

  • Trabajos cron: Quizá el método más común para automatizar tareas en Linux son los trabajos cron. Cron es un demonio en segundo plano a nivel de usuario (crond) que comprueba de forma continua los archivos de configuración llamados crontabs para ejecutar comandos o scripts a intervalos fijos. Cada entrada de crontab consta de cinco campos de hora y fecha seguidos del comando que se debe ejecutar. Se recomienda utilizar la ruta absoluta del comando, porque cron se ejecuta con un PATH limitado, pero no es obligatorio. En /etc/crontab y en los archivos de /etc/cron.d, un campo de usuario va entre los campos de hora y el comando:
  • Comandos nice y renice: Puede usar los comandos nice y renice para influir en la prioridad de un proceso. Esto no programa una tarea en sí, pero altera cómo el planificador trata un proceso, lo que puede formar parte de una estrategia de automatización para garantizar que las tareas críticas reciban más tiempo de CPU.
  • Grupos de control (cgroups): cgroups permiten asignar recursos, como tiempo de CPU, memoria del sistema, ancho de banda de red o combinaciones de estos recursos, entre grupos de tareas definidos por el usuario. Con cgroups, puede asegurarse de que determinadas aplicaciones o servicios reciban los recursos que necesitan como parte de un flujo de trabajo automatizado.
  • Systemd y archivos de unidad: Systemd, el sistema de inicio y administrador del sistema de la mayoría de las distribuciones de Linux, permite una programación y gestión de servicios más avanzadas. Utiliza archivos de unidad para describir cómo deben iniciarse, detenerse y funcionar los servicios. Puede configurar systemd para iniciar servicios automáticamente en el arranque, después de que otros servicios estén activos o en un horario específico.
  • Herramientas de scripting y automatización: El scripting en bash u otros lenguajes de shell, junto con herramientas de automatización como ActiveBatch, Ansible, Puppet o Chef, se pueden utilizar para automatizar tareas. Si bien estos scripts y herramientas no interactúan directamente con el planificador de Linux, se pueden usar para crear flujos de trabajo complejos y gestionar cuándo y cómo se ejecutan los distintos procesos.
  • Ajuste del kernel: Para usuarios avanzados, ajustar los parámetros del kernel puede influir en el comportamiento del planificador. Desde el kernel 5.13, la mayoría de los parámetros ajustables del planificador se han trasladado de sysctl a debugfs (/sys/kernel/debug/sched/). Este es un enfoque más sofisticado y requiere un conocimiento profundo del kernel de Linux.
  • El comando «at» para tareas únicas: Mientras cron está optimizado para tareas recurrentes de infraestructura, la utilidad at ofrece trabajos de instancia única programados sin contaminar el archivo crontab. Analiza cadenas de tiempo legibles por humanos:
    • at noon tomorrow: Programa un trabajo ad hoc para las 12:00 p. m. del día siguiente.
    • at now + 1 hour: Programa un script temporal para que se ejecute exactamente 60 minutos después del tiempo de ejecución.
    • Los administradores realizan un seguimiento de las tareas pendientes mediante atq (viendo la cola de trabajos) y pueden eliminar de forma limpia las entradas no ejecutadas mediante atrm [job_id].

¿Cuáles son las alternativas al planificador de Linux?

Las alternativas al planificador de Linux se refieren a los planificadores de trabajos empresariales, que reemplazan a cron, at y a los temporizadores de systemd, y a otros planificadores de CPU como EEVDF, que reemplazó a CFS en el kernel 6.6. Uno no puede reemplazar al otro.

Alternativas a cron: planificadores de trabajos empresariales

  • Stonebranch Universal Automation Center (UAC): Stonebranch UAC sirve como una plataforma de automatización única para gestionar procesos de carga de trabajo en entornos empresariales, ofreciendo una interfaz web unificada, un motor de ejecución distribuido, visualización de cargas de trabajo y funciones integradas de disponibilidad y recuperación ante desastres.
  • ActiveBatch: ActiveBatch es una solución de automatización de cargas de trabajo y programación de trabajos que va más allá de las capacidades de un planificador de Linux básico. Está diseñada para proporcionar una plataforma centralizada para automatizar y gestionar flujos de trabajo complejos en diversos entornos, incluidos Windows, Linux, Unix y más.
  • JAMS Scheduler: JAMS centraliza la gestión de los procesos por lotes de Linux y UNIX en una única interfaz. Ofrece sólidas funciones de programación de trabajos y automatización de cargas de trabajo, incluidas la programación basada en eventos y los disparadores. También proporciona un método de ejecución de Airflow para monitorizar los DAG de Airflow y un método de ejecución de blobs de Azure para tareas de almacenamiento en la nube de Azure. Esto aporta flexibilidad moderna a la programación tradicional de trabajos cron en entornos Linux y de nube

Alternativas al planificador del kernel

  • Planificador O(1): Antes de CFS, el kernel de Linux utilizaba el planificador O(1), diseñado para un tiempo de operación constante independientemente del número de tareas. Fue el planificador predeterminado en los kernels de Linux 2.6 anteriores a la versión 2.6.23.
  • Brain Fuck Scheduler (BFS): BFS, creado por Con Kolivas, tiene como objetivo mejorar la capacidad de respuesta del sistema, especialmente en sistemas de escritorio con menos de 16 núcleos. Es más simple que CFS y puede ser beneficioso para sistemas monousuario.
  • MuQSS (Multiple Queue Skiplist Scheduler): También desarrollado por Con Kolivas como sucesor de BFS, MuQSS tiene como objetivo mejorar el rendimiento en sistemas de escritorio. No es una modificación de CFS, sino un planificador independiente que reemplaza por completo a CFS. Al igual que BFS, se distribuyó únicamente como parche y su desarrollo se detuvo en 2021.
  • Planificadores de tiempo real (RT): Linux ofrece políticas de planificación en tiempo real, como FIFO (primero en entrar, primero en salir) y round-robin, para tareas donde la temporización constante es más crítica que el rendimiento general del sistema. A menudo se utilizan con PREEMPT_RT, que forma parte del kernel principal desde Linux 6.12.
  • Planificadores de fecha límite: Estos planificadores, como SCHED_DEADLINE (introducido en el kernel de Linux 3.14), están diseñados para tareas con restricciones de tiempo específicas. Programan las tareas según plazos definidos por la aplicación.

Alternativas en otros sistemas operativos

  • Planificador de Windows: El kernel de Windows utiliza un planificador apropiativo basado en prioridades optimizado para la capacidad de respuesta del escritorio. Es independiente del Programador de tareas de Windows, que es un planificador de trabajos. WSL2 ejecuta su propio kernel de Linux en una máquina virtual ligera.
  • Planificador de macOS: macOS utiliza el planificador de su kernel XNU basado en Mach. Desde macOS 11, utiliza el planificador Clutch, que planifica los hilos según las clases de calidad de servicio (QoS).
  • Planificador de Solaris: El planificador utilizado en Oracle Solaris (e históricamente Sun Solaris) incluye soporte tanto para planificación en tiempo real como para distribución justa, lo que ofrece flexibilidad para una variedad de aplicaciones, desde escritorios hasta servidores.
  • Planificadores de BSD: Las variantes de BSD (como FreeBSD, OpenBSD) utilizan planificadores diferentes. FreeBSD, por ejemplo, usa el planificador ULE, optimizado para el rendimiento en sistemas multinúcleo.
  • Planificadores de RTOS: Los sistemas operativos en tiempo real (RTOS) como VxWorks o QNX utilizan planificadores optimizados para el rendimiento en tiempo real, que ofrecen un comportamiento de planificación predecible y determinista.
No te pierdas nuestros análisis comparativos e insights basados en datos. El botón abre Google; seleccionar AIMultiple confirma que deseas ver AIMultiple con más frecuencia en los resultados de búsqueda de Google.
GoogleAñadir como fuente preferida

Preguntas frecuentes

Los trabajos cron son tareas programadas que el servicio cron (demonio cron) ejecuta automáticamente en los sistemas Linux. Son ideales para tareas repetitivas como el mantenimiento del sistema, las copias de seguridad o el procesamiento de datos.

Los trabajos cron se programan mediante el archivo crontab del usuario, que se gestiona con el comando crontab (crontab -e). Cada entrada de crontab especifica una hora de ejecución programada y el comando o la ruta al script.sh que se debe ejecutar.

La ubicación depende de la distribución: /var/spool/cron/crontabs/ en Debian y Ubuntu, y /var/spool/cron/ en RHEL y Fedora. Se recomienda editar el archivo con crontab -e, que comprueba la sintaxis y garantiza que cron detecte el cambio.

El demonio cron es un servicio en segundo plano de los sistemas Linux que lee el archivo de configuración de cron (entradas de crontab) y ejecuta las tareas programadas en los horarios especificados sin intervención manual.

Las tareas programadas se gestionan mediante el comando crontab, que permite a los usuarios crear, editar y ver las entradas de trabajos cron. El archivo crontab define los parámetros de programación de tareas como minuto, hora, día del mes, mes y día de la semana.

Las variables de entorno de un archivo crontab definen ajustes como PATH, SHELL o variables personalizadas necesarias para que las tareas se ejecuten correctamente. Son esenciales para garantizar que los scripts se ejecuten correctamente en el entorno programado.

No. Cron no tiene campo de año, por lo que un trabajo programado para una fecha concreta se vuelve a ejecutar todos los años. Para tareas únicas, utilice el comando at (ver más arriba).

Los registros del sistema (/var/log/syslog o /var/log/cron) solo registran que se inició un trabajo. La salida del trabajo se envía por correo electrónico o se pierde. En sistemas con systemd, los registros se pueden consultar con journalctl. Para conservar la salida, rediríjala a un archivo de registro.

Sí, los trabajos cron pueden ejecutar scripts que transfieren archivos según un horario. Esto no es transferencia gestionada de archivos (MFT), que es una categoría de producto independiente.

Sí, los trabajos cron mal configurados pueden plantear riesgos de seguridad, como permisos de acceso no autorizados. Proteja siempre sus archivos crontab y asegúrese de mantener los permisos de acceso adecuados para mitigar estos riesgos.

Lecturas adicionales

Cita esta investigación

Elige el formato que se ajuste al lugar donde vas a publicar. Pegar la versión con enlace en tu CMS conserva el enlace de retroceso.

Cem Dilmegani and Hazal Şimşek (2026) - "Planificador de trabajos de Linux: análisis, guía y alternativas". Publicado en línea en AIMultiple.com. Recuperado el 26 de octubre de 2026, de: https://aimultiple.com/linux-job-scheduler [Recurso en línea]

Dilmegani, C., & Şimşek, H. (2026, 26 de octubre). Planificador de trabajos de Linux: análisis, guía y alternativas. AIMultiple. https://aimultiple.com/linux-job-scheduler

@misc{dilmegani2026,
  author = {Dilmegani, Cem and Şimşek, Hazal},
  title  = {{Planificador de trabajos de Linux: análisis, guía y alternativas}},
  year   = {2026},
  month  = oct,
  howpublished    = {\url{https://aimultiple.com/linux-job-scheduler}},
  note   = {AIMultiple. Recuperado el 26 de octubre de 2026}
}
Descargar todos los datos

Resultados y marcas de tiempo de 8 puntos de datos. Descargue los datos resumidos que se muestran en los gráficos y las tablas de este artículo como un archivo ZIP que contiene un archivo CSV.

Última actualización: 7 de mayo de 2025
Descargar

¿Quieres los datos granulares que hay detrás? Únete a Premium

Registro de cambios

5 actualizaciones
  1. Se añadió el comando 'at' como herramienta de programación de tareas únicas.

  2. Se añadió EEVDF a la descripción del Planificador Completamente Justo de Linux (CFS).

Cem Dilmegani
Cem Dilmegani
Analista Principal
Cem ha sido el analista principal en AIMultiple desde 2017.

El trabajo de Cem en AIMultiple ha sido citado por publicaciones líderes mundiales como Business Insider, Forbes, Morning Brew y Washington Post, empresas globales como Deloitte y HPE, ONG como World Economic Forum y organizaciones supranacionales como European Commission. [1], [2], [3], [4], [5]

A lo largo de su carrera, Cem trabajó como consultor tecnológico, comprador de tecnología y emprendedor tecnológico. Asesoró a empresas en sus decisiones tecnológicas en McKinsey & Company y Altman Solon durante más de una década. También publicó un informe de McKinsey sobre digitalización.

Dirigió la estrategia tecnológica y las adquisiciones de una empresa de telecomunicaciones reportando al CEO. También lideró el crecimiento comercial de la empresa de deep tech Hypatos, que alcanzó unos ingresos recurrentes anuales de 7 dígitos y una valoración de 9 dígitos desde 0 en 2 años. El trabajo de Cem en Hypatos fue cubierto por publicaciones tecnológicas líderes como TechCrunch y Business Insider.

Cem participa habitualmente en conferencias internacionales de tecnología. Se graduó en Bogazici University como ingeniero informático y tiene un MBA de Columbia Business School.
Ver perfil completo
Investigado por
Hazal Şimşek
Hazal Şimşek
Analista del sector
Hazal es analista del sector en AIMultiple, centrándose en la inteligencia de procesos (incluida la minería de procesos) y la automatización empresarial (incluidas la automatización de TI y la automatización low-code/no-code).
Ver perfil completo

Sé el primero en comentar

Tu dirección de correo electrónico no será publicada. Todos los campos son obligatorios. Los comentarios se dejan en su idioma original.

0/450