Solución:
La tabla de procesos en Linux (como en casi todos los demás sistemas operativos) es simplemente una estructura de datos en la RAM de una computadora. Contiene información sobre los procesos que actualmente maneja el sistema operativo.
Esta información incluye información general sobre cada proceso.
- identificacion de proceso
- dueño del proceso
- proceso prioritario
- variables de entorno para cada proceso
- el proceso padre
- punteros al código de máquina ejecutable de un proceso.
Una información muy importante en la tabla de procesos es el estado en el que se encuentra actualmente cada proceso. Esta información es esencial para el SO, ya que habilita el llamado multiprocesamiento, es decir, la posibilidad de ejecutar virtualmente varios procesos en una sola unidad de procesamiento (CPU).
La información de si un proceso está ACTIVO, DORMIDO, EN EJECUCIÓN, etc., es utilizada por el SO para manejar la ejecución de los procesos.
Además, hay información estadística como cuándo se ejecutó el proceso por última vez para permitir que la programación del sistema operativo decida qué proceso debe ejecutarse a continuación.
Entonces, en resumen, la tabla de procesos es el elemento organizativo central para que el sistema operativo maneje todos los procesos iniciados.
Se puede encontrar una breve introducción en este hilo:
http://www.linuxforums.org/forum/kernel/42062-use-process-table.html
Y wikipedia también tiene buena información sobre los procesos:
http://en.wikipedia.org/wiki/Process_management_(computing)#Process_description_and_control
http://en.wikipedia.org/wiki/Process_table
La tabla de proceso es una estructura de datos del kernel que describe el estado de un proceso (junto con el área U del proceso). Contiene campos que siempre deben estar disponibles para el kernel.
Contiene los siguientes campos:
- campo de estado (que identifica el estado del proceso)
- Campos que permiten al kernel ubicar el proceso y su área u en la memoria.
- UID para determinar varios privilegios de proceso
- PID para especificar relaciones b / n procesos (por ejemplo, fork)
- descriptor de evento (cuando el proceso está en estado de suspensión)
- parámetros de programación para determinar el orden en el que el proceso pasa a los estados “kernel en ejecución” y “usuario en ejecución”
- campo de señal para señales enviadas al proceso pero aún no manejadas
- temporizadores que dan tiempo de ejecución del proceso en modo kernel y modo de usuario
- campo que da el tamaño del proceso (para que el kernel sepa cuánto espacio asignar para el proceso).
En resumen, la tabla de procesos proporciona información sobre los procesos al kernel.