La distinción entre proceso e hilo es bastante universal para todos los sistemas operativos. Un proceso generalmente representa una unidad de ejecución independiente con su propia área de memoria, recursos del sistema y espacio de programación.
Un subproceso suele ser una "división" dentro del proceso: los subprocesos generalmente comparten la misma memoria y los mismos recursos del sistema operativo, y comparten el tiempo asignado a ese proceso. Por ejemplo, cuando abre su navegador y Microsoft Word, cada uno es un proceso diferente, pero las cosas que suceden en el fondo de cada uno (como animaciones, actualizaciones o copias de seguridad) pueden ser hilos.
Un trabajo es generalmente una unidad de trabajo de larga ejecución ejecutada por un usuario. El trabajo puede ser "manejado" por uno o más procesos. Puede que no sea interactivo. Por ejemplo, ordenarle a la máquina que comprima un archivo grande o que ejecute algún script de procesamiento en un archivo de entrada grande normalmente sería un trabajo. La denominación es relativamente histórica: mainframes utilizados para procesar trabajos. En los sistemas UNIX, muchos trabajos se inician automáticamente en horarios preprogramados usando cron, por lo que tiene la noción de 'trabajos cron'.