Capítulo 9: Administración de los sistemas operativos

Publicado por P. Ruiz en

9.4. Gestión de los procesos del sistema y de usuario.

Ya hablamos extensamente en el capítulo 4 sobre cómo el sistema operativo se puede enfrentar a los distintos retos que ofrece la gestión de los procesos.

Muchas de las acciones que se aplican sobre los procesos, las hace el sistema operativo de forma transparente. Sin embargo, en SomeBooks.es hemos hablado con anterioridad de algunas de las cosas que sí podemos hacer nosotros como administradores. Son las siguientes:

Ya en el capítulo 4 incluíamos los siguientes artículos sobre el funcionamiento del Administrador de tareas:

Pero si prefieres algo más avanzado, puedes echar un vistazo a los siguientes:

… Y si lo tuyo es la línea de comandos, puedes echar un vistazo a estos artículos, que son válidos para diferentes versiones de Windows:

En el capítulo 4 también incluíamos los siguientes artículos sobre el funcionamiento del Monitor del sistema: de Ubuntu:

Pero si prefieres utilizar la línea de comandos…

Procesos y prioridades

Como ya hemos dicho en otros momentos, la memoria principal del ordenador puede albergar cientos de tareas que se turnan en el uso del procesador. Una forma que tiene el sistema operativo para mejorar el rendimiento consiste en asignar diferentes prioridades a dichas tareas.

Un buen planteamiento general consiste en que los procesos que realicen tareas interactivas, es decir, los que se comunican directamente con el usuario, dispongan de una prioridad mayor. Por el contrario, aquellos que no necesitan la intervención directa del usuario, pueden ejecutarse con una prioridad más baja. De esta forma se garantiza, en general, una mejor experiencia para los usuarios del sistema operativo.

Se dice que los procesos interactivos se ejecutan en primer plano (en inglés, foreground), mientras que aquellos que no lo son se ejecutan en segundo plano (en inglés, background).

Como cabe esperar, un proceso que se ejecuta con una prioridad baja, cederá el uso del procesador, siempre que un proceso con una prioridad mayor lo reclame.

Un ejemplo de esto puede ser la tarea encargada de imprimir un documento. Las impresoras son, probablemente, los dispositivos más lentos que utilizamos. De este modo, basta con que, la tarea que se encarga de imprimir, obtenga el uso del procesador de vez en cuando, para que pueda alimentar el proceso de impresión con un flujo suficiente de datos. Así pues, esta sería una tarea ideal para funcionar con una prioridad baja (en segundo plano) y, mientras lleva a cabo su labor, los procesos interactivos seguirán funcionando casi a la misma velocidad que si no estuviésemos imprimiendo.

Prioridad de ejecución en Windows

De forma general, Windows sólo nos permite elegir si deben ejecutarse con una mayor prioridad los programas interactivos o los que se ejecutan en segundo plano. Algo que ya aprendimos a hacer en este artículo:

No obstante, si quieres modificar la prioridad de una tarea particular, siempre puedes recurrir al Administrador de tareas, tal y como te explicábamos en el artículo:

Prioridad de ejecución en Ubuntu

A diferencia de Windows, en Ubuntu no podemos establecer un criterio general que afecte a todos los programas interactivos respecto de los programas en segundo plano. Sin embargo, la selección individual de la prioridad de un determinado proceso ofrece hasta 40 niveles diferentes, mientras que en Windows sólo disponemos de 6.

Además, resulta muy sencillo ajustarla usando tanto el Monitor del sistema como la línea de comandos, como ya explicamos en este artículo:

Actividad 6: Cambiar la prioridad de un programa en Ubuntu

Con el fin de mejorar el comportamiento del navegador web en Ubuntu, averigua el proceso responsable de su ejecución e incrementa la prioridad que tenga asignada de forma predeterminada.