Capítulo 8: Administración de los sistemas operativos (Parte 1)

Publicado por P. Ruiz en

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: