En una entrada anterior se ha explicado qué es un proceso y su funcionamiento básico. Aunque dicha explicación estaba orientada a sistemas operativos Windows, muchos de los conceptos y comportamientos de los procesos allí dados se dan también en los procesos de Linux.
Sin embargo, existen ciertas diferencias, inherentes al sistema operativo al que los procesos van dirigidos, entre ambos tipos de procesos. La más importante es que, en Linux, los procesos se dividen en procesos padre y procesos hijo; mientras que los primeros son los programas en ejecución, los segundos son generados por los anteriores (si un proceso hijo se queda sin un proceso padre, es "adoptado" por el proceso inicial del sistema operativo, que tiene PID 1).
Dado que los sistemas operativos Linux son multitarea y multiusuario, sus múltiples procesos pueden operar simultáneamente sin interferirse unos con otros. Cada proceso "está convencido" de que es el único proceso y que tiene acceso exclusivo a todos los servicios del sistema operativo. Y como los programas y los procesos son entidades distintas en esta clase de sistemas operativos, pueden ejecutarse simultáneamente múltiples instancias de un programa. Cada instancia es un proceso separado (un mismo programa ejecutado por varios usuarios diferentes en equipos diferentes al mismo tiempo, hará que se cree el mismo número de procesos que las veces que se ha ejecutado dicho programa, por ejemplo).




