Algunas definiciones


”Es un conjunto de actividades que transforma una entrada en una salida y que consume recursos. También se lo puede definir como un programa en ejecución con derechos restringidos."

"Un proceso es la ejecución de un programa de aplicación con derechos restringidos; el proceso es la abstracción que provee el kernel del sistema operativo para la ejecución protegida"

"Es simplemente un programa que se está ejecutando en un instante dado”

Un proceso incluye


API’s


Las acciones básicas que todo SO debe proveer sobre la abstracción de la CPU

  • Creación (Create):
    • Todo sistema operativo debe incluir una forma de crear un nuevo proceso
  • Destrucción (Destroy):
    • Así como existe una interface para crear un proceso debe existir una interface para destruirlo por la fuerza
  • Espera (Wait):
    • A veces es útil esperar a que un proceso termine su ejecución por ende algún tipo de interface de esperar debe ser provista
  • Control vario (Miscellaneous Control):
    • Además de esperar o matar a un proceso, otros tipos de operaciones deben poder realizarse. Por ejemplo, suspender su ejecución por un tiempo y luego reanudarla
  • Estado (Status):
    • Tiene que existir una forma de saber sobre la situación del proceso y su estado. Cuánto hace que se está ejecutando, en que estado se encuentra, etc.

Contexto de un proceso


Definición


Cada proceso tiene un contexto bien definido que comprende la información necesaria para describir completamente al mismo. El contexto de un proceso consiste de

  1. User Address Space:
    • Normalmente está dividido en varias áreas, text, data, Stack, Heap
  2. Control Information:
  3. Credentials:
    • Las credenciales del proceso incluyen los groups IDs y user id, asociados con el
  4. Variables de entorno:
    • Son un conjunto de strings del formato clave = valor que son heredadas del proceso padre
  5. Hardware context:
    • Esto contiene el contenido de los registros de propósito general, y de un conjunto especial de registros del Sistema
      • El program counter (PC)
      • El Stack pointer (SP)
      • Memory management registers
      • Los registros de la unidad de punto flotante

En forma resumida, el contexto de un proceso consiste en la unión de user-level context register context y system level context.

Link to original