Fundamentos de Procesos y Planificación en Sistemas Operativos

Clasificado en Informática

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

Conceptos Clave en la Gestión de Procesos de Sistemas Operativos

Conceptos Fundamentales de Procesos

Bloque de Control de Proceso (BCP)
Estructura de datos esencial que el sistema operativo utiliza para almacenar toda la información relevante de un proceso. Incluye su estado actual, identificador único (PID), prioridad, ubicación en memoria y los recursos que utiliza.
Proceso
Una instancia en ejecución de un programa. Representa una unidad de trabajo que el sistema operativo gestiona, asignándole recursos y tiempo de CPU.
Hilo (Thread / Hebra)
Una unidad de ejecución ligera dentro de un proceso. Múltiples hilos pueden coexistir dentro del mismo proceso, compartiendo sus recursos (como el espacio de memoria) pero ejecutándose de forma independiente, lo que permite la concurrencia dentro de una misma aplicación.

Estados de los Procesos

Durante su ciclo de vida, un proceso puede transitar por diferentes estados:

  • En Ejecución: El procesador está ejecutando activamente las instrucciones del programa. En este estado, el proceso tiene concedido el tiempo de uso de la CPU en un instante concreto.
  • Preparado (Listo): El proceso está listo para ser ejecutado y está esperando su turno para que se le asigne un intervalo de tiempo de CPU.
  • Bloqueado (En Espera): El proceso está retenido, generalmente esperando la finalización de una operación de entrada/salida (E/S), la disponibilidad de un recurso o la ocurrencia de un evento específico.

Identificación y Gestión de Procesos

PID (Process ID)
Cada proceso recibe un número único asignado por el Sistema Operativo. Este identificador es crucial para gestionar el proceso, permitiendo al sistema y a los usuarios realizar acciones como iniciarlo, detenerlo, cancelarlo o reanudarlo.
Prioridades
Valores numéricos o cualitativos asignados a cada proceso, ya sea por el administrador del sistema o por el propio sistema operativo. Estas prioridades determinan el orden y la cantidad de tiempo de CPU que un proceso recibirá, influyendo directamente en su tiempo de ejecución.
Planificación (Scheduling)
Función fundamental del sistema operativo encargada de seleccionar qué proceso será el siguiente en ser atendido por la CPU. La elección se realiza mediante algoritmos específicos que consideran las prioridades de los procesos y otros factores para optimizar el rendimiento del sistema.
Cargador (Loader)
Componente del sistema operativo responsable de preparar un programa para su ejecución. Su tarea principal es cargar el código ejecutable y los datos del programa desde el almacenamiento secundario a la memoria principal.
Tiempo Compartido (Time-Sharing)
Técnica de gestión de CPU que consiste en dividir el tiempo de ejecución del procesador en minúsculos intervalos de tiempo, conocidos como quantums. El sistema operativo asigna secuencialmente cada uno de estos intervalos a los diferentes procesos en ejecución, creando la ilusión de que múltiples programas se ejecutan simultáneamente.
Sincronización de Procesos
Mecanismo esencial que asegura que los procesos se ejecuten en el orden adecuado y sin interferencias mutuas, especialmente cuando acceden a recursos compartidos. Su objetivo es prevenir condiciones de carrera y garantizar la consistencia de los datos.
Fase Crítica (Critical Section)
Una sección de código dentro de un programa donde un proceso accede a recursos compartidos (como variables, archivos o dispositivos). El sistema operativo debe garantizar que solo un proceso a la vez pueda ejecutar su fase crítica para evitar inconsistencias en los datos y asegurar la integridad del sistema.

Algoritmos de Planificación Básicos

FIFO (First-In, First-Out)
Un algoritmo de planificación o gestión de colas donde el primer elemento en llegar es el primero en ser procesado o salir. Es un método simple y justo, a menudo asociado con conceptos como: Proceso, Ciclo de llegada, Ciclos totales de CPU, Ciclo inicial, Ciclo final, utilizados para ilustrar su funcionamiento.
LIFO (Last-In, First-Out)
Un algoritmo de planificación o gestión de colas donde el último elemento en llegar es el primero en ser procesado o salir. Es comúnmente utilizado en estructuras de datos tipo pila.

Entradas relacionadas: