Todo sobre procesos en Linux
Vea cuáles son los atributos de los procesos (programas) en Linux
Es importante que entiendas que cada programa es al menos un proceso y que cada proceso posee algunos atributos, tales como:
- Process ID (PID) o identificación del proceso: Cada proceso posee un número de identificación único. El primer proceso init siempre tendrá el PID 1 y para el resto de los procesos este número se incrementa a medida que se ejecutan nuevos procesos;
- User ID y Group ID (ID del usuario e ID del grupo): Los procesos necesitan ejecutarse con los privilegios de una cuenta de usuario y del grupo asociado a ellos. Esto es importante porque así el sistema puede determinar y gestionar el acceso a los recursos;
- Proceso Padre: En Linux ningún proceso se ejecuta de forma independiente de los otros. Todos los procesos en el sistema, con excepción del init, poseen un proceso padre, que es responsable de su ejecución. El atributo ParentID graba el PID del proceso padre. Si el proceso padre termina su ejecución antes que el proceso hijo, el proceso hijo es "apadrinhado" por init, obteniendo el Parent ID igual a 1;
- Variables de entorno: Cada proceso hereda del proceso padre algunas variables de entorno que simplemente guardan algunos valores que pueden o no ser importantes para el proceso en ejecución. Es posible que durante su ejecución un proceso altere, incremente o borre una variable de entorno. Un proceso hijo puede heredar las variables de un proceso padre. Pero un proceso padre no puede acceder a las variables creadas o alteradas por sus hijos.
- Directorio de trabajo: Los procesos también están asociados a un directorio de trabajo, donde pueden realizar la lectura y escritura del disco;
- Temporizadores: El Kernel mantiene registros de la hora en que los procesos se crean así como el tiempo de CPU que consumen durante su ejecución.
En un entorno multitarea con un solo procesador, cada proceso se ejecuta por turnos, de forma intercalada.
El sistema operativo asigna la CPU un poco a cada proceso. Un proceso después de recibir el control del procesador solo lo perderá cuando ocurra una interrupción o cuando requiera algún servicio del sistema operativo.
Estas interrupciones son transparentes para los procesos, ya que solo interrumpen temporalmente su ejecución, que después continuará ejecutándose como si nada hubiera pasado.
Al requerir un servicio del sistema operativo, el proceso queda bloqueado hasta que el servicio requerido al sistema operativo sea satisfecho.
Aprende mucho más sobre Linux en nuestro curso en línea. Puedes hacer la matrícula aquí con trial de 7 días gratis. Si ya tienes una cuenta, puedes acceder aquí.
¿Te gustó? ¡Compártelo :-)
Eso fue solo una pieza. El curso enseña el camino completo — desde tu primer comando hasta el día del examen.