Fundamentos y Gestión de Procesos en Sistemas Operativos

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 4,75 KB

Conceptos Fundamentales de Procesos

  • Uno de los conceptos más importantes en los Sistemas Operativos (SO) son los procesos.
  • El Sistema Operativo, entre otras tareas, tiene que gestionar los procesos y planificar el trabajo del procesador.
  • La diferencia clave entre un programa y un proceso es que un programa es un conjunto de instrucciones u órdenes, mientras que un proceso son esas instrucciones que se están ejecutando.
  • Un programa es una secuencia de instrucciones o acciones definidas a priori que puede ejecutar un procesador.
  • Un proceso es una secuencia de acciones derivadas de la ejecución de una serie de instrucciones.
  • Los procesos se dividen en partes. Estas partes son las que se llevan a memoria según la técnica de gestión que se utilice: paginación, segmentación, intercambio o memoria virtual.

Características Esenciales de los Procesos

  • Para ejecutarse, un proceso debe residir en memoria y tener todos los recursos que necesite.
  • Los procesos están protegidos de los demás procesos; es decir, ningún proceso podrá utilizar la memoria de otros procesos.
  • Los procesos pueden ser:
    • Propios del Sistema: Se ejecutan en modo Kernel y tienen acceso a cualquier recurso.
    • Del Usuario: Se ejecutan en modo Usuario del procesador, lo que implica restricciones de acceso a recursos hardware.
  • Cada proceso tendrá un BCP (Bloque de Control de Procesos).
  • Los procesos pueden comunicarse, sincronizarse y colaborar entre ellos.

Composición y Estructura de un Proceso

  • Información de Identificación: Identifica al usuario y al proceso.
  • Identificador del Proceso (PID).
  • Identificador del Proceso Padre (común en sistemas como UNIX).
  • Estados de los Procesos: En ejecución, detenido, bloqueado.
  • Los sistemas que administran los procesos deben poder: crear, destruir, suspender, retomar, cambiar la prioridad, bloquear y distribuir un proceso.
  • La creación de un proceso puede ocurrir de varias formas:
    1. Al arrancar el sistema.
    2. Por petición del usuario.
    3. Cuando un proceso hace una llamada al sistema (system call).
  • La destrucción de un proceso puede ocurrir de varias formas:
    1. Al terminar su ejecución normal.
    2. Al sufrir un error.
    3. Por petición del usuario.
    4. Cuando un proceso hace una llamada al sistema para terminar.
  • Un proceso suspendido o bloqueado no puede proseguir hasta que sea reanudado por otro proceso.

Clasificación de los Procesos

Los procesos se clasifican atendiendo a diversos criterios:

Según la Capacidad de Acceso al Procesador y Otros Recursos

  • Apropiativos: No ceden la CPU a otros procesos hasta que terminan su ejecución.
  • No Apropiativos: Ceden la CPU a otros procesos (permiten la interrupción).

Según la Permanencia en Memoria

  • Residentes: Permanecen en memoria principal hasta que terminan.
  • Intercambiables: No necesitan estar permanentemente en memoria principal; pueden residir en memoria secundaria (por ejemplo, HDD/SSD).

Según el Nivel de Privilegios

  • Privilegiados: Se ejecutan en modo supervisor (o Kernel).
  • No Privilegiados: Se ejecutan en modo usuario.

Según el Propietario

  • Proceso de Usuario: Pertenece al usuario.
  • Proceso del Sistema: Pertenece al Sistema Operativo (SO).

Estados y Transiciones de un Proceso

  • En Ejecución: El procesador está ejecutando las instrucciones del proceso.
  • Preparado (En Espera o Listo): Un proceso está preparado para ser ejecutado y espera su turno para acceder a la CPU.
  • Bloqueado: El proceso está detenido por alguna causa (generalmente esperando una operación de E/S o un recurso).

Un proceso, a lo largo de su vida, puede cambiar varias veces de estado. Este fenómeno se conoce como cambio de contexto.

Planificación de Procesos (Scheduling)

El Scheduling (Planificador de Procesos) es un conjunto de políticas que deciden qué proceso debe hacer uso del procesador.

  • Planificador a Corto Plazo: Es el encargado de decidir cómo y cuándo un proceso que está en la cola de procesos preparados pasa a tener acceso al procesador.

Entradas relacionadas: