Bloc de control de procés

De Viquipèdia
Dreceres ràpides: navegació, cerca

El Bloc de Control de Procés (BCP), també conegut per les inicials angleses PCB (Proces Control Block), és l'estructura de dades on s'agrupa tota la informació que necessita conèixer un sistema operatiu sobre un procés informàtic. Els sistemes operatius necessiten gestionar els processos i per tant, necessiten una estructura de dades per representar i emmagatzemar tota la informació relativa a aquests processos. Aquesta estructura de dades és el BCP.

Cada procés té el seu propi BCP, i aquesta estructura de dades es guarda en memòria durant tot el seu cicle de vida. La implementació exacte de cada BCP depèn de cada sistema operatiu però podem considerar que tots els sistemes comparteixen una sèrie de dades comunes:

  • Identificador del procés: Valor que identifica de forma unívoca un procés. També conegut com a PID, del terme anglès Process Identificator.
  • Estat del procés: Hi han diferents models d'estats, depenent del tipus de sistema.
  • Registre comptador de programa: Conté l'adreça de memòria de la propera instrucció a executar. També conegut pel terme anglès Program Counter (PC)
  • Altres registres de la CPU necessaris per a la gestió del procés
  • Espai d'adreces de memòria del procés
  • Prioritat del procés (en el cas que s'utilitzi)
  • Llista de recursos assignats al procés (descriptors de fitxers, sockets oberts, etc.)
  • Estadístiques del procés.
  • Dades del propietari del procés
  • Permisos assignats.
  • Senyals pendents de ser processades.

Podem entendre el concepte de BCP, com el conjunt de metadades que permeten l'administració d'un procés per part del sistema operatiu.

Emmagatzematge en memòria del PCB[modifica | modifica el codi]

Cal tenir en compte que el PCB conté informació crítica d'un procés i que per aquesta raó ha de ser emmagatzemat en una zona de memòria protegida d'accessos indesitjables.

En alguns sistemes operatius, el PCB es localitza al principi de la pila d'execució del kernel.[1]

Referències[modifica | modifica el codi]

  1. Yong, Zhang, "Breaking through the Maximum Process Number", Linux Journal, 1 Jan 2004, «Enllaç».