Un modelo de ejecución de sistemas informáticos se basa en el concepto de programación para asignar recursos de CPU a procesos específicos. Esta es una parte crítica del proceso de cálculo y es fundamental para la operación de una computadora. El uso de esta función permite a la CPU multitarea mientras mantiene la imparcialidad. Un programador calcula la carga de trabajo y la prioridad de los procesos, y luego implementa un compromiso adecuado para maximizar el rendimiento. Esta función se puede utilizar para medir la preferencia de un usuario, y es un componente común de los sistemas operativos y el software.
Con el programador, puede definir qué trabajos se ejecutarán cuando y con qué frecuencia deben ejecutarse. Por ejemplo, si su almacén de datos se carga cada pocos minutos, puede designar qué trabajos son críticos y cuáles no. Puede cambiar la prioridad de cada clase de trabajo, y el programador ajustará automáticamente la asignación de recursos según la prioridad del trabajo. Esta característica le permite asignar diferentes recursos a diferentes clases de trabajo. Es útil para implementar múltiples trabajos a la vez.
El programador tiene muchas ventajas. Es una característica muy útil para la multitarea, ya que permite que múltiples procesos compartan una única CPU. También le permite ejecutar múltiples procesos simultáneamente al permitir que la CPU cambie de una a la otra. Cada vez que un proceso está esperando su turno para ejecutar, el programador cambia la CPU al siguiente proceso. Lo hace cargando el estado de la PCB, que establece la PC y los registros para el siguiente proceso.