Proceso del sistema operativo

Proceso

Un proceso es una unidad de procesamiento gestionada por el sistema operativo (es un programa en ejecución)

El sistema operativo implementa una colección de máquinas abstractas

Cada máquina es una simulación del hardware de von Neumann subyacente

El gestor de procesos crea el entorno en el que coexisten varios procesos. Cada uno se ejecuta en su propia máquina abstracta como multitarea

Un recurso es cualquier elemento de la máquina abstracta que puede ser solicitado por un proceso

Un proceso solicita un recurso realizando una llamada al sistema, lo que puede producir que se bloquee si no está disponible

La reserva del recurso produce que el recurso forme parte de la configuración de la máquina abstracta del proceso

Ejemplos de recursos: procesador, memoria principal, dispositivos E/S, archivos

Tablas del sistema operativo

El sistema operativo mantiene tablas que describen a los procesos y a los recursos del sistema:

  • Tablas de procesos: tablas de BCPs
  • Tablas de memoria: información sobre el uso de la memoria
  • Tablas de E/S: información asociada a los periféricos y a las operaciones de E/S
  • Tablas de archivos: información sobre los ficheros abiertos

Tablas del sistema operativo

Imagen de memoria del proceso

Un espacio de direcciones del proceso es el conjunto de direcciones lógicas que puede direccionar

En ordenadores de 32 bits el máximo es de 4 GB

En ordenadores de 64 bits el máximo es de 128 GB, sin embargo, en la actualidad no hay placas que admitan memorias tan grandes

La imagen de memoria del proceso es el bloque de memoria física asignada al proceso

El espacio de direcciones del proceso se encuentra limitado al bloque de direcciones físicas correspondientes

El espacio de direcciones es importante para la protección de los recursos frente a los accesos no autorizados

Estado del procesador

Cuando está ejecutándose, el estado del procesador reside en los registros del procesador:

  • Registros generales
  • Contador de programa (PC)
  • Puntero de pila (SP)
  • Registros de estado
  • Registros especiales

Cuando no ejecuta, su estado del procesador reside en el BCP

Cambio de contexto

Cuando se produce una interrupción:

  • Se salva el estado del procesador en el correspondiente BCP
  • Se pasa a ejecutar la rutina de tratamiento de interrupción del sistema operativo

Planificador o scheduler:

  • Módulo del sistema operativo que selecciona el siguiente proceso a ejecutar

Activador o dispatcher:

  • Módulo del sistema operativo que pone en ejecución el proceso seleccionado

Bloque de control de proceso (BCP)

Información de identificación de proceso

  • ID del proceso y del padre (pid, ppid)
  • ID del usuario real y efectivo (uid, euid)
  • ID del grupo real y efectivo (gid, egid)

Información del estado del procesador

Información de control del proceso

  • Información de planificación y de estado
  • Descripción del espacio de direcciones
  • Recursos asignados (ficheros abiertos, puertos, …)
  • Comunicación entre procesos
  • Punteros para estructurar los procesos en listas o colas