Procesador de datos

El corazón de la gestión del procesador de datos tiene básicamente dos puntos que son realmente importantes: Asegurarse de que cada proceso y aplicación recibe suficiente “potencia” para que pueda funcionar correctamente, y usar todos los ciclos del procesador que pueda para un funcionamiento en tiempo real. La unidad básica de software con el que un sistema operativo trabaja, se llama proceso (dependiendo del OS).

Es tentador pensar en un proceso como una aplicación, pero eso es una descripción incompleta de cómo se relacionan los sistemas operativos y el hardware. La aplicación con la que trabajas, ya sea un juego o una herramienta de texto, es por supuesto un proceso, pero la aplicación hará que se pongan en marcha varios procesos más, para tareas como comunicarse con otros dispositivos u ordenadores.

Hay también un número de procesos que funcionan sin darte una evidencia directa de que están ahí o existen. Por ejemplo, los sistemas operativos Windows o Linux, pueden tener docenas de procesos funcionando en la sombra para poder manejar la red, gestión de memoria o de discos, etc.

Un proceso es entonces es un software que realiza algunas acciones y puede ser controlado – por un usuario, por otras aplicaciones, o por el sistema operativo. Son procesos, más que aplicaciones, que el OS controla y programa para su ejecución por la CPU. En un sistema de una sola tarea, esta programación es mucho más simple. El sistema operativo permite a la aplicación empezar a funcionar, suspendiendo la ejecución solo el tiempo suficiente para manejar las interrupciones y la entrada del usuario.

Las interrupciones son señales especiales enviadas por el hardware o el software a la CPU. Es como si una parte del ordenador de repente levantara la mano y pidiera a la CPU para que le prestara atención en una reunión. Algunas veces el sistema operativo programará la prioridad de los procesos por lo que las interrupciones son enmascaradas – el OS ignorará las interrupciones de algunas fuentes por la que una tarea particular puede ser acabada tan pronto como sea posible.

Hay algunas interrupciones (condiciones de error o problemas con la memoria) que son tan importantes que no pueden ser ignorados. Estas interrupciones no enmascarables deben ser tratadas de inmediato, independientemente de las otras tareas en marcha.

Mientras que las interrupciones añaden complicaciones a la ejecución de los procesos en un sistema de una sola tarea, el trabajo de un sistema operativo se hace mucho más complicado en un sistema multitarea. Ahora, el sistema operativo debe organizar la ejecución de las aplicaciones para hacer parecer que están ocurriendo varias cosas al mismo tiempo.

Esto es complicado porque la CPU solo puede hacer una cosa a la vez (con ciertas excepciones dependiendo del OS). Hoy en día, los procesadores multicore y las máquinas multiproceso pueden manejar más trabajo, pero cada núcleo del procesador todavía solo puede gestionar una tarea a la vez.

Para poder dar la apariencia de que están ocurriendo muchas cosas al mismo tiempo, el sistema operativo tiene que conmutar entre diferentes procesos miles de veces por segundo. Ocurre de la siguiente manera:

  • Un proceso ocupa una cierta cantidad de RAM. También usa registros, pilas y colas de memoria dentro de la CPU, y espacio de memoria del sistema operativo.
  • Cuando dos procesos están en multitarea, el sistema operativo reparte un cierto número de ciclos ejecutables de la CPU a un programa.
  • Después de ese número de ciclos, el sistema operativo hace copias de todos los registros, pilas y colas usados por lo procesos, y nota el punto donde el proceso se ha pausado en la ejecución.
  • Entonces, carga todos los registros, pilas y colas usadas por el segundo proceso y permite un cierto número de ciclos en la CPU.
  • Cuando todo es completado, hace copias de todos los registros, pilas y colas usados por el segundo programa y carga el primer programa.

En la siguiente parte del artículo, veremos como funciona el proceso de control de bloqueo. Haz clic en el botón para verlo:

Dejar respuesta

Please enter your comment!
Please enter your name here

El periodo de verificación de reCAPTCHA ha caducado. Por favor, recarga la página.