2.1.4 Implementación
Los procesos son herramientas muy útiles para los sistemas operativos, su implementación permite una mejor gestión de programas que se desarrollan y ejecutan en una computadora.
A continuación se presenta una lista de los aspectos generales que se consideran cuando se implementan los procesos:
-
Creación de procesos:
- Descripción: La creación de procesos es el proceso de iniciar un nuevo programa en el sistema.
-
Pasos clave:
- Asignación de recursos: Se asignan recursos como memoria y registros.
- Inicialización: Se establece el entorno inicial del proceso.
- Creación del Bloque de Control de Proceso (BCP): Se crea una estructura que almacena información sobre el proceso.
-
Estados de un Proceso:
- Descripción: Un proceso pasa por varios estados durante su ciclo de vida (listo, ejecución, bloqueado, terminado).
-
Transiciones:
- Listo a ejecución: El proceso recibe tiempo de CPU y pasa al estado de ejecución.
- Ejecución a bloqueado: El proceso se detiene temporalmente mientras espera un recurso.
- Bloqueado a listo: Después de recibir el recurso, el proceso vuelve al estado listo.
- Ejecución a terminado: El proceso completa sus operaciones y pasa al estado terminado.
-
Conmutación de Contexto:
- Descripción: Es el cambio de ejecución de un proceso a otro por el sistema operativo.
-
Pasos Clave:
- Guardar estado actual: Guardar información crucial del proceso en ejecución.
- Cargar estado del nuevo proceso: Cargar la información del nuevo proceso.
- Actualizar tablas de control: Actualizar estructuras de datos que rastrean los procesos.
-
Comunicación entre Procesos:
- Descripción: Procesos pueden compartir información o recursos.
-
Mecanismos:
- Memoria compartida: Regiones de memoria compartidas entre procesos.
- Comunicación por mensajes: Intercambio de mensajes entre procesos.
- Sincronización: Métodos para garantizar la coherencia de datos compartidos.
-
Sincronización y Exclusión Mutua:
- Descripción: Evita conflictos y asegura la consistencia en el acceso a recursos compartidos.
-
Mecanismos:
- Semáforos: Controlan el acceso a recursos mediante señales.
- Mutex (Mutual Exclusion): Garantiza que solo un proceso acceda a un recurso a la vez.
- Monitores: Estructuras que encapsulan datos y operaciones sobre ellos.
-
Terminación de Procesos:
- Descripción: El proceso finaliza su ejecución y libera los recursos.
-
Pasos Clave:
- Liberación de recursos: Devolver memoria, archivos y otros recursos.
- Notificar al sistema operativo: Informar que el proceso ha terminado.
Reflexiona la siguiente pregunta que será tratada en la sesión de clase.
¿Conoces alguna herramienta que proporcione procesos sin necesidad de hacerlos por tí mismo?, si no, se recomienda investigar el estándar POSIX en lenguaje C.
Figura 5. Implementación de los procesos.