Cinco actividades principales de un sistema operativo con respecto a la gestión de procesos

Hay cinco actividades principales que un sistema operativo debe mantener para administrar los procesos que está ejecutando. Sin estas cinco actividades, un sistema operativo no podría permanecer estable por mucho tiempo.

Creación de procesos

Cuando enciende su computadora por primera vez, el sistema operativo abre procesos para ejecutar servicios para todo, desde el administrador de trabajos de impresión hasta la seguridad informática. Cuando inicia sesión en la computadora e inicia programas, los programas crean procesos dependientes. Un proceso no es el programa en sí, sino las instrucciones que usa la CPU 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", "esperando" o "bloqueado". Puede decir que un proceso está "esperando" el momento después de iniciar su programa principal y antes de que la CPU lo procese. Un proceso está "en ejecución" cuando la CPU lo está procesando. Puede considerar un proceso "bloqueado" si la computadora no tiene suficiente memoria para procesarlo o si no se pueden ubicar los archivos asociados con el 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 se están ejecutando, el sistema operativo necesita una forma de garantizar que no haya dos procesos que accedan 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 intentaron ejecutar este código al mismo tiempo, podría producirse un bloqueo 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 continuar.

Proceso de Comunicación

La computadora debe asegurarse de 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 debe tener un proceso al sistema. La comunicación de procesos asegura que la computadora pueda determinar los permisos de cada proceso. Esto es muy importante para evitar que el malware elimine archivos del sistema o agregue instrucciones al propio sistema operativo.

Prevención de interbloqueos

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