El control del trabajo es el término para administrar varias acciones en un sistema informático. Las computadoras son capaces de hacer varias cosas al mismo tiempo, pero en muchos casos, solo un proceso puede operar en un área determinada a la vez. Las computadoras usan un sistema de control de trabajos para administrar sus tareas, permitiendo que un proceso use recursos en un área mientras que otro usa recursos en un área diferente. Estos sistemas monitorean la prioridad de las operaciones y mantienen las tareas importantes ejecutándose más rápido y las tareas menos importantes en segundo plano.
Los sistemas de control de trabajos se desarrollaron desde el principio en el diseño de las computadoras modernas para aliviar los problemas de velocidad. En muchos de los primeros sistemas, los sistemas centrales de la computadora eran más que capaces de acelerar las tareas que se les asignaban. Los problemas de velocidad ocurrieron en las comunicaciones con los sistemas periféricos. No solo los sistemas eran más lentos, sino que el tiempo de transferencia entre los grupos de sistemas era bastante largo. Las adiciones al hardware periférico, como los búferes y los sistemas de caché, solo hicieron que ciertos procesos fueran más rápidos y no resolvieron el problema.
La multitarea fue uno de los primeros intentos de control del trabajo. La computadora recibió un nuevo sistema que realizaba un seguimiento de los trabajos activos e inactivos. Cuando un sistema estaba demasiado ocupado para manejar un nuevo trabajo, se colocaba en una cola inactiva. Cuando el hardware podía tomar un nuevo proceso, el proceso de mayor prioridad se activaba. Este proceso luego pasaría al hardware.
El problema de este sistema radica en su naturaleza descentralizada. Si bien una sola cola contenía todos los procesos activos e inactivos, la información relacionada con el hardware provenía del propio hardware. El controlador del hardware informaría al programador si estaba disponible o no; si un proceso entraba en un estado de error y continuaba utilizando el hardware, nunca estaría disponible. Además, algunos procesos solo necesitaban el procesador central o un determinado periférico; esto inmovilizaría todo el sistema hasta que esos procesos terminaran. Para combatir este problema, se diseñaron sistemas modernos de control de trabajos.
El control del trabajo se centra en la idea de la informática preventiva. A cada proceso se le da una prioridad general y, ocasionalmente, prioridades secundarias relacionadas con ciertos sistemas. El programador de la computadora mantiene la cola de procesos. Cuando surge un proceso que es más importante que uno que está actualmente activo, el activo se suspenderá y el nuevo proceso se hará cargo. Cuando el programa suspendido sea el proceso más importante, se iniciará nuevamente.