Bloque de control de procesos

De Wiki de Sistemas Operativos
Revisión del 10:14 2 mar 2011 de Pneira (discusión | contribuciones) (revisión material del PCB)
Saltar a: navegación, buscar

Para llevar acabo la gestión de un proceso, es necesario que el sistema operativo guarde cierta información necesaria. A ésta estructura se le conoce como el bloque de control del proceso o PCB (Process Control Block).

El bloque de control de procesos difiere mucho de un sistema a otros pero existen contenidos comunes:

  • Identificador del proceso: Identificar de forma unívoca al proceso en el sistema, generalmente se emplea un entero sin signo que se denomina PID (Process IDentifier).
  • Estado del proceso para el planificador de procesos (preparado, activo o bloqueado).
  • Contexto de la ejecución: valor de los registros del procesador, bits de estados, etc.
  • Aspectos relacionados con la administración de memoria, tales como el espacio de direcciones y la cantidad de memoria asignada a un proceso.
  • Aspectos relacionados con la administración de ficheros, tales como los ficheros con los que el proceso está actualmente operando.
  • En caso de soportar el sistema multiprocesador, los procesadores en los que el proceso puede ejecutarse.
  • En el caso de un sistema operativo tipo UNIX, el proceso padre de dicho proceso y la relación de procesos hijos.
  • Estadísticas temporales: Tiempo de lanzamiento del proceso, tiempo en estado activo, etc.

En Linux, al PCB se le denomina Task Struct, se puede consultar dicha estructura en:

http://lxr.linux.no/#linux+v2.6.37.2/include/linux/sched.h#L1182