La definición de proceso no solo está encaminada como “Programa en ejecución” sino que también se puede abordar desde otras dos perspectivas: En primer lugar, el proceso es el único al que se le asignan los recursos y por esto se le conoce como unidad propietaria de recursos. En segunda medida, un proceso es aquel que ocupa un espacio de direcciones en memoria y por esta razón debe ser ubicado en un estado de ejecución (Listo, ejecución, bloqueado, etc), al cual se le asocia una prioridad. Por estas razones se le conoce como “Unidad de expedición”, es decir el proceso es la unidad planificada y expedida por el sistema operativo.
En los sistemas operativos modernos estas dos características se entienden por separado dando lugar a la unidad de expedición o Hilo (Proceso ligero) y a la unidad de propietaria de los recursos o proceso.
La característica fundamental de los hilos es que pueden comunicarse entre sí sin llamar al núcleo del sistema operativo, puesto que al tener unidad de expedición, todos los hilos de un proceso tienen asignadas las mismas prioridades, y es más fácil intercambiar de hilo que de proceso. Además en un ambiente multiprocesador cada hilo podrá ser asignado a un procesador diferente reduciendo tiempos de ejecución y rendimiento general del sistema.
En épocas más recientes, los hilos son aprovechados por los procesadores multinúcleo para mejorar notoriamente el rendimiento, el tiempo de respuesta y la eficiencia del sistema.
El concepto de hilo como unidad de expedición, ha permitido el desarrollo de conceptos similares en los protocolos de comunicación, la arquitectura de computadores y los sistemas operativos en general. Por ejemplo, la arquitectura de computadores RISC (Reduced Instruction Set Computer), la tecnología Hiperthreading y el concepto de Multicore, han permitido mejorar las velocidades de ejecución de los procesadores, el protocolo TCP-IP, por su parte, ha incrementado las velocidades de transferencia de datos en redes de computadores.