Cinco actividades principales de un sistema operativo en la gestión de procesos

Hay cinco actividades principales que un sistema operativo debe mantener para gestionar los procesos que está ejecutando. Sin estas cinco actividades, un sistema operativo no podría permanecer estable durante ningún período de tiempo.

Creación de procesos

Cuando enciende su ordenador por primera vez, el sistema operativo abre procesos para ejecutar servicios para todo, desde el spooler de impresión hasta la seguridad del ordenador. Cuando inicia sesión en el ordenador y arranca programas, los programas crean procesos dependientes. Un proceso no es el programa en sí, sino las instrucciones que la CPU usa para ejecutar el programa. Un proceso pertenece a Windows o a algún otro programa que haya instalado.

Estado de procesamiento

El estado de un proceso puede ser "creado", "en ejecución", "en espera" o "bloqueado". Se puede decir que un proceso está "en espera" justo después de iniciar su programa principal y antes de que la CPU lo haya procesado. Un proceso está "en ejecución" cuando la CPU lo está procesando. Se puede considerar un proceso "bloqueado" si el ordenador no tiene suficiente memoria para procesarlo o si no se pueden localizar los archivos asociados al proceso. Todos los sistemas operativos tienen algún tipo de sistema de manejo de procesos, aunque tienen diferentes nombres para cada estado.

Sincronización de procesos

Una vez que los procesos están en ejecución, el sistema operativo necesita una forma de asegurar que ningún par de procesos acceda a los mismos recursos al mismo tiempo. Específicamente, dos procesos no pueden intentar ejecutar la misma área de código a la vez. Si dos procesos intentaran ejecutar este código simultáneamente, podría ocurrir un fallo al intentar llamar a los mismos archivos y enviar las mismas instrucciones a la CPU al mismo tiempo. Si dos procesos necesitan ejecutar el mismo código, uno debe esperar a que el otro termine antes de proceder.

Comunicación de procesos

El ordenador debe asegurar que los procesos puedan comunicarse con la CPU y entre sí. Por ejemplo, un programa puede tener muchos procesos, y cada proceso puede tener un nivel de permiso diferente. Un nivel de permiso es simplemente una indicación del nivel de acceso que un proceso debe tener al sistema. La comunicación de procesos asegura que el ordenador pueda determinar los permisos de cada proceso. Esto es muy importante para prevenir que malware elimine archivos del sistema o añada instrucciones al propio sistema operativo.

Prevención de interbloqueo (Deadlock)

Finalmente, el ordenador debe tener una forma de asegurar que los procesos no se interbloqueen. El interbloqueo ocurre cuando dos procesos requieren cada uno un recurso que el otro está usando actualmente, por lo que ningún proceso puede terminar lo que está haciendo. Los recursos no pueden liberarse y los programas se bloquean. También puede referirse a esta situación como "espera circular". Los sistemas operativos previenen el interbloqueo de diferentes formas, pero el método más común es obligar a un proceso a declarar los recursos que necesitará antes de poder iniciarse. Alternativamente, un proceso puede verse obligado a solicitar recursos en bloques y luego liberarlos a medida que termina con ellos.